공부/paper review

[Paper review] CenterMask: single shot instance segmentation with point representation

Parkchanmin 2022. 12. 4. 16:26

Abstract

  • One-stage instance sementation의 새로운 방식으로 제안한 방법
  • FCOS base로 구성이 되어있으며 BlendMask가 나오기 이전에 제일 좋은 성능을 내었던 방식임
  • 2가지의 문제점을 가지고 접근을 하였으며 object instance differentiation 과 pixel-wise feature alignment에 대해서 문제점을 지적하였음. 
  • Local shape와 global saliency map을 사용해서 instance간의 구별을 하였으며 기본적으로 scratch로 학습을 하였을경우 mask AP 34.5가 나온다고 하고 있음.
  • 밑의 그림처럼 2개의 feature map을 잘  ensemble하여 mask를 획득하였음.

 

Method 

  • abstract에서 말했듯이 저자는 2가지의 문제점을 지적을 하였다.
    • 첫번째로는 instance끼리 어떻게 분리를 할것인지 (기존의 여러 방식이 있지만 좋지는 않음) 
    • feature map에서 어떻게 pixel-wise location을 aligment를 할것인지에 대해서 해결책을 놓을려고 하였다. (이방법도 마찬가지로 TensorMask처럼 4D로 풀기도하였고 contour를 맞췄지만 정확하지 않음) 
  • 따라서 제안한 방법은 local shape에 대한 방법뿐만 아니라 global saliency map을 사용하여 aligment부분과 instane끼리 분리할수 있도록 제안하였다. 

Local shape prediction

  • 첫번째로 재안한 방법은 다른 위치에 있는 instance를 구별하기 위한 방법을 제안하였다. 
  • 저자는 다른 Instance까리는 shape와 size가 다르기 때문에 2개의 branch(shape,size)를 사용하여 multi task 문제로 접근하였다.
  • shape의 branch의 경우 그림4와 같이 $H X W X S^2$로 만들었으며 ($S^2$는 shape 는size에 대한 vector를 의미함 ) size의 branchr경우에서는 $H X W X 2$로 만들었다.(2가 의미하는 바는 bbox의 Width,Height 를 의미한다.)
  • 이 두 branch의 합하여 local shape를 뽑아낼수 있는데 이는 그림 4에 첨부된것처럼 shape branch에 해당하는 한개의 center point의 Pixel에는 local에 대한 shape를 가지고 있으므로 S X S로 reshape를 하며 같은 위치의 pixel은 height 와 width를 가지고 있으므로 reshape된 SxS를 HxW로 resize하여 combination을 하게 되면 local shape에 대한 정보를 가진 featuer가 나오게 되어진다. ( 의문점은 shape의 vector를 어떻게 만들었는지?? )

Global Saliency Generation 

  • 이렇게 만든 instance mask는 coarse한 문제점이 있는데 이를 어떻게 좀더 정확한 mask로 만들기 위해서  globa saliency map을 이용하여 풀었다. 
  • 저자는 이를 sigmoid로 class-agnistic하게 하여 feature map을 뽑아내어 전체를 obejctness에 해당하는 map을 얻어내었다. 

Mask Assembly

  • 최종적으로 위의 2개의 feature map을 조합하는것이 필요하며 shape branch에서 나온 결과에 해당하는 pixel에 대한 위치를 global saliency map에 해당하는 위치로 crop을 하여 combination을 하게되는데 이를 multiple하여 정확한 instance를 뽑게 된다. 
  • 이때 사용되어지는 mask loss function의 경우 objectness만 사용하여 loss를 구하게 되어진다.

  • 전체적인 학습의 pipeline은 centernet과 똑같이 진행이 되어진다. heatmap에 대한 $L_p$의 부분은 regression으로 focal loss처럼 주었으며 $L_{size}$의 경우는 L1 norm으로 주었으며 $L_{offset}$의 경우는 stride의 주어서 featuer map에 맞춰서 L1 norm을 마찬가로 주어서 학습을 진행하였다. 
  • 최종적으로는 다른 constant를 주어서 sum을 하여 loss를 적용하였다.

 

 

Result

  • 역시 ablation study를 많이 진행하였으며 shape를 변형, backbone, local shape branch의 사용 global branch의 사용등 다양한 방법을 사용하기 전후에 대한 비교를 진행을 하였으며 
  • 그림 5에 보이는것처럼 shape의 branch만 사용했을때에는 global에 대한 featuer가 없으니 instance끼리는 분리를 하더라도 coarse mask가 나오는것을 볼수 있으며 반대인 경우에서는 shape는 정확할지라도 instance에 대한 구분이 없는것을 볼수 있다. 

 

반응형