Как классифицировать действия человека?
Краткое содержание
Я довольно новичок в машинном обучении (я прошел курс Эндрю Нга на Coursera и сейчас начинаю курсы deeplearning.ai). Мне нужно классифицировать действия человека в реальном времени, например: - Левая рука согнута; - Рука над плечом... Сначала я провел небольшое исследование по предобученным моделям, но ничего не нашел. Так как я все еще новичок, мне хотелось бы получить совет о том, как лучше всего решить эту задачу. Я подумал, что возможно стоит для каждого действия сделать достаточно фотографий, а затем использовать их для классификации изображений. Или же можно воспользоваться моделью PoseNet от TensorFlow, чтобы получать точки оценки позы. Затем создать короткие видеоролики с каждой позой, которую хочу отслеживать, сохранить эти оценочные точки и далее применить алгоритм классификации (нейронную сеть), который будет классифицировать эти точки. Какой из этих вариантов наиболее эффективен или оба плохи и есть лучший способ решения этой задачи?
Полный текст
Задать вопрос
Опубликовано 5 лет и 11 месяцев назад Изменено сегодня Просмотрено 339 раз
Опубликовано 5 лет и 11 месяцев назад
9 $\begingroup$
Я совсем недавно начал изучать машинное обучение (прошел курс Эндрю Нга на Coursera и сейчас начинаю курсы от deeplearning.ai). Я хочу в реальном времени классифицировать действия человека, такие как "согнутая левая рука", "рука выше плеча" и т.д.
Сначала я провел небольшое исследование по готовым моделям, но ничего не нашел. Так как я еще новичок, мне хотелось бы получить совет о том, как лучше всего решить эту задачу. У меня возникла мысль создать для каждого действия достаточное количество изображений, а затем использовать их для классификации изображений. Или же можно воспользоваться моделью PoseNet из TensorFlow, чтобы получать точки оценки позы. Затем я могу записать видео длиной несколько секунд с каждой позой, которую нужно отслеживать, и сохранить эти оценочные точки. После этого я использую алгоритм классификации (нейронную сеть), чтобы классифицировать эти точки. Какой вариант наиболее эффективен или оба плохи и есть лучший способ сделать это?
нейронные-сети классификация распознавание-изображений видеоклассификация Поделиться Улучшить этот вопрос Последнее редактирование: 26 дек. 2019 г., 15:19 nbro 43.1k 14 золотых значков 121 серебряный значок 222 бронзовых значка Опубликовано: 25 дек. 2019 г., 9:56 user1007522 191 1 бронзовый значок $\endgroup$ Добавить комментарий | 4 ответа 4 Отсортировано по: Сбросить настройки По умолчанию Наибольшее количество баллов Дата изменения (новейшие сначала) Дата создания (старейшие сначала) 0 $\begingroup$
Мой совет — выбрать первый вариант. Причина заключается в том, что вы сможете глубже понять данные, и на начальном этапе столкнетесь с некоторыми трудностями при разработке модели, однако со временем после тонкой настройки параметров результаты улучшатся. Пожалуйста, ознакомьтесь со статьей, если вы ее уже не читали. Поделиться Ответ дан: 27 дек. 2019 г., 11:30 Muralidhar A 1 $\endgroup$ 3 $\begingroup$
Спасибо за статью, обязательно прочитаю. Не могли бы вы подсказать, где взять много изображений или сколько именно их необходимо? $\endgroup$ user1007522 – user1007522 2019-12-27 13:25:06 +00:00 Комментарий оставлен: 27 дек. 2019 г., 13:25 $\endgroup$
Вы ищете размеченные изображения или просто сами изображения? Нашел один датасет, вот ссылка. $\endgroup$ Muralidhar A – Muralidhar A 2019-12-30 07:11:43 +00:00 Комментарий оставлен: 30 дек. 2019 г., 7:11 $\endgroup$
Благодарю вас. Для меня неважно, я могу самостоятельно разметить изображения. Например, фотографии людей, сгибающих руки. При поиске таких картинок в Google результатов немного. В предоставленной вами базе данных на каждое действие приходится примерно 280 фотографий. $\endgroup$ user1007522 – user1007522 2019-12-30 10:41:51 +00:00 Комментарий оставлен: 30 дек. 2019 г., 10:41 Добавить комментарий | 0 $\begingroup$
В ответ на ваш вопрос рекомендую использовать модель YOLOv8 для обнаружения позы. Это очень эффективный и недорогой подход к оценке позы, который хорошо работает в приложениях реального времени. Вы можете использовать его для извлечения ключевых точек из кадров видео. Конечно, вы можете применить любую другую модель определения позы; YOLOv8 предложен лишь в качестве рекомендации. Он прост в использовании, точен и предоставляет около 17 ключевых точек человеческой позы. Однако помните, что многие человеческие действия зависят от движений, сделанных ранее, поэтому простой классификации отдельных кадров может быть недостаточно для точного распознавания действий. Вместо этого предлагаю обучить модель CNN-LSTM-Attention. - CNN поможет захватить пространственные признаки. - LSTM (долгосрочная краткосрочная память) учтет временные зависимости (предыдущие движения). - Механизм внимания позволит модели сосредоточиться на самых важных кадрах/точках для классификации. Такая архитектура позволит вам классифицировать действия на основе последовательностей ключевых точек, извлеченных из видео, обеспечивая гораздо более высокую точность, чем простая классификация отдельных кадров или поз. Поделиться Улучшить этот ответ Ответ дан: 6 сен. 2024 г., 12:43 Keval Pandya 656 1 золотой значок 3 серебряных значка 12 бронзовых значков $\endgroup$ Добавить комментарий | 0 $\begingroup$
Предлагаю использовать модель оценки позы, как вы упомянули. Затем рекомендую связать доступные функции...