Комментарии 11
всё-таки, для алгоритмов обработки изображений очень наглядно рисовать «тепловую карту» после предварительной обработки, чтобы визуально было видно о чем идёт речь
Да, согласен, думаю examples сегодня на каждое действие сделать
Какова роль оператора Собеля? Для чего он здесь? На бинаризацию он не влияет, для Канни он тем более не нужен.
И еще, почему бы не использовать адаптивную бинаризацию вместо древнего Оцу? Результат обычно намного лучше.
Как раз если мы будем использовать операторы Собеля для обнаружения границ в рамках детектора границ Канни, то у нас считай есть уже готовое значение для первой производной в двух направлениях, из которой мы можем узнать угол направления данной границы…
А, я наконец-то понял. Вы реализуете Канни вручную, а внутри него применяется оператор Собела.
Просто в графичсеких библиотеках Канни обычно уже реализован, и применять Собела для него не нужно.
Да, всё верно…
Да, в OpenCV, к примеру, библиотека это проделывает в cvCanny с параметрами, всё верно =)
Немного критики:

Во-первых. Методы на основе хааровских фильтров предназначены для полутонового изображения. Их применение к смешанным полутоново-контурным изображениям — не оправдано. Почему? Потому что они на самом деле более чувствительны, чем детектор Канни. Например — плавный градиент хорошо детектируется Хааром, но совсем не детектируется Канни. Значит, обнаружение плавных переходов будет только ухудшаться в вашем методе.

Далее. Что именно вы пытаетесь улучшить, введя границы в полутоновое изображение? Допустим, в некторой области изображения проходит граница. Детектор хаара ее обнаружит (допустим, даст отклик d=10). Обрабатывая изображение с вычтенным контуром, детектор ее тоже обнаружит (допустим будет d=20). Да, абсолютное значение детектора будет выше, но что это дает? Вы с успехом можете умножать d на два и результат будет точно такой как с полутоново-конутрным изображением. Я что пытаюсь сказать — если граница есть, хаар ее обнаружит в любом случае. То, что вы делаете просто увеличивает дисперсию отклика детектора. Но эту дисперсию можно увеличить просто увеличив контрастность изображения, к примеру. Результат будет тот же (только без артефактов, как в вашем методе, см ниже).

И еще, ваши манипуляции могут ухудшить работу фильтров:


Второе. Смешивание полутонового и наращенного контурного изображений порождает артефакты. Пример:

Да и еще, почему вы именно вычитаете Канни из полутоновго, а не прибавляете, к примеру? Получается эти контуры не будут видны на темном изображении. Из черного вы будете вычитать белое, и что? Получится все равно черное. А как же быть с неграми?

В-третьих — введение новых примитивов в метод Виолы-Джонса — не окажет особого влияния на его эффективность. Почему? Потому что фильтры Хаара берутся не с потолка. Фильтры Хаара образуют полный ортогональный базис (вейвлетный базис). Это значит что любые другие примитивы могут быть расписаны через базовые. А значит введение новых примитивов — ну может немного увеличит быстродействие, но на качество распознавания особого влияния не окажет.
Да и вообще, применение Хаара для распознавния микроэмоций — слишком грубый метод, как на мой взгляд. Вы же сами писали статью про рынок программ распознавания эмоций. Разве там применяется Виола-Джонс? Этот метод хорош только для поиска самого лица. Для микроэмоций — нет.

Ну и в-четвертых, статья лишком сумбурно написана. Я до сих пор не могу толком понять о чем она. То ли вы описываете как работает детектор Канни, то ли пытаетесь усовершенствовать Виолу-Джонса. Цели ваших действий нечетко описаны. В выводах вы пишете «С помощью таких апгрейдов возможно теоретическое улучшение метода.» Так где эта теория, подтверждающая, что ваш метод действительно лучше классического Виолы-Джонса? Теория как раз говорит об обратном. Если вы на практике докажете что этот метод лучше — ура, мы порадуемся вместе, если нет — ну отрицательный результат тоже результат :)
Не принимайте близко к сердцу, вы молодец что работаете в этом направлении, успехов :)
Плюсую, т.к. замечаний много и вроде по делу, когда время будет, отвечу и на вопросы. Наоборот, мне же лучше когда направляют и поправляют :)
А по методу, я просто его попробовал, в коммерции используются более элегантные методы, Вы правы, думаю я до них доберусь в самом скором будущем ;)
Хотел задать вопрос, и теперь не знаю, как с Вами связаться — у вас профиль read-only… Вы не напишете мне на vadim@kolontsov.com пару строк для связи? :)
Сейчас спустя большое количество времени скажите, -удалось ли это реализовать? Мне очень интересна реализация определения градуса поворота лица по отношению к камере.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.