Записи с меткой «OpenCV»

Распознавание лиц во Flash

13 марта Seb-Lee Delisle в своем твиттере рассказывает об алгоритме распознавания лиц в режиме реального времени, реализованном во Flash. Стоит упомянуть, что еще год назад Ohtsuka Masakazu портировал алгорим распознавания лиц из OpenCV в AS3 и добавил исходный код в Spark project.

Уже 14 марта Quasimondo представил оптимизированную версию алгоритма. Сам алгоритм основан на каскадах Хаара, для простоты можно сказать, что происходит анализ очень большого числа областей на поиск определенных деталей. Изначально они хранятся в xml файле размером порядка 1 МБ, из-за большого размера его приходится добавлять в zip архив размером 100 КБ. Еще одним неудобством являлось то, что приходилось скачивать этот файл, распаковывать и только потом производить анализ.
Оптимизация заключалось в основном в отказе от использования внешних файлов. Поскольку swf подвергаются сжатию, то создание отдельного класса содержащего информацию xml файла, позволяет добиться понижения конечного размера файла на 50 КБ. Также в ходе оптимизации некоторые массивы были заменены массивами, связанными со списками, а вместо функции getPixel () использовалось чтение из ByteArray. Единственным минусом данной оптимизации стало то, что жестко зафиксированные данные xml файла не позволяют распознавать, что-либо другое кроме лиц, хотя каскады Хаара могут предоставить такую возможность. Однако, большинству пользователей это и не потребуется.
Немало важным оказывается тот факт, что этот алгоритм работает в Flash Player 9, поскольку он не использует PixelBender или Alchemy, а также новые типы векторных данных.
Оптимизированный алгоритм
Отслеживание положения лица через веб-камеру
исходный код этих примеров

Метки: , , ,

Page optimized by WP Minify WordPress Plugin