상태정리
현재 데이터를 JSON 라벨링과 프레임으로 가지고 있고, 학습데이터로 정리
1. JSON 라벨링 파일
- 각 프레임에 해당하는 15개 키포인트 좌표를 담고있고, 이 데이터를 모델이 처리할 수 있도록 변환
변환 형태 : keypoint 좌표 + 행동 (label)로 구성된 .csv 형태
각 JSON 파일을 읽고 Keypoints 좌표를 추출하여 정리
통합 데이터셋 형식
- 열: [frame_id, x1, y1, x2, y2, ..., x15, y15]
- 데이터: 모든 행동 데이터를 하나의 파일로 병합
annotations_combined.csv
2. 프레임 데이터
- 각 행동이 13개의 프레임으로 구성되어 있으므로, 프레임별로 JSON 라벨을 매핑하고 정렬
데이터 파이프라인 구축
data 폴더에서 데이터를 읽고 전처리하는 과정
3. 모델 개발
(1) Keypoint 추출 (Pose Estimation)
- HRNet 또는 KeypointRCNN 사용 : 프레임 / 15개의 keypoint 좌표 (x,y)
(2) 행동 분류 (Classification)
ST-GCN
- keypoint 좌표 (13개 프레임 기준 시퀀스) / 행동 클래스 (13개 행동)
모델 학습 파이프라인 :
1. Keypoint 추출 모델 (HRNet 또는 KeypointRCNN) 학습 / 적용
2. 추출된 Keypoints 데이터를 ST-GCN에 입력
3. 행동 분류를 위한 ST-GCN 학습
4. 스크립트 작성
(1) 데이터 준비 스크립트 (data_preprocessing.py)
- JSON과 프레임 데이터를 읽고 학습용 데이터셋 생성
(2) 키포인트 추출 스크립트 (keypoint_extraction.py) - HRNet/KeypointRCNN을 사용하여 프레임에서 키포인트 추출
(3) 행동 분석 스크립트 (behavior_anlaysis.py) - ST-GCN을 사용하여 키포인트 기반 행동 분류 수행
최종 실행은
1. 데이터 전처리
python scripts/data_preprocessing.py
- Keypoint 추출
python scripts/keypoint_extraction.py
- 행동 분석 학습
python scripts/behavior_analysis.py
'팀프로젝트 - TailsRoute' 카테고리의 다른 글
TEAM Project(11.23) - 회원가입 시 이메일 인증 (0) | 2024.11.24 |
---|---|
TEAM Project - 모델훈련 한계 (0) | 2024.11.23 |
TEAM Project (11.10 ~) - dog_behavior 모델 (0) | 2024.11.19 |
Team Project (11.18) - 카카오 소셜 로그인 (1) | 2024.11.18 |
history, location, 인터셉터 (0) | 2024.11.17 |