452

Нейросеть считает количество пальцев1

Ответ на пост Модель искусственного интеллекта переводит язык жестов


Поскольку некоторые люди в комментариях не поверили в то, что в этой технологии нет ничего революционного, что она доступна всем, кто хоть немножко программирует, и что UNILAD просто ловят хайп на пустом месте, то я решил записать короткое видео.

Писал на Python, модель нейросети - BlazeHand. На весь код - ушло 20 минут, 60 строчек. А дальше уже добавляйте любые жесты.

Ну и пару мыслей на эту тему. Перестаньте уже употреблять термин "искусственный интеллект" где ни попадя. В оригинальном посте даже тэг стоит. Это не он даже близко. Любая нейросеть тренируется на выполнение только одной задачи, и чем она конкретнее, тем лучше. Мы приблизимся к реальному ИИ, когда одна нейросеть сможет выполнять несколько задач, а в этом направлении разработки только ведутся. И хотя не факт, что под капотом полноценного ИИ будут нейросети.

p.s. @dzubeikibagami, привет, как дела? Как оказалось, мне всё таки было не лень.

Программирование на python

940 постов12K подписчиков

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу

5
Автор поста оценил этот комментарий
Перестаньте уже употреблять термин "искусственный интеллект"

В настоящее время "искусственный интеллект" это не какой-то кибермозг, а область знаний/исследований, куда входят и нейросети. Так что употребление термина вполне корректно.

раскрыть ветку (1)
16
Автор поста оценил этот комментарий

Вот так выглядит область исследований/ знаний. Только вот называть нейросеть, которая отличает кошку от самолёта искусственным интеллектом язык не поворачивается. У ботов в играх больше прав носить этот титул, хотя там куча if/else.


Словосочетание приобрело маркетинговый оттенок и вводит людей в заблуждение, что мне не нравится.

Иллюстрация к комментарию
показать ответы
4
DELETED
Автор поста оценил этот комментарий

А если не сложно и это не коммерческий проект, можете кодом поделиться? Очень интересно, как это все устроено в питоне.

раскрыть ветку (1)
9
Автор поста оценил этот комментарий

Могу даже кое-чем получше поделиться:

Предпросмотр
YouTube36:02
показать ответы
0
.just another brick.
Автор поста оценил этот комментарий

Интересный видос, спасибо. Интересно больше - как можно натренировать подобную нейросеть.


Для того что бы определить сколько пальцев показывается - вы натренировали нейросеть или высчитываете сами по лендмаркам?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Алгоритм в моём видео такой: нейросеть выдаёт координаты лендмарков кисти руки, а дальше я уже вручную прописал условия для определения количества пальцев. Конечно же, прикрутить нейросеть можно и ко второй части кода, но это уже совсем другая история.

Причём я уверен, что подход через лендмарки в такого рода задачах является единственным правильным. Многие заметили, что в оригинальном посте используется модель YOLO, которая довольно попсовая. Только вот YOLO нам выдаёт не лендмарки, а "это такой-то жест с такой-то вероятностью". Несложно догадаться, что при таком подходе датасет уже должен содержать все необходимые жесты и качество распознавания будет напрямую зависеть от качества датасета. А собрать хороший датасет в десятки раз сложнее, чем прописать математические условия для каждого жеста.

В моём же случае мы используем уже готовую модель BlazeHand, и можем динамически интегрировать нужные нам позы, просто добавляя блоки кода и меняя в любой момент. Никакого переобучения модели и правок датасета не требуется, чего никак не избежать в случае с подходом через модель YOLO. И даже если мы захотим использовать нейросеть уже после полученных лендмарков, то уж такой датасет намного проще собрать

показать ответы
Волосатая колбаса
Автор поста оценил этот комментарий

изящное решение в виде обучения нейросети на видео со многими вариациями подобных жестов, угу

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

С вариациями были бы проблемы, если бы жест распознавался как матрица пикселей. В случае с YOLO, которая в оригинальном посте скорее всего и используется, проблемы реально будут.

У меня же распознаются лендмарки. Это совсем другой подход, который не имеет проблемы, о которой ты говоришь. Причём, как ты мог заметить, нейронка угадывает положение пальцев, даже когда они не видны в камере.

6
Автор поста оценил этот комментарий
Видео в посте у кого нибудь работает? Грузится бесконечно, а в браузере вообще ошибка
Иллюстрация к комментарию
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Я перезалил видео в другом кодеке. Надеюсь, что это помогло

показать ответы
0
.just another brick.
Автор поста оценил этот комментарий

Я почему то так и подумал. В целом, описав математически условия каждого жеста - можно в конечном итоге натренировать нейросеть, отдавая лендмарки и на выходе получая вероятности того или иного жеста. Более того, можно даже наделать датасет с лендмарками для руки расположенной всегда вертикально (смотрящей вверх), математически определить сколько пальцев. потом исходную картнику повращать различным образом (от этого количество пальцев не изменится), пропустить через первую нейросеть что бы получить кучу лендмарков по сути для одной фотки с известным количеством пальцев. Выглядит как несложный способ собрать хороший датасет для обучения нейросети.

Но я тут скорее с теоретической точки зрения. Опыта именно в нейросетях, увы, немного.

У меня тут задачка просто есть, которую решил сделать в несколько итераций. Необходимо научить нейросеть определять, что на фотографии человек с документом (айдикартой одной азиатской страны). и что человек на фотографии и на документе - один и тот же человек. Пока задача решилась нахождением двух лиц на фотографии и проверкой их расположений и размерами. После чего из фотки берутся два лица и сравнивается степень похожести. Когда соберется достаточное количество фоток людей, хочется натренировать нейросеть на определение, что на фотографии тот самый документ. Т.е. добавить проверку посередине.

Задача вообще интересная, и тут оказались свои подводные камни )

раскрыть ветку (1)
Автор поста оценил этот комментарий

Могу точно сказать, для решения вашей задачи подход с лендмарками рассматривать не стоит. Как раз таки YOLO или аналогичная модель подойдет намного больше. Поскольку вы сравниваете два изображения, то в идеале на выходе нейросети вам нужно иметь матрицу пикселей изображения и сравнивать её, а не лендмарки.

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества