-
📸 Instance/Panoptic segmentation + Landmark localizationCS 공부/AI 2023. 4. 4. 22:29
Instance segmentation
Segmantic segmantation + 각각의 물체 구분 가능(id 부여)
Mask R-CNN
- RoIAlign이라는 새로운 Pooling layer 제안 (RoI Pooling 업그레이드 버전)
- Faster R-CNN + Mask branch (모든 클래스에 대한 mask를 생성하고 분류 결과에 따라 참조)
YOLOACT
- real-time semantic segmatation 가능, one-stage
- mask의 프로토타입을 추출해서 사용 (mask를 합성해낼 수 있는 component를 생성해냄)
- 추후 mask로 합성될 수 있는 component 제공
- component를 선형결합하여 다양한 mask 생성 (모든 클래스 x)
component 선형 결합 YoloactEdge
- YOLOACT를 영상으로 확장
- 실시간 segmentation 속도 향상
Panoptic segmentation
셀 수 있는 클래스에 대해서는 Instance Segmentation,
셀 수 없는 클래스에 대해서는 Semantic segmentation을 수행UPSNet
- Backbone으로 FPN 사용
- Semantic Head: semantic logit 추출(Mask R-CNN 사용)
- Instance Head: 객체 탐지, Box regression, mask logit 추출
- Panoptic head: semantic head와 instance head의 결과를 합쳐서 출력해줌
- X: semantic head에서 구한 logits, X_thing과 X_stuff로 나누어짐
- Y_mask: mask logits Y_i에 zero padding을 가하고 X_mask와 동일한 사이즈로 resize
- Instance head 최종=Y_mask + X_mask
VPSNet
- 시간 차이를 가지는 두 영상에 대해서 t-τ 시간에서의 모든 픽셀에 대한 t 시간에서의 대응점을 추적하고 위치를 찾음
- t−τ에서 뽑힌 feature도 target frame인 t에서 찍은 것과 마찬가지로 tracking을 해준다
- 기존의 RoI(m gt-roi feats)와 현재 RoI(n roi feats)의 연관성을 찾아서 mxn obj match learning을 가능하게 해주는 matrix 생성
- 각각의 frame에서 object의 id를 추적해줌
- 이후는 UPSNet과 동일
Landmark localization
- 얼굴이나 pose estimation에 주로 사용
- keypoint 좌표 예측/추적
- Coordinate regression: 정확도가 떨어지고 편향됨
- Heatmap classification: coordinate regression보다 성능이 좋지만 계산 속도가 느림
- Landmark의 위치 (x,y)를 Gaussian heatmap으로 변환
size=6*sigma+1 #출력 해상도의 크기 x=np.arrange(0,size,1,float) y=x[:,np.newaxis] # x:1xn y:nx1 정사각형으로 x0=y0=size//2 # x0,y0 = center값 if type=='Gaussian': g=np.exp(-((x-x0)**2 + (y-y0)**2) / (2*sigma**2)) elif type='Cauchy': g=sigma / (((x-x0)**2 + (y-y0)**2) + sigma**2)**1.5)
Hourglass network
- Stacked Hourglass Networks: 여러 hourglass module을 연속하여 잇는 방식
- 여러 scale들에 대해 반복적인 차원축소, 차원 증가의 단계를 거침
- 하나의 Hourglass는 UNet보다는 FPN의 구조와 비슷함
- 기존의 몇몇 방식들이 여러 크기에 대한 feature를 뽑아내기 위해 분리된 다수의 파이프라인을 사용한 반면,
- Stacked Hourglass network는 skip layer를 이용하여 하나의 파이프라인 만으로 spatial information을 유지
DensePose
- 모든 pixel의 Landmark를 알게되면 3D를 아는 것과 비슷함
- UV map: 표준 3D 모델의 각 부위를 2D로 flatten하여 이미지 형태로 만들어 놓은 좌표 표기법
- UV map을 출력해주는 DensePose는 3D mesh를 출력하는 것과 같음
- DensePose R-CNN = Faster R-CNN + 3D surface regression branch (2D구조로 3D 예측)
RetinaFace
- FPN + Multi-task branches
- 얼굴 판별, box regression, 5개의 landmark detection, 3d mesh regression 등 다양한 task를 한번에 해결
- 장점: 성능향상 폭이 크다
- backbone 네트워크에 원한느 task의 head만 만들어주면 다양한 응용이 가능!
Keypoint 형태의 Detection 방법
CornerNet
- bounding box={Top-left, Bottom-right} corners
- 왼쪽위, 오른쪽 아래 corner point만 가지고 bounding box 추출
- 성능보다는 속도 강조
CenterNet1,2
- bounding box={Top-left, Bottom-right,Center} points
- cornernet에서 center 포인트를 추가
- bounding box={Width,Height,Center} points
- 폭, 높이, 중심 포인트
성능은 CenterNet=Faster R-CNN > RetinaNet > YOLOv3
+
(1) Mask R-CNN과 Faster R-CNN은 어떤 차이점이 있을까요? (ex. 풀고자 하는 task, 네트워크 구성 등)
Mask R-CNN 은 기존 object detection task에서 사용되던 Faster R-CNN에 Mask branch를 추가해 classification , bbox regression , predicting object mask를 동시에 처리하는 모델이다.
Faster R-CNN: RoI pooling을 사용, object detection을 위한 모델
Mask R-CNN: 조금 더 업그레이드된 RoI Align을 사용, instance segmentation을 위한 모델
(2) Panoptic segmentation과 instance segmentation은 어떤 차이점이 있을까요?
Instance segmentation: 배경에는 관심이 없고, 움직이는 작업 물체에 대해서만 segmentation을 진행
panoptic segmentation:이미지 내 모든 부분에 대하여 segmentation을 진행하는 구조
(3) Landmark localization은 human pose estimation 이외의 어떤 도메인에 적용될 수 있을까요?
게임분야, 증강현실/가상현실, 마케팅 등..'CS 공부 > AI' 카테고리의 다른 글
Multi-modal learning (0) 2023.04.06 📷 Conditional generative model (0) 2023.04.05 CNN Visualization (결과 분석 기법) (0) 2023.04.03 📌 Two-stage detector(R-CNN)과 Single-stage detector(YOLO,SSD) (0) 2023.03.31 Semantic segmantation 모델: FCN, U-Net, DeepLab (0) 2023.03.30