Pull to refresh

Comments 19

Для наклонных прямоугольников надо будет сосчитать ещё одно интегральное изображение?
Всё зависит от желаемой точности. Именно для задачки сравнения изображений я не считал ни разу, хватает 6 самых первых в обычной ориентации.
Для распознавания лиц они точность неплохо повышают.
Да, нужно другое интегральное преобразование(впрочем, довольно очевидное), а формула SumOfRect с ним останется такой же.
Коротко и ясно, спасибо.
Сначала прочитал заголовок «использование каскада Хабра». :)
UFO landed and left these words here
Он, безусловно, значительно хуже точность и изменение геометрии чем SURF и SIFT держит. Но существенный плюс, что он быстрее и значительно проще. Если разработка идёт с нуле и точность SURF не нужна — Haar самое то будет.
UFO landed and left these words here
Мы когда-то опробовали SURF & SIFT (правда это было давно, года 4 назад), у нас не очень быстро он работал. В принципе, не исключаю, что там можно сильно оптимизировать, у нас тогда не было цели посмотреть, была цель поиграться:)
Но Хаар хорошо оптимизируется. Можно строить дерево, начиная сравнение с крупных модулей (два примитива на картинку), а когда накапливается расхождение, то переходить к следующей точке. Тогда оно в десятки раз ускориться по сравнению с полным перебором.
UFO landed and left these words here
Это дескрипторы SIFT/SURF считаются только в локальных экстремумах градиента, а при поиске этих экстремумов бегаем по всему изображению. Плюс к накладным расходам прибавляйте необходимость матчинга фич между изображениями, а эта операция со сложностью O(n*m) (если считать не приближенные матчи, а перебирать все расстояния между фичами).
Ну и еще надо учитывать, что SIFT/SURF запатентованные алгоритмы — поэтому с их использованием в коммерческих продуктах могут быть сложности.
UFO landed and left these words here
Наглядно! Интегральное представление всё же на редкость полезная штука.
например для центра лица человека будет всегда отрицательна следующая свёртка:

Глаза будут темнее, чем область между ними, так же как область рта будет темнее чем лоб.
Разве всегда?
Осторожно, большие картинки!
Ох тыж чорт. Второе, я думаю, OpenCV-шный поиск лиц не осилит.
Вот такие лица вылезают в Гугле по запросу «face»:) Видимо, никто не пишет «face» к лицу, если это нормальное лицо.
Можно ещё на blackface полюбоваться.
Иллюстрация
image
…и в догонку
image
В большинстве случаев, когда нужно простое сравнение двух достаточно похожих фрагментов изображения его реализуют через их ковариацию (или что-нибудь аналогичное).

Вроде бы это раньше называлось «свёрткой» (convolution). А на ковариацию это не похоже как по формуле, так и по смыслу. Дальше в примере Вы правильно употребляете «свёртка».
В принципе и то и то конечно можно обзывать свёрткой (хотя оно не соответствует математическому определению), но мне хотелось как-то различить эти два процесса, разделив, что «свёртка» — с известной функцией, а корреляция/ковариация — с неким набором точек. Но, походу, получилось не очень.
Sign up to leave a comment.

Articles