ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 5-2. Panoptic Segmentation & Landmark Localization
    쿠다 4기/<네이버 부스트코스> 컴퓨터 비전 2023. 11. 1. 10:51

    1. Panoptic Segmentation이란?

    panoptic segmentation에서는 위 그림에서 알 수 있듯이 instance segmentation에다가 배경 정보 까지 인식한다. 

     

     

    2. Panoptic segmentation의 모델

    1) UPSNet

     

    UPSNet의 구조

    UPSNet은 FPN을 backbone network로 이용하고, head brunch를 semantic head와 instance head로 나누어 각 헤드의 출력을 취합해 panoptic head에 입력해 panoptic segmentation map을 구한다. 이를 자세히 살펴보자.

     

     

    - instance head로 부터 나온 Yi : instance의 mask

    -semantic head로 부터 나온 Xthing(thing은 instance segmentation이 구분할 수 있는,셀 수 있는 물체)은 물체의 mask

    -semantic head로 부터 나온 Xstuff(stuff은 무정형, 셀 수 없는 영역)은 배경의 mask

    Xstuff은 배경이기에 최종 출력의 Nstuff로 바로 들어간다.

    각 instance들을 전체 이미지에서 해당 위치에 넣어준 형태로 사용하기 위해 Yi와 semantic head의 Xthing부분을 mask하여 더해 최종 출력에 삽입한다.

    instance와 배경 이외 어디에도 소속되지 않은 unknown class의 물체들을 고려하기 위해 물체의

    semantic mask map에 instance로 사용된 부분을 제외시킨 부분을 모두 unknown 클래스로 처리하여 최종 출력에 넣는다.

     

    2) VPSNet

    VPSNet은 panoptic segmentation 구조를 video로 확장한 것이다.

     위의 그림을 보면 Target frame은 시간이 t인데 reference frame에서는 시간차가 있음을 알 수 있다. 각각 frame에서 feature map을 출력하는데, reference frame에서 출력한 feature map은 motion map을 이용해 warping되어 target frame으로 매핑이 된다. 이렇게  target frame의 feature map과 warping된 feature map을 합쳐 사용하여 여러 프레임의 feature map을 사용해 연속적이고 부드러운 segmentation map을 얻고 detection 성능이 높아진다.

    그 다음으로는 각각 ROI feature을 추출하고 tracking head를 이용해 매칭한다. 따라서 같은 물체는 같은 ID를 갖게 된다.

    나머지는 UPSNet과 동일하다.

     

     

    3. Landmark Localization 이란?

     

    위 그림을 보면 사람의 이목구비,관절 구조 등 특정 물체에서 중요한 부분을 미리 landmark로 정해놓고 이를 추정하며 tracking하는 것이다.

     

    원래는 coordinate regression이라는 방법을 사용했다. 이는 각 landmark의 x,y좌표를 이용해 regression을 하는 방법인데, 부정확하고 편향되었다는 문제점이 있다. 이를 해결한 heatmap classification은 하나의 채널이 하나의 key point를 담당해 각 픽셀 마다 해당 key point가 있을 확률을 나타내는 heaetmap을 만든다. 여기서 key point는 하나의 클래스를 나타내며, 각 픽셀에서 해당 key point의 위치를 찾기 위해 classification을 수행하는 것이다. 그러나 모든 픽셀에 대해 연산을 수행하기에 계산량이 크다는 단점이 있다.

     

    landmark location(x,y)이 주어졌을 때 heatmap으로 나타내는 방법이다.

    반대로 heatmap이 주어졌을 때 landmark location을 찾는 방법은 heatmap에서 가장 높은 값을 갖는 중심점 픽셀을 찾아 이미지 좌표로 변환하면 된다.

     

    Hourglass Network

    heatmap classification을 가장 잘 활용한 network이다. 그림에서 보듯이,  downsampling과 upsampling을 거치는 모래시계의 형태들이 블럭들이 반복적으로 이어져있다. downsampling을 통해 넓은 receptive field를 확보할 수 있고 skip-connection을 upsampling의 과정에 이용하기에 low-level feature을 잘 고려할 수 있다. 이런 과정들이 반복되며 성능이 개선되고 정확한 location을 찾을 수 있게된다. U-Net과 비슷하지만 별도의 convolution layer을 통과시켜 사용한다는 점과 concatenation이 아닌 합해 사용한다는 점에서 차이가 있다.

     

    4. DensePose란?

    신체 전체의 landmark를 파악하는 방법이다.

    UV map은 표준 3D모델을 U축과 V축으로 이루어진 2d형태로 펼친 좌표 표기법으로, uv map의 한 점은 3D mesh상의 한 점과 매핑되고, 움직여 좌표가 변하더라도 같은 ID를 갖고 있기에 매핑 관계는 변하지 않는다. 여기에 UV좌표에 색깔을 입히면 위 그림과 같은 그림이 나온다.

    구조를 보면 Mask R-CNN과 거의 유사하다. 여기에 3D surface regression branch를 추가해 mask branch를 UV map prediction으로 변환했고, 이를 통해 2d구조의 CNN으로 3d를 예측했다.

     

    이렇게 FPN을 backbone network로 하고, 세부적인 head만 추가/변경하여 원하는 task에 알맞는 target-task branch를 추가하는 방식으로 응용이 가능하다.

     

Designed by Tistory.