반려동물 행동 예측 프로젝트 개요
개요
-
제로베이스에서 내주었던 세계테러데이터 분석[1]과제를 진행하느라 FormNet 논문 공부 원고를 진행하지 못했다.
-
추가로, 다음에 진행될 프로젝트의 주제가 문서독해와는 저 멀리 떨어져있는 관계로 당분간 FormNet 관련 글은 작성하지 못할것으로 보인다.
-
대신, 다음 프로젝트 주제로 쓸 “애완동물 행동 예측” 프로젝트와 그에 필요한 내용을 공부하며 글을 업로드 할 것 같다.
- 강사님께서 제시했던 주제가 세개 있었다.
-
물 탐지 (비정형 object detection)
-
치과 석션 대상 탐지 (의료데이터, object detection)
-
반려동물 행동 예측 (animal pose estimate)
-
-
비정형 object detection은 도저히 접근법이 생각나지 않으므로 열외.
- 치과 석션 대상 탐지의 경우, 데이터셋을 리서치 해보았으나, 구강암 점막조직 데이터셋이나 치아 관련 데이터셋만 나왔다.
- 직접 데이터셋을 구축하라는 소린데, 병원에서 직접 데이터 얻어오라는 소리는 아닐테니 열외.
- 결국 AI HUB에서 봤던 데이터셋이 생각나 반려동물 행동 예측을 주제로 선정했다.
사용 데이터셋(예상)
-
-
내가 이 주제를 선정했던 가장 큰 이유.
-
동물 joint 라벨링, 행동 라벨링, 촬영당시 병력 여부, 촬영당시 동물 감정상태 등 다양한 데이터들이 포함되어있다.
-
특징
<img src=https://1geraldine1.github.io/assets/images/Study/zerobase/animalpose/dataset_info_01.PNG />사진 출처 : 반려동물_구분을_위한_동물_영상_데이터_구축_가이드라인.pdf</img>
-
위 사진은 이 데이터셋이 만들어지게된 연구인 “반려동물 행동 분석 연구개발”의 도식이다.
-
이 데이터셋은 첫 번째 단계인 반려동물 1마리만을 검출하는 단일모델 연구에 활용하기 위해 구축하여 아래와 같은 제약 조건을 가진다.
- 단일 반려동물을 대상으로 촬영
- 표정(안면) 가공은 하지 않음
- 사람, 물체에 대한 가공 및 검출을 하지 않음
- 음성정보에 대한 가공은 하지 않음
-
-
Animal Pose Estimation
What is Pose Estimation?
-
주어진 데이터에서 관절 또는 부위를 예측하는 분야.
-
관절이 움직이면 그것이 포즈가 되고, 포즈를 안다는것은 행동을 아는것이 된다.
- 따라서, 행동 인식에 매우 중요한 역할을 담당한다.
2D Human Pose Estimation
-
주어진 영상 또는 이미지 데이터에서 사람의 관절 또는 부위를 예측하는 분야.
-
대표적인 2D Human Pose Estimation 방식은 OpenPose, CPN, AlphaPose, HRNet등이 제안되었음.
2D Animal Pose Estimation
-
주로 사람에게 적용된 모델을 동물에게 적용하는 Transfer-learning 방식을 많이 사용해왔음.
- DeepLabCut이 이러한 방식이다.
Main Challenges of Pose Detection
-
Pose Detection에서 주로 문제가 되는 부분은 다음과 같다.
-
사람 데이터의 경우, 옷을 입음으로 인해 발생하는 형태의 불확실성.
-
여러 사람이 겹쳐있는 경우, 배경 모델이 인식하기 어려워짐.
-
날씨나 조명등에 따라 모델의 인식률이 감소함.
-
저해상도 데이터, 관절부위가 얇거나 작을 경우에도 잘 인식하지 못함.
-
Strong Point of AI Hub Dataset
-
이번 프로젝트에 사용될 데이터는 각 문제점에 대해 다음의 강점을 지닌다.
-
옷 또는 가방등을 착용하지 않은 반려동물의 데이터만 있음으로 인해, 형태가 명확하게 드러난다.
-
단일 동물만 포함된 데이터로서, 여러 모델에 대한 인식 문제가 해결된다.
-
촬영장소(실내/실외)에 따른 데이터 모두 존재함으로 인해 강인한 모델 형성이 가능할것으로 기대됨.
-
최소 720 * 720 이상의 해상도를 가진 데이터만 존재하며, 반려동물의 머리, 꼬리, 다리가 모두 나오도록 촬영된 데이터만 존재함.
-
Let’s Study!
- 훌륭한 데이터도 존재하고, 선행 연구 또한 명확하니 공부만 똑바로 해서 구현하면 끝날 문제로 보인다.
공부할 목록(당장 생각나는거만)
2D Animal Pose estimate 연구
- DeepLabCut
- 참고한 글에서 제시된 유일한 2D Animal Pose estimate 연구.
Human Body Modeling
- Kinematic model
- 관절 위치와 limb orientation셋으로 구성된 모델.
- 신체 부위간의 관계를 파악하기 위한 데이터셋.
- 이 모델에 주목하는 이유는, AI Hub의 데이터에서 주어지는 관절위치 역시 점밖에 없으므로, 이 점들을 잇는 선들의 집합은 이러한 Kinematic model이 될것이기 때문.
- 동물에 대한 Kinematic model이 없는 경우, 재수없으면 직접 각 관절들의 관계를 정의하여 skeleton을 제작해야 할것이다.
- 사실, 이렇게 될 확률이 대단히 높아보인다.
번외. Head Pose Estimation
-
사람 머리 / 얼굴 추정에 관한 분야.
-
이걸 응용한 기술이 실제 카메라에 찍힌 얼굴을 3D모델에 반영하는 버츄얼 유튜버라는걸 감안할때, 만져보면 재밌을 확률이 99%라 개인적으로 건드려보고싶다.
참고한 글
[1] : 아쉽게도 업로드 불가 판정을 받았다. 나름 만지는 맛이 출중했던 데이터라서 개인적으로 한번 다뤄보고싶기는 하다.