[U] Week 4 - Segmentation & Detection

JaeJun Lee ·2022년 10월 12일
0

부스트캠프 AI Tech

목록 보기
24/30

Segmentation

Semantic segmentation은 모든 픽셀에 대해 class를 예측하는 방법이다.

  • 의료 영상, 자율 주행 등 분야에 사용된다

Architectures

FCN (Fully Convolutional Networks)

입력으로 임의에 해상도를 가지는 데이터를 사용이 가능하다.

  • FC layer에 Linear가 아닌 average pooling 및 1x1 컨볼루션을 사용

일반적으로 컨볼루션 및 pooling 레이어를 사용해 Down sampling을 진행하면 resolution이 작아지기 때문에 Transposed 컨볼루션을 사용해 Up sampling을 진행하여 input과 output의 resolution을 동일하게 조정한다.

  • kernel size 및 stride를 잘 조정하여 up sampling시 receptive field가 중첩되지 않도록 주의한다
  • shallow 레이어와 deep 레이어 사이에 skip connection을 사용한다

U-Net

down sampling을 진행하는 Contracting path(encoder)와 up sampling을 진행하는 expanding path(decoder)로 구성된다. 각 동일한 계층에 인코더와 디코더 사이에는 concatenation 연산을 사용하는 skip connection 구조를 가진다. 이때 feature map의 해상도가 홀수를 가지지 않도록 주의한다.

DeepLab

Conditional Random Fields (CRFs)와 dilated 컨볼루션, Depthwise separable 컨볼루션 등 기법들을 사용한 여러 version의 방법들을 제안하였다.

Detection

Object Detection은 classification과 box localization이 결합된 것으로 볼 수 있다. 이전에는 two-stage로 진행되었지만 최근에는 single-stage로 진행되고 있다.

two-stage

  • Gradient-based detector: 영상의 경계선을 특징으로 모델링하는 방법을 활용
    • SVM과 결합한 방법들도 활용됨
  • Selective search: 사람 혹은 물건뿐만아니라 다양한 물체 후보군에 대해서 영역을 특정해서 제한하는 방법

single-stage

정확도보다 속도를 우선시하여 실시간에 활용하는 것을 목적으로 활용되었다.

  • ROI pooling이 없어서 모든 영역에서 loss를 계산하고 gradient가 발생하는데 일반적인 영상에서는 배경이 물체보다 넓기 때문에 배경으로 인한 class 불군형 문제를 야기한다
    • CrossEntropy가 아닌 Focal loss를 활용하여 보완하는 방법이 있다

Architectures

R-CNN

2천개 이하의 영역을 추출하고 CNN 모델과 SVM을 활용해 각 영역에 대한 class를 분류한다.

  • 추출된 각 영역을 모두 하나씩 모델을 거쳐야 하므로 속도 측면에서 느리다

Fast R-CNN

미리 정의된 Anchor Boxes들을 사용한 Roi feature를 활용하여 R-CNN보다 빠른 속도로 사용이 가능하였다.

Faster R-CNN

다양한 크기의 Anchor Boxes들 k개를 미리 정해두고 IoU metric을 사용하여 사용 가능한 box인지 정하여 사용한다.

  • R-CNN에 발전은 Region proposal에 중점을 두고 이루어진 것 같다

YOLO

미리 각 위치에 b개의 box들을 사용하고 class 예측을 동시에 하는 방법이다. SxS gride에서 s는 컨볼루션 레이어의 마지막 해상도를 사용한다.

  • 맨 마지막 레이어에서만 prediction을 하기 때문에 localization 성능이 떨어질 수 있다는 단점이 있다

SSD

다양한 물체를 더 잘 처리하기 위해 해상도에 따라 boxes에 크기를 적절히 조절해서 사용하는 방법이다.

  • 다양한 shape을 가지는 box 사용 가능

RetinaNet

U-Net과 비슷한 구조를 가지는데 concatenation이 아닌 summation을 활용한다.

DETR

CNN을 활용하여 이미지에서 특징을 추출하고 이를 positional encoding과 결합한 토큰으로 만들어 transformer를 통해 detection을 수행한다.

0개의 댓글