Я пытаюсь реализовать модель LSTM, используя функцию позы на основе открытой позиции для классификации действий человека с помощью pytorch.
Я уже получил файлы позы json из моего набора видеоданных с использованием openpose. Вот мой каталог набора данных позы.
pose
├── action1
│ ├── FileA
│ │ ├── FileA_01_keypoints.json
│ │ ├── FileA_02_keypoints.json
│ │ :
│ ├── FileB
│ │ ├── FileB_01_keypoints.json
│ │ ├── FileB_02_keypoints.json
│ │ :
│ ├── FileC
│ : ├── FileC_01_keypoints.json
│ : ├── FileC_02_keypoints.json
│ :
├── action2
│ ├── FileA
│ │ ├── FileA_01_keypoints.json
│ │ ├── FileA_02_keypoints.json
│ │ :
│ ├── FileB
│ │ ├── FileB_01_keypoints.json
│ │ ├── FileB_02_keypoints.json
│ │ :
│ ├── FileC
│ : ├── FileC_01_keypoints.json
│ : ├── FileC_02_keypoints.json
│ :
├── action3
├── FileA
│ ├── FileA_01_keypoints.json
│ ├── FileA_02_keypoints.json
│ :
├── FileB
│ ├── FileB_01_keypoints.json
│ ├── FileB_02_keypoints.json
│ :
├── FileC
: ├── FileC_01_keypoints.json
: ├── FileC_02_keypoints.json
:
Далее я хотел бы сделать «загрузчик данных», используя класс набора данных pytorch, чтобы классифицировать действие с моделью LSTM, но я не понимаю, как его реализовать ... .
Каждый файл имеет разное количество кадров. Например, файл action1 FileA имеет 100 json файлов, FileB имеет 200, File C имеет 300 ... Поэтому я думаю, что мне нужно сделать их одинаковой длины.
Каждый файл json имеет ( X, Y, P) из 25 Совместных характерных точек. Я хочу классифицировать, используя только информацию X, Y.
Пример json file
{"version":1.3,"people":[{"person_id":[-1],
"pose_keypoints_2d":[0,0,0,1071.88,483.191,0.952672,1121.94,500.792,0.866974,1210.08,536.234,0.903476,1245.48,618.622,0.820318,1021.87,468.563,0.832124,904.134,486.09,0.851234,909.984,571.543,0.776599,1057.14,630.41,0.739634,1089.47,642.125,0.682806,980.558,736.326,0.748121,904.09,845.248,0.618198,1027.74,621.529,0.743093,936.391,736.255,0.894676,1054.2,786.412,0.791675,0,0,0,0,0,0,1110.07,433.193,0.476596,1051.35,415.586,0.617403,1054.22,859.998,0.783194,1062.98,854.065,0.765407,1083.66,783.415,0.732972,857.028,889.437,0.64133,862.832,883.537,0.543763,880.529,892.312,0.451134],
"face_keypoints_2d":[],
"hand_left_keypoints_2d":[],
"hand_right_keypoints_2d":[],
"pose_keypoints_3d":[],
"face_keypoints_3d":[],
"hand_left_keypoints_3d":[],
"hand_right_keypoints_3d":[]}]}
Есть ли источник? код, который может помочь мне реализовать эту задачу?
MacOS: 10.14.6 python: 3.7.2 pytorch: 1.3.1