2015년 10월 25일 일요일

Pose estimation

입력 rgb채널을 9개로 해서 3개의 연속 영상을 입력(temporal information 고려)
마지막 fc층은 regressor로 사용 시 학습율을 다른 층과 달리해야 함
pooling, local response normalization, ReLU, dropout 적용된 convnet 사용
Video-specific learning으로 기존에는 주로 전체 학습 영상 평균을 제거. 여기에서는 per-video mean 제거.
data aug은 N(가로)x256(높이)로 만들고, 여기서 248x248를 random하게 추출, flip+rgb jitter적용 후, 좌표는 [0,1]로 정규화.  scratch후 학습율은 10^-2, 10^-3(80k), 10^-4(90k). 110k에서 stop.
ImageNet과 같은 classification learning은 학습 샘플 내부 객체의 세부적 위치 변화에 insensitive하게 학습이 되므로 pose 추정에는 부적합
ImageNet 분류기 결과에 BBC db(pose)를 fine tuning해도 결과는 별로 개선 안됨. 분류와 자세 추정은 서로 다른 weight를 요구할 만큼 다른 작업임
ImageNet의 표준 배경 이미지 사용 시 성능 악화 (학습 data의 배경에 overfitting된 경우임. 따라서 per-video배경 제거 필요)
표 1의 Scratch 의미는 랜덤하게 weight처리(?) 후 학습 의미
-DeepPose에서 배경처리?

Ref.
[1] T Pfister et al., Deep convolutional neural networks for efficient pose estimation in gesture videos, 2015.