Pose estimation은 영상 속에서 human object 자세(pose)를 추정하는 것입니다. 사람의 자세를 구성하는 주요 관절을 key point or joint라고 한다. 그래서 특정 pose를 만들어내는 key-points들을 찾아내는 task입니다.
✅ Key-points detection, Pose recognition
💡 <활용 분야/산업>Marker vs Markerless system을 사용한다.
How? Input image상에서 key points의 x,y 좌표값 예측을 하는 과정이다.
입력 이미지 : RGB image
/ output : 사람의 Bounding Box와 탐지하고자 하는 point 좌표(x,y)
말 그대로 입력 이미지 내 사람이 한명만 존재하는 경우를 나타냅니다.
bounding box를 사용해 사람이 존재하는 영역만 추출한다. ex. Bounding Box(x,y,w,h) = (120,150,200,300)
관졀별 좌표는 추출 전에 이미지내 좌표를 뽑아내기 때문에 BB에서 사람 영역만 뽑아내서 변환된 이미지 속의 좌표와는 다르기 때문에 변환이 필요합니다. 앞서 pre-processing한 내용에서 나온 산출 input 결과물을 가지고 CNN와 NN를 feature extractor로 사용해서 representation vector를 산출합니다. 산출된 벡터를 FC layer에 입력하여 관절별 예측 값을 산출할 수 있습니다.
(2k:k개의 관절별[x,y]처럼 1개의 관절에서 x,y 2개의 값을 가지고 있기때문에)
산출 예측값과 실제값의 차이가 발생하는데, MSE와 같은 loss_func을 이용해서 back propagation을 통해서 학습하고, 각 parameter에 반영해서 학습하는 방향이다.
앞에서 산출된 예측 관절 위치를 실제 이미지 내 위치로 역변환을 시킵니다. 이렇게 예측한 값은 정확하게 큰 이미지를 보면서 예측한 것이 아니라서 정교함이 좀 떨어진다는 결과가 나타날 가능성이 매우 높습니다. 그래서 예측한 값 근처로 BB를 다시 그린 다음에 crop해서 다시 CNN을 거치게 시킵니다.
델타(왼쪽 어깨 예측값과 오른쪽 엉덩이 예측값 사이 거리)
(2015) Efficient Object Localization Using Convolutional Networks(CVPR)
Heatmap[loc = (x,y)] // GT좌표 (x,y)를 Model로 하는 가우시안 분포 Heat map방식을 이용한다.
output을 x,y좌표 대신 heatmap을 통해 상대적인 빈도, 확률 값으로 가져가도록 한다. input image의 여러 pose로 인해 생기는 다양성을 잘 포용하도록 한다. 좌표 기반 방법론보다 높은 성능을 얻어냈다.
입력 이미지 내 사람이 두 명 이상 존재하는 경우로 AI 심판이 파악해야하는 추정 방식이다.
사람을 우선적으로 dectecting한 후 탐지 결과내에서 관절 별 좌표를 예측하는 방식
1) 객체가 있을만한 영역탐지(BB regression)
2) 탐지한 영역 내 어떠한 범주가 있는지 예측(classfication)
3) 상자 내 픽셀이 탐지한 범주인지 아닌지 분류(segmentation, pixel wise classfication)
Mask R-CNN basic architecture에 human pose estimation에 해당하는 내용 추가한다.
input image → feature extractor에서 image 특징을 추출하여 RPN를 통해서 어디가 객체가 있을지에 대한 정보를 알려준 후보군에서 Bounding box regression & classfication을 진행합니다. 이러한 분류한 객체 pixel에 binary class segmentation에서 속하는지 아닌지를 예측하게 됩니다. 그리고 추가된 human pose estimation에서 관절별 좌표를 가지고 해당하는 픽셀이 관절에 속하는지 예측하게 됩니다.
<손실함수>
⇒ Multi- task learning
탐지하고자 하는 관절에 대한 위치 예측 후 사람별로 나누는 과정입니다.
Percent of Detected Joints(PDJ)
기존 HPE 적용 사례**
[AI 콜로퀴움] Human Pose Estimation 기술의 발전과 미래 (이경무 교수) : www.youtube.com/watch?v=GBpnsFfLt2Q
https://eehoeskrap.tistory.com/505
https://www.youtube.com/watch?v=w39bjQxm1eg
[서울대 AI 콜로퀴움] Human Pose Estimation 기술의 발전과 미래(이경무 교수)
[2022-S-3] Human Pose Estimation을 이용한 보행 장애 진단 시스템
Human action recognition running on PC and Nvidia Jetson TX2