1.Instance segmentation
1.1 What is instance segmentation?
- instance들 즉, 개체들까지 구분한 segmentation
1.2 Instance segmenters
- 기존 Faster R-CNN에서 Mask branch가 추가된 형태
- 기존 7x7x2048에서 14x14로 upsampling함과 동시에 채널수를 낮추고, 최종적으로 클래스의 갯수(80개) 만큼의 binary mask를 생성함
- class단에서 나눈 정보를 참조하여 각 채널에서의 mask를 분류
- Summary of the R-CNN family
- YOLACT (You Only Look At CoefficienTs)
- Real-time으로 instance segmentation이 가능한 single-stage backbone network
- Feature pyramid 구조
- mask의 prototypes 추출
- prediction head에서 prototype들을 잘 합성하기 위한 coefficient들을 출력
- 이후 선형결합을 통해 responce map을 만듦
- YolactEdge
- YOLACT가 Real-time으로 동작하긴 하지만 소형화 하기엔 아직 부족
- 이전 frame의 keyframe에 해당하는 frame을 다음 frame으로 전달함으로써 feature map의 연산량을 획기적으로 줄임
- 기존 성능을 유지한채 연산속도를 향상시킴
2. Panoptic segmentation
2.1 What is panoptic segmentation?
- Semantic segmentation vs. panoptic segmentation
- Semantic segmentation은 instance를 구분할 수 없지만 배경을 구분할 수 있음
- Instance segmentation은 instance를 구분할 수 있지만 배경을 구분할 수 없음
- 위 두가지에서 장점을 뽑아 background와 instance를 다 구분할 수 있는 형태가 panoptic segmentation
2.2 UPSNet
- Semantic Head , Instance head를 합쳐 Panoptic head를 만듦
- Semantic head의 Xstuff 배경은 최종출력으로 들어감
- Semantic head의 Xthing 물체 부분은 masking을 수행하여 Instance response와 결합한다
- Unknown class를 만들어 출력으로 넣어줌 (기존 instance가 존재하는 부분을 image에서 빼고 나머지를 넣음)
2.3 VPSNet (for video)
- 시간차를 두고 feature map을 뽑아 tracking을 하는 구조
- 이전 시점의 영상의 feature가 다음 영상의 대응점이 어디로 가는지 motion map을 만듦
- 현재시점의 feature맵과 이전 시점의 feature맵을 활용하면서 더욱 높은 detection이 가능. 시간연속적으로도 smooth함
- 이전 roi와 현재 roi feature들을 비교하는 track head가 존재. 각 roi들의 index를 매칭해줌.
- 나머지 BBox head, Mask head, Semantic head를 하나의 Panoptic map으로 만들어줌
3. Landmark localization
3.1 What is landmark localization?
3.2 Coordinate regression vs. heatmap classification
- coordinate regression : usually inaccurate and biased -> 각 point의 x,y좌표를 2 dimensions으로 regression
- heatmap classification : better performance but high computational cost -> 각 keypoint마다 한 채널씩 쌓아 classification하는 형태
- Landmark location to Gaussian heatmap
- x,y 좌표와 score가 존재할때 gaussian heatmap 생성하는 방법
- heatmap -> location은 homework
3.3 Hourglass network
- 영상전체를 작게 만들어서 receptive field를 크게 만들어서 큰 영역을 보고 landmark를 찾는다는 제안
- skip connection이 있어 low level feature를 정확하게 측정하게끔 유도
- UNet과 다르게 concat이 아니라 add해줌
- 또한 skip connection을 할때 Convolution layer를 거침
3.4 Extensions
- DensePose
- 3D map을 UV map으로 표현 가능
- UV map과 3D mesh의 관계가 변하지 않는다
- 따라서 UV map을 통해 3D model을 표현할 수 있음
- RetinaFace
- 다양한 task를 한번에 수행함 (classification, box regression, landmarks regression)
- task가 많아서 gradient가 많아 좀 더 강력한 학습효과가 있음
- 따라서 FPN + Target-task branches가 가능함. 즉 어떤 task를 응용해서 활용하는것이 vision task의 디자인패턴중 하나
4. Detecting objects as keypoints
4.1 CornerNet
- Bounding box = {Top-left, Bottom-right} corners
- backbone에서 나온 feature map의 네가지 헤드를 통해 heatmap을 통한 각각의 점들을 detection
- Embedding head를 둬서 각각의 point들을 표현함으로써 학습
- Heatmaps에서 point들을 추출을 해주고, Embeddings에서 corner matching을 수행
4.2 CenterNet
- Bounding box = {Top-left, Bottom-right, Center} points
- Bounding box = {Width, Height, Center} points -> 위 처럼 굳이 Center까지 필요없이 최소한의 정보로 표현
- Performances
'부스트캠프 AI Tech > [Week7] Computer Vision' 카테고리의 다른 글
[Week7] 3D Understanding [Day5] (0) | 2021.09.17 |
---|---|
[Week7] Multi-modal Learning [Day4] (0) | 2021.09.16 |
[Week7] Conditional generative model [Day3] (0) | 2021.09.15 |