Какая библиотека и алгоритм (ы) компьютерного зрения для анализа поведения человека? - PullRequest
0 голосов
/ 03 апреля 2012

Цель: Обнаруживать / определять действия человека, собирать / поднимать предметы для чтения этикетки и держать их обратно на стойке (в магазине), сидячие, монтируемые / поднимающиеся на атомы предметы на стуле,скамья, лестница и т. д.

Окружающая среда: Магазин / магазин, который в основном хорошо освещен.Камеры (VGA -> 1MP), фиксированные (т. Е. Не PTZ).

Ограничения:

  1. Присутствие известных и неизвестных людей.
  2. Возможна перестановка предметов (предметов для продажи) в магазине за определенный период времени.
  3. Возможны изменения освещения с течением времени.Например: Фронтальные области магазина могут получить достаточно солнечного света в течение дня, который меняется на искусственное освещение ночью.Кроме того, в ночное время можно включить больше источников света.

Вопрос:

  1. Хотя я понимаю, что OpenCV отлично подходит для лица-обнаружение и может быть использовано для распознавания лиц, может ли оно использоваться для анализа «действий», акт сидения, акт подъема объекта с полки?Если да, то в какие из этих алгоритмов мне стоит углубиться?

  2. Поскольку камеры в магазинах в основном находятся на высоте потолка, у них обычно нет фронтального вида лица, но в основномвид сверху вниз.Я понимаю, что Haar Cascade (PCA) не совсем пригоден для использования, но нужны другие методы - определение геометрии 3D-головки.Существуют ли другие библиотеки (кроме OpenCV), которые необходимо использовать для таких задач?Существуют ли библиотеки с открытым исходным кодом для того же?

Ответы [ 3 ]

20 голосов
/ 03 апреля 2012

Время от времени некоторые люди приходят сюда и просят помощи (или, точнее, кода), чтобы решить некоторые из самых сложных исследовательских задач в области компьютерного зрения. Проблемы, которые не были решены наиболее уважаемыми учеными и учеными. Иногда они просят алгоритмы, которые они видели в фильмах SF. Затем они расстраиваются, потому что OpenCV "недостаточно дружелюбен".

Теперь, если серьезно, если вы команда докторов наук в области обработки изображений и работаете над каким-то гениальным проектом, вам не нужен совет. А если нет, то шанс сделать это очень низок.

То, что вы можете сделать с разумными ресурсами и точностью, - это отслеживать людей в магазине: используйте вычитатель фона скользящей средней (доступно в OpenCV), чтобы определить, как выглядит пустое хранилище, и вычтите этот фон из каждого кадра, чтобы видеть объекты, которые приходят и исчезают. Вы можете извлечь их с помощью библиотеки blob analisys. Фильтр Калмана (или более простой трекер) поможет вам отслеживать движущиеся объекты.

Удачи!

1 голос
/ 03 апреля 2012

Проблема распознавания действий человека обычно решается с использованием пакета слов представления модели и линейной (или нелинейной) контролируемой схемы классификации с использованием сотен помеченных данных.

1 голос
/ 03 апреля 2012

Это довольно сложная проблема. Из моих личных разговоров с этими парнями http://www.picar.us/ я вспоминаю, что у них есть некоторые процедуры, которые обнаруживают человеческие действия в видео, такие как танцы или скейтбординг. Эти материалы не включены в их библиотеку с открытым исходным кодом, но они могут помочь вам, если вы их зададите.

...