Метод Виолы—Джонса (англ. Viola–Jones object detection) — алгоритм, позволяющий обнаруживать объекты на изображениях в реальном времени. Его предложили Паул Виола и Майкл Джонс в 2001 году.[1][2] Хотя алгоритм может распознавать различные классы изображений, основной задачей при его создании было обнаружение лиц. У метода имеется множество реализаций, в том числе в составе библиотеки компьютерного зрения OpenCV (функция cvHaarDetectObjects()).
Алгоритм находит лица с высокой точностью и низким количеством ложных срабатываний.
Признаки, используемые алгоритмом, опираются на суммирование пикселей из прямоугольных регионов. Сами признаки несколько напоминают признаки Хаара, которые ранее также использовались для поиска объектов на изображениях.[3] Однако признаки, предложенные Виолой и Джонсом, содержат более одной прямоугольной области и несколько сложнее. На иллюстрации справа показано 4 различных типа признаков. Величина каждого признака вычисляется как сумма пикселей в белых прямоугольниках, из которой вычитается сумма пикселей в черных областях. Прямоугольные признаки более примитивны, чем steerable filter, и, несмотря на то что они чувствительны к вертикальным и горизонтальным особенностям изображений, результат их поиска более груб. Однако при хранении изображения в интегральном формате (integral image, в каждом пикселе изображения записана сумма всех пикселей левее и выше данного), проверка прямоугольного признака на конкретной позиции проводится за константное время, что является их преимуществом по сравнению с более точными вариантами. Каждая прямоугольная область в используемых признаках всегда смежна с другим прямоугольником, поэтому расчет признака с 2 прямоугольниками состоит из 6 обращений в интегральный массив, для признака с 3 прямоугольниками — из 8, с 4 прямоугольниками — из 9.
Высокая скорость обсчета признака не компенсирует значительное количество различных возможных признаков. К примеру, при стандартном размере признака в 24x24 пикселя, возможно 162 тысячи[4] разных признака и слишком долго рассчитывать их все. Поэтому в алгоритме Виолы-Джонса используется вариация алгоритма обучения AdaBoost, как для выбора признаков, так и для настройки классификаторов.
Этот раздел статьи ещё не написан. |
![]() |
Это заготовка статьи о компьютерной графике. Вы можете помочь проекту, дополнив её. |
![]() |
Это заготовка статьи о человеко-компьютерном взаимодействии. Вы можете помочь проекту, дополнив её. |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .