jjimini98 / CapstoneProject2

Capstone_Project2
0 stars 2 forks source link

사전조사(Faster R-CNN/ DETR/ YOLO) #17

Closed jjimini98 closed 3 years ago

jjimini98 commented 3 years ago

Faster R-CNN

abstract

우리는 또한 RPN과 Fast R-CNN을 컨볼루션 기능을 공유함으로써 하나의 신경망으로 병합한다. 최근 널리 사용되는 신경 네트워크의 용어를 "attention" 메커니즘으로 사용하여, RPN 구성 요소는 통합 네트워크에 어디를 찾아야 하는지 알려준다. 우리의 탐지 시스템은 GPU에서 프레임률이 5fps(모든 단계 포함)인 동시에 이미지당 300개의 제안만으로 PASCAL VOC 2007, 2012 및 MS COCO 데이터 세트에서 최첨단 객체 감지 정확도를 달성한다. → 엄청 빠른 속도임.

메인 아이디어

동작과정

image

위 그림에 대한 설명

  1. 이미지에 convolution 곱을 해서 feature map을 추출
  2. 이를 RPN에 전달해서 RoI (Region of Interest : 관심부분 ) 그다음 classification으로 object detection 을 진행

훈련 과정

  1. ImageNet pretrained 모델을 불러온 다음, RPN을 학습시킨다.

  2. 1 단계에서 학습시킨 RPN에서 기본 CNN을 제외한 Region Proposal 레이어만 가져온다. 이를 활용하여 Fast RCNN을 학습시킨다. 이 때 ,  처음 피쳐맵을 추출하는 CNN까지 fine tune 시킨다.

  3. 앞서 학습시킨 Fast RCNN과 RPN을 불러온 다음, 다른 웨이트들은 고정하고 RPN에 해당하는 레이어들만 fine tune 시킨다. 여기서부터 RPN과 Fast RCNN이 컨볼루션 웨이트를 공유하게 된다.

  4. 마지막으로 공유하는 CNN과 RPN은 고정시킨 채, Fast R-CNN에 해당하는 레이어만 fine tune 시킨다.

Region Proposal Network

영역 제안 네트워크(RPN)는 이미지(모든 크기의)를 입력으로 가져가고 각각 객체성 점수를 가진 직사각형 객체 제안 세트를 출력 우리는 이 섹션에서 설명하는 완전한 컨볼루션 네트워크를 사용하여 이 프로세스를 모델링한다. 우리의 최종 목표는 Fast R-CNN 객체 감지 네트워크와 계산을 공유하는 것이기 때문에, 우리는 두 개의 네트워크가 공통의 컨볼루션 레이어 세트를 공유한다고 가정한다. 우리의 실험에서, 우리는 공유 가능한 컨볼루션 레이어가 5개인 자일러와 퍼거스 모델(ZF)과 공유 가능한 컨볼루션 레이어가 13개인 시모냐와 지서만 모델(VGG-16)을 조사한다.

지역 제안을 생성하기 위해 마지막 공유 컨볼루션 계층별 컨볼루션 피쳐 맵 출력 위로 작은 네트워크를 슬라이딩한다. 이 작은 네트워크는 입력 컨볼루션 피처 맵의 입력 및 xn 공간 창으로 사용된다. 각 슬라이딩 윈도우는 저차원 기능(ZF의 경우 256-d, VGG의 경우 512-d, ReLU의 경우)에 매핑됩니다. 이 기능은 완전히 연결된 두 개의 형제 계층, 즉 상자 회귀 계층(reg)과 상자 분류 계층(cls)으로 공급된다. 본 논문에서는 입력 이미지의 효과적인 수용 필드가 크다는 점에 주목하여 n = 3을 사용합니다(ZF 및 VGG의 경우 각각 228픽셀). 이 미니 네트워크는 그림 3(왼쪽)의 단일 위치에 설명되어 있습니다. 미니 네트워크는 슬라이딩 윈도우 방식으로 작동하기 때문에 완전히 연결된 레이어는 모든 공간 위치에서 공유된다는 점에 유의한다. 이 아키텍처는 n×n 컨볼루션 레이어에 이어 두 개의 형제 1×1 컨볼루션 레이어(각각 reg와 cls)로 자연스럽게 구현된다.

image 앵커박스 : 채널의 개수만큼 각각의 좌표를 앵커로 삼아 k개의 앵커박스가 나오는데 여기에 object 인지 아닌지에 대한 예측값이 담겨있다. 이 값들을 softmax를 적용해 해당 앵커가 object일 확률 값을 얻어낸다.

loss function

image

jjimini98 commented 3 years ago

DETR

image

  1. 이분매칭함수 + 2. Transfer

abstract

본 논문은 객체 탐지를 직접 집합 예측(set prediction) 문제로 보는 새로운 방법을 제시한다. 우리의 접근 방식은 탐지 파이프라인을 간소화하여 작업에 대한 우리의 사전 지식을 명시적으로 인코딩하는 비 최대 억제 절차 또는 앵커 생성과 같은 수작업으로 설계된 많은 구성요소의 필요성을 효과적으로 제거한다.(non maximum suppression, anchor generation 과 같은 구성요소들을 제거하고도 충분히 좋은 성능을 낼 수 있다.) DETTection TRANSmor 또는 DETR이라고 하는 새로운 프레임워크의 주요 구성 요소는 초당 일치를 통해 고유한 예측을 강제하는 세트 기반 전역 손실과 변압기 인코더-디코더 아키텍처이다. 학습된 개체 쿼리의 고정된 작은 집합이 주어진 경우, DETR은 개체의 관계와 전역 이미지 컨텍스트에 대한 이유를 통해 최종 예측 집합을 직접 병렬로 출력한다. 새로운 모델은 개념적으로 단순하며 다른 많은 현대적 검출기와는 달리 전문 라이브러리를 필요로 하지 않는다. DETR은 까다로운 COCO 개체 탐지 데이터 세트에서 잘 확립되고 고도로 최적화된 Faster RCNN 기준과 동등한 정확성과 런타임 성능을 보여준다. 또한 DETR은 쉽게 일반화되어 통합된 방식으로 파놉틱 분할을 생성할 수 있다. 우리는 그것이 경쟁 기준을 크게 능가한다는 것을 보여준다. 교육 코드와 사전 훈련된 모델은 https://github.com/facebookresearch/detr 이용할 수 있다.

메인 아이디어 - transformer

image

jjimini98 commented 3 years ago

faster R-CNN 기존의 알고리즘과 달리 Faster R-CNN은 region proposal을 계산하는데 걸리는 시간을 단축시켜준다. faster R-CNN의 메인 아이디어는 RPN(Region Proposal Network) 이며 이는 이미지를 입력으로 받고 각각 객체성 점수를 가진 직사각형 객체 제안 세트를 출력하는 네트워크이다. faster R-CNN의 최종 목표는 객체 인식 네트워크와 계산 네트워크가 공동의 컨볼루션 레이어 세트를 공유하는 것이다.

DETR DETR 은 Detection TRansfer의 앞자를 딴 알고리즘이며 기존의 객체 탐지 기술과 비교했을 때 매우 간단하며 성능도 높은 알고리즘이다. DETR의 메인 아이디어는 이분 매칭과 transfer이다. DETR은 학습과정에서 예측결과와 실제값을 이분매칭(한 집단이 다른 한 집단을 선택하는 알고리즘)을 함으로써 값들이 중복되지 않도록 한다. 이후 Transfer 단계에서 전체 이미지에 대한 이해, 이미지 내 각 인스턴스의 관계 파악, 연관성을 파악하는 작업을 진행한다. DETR의 기본 모형인 encoder에 이미지의 특징을 담고있는 feature들을 받아 인코딩을 수행하고 인코딩된 정보를 가지고 decoder에서 각각 인스턴스를 구별할 수 있게된다.

YOLO YOLO는 You Only Look Once의 약자로 정확도는 비록 낮지만 Faster R-CNN 보다 속도가 훨씬 빠르다. YOLO의 메인 아이디어는 기존의 객체 인식 방법에서는 region proposal(지역 제안), classification 이렇게 두 단계로 나누어서 진행을 했었다. 하지만 YOLO는 이 두 가지 방법을 하나로 합친 구조를 선보였다. 이미지를 각각의 그리드 영역으로 나누고 그리드의 한 칸 마다의 신뢰도를 계산한다. 각각의 그리드 마다 정답 클래스에 대해 해당 정답일 경우를 확률로 계산해 객체를 인식하게 된다.