Метод обнаружения края лучше, чем обнаружение Canny Edge

Есть ли метод обнаружения края, который работает значительно лучше, чем Canny Edge Detector?


person obelix    schedule 27.02.2014    source источник


Ответы (5)


Есть разные виды «ребер», это зависит от вашей задачи. Взгляните на недавнюю статью "Какие края имеют значение?" от ICCV-2013, со сравнением нескольких методов:

  • ультраметрическая контурная карта - «Обнаружение контуров и иерархическая сегментация изображений» от P Арбелаес, М. Мэйр, К. Фаулкс и Дж. Малик - лучшие результаты по сравнению с приведенным выше.
  • нормализованные разрезы - "Нормализованные разрезы и сегментация изображения" Дж. Ши и Дж. Малик.
  • средний сдвиг - «Средний сдвиг: надежный подход к анализу пространства признаков» Д. Команику и П. Меер.
  • Подход Felzenszwalb и Huttenlocher - «Эффективная сегментация изображений на основе графов "Авторы: Felzenszwalb и Huttenlocher.
  • BiCE - «Бинарные когерентные дескрипторы границ» от CL Zitnick .
  • N4-Fields - "N4-Fields: поля ближайшего соседа нейронной сети для преобразования изображения" Ганин и др.
  • RDS - «Обучение более расслабленному глубокому контролю для лучшего обнаружения границ» Лю и Лью
  • COB - "Сверточно-ориентированные границы" от Maninis et.al.
person old-ufo    schedule 27.02.2014
comment
Спасибо! Какие-либо из них не реализованы OpenCV? - person Nathan; 06.05.2018
comment
Практически ни один из них не реализован в OpenCV. Но для большинства из них на пейджере есть авторская реализация, просто погуглите. - person old-ufo; 07.05.2018

Надеюсь, это поможет будущему читателю

Active Canny: обнаружение и восстановление границ с помощью открытых моделей активного контура

Вот изображение, показывающее его производительность  image

Осуществлять это - боль. Я пытаюсь реализовать это с помощью OpenCV и Python

Вот еще один документ, который я нашел.

Анизотропные аэрозольные эйкональные активные контуры на основе краев

введите описание изображения здесь

введите описание изображения здесь

person Santhosh    schedule 05.12.2017

Метод обнаружения кромок - один из наиболее часто используемых методов обнаружения кромок. Как сказал old-ufo, нет хорошего или плохого метода обнаружения края.

Я хотел бы представить вам еще два метода обнаружения краев, помимо ответа old-ufo.

Sobel - метод обнаружения краев на изображении может быть выполнено путем определения местоположения пикселей, где градиент выше, чем его соседи.

методы на основе Гаусса - методы обнаружение краев с использованием гауссиана.

Если вы спросите меня, мне очень нравится DoG (разница гауссовского), особенно когда я пытаюсь получить очертания / форму объекта (когда объект шумный) и т. Д. Очень полезно.

Но в целом это действительно основано на том, чего вы пытаетесь достичь. Canny - тоже очень хороший метод обнаружения краев. Поиграйте (:

person rockinfresh    schedule 27.02.2014

Термин лучше требует пояснения. Я лично считаю детектор контуров Canny медленным и ... нестабильным по простой причине: он использует набор крайне нелинейных алгоритмов, которые выполняют слишком много сложных операций (сегментация, подавление не-max и т. Д.), Что делает его чрезвычайно нестабильным и чувствительным к шум. Да, он может вытаскивать слабые края, но «мигание» и шум слишком велики, чтобы работать, скажем, с соответствующим приложением. С другой стороны, такая простая операция, как Sobel, является линейной и стабильной, поэтому для сопоставления я бы использовал Sobel, а не Canny. Например, если вас интересует обнаружение текста, вместо краев вы можете использовать связанные компоненты или MSER для извлечения ваших функций. Дело в том, что термин «лучше» сильно зависит от вашего приложения.

И последнее, но не менее важное - неправильно начинать думать о своем проекте с точки зрения алгоритма, но ведь это делается так часто! Подумайте об оперативном определении вашей цели, характеристик, вероятностей и только потом о реализации. «Мы записываем не шаги по решению проблемы, а саму проблему», - красноречиво выразился Саймон Принс. Так что, если у вас есть вопрос о лучшем алгоритме, но вы действительно хотите лучше понять компьютерное зрение, я настоятельно рекомендую вам купить его книга (эта действительно читабельная, хорошо иллюстрированная и мотивирующая, и это лучшее мягкое введение в компьютерное зрение, которое я когда-либо знал). На противоположной стороне спектра находится классическая геометрия множественного просмотра Хартли и Зиссермана, которая является отличным источником формул, но, к сожалению, очень нечитаема.

person Vlad    schedule 28.02.2014
comment
Ссылка на книгу не работает. Не могли бы вы назвать имя и автора (-ов) книги? Заранее спасибо. - person Sercan; 18.11.2017

Целостно вложенное обнаружение краев (HED), использующее глубокое обучение, теперь интегрировано в модуль глубокого обучения OpenCV. Это намного лучше, чем обнаружение Canny on Edge, но немного медленнее. Вот цифра из статьи, которая сравнивает результаты с хитростью. Canny, hed и другие детекторы краев Замечательно, что если вы хотите запустить этот метод в OpenCV сейчас, вы можете сделать это с помощью всего нескольких строк кода. В этом сообщении блога есть более подробная информация: Запуск обнаружения границ на основе глубокого обучения в OpenCV

person sankit    schedule 19.02.2019