{"id":13813,"url":"\/distributions\/13813\/click?bit=1&hash=3c22b4b0065314c155395f07b2afd2da09cc39fb4f5620cc3f7ea9fd68c8d942","title":"\u0423\u0437\u043d\u0430\u043b\u0438, \u0447\u0435\u0433\u043e \u0436\u0434\u0443\u0442 \u043e\u0442 \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0430 \u043b\u044e\u0434\u0438 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u0439","buttonText":"\u0427\u0438\u0442\u0430\u0442\u044c","imageUuid":"52d2dd45-830c-5107-aa6b-a015a2adb659","isPaidAndBannersEnabled":false}

Система оценивания на базе компьютерного зрения

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

Мы компания, которая разрабатывает различные решения с использованием технологий искусственного интеллекта. Для реализации одного проекта нам потребовалась система компьютерного зрения, умеющая распознавать жесты «палец вверх» и «палец вниз».

Проект Rate Me основан на компактной нейронной сети для обнаружения объектов Tiny-YOLO 3. Тренировали сеть с помощью фреймворка Darknet. Чтобы запустить алгоритм на на языке программирования Python, мы использовали DNN модуль библиотеки OpenCV. Сеть имеет mAP = 0,851941 или 85,19%, а также среднее IoU = 73,89%. Rate Me работает со скоростью 6-7 кадров в секунду на процессоре Intel Core TM i5-4300M при частоте 2.60 ГГц.

Изначально обучающий датасет состоял из 50 картинок, размеченных с помощью инструмента LabelImg. Но после тренировки он детектил лайки и дизлайки только правой руки и только мужские. Для него вот здесь ничего не было:

Погуглив, мы собрали еще 200 фото, которых тоже оказалось недостаточно. В ход пошли офисные и вне офисные фотосессии коллег на разных фонах и в разной одежде. У нас получилось еще 1500 картинок. Казалось бы, что этого должно быть достаточно. Однако теперь образовалась новая проблема: алгоритм считал, что если оттопырен палец вверх или вниз, значит лайк или дизлайк соответственно. Мы снова отправились собирать датасет, только теперь с другими жестами или вообще без них. В итоге, у нас получился набор, который состоит из 3 000 размеченных фотографий, сделанных с разных ракурсов и на различных фонах, где люди показывают большой палец вверх, вниз или что-то другое.

Теперь любой желающий может встроить алгоритм в свой проект и автоматизировать процесс оценивая чего-либо или кого-либо. Например, с помощью Rate Me можно:

  • Оценить музыку на сервисе YouTube Music, когда неудобно нажимать на кнопки, чтобы пропустить песню или поставить ей лайк

  • Подсчитать голоса на различных конкурсах для определения победителя

  • Оценить напитки или блюда, которые понравились или не понравились во время их дегустации

Мы, в свою очередь, задачу с помощью Rate Me решили и успешно применили его в проекте, о котором вам расскажем чуточку позже. А пока протестировать работу алгоритма можно, скачав его с GitHub.

0
3 комментария
Рыночный франт
Ответить
Развернуть ветку
Алексей Смолярчук

Выглядит как тренировочное задание на курсе по CV.
Зачем было всех мучать и делать на чистом питоне, когда есть TF, Keras?
Удивились про то, что работает только на мужских руках и на изображениях? Про оверфиттинг не слышали?
Не проще ли было кропнуть изображения и прогонять само изображение лайка или дизлайка не собирать различные фоны , разную одежду итд.

Ответить
Развернуть ветку
Marina Glayboroda
Автор
Зачем было всех мучать и делать на чистом питоне, когда есть TF, Keras?

Мы никого не мучали) О второй части вопроса могу сказать, что Darknet – это отдельный фрэймворк, например. С его помощью была натренировна модель Tiny-YOLO 3, которая быстрее многих сетей на TF/Keras. Нам была важна скорость. В самой программе архитектура и веса загружаются с помощью OpenCV.

Удивились про то, что работает только на мужских руках и на изображениях? Про оверфиттинг не слышали?

Слышали, не он)

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

Проще, но это другая задача.

Ответить
Развернуть ветку
Читать все 3 комментария
null