Semantic segmentation은 모든 픽셀에 대해 class를 예측하는 방법이다.
입력으로 임의에 해상도를 가지는 데이터를 사용이 가능하다.
일반적으로 컨볼루션 및 pooling 레이어를 사용해 Down sampling을 진행하면 resolution이 작아지기 때문에 Transposed 컨볼루션을 사용해 Up sampling을 진행하여 input과 output의 resolution을 동일하게 조정한다.
down sampling을 진행하는 Contracting path(encoder)와 up sampling을 진행하는 expanding path(decoder)로 구성된다. 각 동일한 계층에 인코더와 디코더 사이에는 concatenation 연산을 사용하는 skip connection 구조를 가진다. 이때 feature map의 해상도가 홀수를 가지지 않도록 주의한다.
Conditional Random Fields (CRFs)와 dilated 컨볼루션, Depthwise separable 컨볼루션 등 기법들을 사용한 여러 version의 방법들을 제안하였다.
Object Detection은 classification과 box localization이 결합된 것으로 볼 수 있다. 이전에는 two-stage로 진행되었지만 최근에는 single-stage로 진행되고 있다.
정확도보다 속도를 우선시하여 실시간에 활용하는 것을 목적으로 활용되었다.
2천개 이하의 영역을 추출하고 CNN 모델과 SVM을 활용해 각 영역에 대한 class를 분류한다.
미리 정의된 Anchor Boxes들을 사용한 Roi feature를 활용하여 R-CNN보다 빠른 속도로 사용이 가능하였다.
다양한 크기의 Anchor Boxes들 k개를 미리 정해두고 IoU metric을 사용하여 사용 가능한 box인지 정하여 사용한다.
미리 각 위치에 b개의 box들을 사용하고 class 예측을 동시에 하는 방법이다. SxS gride에서 s는 컨볼루션 레이어의 마지막 해상도를 사용한다.
다양한 물체를 더 잘 처리하기 위해 해상도에 따라 boxes에 크기를 적절히 조절해서 사용하는 방법이다.
U-Net과 비슷한 구조를 가지는데 concatenation이 아닌 summation을 활용한다.
CNN을 활용하여 이미지에서 특징을 추출하고 이를 positional encoding과 결합한 토큰으로 만들어 transformer를 통해 detection을 수행한다.