Human pose estimation과 관련된 논문을 하나하나 정리하고 있는데 Multi human pose estimation 중에서는 제일 먼저 읽었던 Cascaded pyramid network, CPN이다.
Human pose estimation과 관련된 연구는 계속 진행중이지만, 키포인트들끼리 겹쳐있다던가, 다른 object에 가려서 보이지 않는 키포인트라던가, 뒷 배경이 복잡하게 생겨서 object의 정확한 검출에 악영향을 미치는 경우가 꽤 많이 존재한다.
이 논문에서는 이러한 한계를 극복하고 분류하기 어려운 hard keypoints를 잘 검출하기 위해서 두 개의 stage로 이루어진 CPN을 제안한다. (GlobalNet + RefineNet)
GlobalNet은 간단한 키포인트는 잘 localize 시키지만, 뭉쳐있거나 보이지 않는 키포인트들은 틀릴 수도 있는 feature pyramid network이다. 말 그대로 global한 특징을 잡아서 localize를 시키는 네트워크라고 생각하면 될 것 같다.
RefineNet은 GlobalNet에서 제대로 localize시키지 못한 hard keypoints를 online hard keypoint mining loss을 이용해서 localize 시키는 네트워크이다.
최종적으로 논문에서 말하는 contribution은 총 3가지 이다.
여기에서 사용한 base object detector는 FPN(Feature Pyramid Network)인데, 여기에서 RoI pooling을 Mask R-CNN의 RoI Align으로 바꾸었다. 그리고 학습할 때는 COCO dataset을 이용했다.
먼저 GlobalNet은 ResNet 기반의 아키텍처이다. Last residual blocks의 output을 다양한 resolution에서의 feature map이라고 생각했을 때, 각 feature map에 3x3 convolution filter를 적용해 keypoints의 heat map을 얻을 수 있었다. 그런데 FPN에서 발생했던 이슈와 마찬가지로, 이런식으로 하면 낮은 resolution의 feature map과 높은 resolution의 feature map에서 trade off가 발생한다. (high semantic information이냐 high resolution이냐)
그래서 여기에서도 U모양의 구조를 도입해서 upsampling할때 1x1 convolution으로 채널 수 맞춰주고, element-wise로 더하는 과정을 추가적으로 더해주었다. (FPN이랑 완전 똑같다.)
여기까지 설명하면 상단의 Figure들에서 GlobalNet 부분은 대강 이해할 수 있을 것 같다.
하지만 논문에서는 이거 말고도 아키텍쳐 뒤에 RefineNet을 붙인다. 아까 introduction에서 이야기했던 hard keypoint를 잘 잡아내기 위함인데, 아까 다양한 resolution에서 뽑아냈던 feature map을 기반으로 key point를 좀 더 정교하게 localize한다.
RefineNet에서는 단순히 모든 pyramid feature를 다 concat한다. 학습이 진행되면서 네트워크는 simple keypoint에 더 집중하지 hard keypoint를 무시하는 경향을 보이는데, 네트워크가 두 종류의 keypoint를 다 잘 학습할 수 있도록 online hard keypoint mining을 이용해 hard keypoints를 골라주고 걔네들만 이용해서 학습을 진행했다고 한다.
Human Detector
RefineNet
논문에서 중점적으로 제안하는 Online Hard Keypoints Mining의 실험결과는 다음과 같다.
개인적으로는 RefineNet에 OHEM을 적용하더라도 AP가 1이 조금 안되게 올라서 성능에 그렇게 유의미한 차이가 있다고 할 수 있나? 라는 생각이 들었다. 뭔가 데이터별로 예측이 잘 되는 데이터, 예측이 잘 되지 않는 데이터를 나누어서 정성적으로 RefineNet이 hard keypoints를 잘 예측한다는 예시들을 볼 수 없어서 아쉬웠다.
그리고 개인적으로 재밌었던 부분은 GlobalNet에 OHEM을 적용하면 전체 성능이 떨어졌는데, GlobalNet이 해야할 general information을 잡아내야하는 역할을 제대로 수행하지 않고 hard keypoint에 집중해버려서 그런 것 같았다!! 🤔😲
이 논문에서는 hard keypoints를 잘 찾기 위한 top-down pipeline의 Cascaded Pyramid Network를 제안한다. 이 모델은 GlobalNet과 RefineNet으로 나누어져 있는데, RefineNet에서는 명시적으로 online hard keypoint mining을 이용해 hard keypoints를 중심으로 학습한다.
(+ 원래 이거 읽기는 크리스마스 이브에 읽었었는데 이거 읽다가 FPN 모르겠어서 FPN 읽고오고 online hard keypoint mining loss 모르겠어서 online hard keypoint mining loss 논문 읽고 오느라 이제 올린다 ...^^ 배움의 세계란^^ )
잘 보고 갑니다~~ ㅎㅎ 이해에 도움 됩니다.