Александр Лубягин представил реализацию на языке С++ метода Виолы-Джонса для обнаружения лиц на любых фотографиях. Код опубликован под лицензией AGPLv3, дополнительно подготовлено подробное описание используемого алгоритма на русском языке. Программа поддерживает только обнаружение лиц анфас.
От реализации аналогичного алгоритма в библиотеке OpenCV представленный код отличается низким уровнем ложных срабатываний, а также более простой и понятной реализацией алгоритма, что упрощает процесс его доработки и использования. В будущем на базе наработок проекта планируется подготовить универсальную библиотеку и демонстрационное приложение. Также не исключается работа по дальнейшей оптимизации кода, так как текущая реализация позволяет на системе с процессором AMD Athlon II 240 (2800 MHz) обеспечить обнаружение лиц на фотографии с разрешением 512x512 со скоростью всего около 5-7 кадров в секунду (скорость зависит от размера изображения и не зависит от числа лиц на фотографии).
Дополнительно можно отметить проект CCV, в рамках которого развивается легковесный аналог OpenCV на языке Си, который отличается высокой скоростью работы, более эффективным использованием памяти, активным задействованием кэширования, поддержкой LLVM и Clang. В рамках проекта также поддерживается вариант алгоритма определения лиц на языке JavaScript.
|