Создание загрузчика данных для анализа временных рядов с использованием функции pytorch и pose - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь реализовать модель 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...