[논문리뷰] Improving Pixel Embedding Learning through Intermediate Distance Regression Supervision for Instance Segmentation
제목 : Improving Pixel Embedding Learning through Intermediate Distance Regression Supervision for Instance Segmentation
저자 : Yuli Wu 외
시기 : 13 July 2020
1. Pixel Embedding
Embedding (임베딩) 은 픽셀 하나하나를 벡터로 표현하기 위해 사용됐다. x, y 픽셀을 각 픽셀 당 N차원 벡터를 가질 수 있도록 (x,y,N) CNN을 설계하고 벡터를 다뤄 학습을 한다.
2. Cosine similarity
Cosine similarity 는 두 벡터 사이의 코사인 값이다. 양수 공간에서만 사용하여 벡터들 간의 orthogonality를 강제한다.
논문 주요내용
아키텍쳐를 보면 두 개의 U-Net 이 존재하고 두 개의 loss 함수가 있다.
- U-net
U-Net은 Biomedical 분야에서 이미지 분할(Image Segmentation)을 목적으로 제안된 End-to-End 방식의 Fully-Convolutional Network 기반 모델이다.
네트워크의 구조가 U 모양이라 U-net이라 이름이 붙여졌다.
End-to-End 방식이라 x,y를 유지시킬 수 있기 때문에 사용한 것 같다. FOV가 크다는 장점도 존재한다.
- D-loss
D-loss의 D는 distance이다. 데이터에서 각 instance의 정보를 OpenCV의 distance transform을 통해 각 픽셀 당 가장 인접한 경계까지의 거리를 픽셀 값으로 만든다.
위에 있는 U-Net 1은 Leaf 이미지를 받아와 채널 1짜리 Distance Map을 맞춰야 한다. 그래서 Distance Map과의 MSE loss로 Regression task를 수행합니다. 논문의 제목에서는 "through intermediate distance regression supervision" 라 되어 있듯, 여기서 알 수 있다시피 Distance Map으로 학습하는 U-Net 1은 메인이 아닙니다. 이 모델이 학습한 것은 이제 말할 U-Net 2에 도움을 준다.
- E-loss
E-loss 에서 앞서 말한 Pixel Embedding이 사용된다. U-Net 2은 output으로 (x, y, E)를 내보내게 되고, 여기서 E가 앞서 말한 임베딩 벡터의 차원이고 이 논문에서는 4, 8, 16, 32 로 여러 차원에서 테스트 한다.
Cosine similarity를 통해 E-loss를 구하게 되는데, inter loss 와 intra loss 두 개의 term의 벡터 각도를 나타낸다. μcA 는 cA의 임베딩 벡터 평균이고, ei는 픽셀 i 의 임베딩 벡터이다.
inter loss는 두 개의 인스턴스가 각도가 커지도록 만드는 loss라고 생각되고, Intra loss는 인스턴스 내부에서 각 픽셀들이 인스턴스 픽셀들의 평균 벡터와 같은 방향을 가리키도록 만드는 loss 이다.
즉, 다른 인스턴스끼리는 다른 방향을 같은 인스턴스끼리는 같은 방향을 띄도록 한다.
아래의 (b) 도식이 논문의 두 개의 U-net에 처리 될 때 U-net1을 지난 후 D-feat이 concat 되고 난 후 U-net2에 들어가는 모습이다. 이 이유는 처음엔 (a)와 같이 two head로 학습을 진행할 때, 안되는 케이스가 많았다고 한다. 그래서 네트워크 사이에 feature를 concat해서 진행하니 잘 학습되었다고 한다.