Алгори́тм Ке́нні, виявля́ч ко́нтурів Ке́нні, опера́тор Ке́нні (англ. Canny edge detector) — це оператор виявляння контурів, який використовує багатоетапний алгоритм для виявляння широкого спектру контурів на зображеннях. Його розробив [en] 1986 року. Кенні також розробив обчислювальну теорію виявляння контурів (англ. computational theory of edge detection), яка пояснює, чому ця методика діє.
Розробка
Виявляння контурів Кенні — це методика виділяння корисної структурної інформації з різних об'єктів бачення та значного зниження обсягу даних для обробки. Його широко застосовують у різних системах комп'ютерного бачення. Кенні виявив, що вимоги до застосування виявляння контурів у різноманітних системах бачення відносно подібні. Тож рішення для виявляння контурів, що відповідає цим вимогам, можливо втілювати в широкому спектрі ситуацій. До загальних критеріїв виявляння контурів належать:
- Виявляння контуру з низьким рівнем похибки, що означає, що виявляння має точно вловлювати якомога більше контурів, показаних на зображенні
- Точка контуру, виявлена оператором, повинна точно розміщуватися в центрі контуру.
- Заданий контур на зображенні повинно бути позначено лише одноразово, і, де це можливо, шум зображення не повинен створювати хибних контурів.
Щоби задовольнити ці вимоги, Кенні використав варіаційне числення — методику, яка знаходить функцію, що оптимізує заданий функціонал. Оптимальну функцію у виявлячі Кенні описують сумою чотирьох показникових членів, але її можливо наближувати першою похідною гауссіана.
Серед розроблених дотепер методів виявляння контурів алгоритм Кенні — один із найбільш строго визначених методів, який забезпечує добре та надійне виявляння. Завдяки своїй оптимальності для відповідності трьом критеріям виявляння контурів та простоті процесу втілення він став одним із найпопулярніших алгоритмів виявляння контурів.
Процес
Процес алгоритму виявляння контурів Кенні можливо розбити на п'ять різних етапів:
- Застосувати гауссів фільтр, щоби згладити зображення задля усунення шуму
- Знайти градієнти яскравості зображення
- Застосувати порогування величини градієнта або відрізне пригнічування нижньої межі, щоби позбутися паразитної реакції на виявляння контурів
- Застосувати подвійний поріг для визначення потенційних контурів
- Простежити контури за допомогою гістерезису: Завершити виявляння контурів, пригнітивши всі інші контури, слабкі та не пов'язані з сильними.
Гауссів фільтр
Оскільки на всі результати виявляння контурів легко впливає шум на зображенні, важливо відфільтрувати цей шум, щоби запобігти спричиненому ним помилковому виявлянню. Щоби згладити зображення, із ним згортають ядро гауссового фільтра. Цей крок дещо згладить зображення, щоби зменшити вплив явного шуму на виявляч контурів. Рівняння для ядра гауссового фільтра розміром (2k+1)×(2k+1) задають як
Ось приклад гауссового фільтра 5×5, використаного для створення зображення поруч, з = 1. (Зірочка позначує операцію згортання.)
Важливо розуміти, що вибір розміру гауссового ядра впливатиме на продуктивність виявляча. Що більший розмір, то менша чутливість виявляча до шуму. Крім того, зі збільшенням розміру ядра гауссового фільтра трохи збільшуватиметься похибка розташування у виявлянні контурів. Розмір 5×5 добрий для більшості випадків, але це також різнитиметься залежно від конкретних ситуацій.
Знаходження градієнту яскравості зображення
Контур на зображенні може вказувати в різних напрямках, тож алгоритм Кенні використовує чотири фільтри для виявляння на розмитому зображенні горизонтальних, вертикальних та діагональних контурів. Оператор виявляння контурів (наприклад, Робертса, Прюітт або Собеля) повертає значення для першої похідної в горизонтальному (Gx) та вертикальному (Gy) напрямках. З цього можливо визначати градієнт та напрямок контуру:
- ,
де G можливо обчислювати за допомогою функції hypot, а [en] — функція арктангенса з двома аргументами. Кут напрямку контуру округлюється до одного з чотирьох кутів, що подають вертикаль, горизонталь та дві діагоналі (0°, 45°, 90° та 135°). Напрямок контуру в кожній кольоровій області буде встановлено на певне значення кута, наприклад, θ у [0°, 22,5°] або [157,5°, 180°] відображується в 0°.
Порогування величини градієнта або відрізне пригнічування нижньої межі
Мінімумне відрізне пригнічування величин градієнта, або порогування нижньої межі, — це одна з методик витончування контурів .
Відрізне пригнічування нижньої межі застосовують для пошуку місць із найрізкішою зміною значення яскравості. Алгоритм для кожного пікселя в градієнтному зображенні:
- Порівняти вираженість контуру в поточному пікселі з вираженістю контуру в пікселях у додатному та від'ємному напрямках градієнта.
- Якщо вираженість контуру в поточному пікселі найбільша порівняно з іншими пікселями в масці з тим же напрямком (наприклад, піксель, що вказує у напрямку y, порівнюватиметься з пікселями над і під ним на вертикальній осі), то значення буде збережено. Інакше значення буде пригнічено.
У деяких втіленнях алгоритм категоризує безперервні напрямки градієнта у невеликий набір дискретних напрямків, а потім переміщує фільтр 3x3 над результатом попереднього кроку (тобто вираженістю контуру та напрямками градієнта). У кожному пікселі він пригнічує вираженість контуру центрального пікселя (встановлюючи його значення в 0), якщо його величина не перевищує величину двох сусідів у напрямку градієнта. Наприклад,
- якщо округлений кут градієнта дорівнює 0° (тобто контур має напрямок північ—південь), точку вважатимуть точкою контуру, якщо її величина градієнта більша за величини в пікселях у східному та західному напрямках,
- якщо округлений кут градієнта становить 90° (тобто контур має напрямок схід—захід), точку вважатимуть точкою контуру, якщо її величина градієнта більша за величини в пікселях у північному та південному напрямках,
- якщо округлений кут градієнта становить 135° (тобто контур має напрямок північний схід—південний захід), точку вважатимуть точкою контуру, якщо її величина градієнта більша за величини в пікселях у північно-західному та південно-східному напрямках,
- якщо округлений кут градієнта становить 45° (тобто контур має напрямок північний захід—південний схід), точку вважатимуть точкою контуру, якщо її величина градієнта більша за величини в пікселях у північно-східному та південно-західному напрямках.
У точніших втіленнях використовують лінійну інтерполяцію між двома сусідніми пікселями, які перекривають напрямок градієнта. Наприклад, якщо кут градієнта становить між 89° до 180°, інтерполяція між градієнтами у північному та північно-східному пікселях дасть одне інтерпольоване значення, а інтерполяція між південним та південно-західним пікселями дасть інше (з використанням умовних позначень попереднього абзацу). Величина градієнта в центральному пікселі має бути більшою за обидві, щоби його було позначено як контур.
Зауважте, що знак напрямку не має значення, тобто північ—південь — те саме, що південь—північ тощо.
Подвійний поріг
Після застосування пригнічування немаксимумів решта пікселів контурів забезпечують точніше подання справжніх контурів на зображенні. Проте лишаються деякі контурні пікселі, спричинені шумом та мінливістю кольору. Щоби врахувати ці помилкові реакції, важливо відфільтрувати контурні пікселі зі слабким значенням градієнта, та зберегти з високим. Цього досягають обранням верхнього та нижнього порогових значень. Якщо значення градієнта контурного пікселя вище за верхнє порогове значення, його позначують як сильний контурний піксель. Якщо значення градієнта контурного пікселя менше за верхнє порогове значення та більше за нижнє порогове значення, його позначують як слабкий контурний піксель. Якщо значення градієнта контурного пікселя менше ніж нижнє порогове значення, його буде пригнічено. Ці два порогові значення визначають емпірично, і їх визначення залежатиме від вмісту заданого вхідного зображення.
Простежування контурів за допомогою гістерезису
Наразі, пікселі з сильними контурами, безумовно, повинно бути задіяно в остаточному контурному зображенні, оскільки їх виділяють зі справжніх контурів на зображенні. Проте будуть деякі дебати щодо слабких контурних пікселів, оскільки ці пікселі могло бути виділено як із справжніх контурів, так і з шуму/мінливості кольору. Для досягнення точного результату необхідно усунути слабкі контури, викликані останніми причинами. Зазвичай слабкий контурний піксель, викликаний справжніми контурами, буде з'єднано з сильним контурним пікселем, тоді як шумові відгуки не з'єднані. Для простеження з'єднання контуру використовують [en] шляхом розгляду слабкого контурного пікселя та пікселів його [en] околу. Поки в цій плямі є хоч один сильний контурний піксель, цю слабку контурну точку можливо визначити як таку, яку слід зберегти.
Покроковий прохід алгоритмом
У цьому розділі буде показано просування зображення кожним із цих п'яти кроків.
Вдосконалення
У той час як традиційне виявляння контурів Кенні забезпечує відносно просту, але точну методологію для розв'язування задачі виявляння контурів, за вищих вимог до точності та надійності виявляння традиційний алгоритм вже не може впоруватися зі складним завданням виявляння контурів. Основні недоліки традиційного алгоритму можливо підсумувати наступним чином:
- Гауссів фільтр застосовують для згладжування шуму, але він також згладжуватиме й контур, що вважається високочастотною ознакою. Це збільшує можливість пропускання слабких контурів та появи ізольованих контурів у результаті.
- Для обчислення амплітуди градієнта старий алгоритм виявляння контурів Кенні використовує центр у маленькому вікні околу 2×2, щоб обчислювати середнє значення скінченних різниць для подавання амплітуди градієнта. Цей метод чутливий до шуму й може легко виявляти помилкові контури та губити справжні.
- У традиційному алгоритмі виявляння контурів Кенні буде два незмінні глобальні порогові значення для відфільтровування хибних контурів. Проте, коли зображення стає складнішим, різні локальні області потребуватимуть дуже відмінних порогових значень для точного визначання справжніх контурів. Крім того, в традиційному методі глобальні порогові значення визначають вручну шляхом експериментів, що призводить до складності обчислення, коли потрібно мати справу з великою кількістю різних зображень.
- Результат традиційного виявляння не може досягати задовільно високої точності єдиного відгуку для кожного контуру — багатоточкові відгуки матимуть місце.
Щоби зарадити цим недолікам, у наступних параграфах подано вдосконалення алгоритму контурів Кенні.
Заміна гауссового фільтра
Оскільки як високочастотний сигнал визначатимуться і контури, і шум, простий гауссів фільтр додаватиме згладжувальний ефект до обох. Проте, щоби досягати високої точності виявляння справжнього контуру, очікується, що до шуму слід застосовувати більше згладжувального ефекту, а до контуру — менше. Бін Ван та Шаошен Фан з Університету науки й технологій Чанші розробили адаптивний фільтр, який оцінює розрив між значеннями градацій сірого кожного пікселя[]. Що вищий розрив, то нижче значення ваги встановлюють для гладкого фільтра в цій точці. І навпаки, що менший розрив між значеннями градацій сірого, то вище значення ваги встановлюють для цього фільтра. Процес втілення цього адаптивного фільтра можливо підсумувати п'ятьма кроками:
- 1. K = 1, встановити кількість ітерацій n та коефіцієнт амплітуди контуру h.
- 2. Обчислити значення градієнта та
- 3. Розрахувати вагу за наступними формулами:
- 4. Визначення адаптивного фільтра:
- для згладжування зображення, де
- 5. Коли K = n, зупинити ітерації, інакше, k = k+1, продовжити виконанням другого кроку
Вдосконалення обчислення величини та напрямку градієнта
Величину та напрямок градієнта можливо обчислювати різноманітними операторами виявляння контурів, і вибір оператора може впливати на якість результатів. Дуже часто обирають фільтр Собеля 3×3. Проте інші фільтри можуть бути кращими, наприклад, фільтр Собеля 5×5, який знижуватиме шум, або фільтр Шарра, що має кращу обертову симетрію. Іншими поширеними варіантами є Прюітт (який використовує Чжоу) та хрест Робертса.
Надійний метод визначання подвійного порогового значення
Щоби боротися з викликами випадків, у яких важко емпірично визначити подвійне порогове значення, для породження верхнього порогу можливо використовувати метод Оцу на зображенні величини градієнта з пригніченими немаксимумами. У цьому випадку нижній поріг зазвичай встановлюють в 1/2 верхнього. Оскільки зображення величини градієнта неперервнозначне без чітко визначеного максимуму, метод Оцу має бути пристосовано для використання пар значення/кількість замість повної гістограми.
Витончування контуру
У той час як традиційне виявляння контурів Кенні втілює добрий результат виявляння для відповідності першим двом критеріям, воно не відповідає строго єдиному відгукові на контур. Математичну морфологічну методику для витончування виявленого контуру розробили Маллат С та Чжун.
Використання курвлетів
[en] використовували замість гауссового фільтра та оцінки градієнта для обчислення векторного поля, напрямки та величини якого приблизно відповідають напрямкам та вираженості контурів на зображенні, до якого потім застосовують кроки 3—5 алгоритму Кенні. Курвлети розкладають сигнали на окремі складові різних масштабів, а відкидання складових тонших масштабів може знижувати шум.
Диференціальне геометричне формулювання
Витонченіший підхід отримування контурів із субпіксельною точністю полягає у використанні підходу диференціального виявляння контурів, у якому вимогу придушування немаксимумів формулюють у термінах похідних другого та третього порядків, обчислюваних із масштабопросторового подання (Ліндеберг 1998) — докладний опис див. у статті про виявляння контурів.
Варіаційне формулювання виявляча контурів Гараліка — Кенні
Було показано, що варіаційне пояснення основної складової виявляча контурів Кенні, тобто знаходження перетинів нуля 2-ю похідною вздовж напрямку градієнта, — це результат мінімізації функціонала Кронрода — Мінковського при одночасній максимізації інтеграла над вирівнюванням контуру з градієнтним полем (Кіммел та Брукштайн 2003). Докладний опис див. у статті про регуляризовані лапласові перетини нуля та інші оптимальні інтегратори контурів.
Параметри
Алгоритм Кенні містить низку регульованих параметрів, які можуть впливати на тривалість обчислення та ефективність алгоритму.
- Розмір гауссового фільтра: фільтр згладжування, який використовують на першому етапі, безпосередньо впливає на результати алгоритму Кенні. Менші фільтри спричинюють менше розмиття та дозволяють виявляти маленькі чіткі лінії. Більший фільтр спричинює більше розмиття, розмазуючи значення певного пікселя більшою площею зображення. Більші радіуси розмиття корисніші для виявляння більших, гладкіших контурів, наприклад, контуру веселки.
- Порогові значення: використання двох порогових значень із гістерезисом забезпечує більшу гнучкість, ніж підхід з єдиним пороговим значенням, але загальні проблеми порогових підходів все ще лишаються. Занадто високий поріг може пропускати важливу інформацію. З іншого боку, занадто низьке порогове значення хибного ідентифікуватиме недоречну інформацію (наприклад, шум) як важливу. Важко дати загальний поріг, який добре працює на всіх зображеннях. Перевіреного підходу до розв'язання цієї проблеми ще не існує.
Висновок
Алгоритм Кенні можливо пристосовувати до різних середовищ. Його параметри дозволяють підганяти його для розпізнавання контурів, що мають різні характеристики, залежно від конкретних вимог заданого втілення. У первинній праці Кенні виведення оптимального фільтра давало фільтр зі скінченною імпульсною характеристикою, який може бути повільним для обчислення в просторовій області, якщо необхідна величина згладжування важлива (у цьому випадку фільтр матиме велику просторову опору). З цієї причини часто пропонують використовувати фільтр Кенні вигляду Рашида Деріша зі скінченною імпульсною характеристикою (виявляч Кенні — Деріша), який рекурсивний, і який можливо обчислювати за короткий незмінний проміжок часу для будь-якої бажаної величини згладжування. Другий вигляд підходить для втілень режиму реального часу на ПКВМ, ПЦС та дуже швидких вбудованих ПК. У цьому контексті, проте, звичайне рекурсивне втілення оператора Кенні не дає доброго наближення обертової симетрії й відтак демонструє схильність до горизонтальних та вертикальних контурів.
Див. також
Примітки
- Li, Q., Wang, B., & Fan, S. (2009). Browse Conference Publications Computer Science and Engineer ... Help Working with Abstracts An Improved CANNY Edge Detection Algorithm. In 2009 Second International Workshop on Computer Science and Engineering proceedings : WCSE 2009 : 28–30 October 2009, Qingdao, China (pp. 497–500). Los Alamitos, CA: IEEE Computer Society (англ.)
- Zhou, P., Ye, W., & Wang, Q. (2011). An Improved Canny Algorithm for Edge Detection. Journal of Computational Information Systems, 7(5), 1516-1523. (англ.)
- Otsu N. A threshold selection method from gray-level histograms. IEEE Trans Systems, Man and Cybernetics,9(1):62-66,1979. (англ.)
- Mallat S, Zhong S. Characterization of Signals from Multi scale Edges [J]. IEEE Trans on PAMI, 1992, 14 (7):710-732. (англ.)
- Gebäck1, T. & Koumoutsakos, P. "Edge detection in microscopy images using curvelets" BMC Bioinformatics, 10: 75, 2009. (англ.)
- Canny, J., A Computational Approach To Edge Detection, IEEE Transactions on Pattern Analysis and Machine Intelligence, 8(6):679–698, 1986. (англ.)
- R. Deriche, Using Canny's criteria to derive a recursively implemented optimal edge detector, Int. J. Computer Vision, Vol. 1, pp. 167–187, April 1987. (англ.)
- Lindeberg, Tony "Edge detection and ridge detection with automatic scale selection", International Journal of Computer Vision, 30, 2, pp 117—154, 1998. (Містить диференціальний підхід до придушування немаксимумів.) (англ.)
- Kimmel, Ron and Bruckstein, Alfred M. "On regularized Laplacian zero crossings and other optimal edge integrators", International Journal of Computer Vision, 53(3):225–243, 2003. (Містить геометричну варіаційну інтерпретацію для виявляча контурів Гараліка — Кенні.) (англ.)
- (англ.)
- Thomas B. Moeslund. Image and Video Processing. August 2008 (англ.)
- Green, B. (2002, January 1). Canny Edge Detection Tutorial. Retrieved December 3, 2014; заархівовано (англ.)
Посилання
- Домашня сторінка Джона Кенні (англ.)
- Перелік публікацій Рашида Деріша (англ.)
- Журнальні публікації Рона Кіммела (англ.)
- Виявляння контурів Кенні в C++ OpenCV (англ.)
- Виявляння контурів Кенні в Python OpenCV [ 2014-04-29 у Wayback Machine.]
- Canny Edge World — приклад відео
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Algori tm Ke nni viyavlya ch ko nturiv Ke nni opera tor Ke nni angl Canny edge detector ce operator viyavlyannya konturiv yakij vikoristovuye bagatoetapnij algoritm dlya viyavlyannya shirokogo spektru konturiv na zobrazhennyah Jogo rozrobiv en 1986 roku Kenni takozh rozrobiv obchislyuvalnu teoriyu viyavlyannya konturiv angl computational theory of edge detection yaka poyasnyuye chomu cya metodika diye Viyavlyach konturiv Kenni zastosovanij do kolorovogo foto parovogo dviguna Pervinne zobrazhennya RozrobkaViyavlyannya konturiv Kenni ce metodika vidilyannya korisnoyi strukturnoyi informaciyi z riznih ob yektiv bachennya ta znachnogo znizhennya obsyagu danih dlya obrobki Jogo shiroko zastosovuyut u riznih sistemah komp yuternogo bachennya Kenni viyaviv sho vimogi do zastosuvannya viyavlyannya konturiv u riznomanitnih sistemah bachennya vidnosno podibni Tozh rishennya dlya viyavlyannya konturiv sho vidpovidaye cim vimogam mozhlivo vtilyuvati v shirokomu spektri situacij Do zagalnih kriteriyiv viyavlyannya konturiv nalezhat Viyavlyannya konturu z nizkim rivnem pohibki sho oznachaye sho viyavlyannya maye tochno vlovlyuvati yakomoga bilshe konturiv pokazanih na zobrazhenni Tochka konturu viyavlena operatorom povinna tochno rozmishuvatisya v centri konturu Zadanij kontur na zobrazhenni povinno buti poznacheno lishe odnorazovo i de ce mozhlivo shum zobrazhennya ne povinen stvoryuvati hibnih konturiv Shobi zadovolniti ci vimogi Kenni vikoristav variacijne chislennya metodiku yaka znahodit funkciyu sho optimizuye zadanij funkcional Optimalnu funkciyu u viyavlyachi Kenni opisuyut sumoyu chotiroh pokaznikovih chleniv ale yiyi mozhlivo nablizhuvati pershoyu pohidnoyu gaussiana Sered rozroblenih doteper metodiv viyavlyannya konturiv algoritm Kenni odin iz najbilsh strogo viznachenih metodiv yakij zabezpechuye dobre ta nadijne viyavlyannya Zavdyaki svoyij optimalnosti dlya vidpovidnosti trom kriteriyam viyavlyannya konturiv ta prostoti procesu vtilennya vin stav odnim iz najpopulyarnishih algoritmiv viyavlyannya konturiv ProcesProces algoritmu viyavlyannya konturiv Kenni mozhlivo rozbiti na p yat riznih etapiv Zastosuvati gaussiv filtr shobi zgladiti zobrazhennya zadlya usunennya shumu Znajti gradiyenti yaskravosti zobrazhennya Zastosuvati poroguvannya velichini gradiyenta abo vidrizne prignichuvannya nizhnoyi mezhi shobi pozbutisya parazitnoyi reakciyi na viyavlyannya konturiv Zastosuvati podvijnij porig dlya viznachennya potencijnih konturiv Prostezhiti konturi za dopomogoyu gisterezisu Zavershiti viyavlyannya konturiv prignitivshi vsi inshi konturi slabki ta ne pov yazani z silnimi Gaussiv filtr Ce zobrazhennya pislya prohodzhennya gaussovoyi maski 5 5 kozhnim pikselem Oskilki na vsi rezultati viyavlyannya konturiv legko vplivaye shum na zobrazhenni vazhlivo vidfiltruvati cej shum shobi zapobigti sprichinenomu nim pomilkovomu viyavlyannyu Shobi zgladiti zobrazhennya iz nim zgortayut yadro gaussovogo filtra Cej krok desho zgladit zobrazhennya shobi zmenshiti vpliv yavnogo shumu na viyavlyach konturiv Rivnyannya dlya yadra gaussovogo filtra rozmirom 2k 1 2k 1 zadayut yak Hij 12ps2exp i k 1 2 j k 1 22s2 1 i j 2k 1 displaystyle H ij frac 1 2 pi sigma 2 exp left frac i k 1 2 j k 1 2 2 sigma 2 right 1 leq i j leq 2k 1 Os priklad gaussovogo filtra 5 5 vikoristanogo dlya stvorennya zobrazhennya poruch z s displaystyle sigma 1 Zirochka poznachuye operaciyu zgortannya B 1159 245424912945121512549129424542 A displaystyle mathbf B frac 1 159 begin bmatrix 2 amp 4 amp 5 amp 4 amp 2 4 amp 9 amp 12 amp 9 amp 4 5 amp 12 amp 15 amp 12 amp 5 4 amp 9 amp 12 amp 9 amp 4 2 amp 4 amp 5 amp 4 amp 2 end bmatrix mathbf A Vazhlivo rozumiti sho vibir rozmiru gaussovogo yadra vplivatime na produktivnist viyavlyacha Sho bilshij rozmir to mensha chutlivist viyavlyacha do shumu Krim togo zi zbilshennyam rozmiru yadra gaussovogo filtra trohi zbilshuvatimetsya pohibka roztashuvannya u viyavlyanni konturiv Rozmir 5 5 dobrij dlya bilshosti vipadkiv ale ce takozh riznitimetsya zalezhno vid konkretnih situacij Znahodzhennya gradiyentu yaskravosti zobrazhennya Kontur na zobrazhenni mozhe vkazuvati v riznih napryamkah tozh algoritm Kenni vikoristovuye chotiri filtri dlya viyavlyannya na rozmitomu zobrazhenni gorizontalnih vertikalnih ta diagonalnih konturiv Operator viyavlyannya konturiv napriklad Robertsa Pryuitt abo Sobelya povertaye znachennya dlya pershoyi pohidnoyi v gorizontalnomu Gx ta vertikalnomu Gy napryamkah Z cogo mozhlivo viznachati gradiyent ta napryamok konturu Napryamok gradiyentaG Gx2 Gy2 displaystyle mathbf G sqrt mathbf G x 2 mathbf G y 2 8 atan2 Gy Gx displaystyle mathbf Theta operatorname atan2 left mathbf G y mathbf G x right de G mozhlivo obchislyuvati za dopomogoyu funkciyi hypot a en funkciya arktangensa z dvoma argumentami Kut napryamku konturu okruglyuyetsya do odnogo z chotiroh kutiv sho podayut vertikal gorizontal ta dvi diagonali 0 45 90 ta 135 Napryamok konturu v kozhnij kolorovij oblasti bude vstanovleno na pevne znachennya kuta napriklad 8 u 0 22 5 abo 157 5 180 vidobrazhuyetsya v 0 Poroguvannya velichini gradiyenta abo vidrizne prignichuvannya nizhnoyi mezhi Minimumne vidrizne prignichuvannya velichin gradiyenta abo poroguvannya nizhnoyi mezhi ce odna z metodik vitonchuvannya konturiv Vidrizne prignichuvannya nizhnoyi mezhi zastosovuyut dlya poshuku misc iz najrizkishoyu zminoyu znachennya yaskravosti Algoritm dlya kozhnogo pikselya v gradiyentnomu zobrazhenni Porivnyati virazhenist konturu v potochnomu pikseli z virazhenistyu konturu v pikselyah u dodatnomu ta vid yemnomu napryamkah gradiyenta Yaksho virazhenist konturu v potochnomu pikseli najbilsha porivnyano z inshimi pikselyami v masci z tim zhe napryamkom napriklad piksel sho vkazuye u napryamku y porivnyuvatimetsya z pikselyami nad i pid nim na vertikalnij osi to znachennya bude zberezheno Inakshe znachennya bude prignicheno U deyakih vtilennyah algoritm kategorizuye bezperervni napryamki gradiyenta u nevelikij nabir diskretnih napryamkiv a potim peremishuye filtr 3x3 nad rezultatom poperednogo kroku tobto virazhenistyu konturu ta napryamkami gradiyenta U kozhnomu pikseli vin prignichuye virazhenist konturu centralnogo pikselya vstanovlyuyuchi jogo znachennya v 0 yaksho jogo velichina ne perevishuye velichinu dvoh susidiv u napryamku gradiyenta Napriklad yaksho okruglenij kut gradiyenta dorivnyuye 0 tobto kontur maye napryamok pivnich pivden tochku vvazhatimut tochkoyu konturu yaksho yiyi velichina gradiyenta bilsha za velichini v pikselyah u shidnomu ta zahidnomu napryamkah yaksho okruglenij kut gradiyenta stanovit 90 tobto kontur maye napryamok shid zahid tochku vvazhatimut tochkoyu konturu yaksho yiyi velichina gradiyenta bilsha za velichini v pikselyah u pivnichnomu ta pivdennomu napryamkah yaksho okruglenij kut gradiyenta stanovit 135 tobto kontur maye napryamok pivnichnij shid pivdennij zahid tochku vvazhatimut tochkoyu konturu yaksho yiyi velichina gradiyenta bilsha za velichini v pikselyah u pivnichno zahidnomu ta pivdenno shidnomu napryamkah yaksho okruglenij kut gradiyenta stanovit 45 tobto kontur maye napryamok pivnichnij zahid pivdennij shid tochku vvazhatimut tochkoyu konturu yaksho yiyi velichina gradiyenta bilsha za velichini v pikselyah u pivnichno shidnomu ta pivdenno zahidnomu napryamkah U tochnishih vtilennyah vikoristovuyut linijnu interpolyaciyu mizh dvoma susidnimi pikselyami yaki perekrivayut napryamok gradiyenta Napriklad yaksho kut gradiyenta stanovit mizh 89 do 180 interpolyaciya mizh gradiyentami u pivnichnomu ta pivnichno shidnomu pikselyah dast odne interpolovane znachennya a interpolyaciya mizh pivdennim ta pivdenno zahidnim pikselyami dast inshe z vikoristannyam umovnih poznachen poperednogo abzacu Velichina gradiyenta v centralnomu pikseli maye buti bilshoyu za obidvi shobi jogo bulo poznacheno yak kontur Zauvazhte sho znak napryamku ne maye znachennya tobto pivnich pivden te same sho pivden pivnich tosho Podvijnij porig Pislya zastosuvannya prignichuvannya nemaksimumiv reshta pikseliv konturiv zabezpechuyut tochnishe podannya spravzhnih konturiv na zobrazhenni Prote lishayutsya deyaki konturni pikseli sprichineni shumom ta minlivistyu koloru Shobi vrahuvati ci pomilkovi reakciyi vazhlivo vidfiltruvati konturni pikseli zi slabkim znachennyam gradiyenta ta zberegti z visokim Cogo dosyagayut obrannyam verhnogo ta nizhnogo porogovih znachen Yaksho znachennya gradiyenta konturnogo pikselya vishe za verhnye porogove znachennya jogo poznachuyut yak silnij konturnij piksel Yaksho znachennya gradiyenta konturnogo pikselya menshe za verhnye porogove znachennya ta bilshe za nizhnye porogove znachennya jogo poznachuyut yak slabkij konturnij piksel Yaksho znachennya gradiyenta konturnogo pikselya menshe nizh nizhnye porogove znachennya jogo bude prignicheno Ci dva porogovi znachennya viznachayut empirichno i yih viznachennya zalezhatime vid vmistu zadanogo vhidnogo zobrazhennya Prostezhuvannya konturiv za dopomogoyu gisterezisu Viyavlyannya konturiv Kenni zastosovane do fotografiyi Narazi pikseli z silnimi konturami bezumovno povinno buti zadiyano v ostatochnomu konturnomu zobrazhenni oskilki yih vidilyayut zi spravzhnih konturiv na zobrazhenni Prote budut deyaki debati shodo slabkih konturnih pikseliv oskilki ci pikseli moglo buti vidileno yak iz spravzhnih konturiv tak i z shumu minlivosti koloru Dlya dosyagnennya tochnogo rezultatu neobhidno usunuti slabki konturi viklikani ostannimi prichinami Zazvichaj slabkij konturnij piksel viklikanij spravzhnimi konturami bude z yednano z silnim konturnim pikselem todi yak shumovi vidguki ne z yednani Dlya prostezhennya z yednannya konturu vikoristovuyut en shlyahom rozglyadu slabkogo konturnogo pikselya ta pikseliv jogo en okolu Poki v cij plyami ye hoch odin silnij konturnij piksel cyu slabku konturnu tochku mozhlivo viznachiti yak taku yaku slid zberegti Pokrokovij prohid algoritmomU comu rozdili bude pokazano prosuvannya zobrazhennya kozhnim iz cih p yati krokiv Pervinne zobrazhennyaZobrazhennya bulo zvuzheno do vidtinkiv sirogo ta zastosovano gaussiv filtr 5 5 z s 1 4Gradiyent yaskravosti poperednogo zobrazhennya Konturi zobrazhennya bulo obrobleno shlyahom povtorennya Pridushennya nemaksimumiv poperednogo zobrazhennya Podvijne poroguvannya poperednogo zobrazhennya Slabki pikseli ti sho z gradiyentom mizh 0 1 ta 0 3 Silni pikseli mayut znachennya gradiyenta ponad 0 3Do poperednogo zobrazhennya zastosovano gisterezisVdoskonalennyaU toj chas yak tradicijne viyavlyannya konturiv Kenni zabezpechuye vidnosno prostu ale tochnu metodologiyu dlya rozv yazuvannya zadachi viyavlyannya konturiv za vishih vimog do tochnosti ta nadijnosti viyavlyannya tradicijnij algoritm vzhe ne mozhe vporuvatisya zi skladnim zavdannyam viyavlyannya konturiv Osnovni nedoliki tradicijnogo algoritmu mozhlivo pidsumuvati nastupnim chinom Gaussiv filtr zastosovuyut dlya zgladzhuvannya shumu ale vin takozh zgladzhuvatime j kontur sho vvazhayetsya visokochastotnoyu oznakoyu Ce zbilshuye mozhlivist propuskannya slabkih konturiv ta poyavi izolovanih konturiv u rezultati Dlya obchislennya amplitudi gradiyenta starij algoritm viyavlyannya konturiv Kenni vikoristovuye centr u malenkomu vikni okolu 2 2 shob obchislyuvati serednye znachennya skinchennih riznic dlya podavannya amplitudi gradiyenta Cej metod chutlivij do shumu j mozhe legko viyavlyati pomilkovi konturi ta gubiti spravzhni U tradicijnomu algoritmi viyavlyannya konturiv Kenni bude dva nezminni globalni porogovi znachennya dlya vidfiltrovuvannya hibnih konturiv Prote koli zobrazhennya staye skladnishim rizni lokalni oblasti potrebuvatimut duzhe vidminnih porogovih znachen dlya tochnogo viznachannya spravzhnih konturiv Krim togo v tradicijnomu metodi globalni porogovi znachennya viznachayut vruchnu shlyahom eksperimentiv sho prizvodit do skladnosti obchislennya koli potribno mati spravu z velikoyu kilkistyu riznih zobrazhen Rezultat tradicijnogo viyavlyannya ne mozhe dosyagati zadovilno visokoyi tochnosti yedinogo vidguku dlya kozhnogo konturu bagatotochkovi vidguki matimut misce Shobi zaraditi cim nedolikam u nastupnih paragrafah podano vdoskonalennya algoritmu konturiv Kenni Zamina gaussovogo filtra Oskilki yak visokochastotnij signal viznachatimutsya i konturi i shum prostij gaussiv filtr dodavatime zgladzhuvalnij efekt do oboh Prote shobi dosyagati visokoyi tochnosti viyavlyannya spravzhnogo konturu ochikuyetsya sho do shumu slid zastosovuvati bilshe zgladzhuvalnogo efektu a do konturu menshe Bin Van ta Shaoshen Fan z Universitetu nauki j tehnologij Chanshi rozrobili adaptivnij filtr yakij ocinyuye rozriv mizh znachennyami gradacij sirogo kozhnogo pikselya dzherelo Sho vishij rozriv to nizhche znachennya vagi vstanovlyuyut dlya gladkogo filtra v cij tochci I navpaki sho menshij rozriv mizh znachennyami gradacij sirogo to vishe znachennya vagi vstanovlyuyut dlya cogo filtra Proces vtilennya cogo adaptivnogo filtra mozhlivo pidsumuvati p yatma krokami 1 K 1 vstanoviti kilkist iteracij n ta koeficiyent amplitudi konturu h 2 Obchisliti znachennya gradiyenta Gx x y displaystyle G x x y ta Gy x y displaystyle G y x y 3 Rozrahuvati vagu za nastupnimi formulami d x y Gx x y 2 Gy x y 2 displaystyle d x y sqrt G x x y 2 G y x y 2 dd w x y exp d x y 2h2 displaystyle w x y exp left frac sqrt d x y 2h 2 right dd 4 Viznachennya adaptivnogo filtra f x y 1N i 11 j 11f x i y j w x i y j displaystyle f x y frac 1 N sum limits i 1 1 sum limits j 1 1 f x i y j w x i y j dd dlya zgladzhuvannya zobrazhennya de dd N i 11 j 11w x i y j displaystyle N sum limits i 1 1 sum limits j 1 1 w x i y j dd 5 Koli K n zupiniti iteraciyi inakshe k k 1 prodovzhiti vikonannyam drugogo krokuVdoskonalennya obchislennya velichini ta napryamku gradiyenta Velichinu ta napryamok gradiyenta mozhlivo obchislyuvati riznomanitnimi operatorami viyavlyannya konturiv i vibir operatora mozhe vplivati na yakist rezultativ Duzhe chasto obirayut filtr Sobelya 3 3 Prote inshi filtri mozhut buti krashimi napriklad filtr Sobelya 5 5 yakij znizhuvatime shum abo filtr Sharra sho maye krashu obertovu simetriyu Inshimi poshirenimi variantami ye Pryuitt yakij vikoristovuye Chzhou ta hrest Robertsa Nadijnij metod viznachannya podvijnogo porogovogo znachennya Shobi borotisya z viklikami vipadkiv u yakih vazhko empirichno viznachiti podvijne porogove znachennya dlya porodzhennya verhnogo porogu mozhlivo vikoristovuvati metod Ocu na zobrazhenni velichini gradiyenta z prignichenimi nemaksimumami U comu vipadku nizhnij porig zazvichaj vstanovlyuyut v 1 2 verhnogo Oskilki zobrazhennya velichini gradiyenta neperervnoznachne bez chitko viznachenogo maksimumu metod Ocu maye buti pristosovano dlya vikoristannya par znachennya kilkist zamist povnoyi gistogrami Vitonchuvannya konturu U toj chas yak tradicijne viyavlyannya konturiv Kenni vtilyuye dobrij rezultat viyavlyannya dlya vidpovidnosti pershim dvom kriteriyam vono ne vidpovidaye strogo yedinomu vidgukovi na kontur Matematichnu morfologichnu metodiku dlya vitonchuvannya viyavlenogo konturu rozrobili Mallat S ta Chzhun Vikoristannya kurvletiv en vikoristovuvali zamist gaussovogo filtra ta ocinki gradiyenta dlya obchislennya vektornogo polya napryamki ta velichini yakogo priblizno vidpovidayut napryamkam ta virazhenosti konturiv na zobrazhenni do yakogo potim zastosovuyut kroki 3 5 algoritmu Kenni Kurvleti rozkladayut signali na okremi skladovi riznih masshtabiv a vidkidannya skladovih tonshih masshtabiv mozhe znizhuvati shum Diferencialne geometrichne formulyuvannyaVitonchenishij pidhid otrimuvannya konturiv iz subpikselnoyu tochnistyu polyagaye u vikoristanni pidhodu diferencialnogo viyavlyannya konturiv u yakomu vimogu pridushuvannya nemaksimumiv formulyuyut u terminah pohidnih drugogo ta tretogo poryadkiv obchislyuvanih iz masshtaboprostorovogo podannya Lindeberg 1998 dokladnij opis div u statti pro viyavlyannya konturiv Variacijne formulyuvannya viyavlyacha konturiv Garalika KenniBulo pokazano sho variacijne poyasnennya osnovnoyi skladovoyi viyavlyacha konturiv Kenni tobto znahodzhennya peretiniv nulya 2 yu pohidnoyu vzdovzh napryamku gradiyenta ce rezultat minimizaciyi funkcionala Kronroda Minkovskogo pri odnochasnij maksimizaciyi integrala nad virivnyuvannyam konturu z gradiyentnim polem Kimmel ta Brukshtajn 2003 Dokladnij opis div u statti pro regulyarizovani laplasovi peretini nulya ta inshi optimalni integratori konturiv ParametriAlgoritm Kenni mistit nizku regulovanih parametriv yaki mozhut vplivati na trivalist obchislennya ta efektivnist algoritmu Rozmir gaussovogo filtra filtr zgladzhuvannya yakij vikoristovuyut na pershomu etapi bezposeredno vplivaye na rezultati algoritmu Kenni Menshi filtri sprichinyuyut menshe rozmittya ta dozvolyayut viyavlyati malenki chitki liniyi Bilshij filtr sprichinyuye bilshe rozmittya rozmazuyuchi znachennya pevnogo pikselya bilshoyu plosheyu zobrazhennya Bilshi radiusi rozmittya korisnishi dlya viyavlyannya bilshih gladkishih konturiv napriklad konturu veselki Porogovi znachennya vikoristannya dvoh porogovih znachen iz gisterezisom zabezpechuye bilshu gnuchkist nizh pidhid z yedinim porogovim znachennyam ale zagalni problemi porogovih pidhodiv vse she lishayutsya Zanadto visokij porig mozhe propuskati vazhlivu informaciyu Z inshogo boku zanadto nizke porogove znachennya hibnogo identifikuvatime nedorechnu informaciyu napriklad shum yak vazhlivu Vazhko dati zagalnij porig yakij dobre pracyuye na vsih zobrazhennyah Perevirenogo pidhodu do rozv yazannya ciyeyi problemi she ne isnuye VisnovokAlgoritm Kenni mozhlivo pristosovuvati do riznih seredovish Jogo parametri dozvolyayut pidganyati jogo dlya rozpiznavannya konturiv sho mayut rizni harakteristiki zalezhno vid konkretnih vimog zadanogo vtilennya U pervinnij praci Kenni vivedennya optimalnogo filtra davalo filtr zi skinchennoyu impulsnoyu harakteristikoyu yakij mozhe buti povilnim dlya obchislennya v prostorovij oblasti yaksho neobhidna velichina zgladzhuvannya vazhliva u comu vipadku filtr matime veliku prostorovu oporu Z ciyeyi prichini chasto proponuyut vikoristovuvati filtr Kenni viglyadu Rashida Derisha zi skinchennoyu impulsnoyu harakteristikoyu viyavlyach Kenni Derisha yakij rekursivnij i yakij mozhlivo obchislyuvati za korotkij nezminnij promizhok chasu dlya bud yakoyi bazhanoyi velichini zgladzhuvannya Drugij viglyad pidhodit dlya vtilen rezhimu realnogo chasu na PKVM PCS ta duzhe shvidkih vbudovanih PK U comu konteksti prote zvichajne rekursivne vtilennya operatora Kenni ne daye dobrogo nablizhennya obertovoyi simetriyi j vidtak demonstruye shilnist do gorizontalnih ta vertikalnih konturiv Div takozhKomp yuterne bachennya Cifrova obrobka zobrazhen Viyavlyannya oznak komp yuterne bachennya Vidilyannya oznak Viyavlyannya hrebtiv Prostir masshtabivPrimitkiLi Q Wang B amp Fan S 2009 Browse Conference Publications Computer Science and Engineer Help Working with Abstracts An Improved CANNY Edge Detection Algorithm In 2009 Second International Workshop on Computer Science and Engineering proceedings WCSE 2009 28 30 October 2009 Qingdao China pp 497 500 Los Alamitos CA IEEE Computer Society angl Zhou P Ye W amp Wang Q 2011 An Improved Canny Algorithm for Edge Detection Journal of Computational Information Systems 7 5 1516 1523 angl Otsu N A threshold selection method from gray level histograms IEEE Trans Systems Man and Cybernetics 9 1 62 66 1979 angl Mallat S Zhong S Characterization of Signals from Multi scale Edges J IEEE Trans on PAMI 1992 14 7 710 732 angl Geback1 T amp Koumoutsakos P Edge detection in microscopy images using curvelets BMC Bioinformatics 10 75 2009 angl Canny J A Computational Approach To Edge Detection IEEE Transactions on Pattern Analysis and Machine Intelligence 8 6 679 698 1986 angl R Deriche Using Canny s criteria to derive a recursively implemented optimal edge detector Int J Computer Vision Vol 1 pp 167 187 April 1987 angl Lindeberg Tony Edge detection and ridge detection with automatic scale selection International Journal of Computer Vision 30 2 pp 117 154 1998 Mistit diferencialnij pidhid do pridushuvannya nemaksimumiv angl Kimmel Ron and Bruckstein Alfred M On regularized Laplacian zero crossings and other optimal edge integrators International Journal of Computer Vision 53 3 225 243 2003 Mistit geometrichnu variacijnu interpretaciyu dlya viyavlyacha konturiv Garalika Kenni angl angl Thomas B Moeslund Image and Video Processing August 2008 angl Green B 2002 January 1 Canny Edge Detection Tutorial Retrieved December 3 2014 zaarhivovano angl PosilannyaDomashnya storinka Dzhona Kenni angl Perelik publikacij Rashida Derisha angl Zhurnalni publikaciyi Rona Kimmela angl Viyavlyannya konturiv Kenni v C OpenCV angl Viyavlyannya konturiv Kenni v Python OpenCV 2014 04 29 u Wayback Machine Canny Edge World priklad video