Pull to refresh

Comments 19

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

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

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

Articles