인간 행동 예측

프로젝트의 GitHub 저장소

skr

세부 정보

이 프로젝트는 2020년 봄 학기 동안 콜로라도 광산 대학에서 Dr. Zhang의 인간 중심 로보틱스(CSCI473) 수업의 프로젝트 #3이었습니다. 이는 서포트 벡터 머신(SVM)을 사용하여 로보틱스에서 머신 러닝을 소개하기 위해 설계되었습니다. 원래의 프로젝트 산출물/설명은 여기에서 볼 수 있습니다.

skr

이 프로젝트에서는 약간 수정된 MSR Daily Activity 3D 데이터셋 (그림 2)을 사용했습니다. 이 데이터셋은 Xbox Kinetic 센서에서 수집되어 스켈레톤으로 저장된 16개의 인간 활동을 포함합니다. 스켈레톤은 한 프레임에서 기록된 인간의 20개 관절의 실제 세계 (x, y, z) 좌표 배열입니다. 다음은 스켈레톤이 무엇인지 보여주는 그림입니다:

skr

인간 행동 예측을 달성하려면, 원시 데이터는 SVM이 처리할 수 있는 형태로 표현되어야 합니다. 이 프로젝트에서는 다음과 같은 표현을 사용했습니다:

  • 상대 각도 및 거리(RAD) 표현
  • 관절 위치 차이 히스토그램(HJPD) 표현

분류를 위해, 표현은 LIBSVM으로 구동되는 SVM에 전달되어 인간 행동을 예측할 수 있는 모델을 생성합니다. 두 개의 모델이 생성되는데, 하나는 RAD를 사용하고 다른 하나는 HJPD를 사용합니다. 목표는 이 모델들을 가능한 한 정확하게 만들고 어떤 표현이 가장 잘 수행하는지 보는 것입니다.

이를 바탕으로, 코드가 수행하는 작업의 개요는 다음과 같습니다:

  1. 수정된 데이터셋에서 원시 데이터를 불러옵니다
  2. 불러온 데이터셋에서 이상치 및/또는 오류 데이터를 제거합니다
  3. 최종 원시 데이터를 RAD 및 HJPD 표현으로 변환합니다
  4. 표현은 조정된 SVM(s)에 전달되어 두 개의 모델을 생성합니다
  5. 그런 다음 두 모델에 테스트 원시 데이터를 입력하고, 모델(s)의 성능을 측정하기 위해 혼동 행렬을 생성합니다.

결과

코드를 실행하고 모델을 제 능력껏 가장 잘 조정한 후, RAD 및 HJPD 모델 모두에 대한 최종 혼동 행렬은 다음과 같습니다:

Representation: RAD
Accuracy: 62.5%
LIBSVM Classification   8.0   10.0  12.0  13.0  15.0  16.0
Actual Activity Number
8.0                        8     0     0     0     0     0
10.0                       1     5     0     0     1     1
12.0                       0     1     1     0     3     3
13.0                       0     0     0     6     1     1
15.0                       0     0     0     1     5     2
16.0                       0     0     0     0     3     5
Representation: HJPD
Accuracy: 70.83%
LIBSVM Classification   8.0   10.0  12.0  13.0  15.0  16.0
Actual Activity Number
8.0                        7     1     0     0     0     0
10.0                       1     5     0     0     0     2
12.0                       0     0     7     0     1     0
13.0                       2     0     1     5     0     0
15.0                       0     0     0     0     7     1
16.0                       0     2     0     0     3     3

결론

두 정확도 모두 50%를 넘었으므로, 이 프로젝트는 성공적이었습니다. 또한 HJPD 표현이 이 분류에 사용하는 데 더 정확한 표현인 것 같습니다. 이를 통해 스켈레톤 데이터를 사용하여 인간 행동을 예측하는 모델(s)이 있습니다. 여기의 모델(s)은 완벽과는 거리가 멀지만 무작위보다 낫습니다. 이 프로젝트가 나중에 Moving Pose 프로젝트의 탄생으로 이어졌습니다.

추가 노트: