Fully convolutional layer에서 사용하는 layer fusion의 원리

1. motivation

 

사실 아무리 upsampling을 적용해서 크기를 키웠다고 잃어버린 정보를 되살리는 것은 쉬운 일은 아니다

 

convolution의 각 layer의 의미를 살펴본다면 하위 layer에서는  feature map 크기가 커지지만 상대적으로 receptive field가 작고 작은 차이에도 민감하게 반응함

 

상위 layer로 갈수록 feature map 크기가 감소하지만 receptive field가 커져서 전체적이고 pixel이 가지는 의미론적인 정보를 파악함

 

 

낮은 layer에서는 작은 영역을 보면서 상위 layer에서는 넓게 바라본다(receptive field를 그린건가?)

 

그런데 semantic segmentation에서는 무엇이 필요한가? 둘 다 필요하다

 

이미지의 전체적인 면을 바라보면서 각 pixel이 어떤 의미를 가지는지 파악하고

 

더욱 자세하게는 pixel이 물체 경계 밖인지 안인지 파악할수도 있어야한다

 

 

2. fusion layer

 

그래서 두가지 특징을 모두 얻어 semantic segmentation을 하기위해 상위, 중하위층 layer에서 나온 activation map을 upsampling한다

 

이들을 concatenation하여 각 pixel들의 score인 최종 출력을 구한다

 

 

어떻게 합치느냐에 따라 서로 다른 출력들이 나타남을 알 수 있다

 

pool4의 activation이랑 conv7 2개 합치면 16배 upsampling된 prediction?

 

q반면 conv7 4개랑 pool4 2개랑 pool3 합치면 8배 upsampling된 prediction?

 

어디 layer를 합칠지, 몇개씩 합칠지 그런것은 정해진 규칙은 없다고 한다

 

그런데 많이 할수록 더욱 classification이 구체적일 것

 

 

더 많이 layer를 합칠수록 구체적으로 classification을 잘해서 ground truth에 가까워지는 것을 확인할 수 있다

 

 

TAGS.

Comments