Метод Виолы — Джонса
Метод Виолы — Джонса (англ. Viola–Jones object detection) — алгоритм, позволяющий обнаруживать объекты на изображениях в реальном времени. Его предложили Паул Виола и Майкл Джонс в 2001 году.[1][2] Хотя алгоритм может распознавать объекты на изображениях, основной задачей при его создании было обнаружение лиц.
Описание алгоритма
Признаки и их поиск
Признаки, используемые алгоритмом, опираются на суммирование пикселей из прямоугольных регионов. Сами признаки несколько напоминают признаки Хаара, которые ранее также использовались для поиска объектов на изображениях.[3] Однако признаки, предложенные Виолой и Джонсом, содержат более одной прямоугольной области и несколько сложнее. На иллюстрации справа показано 4 различных типа признаков. Величина каждого признака вычисляется как сумма пикселей в белых прямоугольниках, из которой вычитается сумма пикселей в чёрных областях. Прямоугольные признаки более примитивны, чем steerable filter[прояснить], и, несмотря на то что они чувствительны к вертикальным и горизонтальным особенностям изображений, результат их поиска более груб. Однако при хранении изображения в интегральном формате (integral image, в каждом пикселе изображения записана сумма всех пикселей левее и выше данного) проверка прямоугольного признака на конкретной позиции проводится за константное время, что является их преимуществом по сравнению с более точными вариантами. Каждая прямоугольная область в используемых признаках всегда смежна с другим прямоугольником, поэтому расчёт признака с 2 прямоугольниками состоит из 6 обращений в интегральный массив, для признака с 3 прямоугольниками — из 8, с 4 прямоугольниками — из 9.
Обучение
Высокая скорость обсчёта признака не компенсирует значительное количество различных возможных признаков. К примеру, при стандартном размере признака в 24×24 пикселя возможно 162 тысячи[4] разных признаков, и их расчет может занять большое количество времени. Поэтому в алгоритме Виолы-Джонса используется вариация алгоритма обучения AdaBoost, как для выбора признаков, так и для настройки классификаторов.
Каскад
См. также
Примечания
- Rapid object detection using a boosted cascade of simple features.
- Viola, Jones, Robust Real-time Object Detection, IJCV 2001, с. 1, 3. (PDF).
- C. Papageorgiou, M. Oren and T. Poggio. A General Framework for Object Detection. International Conference on Computer Vision, 1998.
- Viola-Jones' face detection claims 180k features.
Ссылки
- Matlab implementation Viola Jones Detection, Dirk-Jan Kroon, 17 Nov 2010.
- Slides Presenting the Framework.
- Presenting «Robust Real-time Object Detection». (недоступная ссылка) // CMPS 242: Graduate Machine Learning, Damian Eads.
- Метод Виолы-Джонса (Viola-Jones) как основа для распознавания лиц // Habrahabr, 2 декабря 2011.
- Локализация объектов на фотоизображениях, Виктор Лемпицкий, семинар по анализу данных, Москва, 2010. С. 23—28.