[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개의 댓글

Powered by GraphCDN, the GraphQL CDN