본문 바로가기

팀프로젝트 - TailsRoute

TEAM Project (11.22)

상태정리

현재 데이터를 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
  1. Keypoint 추출
python scripts/keypoint_extraction.py
  1. 행동 분석 학습
python scripts/behavior_analysis.py