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에 가까워지는 것을 확인할 수 있다
'딥러닝 > Computer Vision' 카테고리의 다른 글
object detection이란 무엇인가? (0) | 2022.05.03 |
---|---|
fully convolutional network와 비슷했던 hypercolumn (0) | 2022.05.02 |
fully convolutional network에서 Upsampling이란 무엇인가 + interpolation 기본 (0) | 2022.04.26 |
fully convolutional network는 어떻게 임의의 input size에서 동작하게 만들었을까? (0) | 2022.04.20 |
semantic segmentation을 할 수 있는 fully convolutional network의 특징 (0) | 2022.04.19 |