1. COCO Keypoints Dataset
- *COCO (Common Objects in Context)**는 인간의 17개의 주요 keypoint를 제공하는 데이터셋으로, 인체의 자세를 분석하는 데 널리 사용되고있으며, 80개의 classes 존재한다.
Keypoint 구성:
- 총 17개의 keypoint로 구성
- 머리: 코, 왼쪽 눈, 오른쪽 눈, 왼쪽 귀, 오른쪽 귀
- 상체: 어깨(좌/우), 팔꿈치(좌/우), 손목(좌/우)
- 하체: 엉덩이(좌/우), 무릎(좌/우), 발목(좌/우)
장점:
- 대규모 데이터셋으로 잘 정제되어 있어 높은 신뢰성
- 다양한 오픈소스 모델 지원 (예: OpenPose, Detectron2)
단점:
- COCO는 군중 데이터가 많아 다중 인식에서 유리하지만 단일 자세 분석에는 과적합 위험있음
coco dataset사용 이유:
- 표준화된 데이터셋
- COCO는 인체의 17개 주요 keypoint를 정의하여 사람의 자세 추정을 위한 표준처럼 사용
- 호환성이 뛰어남 → 많은 모델과 프레임워크(예: OpenPose, Detectron2, HRNet)에서 COCO를 기반으로 학습 및 평가를 진행하기 때문
- 대규모 데이터셋
- 수천 장 이상의 이미지에 keypoint 주석이 추가된 대규모 데이터셋으로 다양한 자세와 환경을 포함하고 있어 일반화 성능이 높음
- 지원 프레임워크 다양성
- COCO는 OpenPose, TensorFlow, PyTorch 등 많은 라이브러리에서 기본적으로 지원하여 구현이 쉽고 빠름
- 다중 사람 지원
- COCO는 한 이미지에서 여러 사람의 keypoint를 탐지하도록 설계되어 군중 속에서도 자세를 분석 가능
- 다양한 응용 가능성
- 자세 추정뿐만 아니라 물체 감지, 이미지 세분화 등 COCO 데이터셋이 폭넓게 사용되어 프로젝트 확장에 유리
활용 사례: 자세 추정, 동작 분류, 행동 감지
2. MPII (Max Planck Institute for Informatics Human Pose Dataset)
- MPII는 16개의 주요 신체 keypoint를 포함하며, 일상생활의 다양한 행동에서 사람의 자세를 분석
Keypoint 구성:
- 머리: 머리 꼭대기(Head Top), 목(Neck)
- 상체: 어깨(좌/우), 팔꿈치(좌/우), 손목(좌/우)
- 하체: 엉덩이(좌/우), 무릎(좌/우), 발목(좌/우)
장점:
- 정교한 동작 주석:
- MPII는 사람의 행동 데이터를 단순히 keypoint 위치만 기록하는 것이 아니라, 행동 및 컨텍스트 정보도 포함. (예: 축구하기, 요가, 물건 줍기)
- 왜 중요? → 자세뿐만 아니라 동작 분석이 필요한 프로젝트에서 유리.
- 높은 정확도의 Keypoint 라벨링:
- 각 자세를 16개의 관절(keypoint)로 정교하게 정의하며, 정밀하게 라벨링된 데이터셋
- 예: 머리, 어깨, 팔꿈치, 손목, 엉덩이, 무릎, 발목
- 더 적은 혼잡도:
- COCO와 달리 한 이미지에 소수의 사람만 등장하므로, 개별 인체 자세를 분석하는 데 효과적
MPII 사용 이유:
- 동작 기반 프로젝트: 특정 활동을 분석하는 프로젝트에서는 동작 주석이 포함된 MPII가 적합 → 넘어짐 감지, 운동 자세 분석에 적합
- 높은 라벨 품질:자세 정확성이 중요하다면 MPII는 더 정교한 라벨링 → 신뢰성이 높음
- 단순 환경 분석: MPII는 개별 사람의 동작에 집중하기에 적합
활용 사례: 동작 분석, 운동 데이터 분석
3. MediaPipe Pose
- Google의 실시간 포즈 추정 솔루션
- Pose 기능은 사람의 자세를 탐색하는 기술로 머신러닝으로 학습한 모델을 이용하여, 이미지, 동영상, 실시간 동영상 에서의 사람의 자세를 탐색.
- → 반환 값은 좌표 값이며, 이를 통하여 canvas에 사람의 skeleton을 찍거나, grid를 이용하여 3D 화면에서의 렌더링이 가능
- 33개의 keypoint로 구성 (추가적인 얼굴과 손 keypoint 포함)
장점:
- 33개의 세분화된 Keypoint:
- MediaPipe Pose는 17개의 Keypoint만 제공하는 COCO보다 확장된 33개의 Keypoint를 탐지
- 얼굴, 가슴, 척추, 엉덩이, 팔, 다리, 발끝까지 포함
- 왜 중요? → 동작 분석뿐만 아니라 세부적인 움직임까지 정밀하게 분석 가능. (예: 발끝의 움직임, 척추 기울기 등)
- MediaPipe Pose는 17개의 Keypoint만 제공하는 COCO보다 확장된 33개의 Keypoint를 탐지
- 실시간 처리 가능:
- 가볍고 최적화된 모델로, CPU와 GPU 모두에서 실시간 동작 분석이 가능
- 왜 중요? → Fall Detection처럼 빠른 반응이 필요한 작업에 적합
- 멀티 플랫폼 지원:
- Android, iOS, 웹 브라우저 등 다양한 플랫폼에서 실행 가능
- 왜 중요? → 휴대폰, IoT 기기와 연동하여 현장 응용이 용이
- 쉽고 직관적인 사용법:
- Google에서 제공하는 라이브러리로, 설치와 사용이 매우 간단하며 코드가 초보자에게 친화적
- **왜 중요?**→ 빠르게 프로젝트를 시작하고 프로토타입 제작 가능
- 손가락과 발끝 추적 가능:
- 손과 발의 세부적인 움직임을 추적할 수 있어, 복잡한 자세나 비정상적 움직임 감지에 유리
- 왜 중요? → 자세가 흐트러지거나 이상 행동을 감지할 때 도움이 됨
단점: 오직 한 사람의 Pose를 추정한다
Media Pipe Pose 사용 이유: 다양한 사람의 움직임을 감지하고 추적하는 기능을 제공하기 때문
활용 사례: AR/VR 애플리케이션, 홈 운동 분석
4. PoseNet
- Google이 제공하는 실시간 포즈 추정 라이브러리로, 17개의 keypoint를 탐지.
- 경량화된 모델로, 웹과 모바일에서도 빠르게 동작 추적 가능.
Keypoint 구성:
- 머리: 코, 왼쪽 눈, 오른쪽 눈, 왼쪽 귀, 오른쪽 귀
- 상체: 왼쪽/오른쪽 어깨, 팔꿈치, 손목
- 하체: 왼쪽/오른쪽 엉덩이, 무릎, 발목
장점:
- 빠르고 경량화된 모델.
- 모바일 및 웹 애플리케이션에서 실시간 동작 분석 가능
- 실시간 처리 가능:
- 경량화된 구조로 CPU와 GPU에서 빠르게 실행 가능
- 모바일, 웹 브라우저에서도 사용 가능하여 다양한 플랫폼에 적합
- 쉬운 구현:
- TensorFlow.js, TensorFlow Lite 등에서 지원, 간단한 설치와 사용
- 초보자도 빠르게 접근 가능
- 17개 주요 Keypoint 탐지:
- 사람의 주요 신체 부위를 정확히 추적하여 자세 분석 가능
- 자세 추정, 동작 감지, 행동 인식 등에 유용
PoseNet 사용 이유
- 다양한 응용 가능성:
- Fall Detection, 홈 피트니스, 동작 분석, 게임 인터페이스 등 실시간 애플리케이션에 적합
- 가벼운 모델:
- OpenPose 등 고성능 모델보다 연산 부담이 적어 실시간 반응성이 필요한 프로젝트에 적합
- 쉽고 빠른 프로토타입 제작:
- TensorFlow.js를 사용해 브라우저 기반 개발 가능
- → IoT 및 웹/모바일 애플리케이션과 잘 통합됨
활용 사례: 모바일에서의 실시간 추적, 간단한 움직임 감지