Перетво́рення Га́фа (англ. Hough transform) — це методика виділяння ознак, вживана в [en], комп'ютерному баченні та цифровій обробці зображень. Призначення цієї методики — знаходити недосконалі примірники об'єктів певного класу фігур за допомогою процедури голосування. Цю процедуру голосування виконують у [en], з якого кандидатури об'єктів отримують як локальні максимуми у так званому накопичувальному просторі (англ. accumulator space), явно створюваному алгоритмом для обчислення перетворення Гафа.
Класичне перетворення Гафа стосувалося встановлюванням прямих на зображенні, але пізніше його було розширено для встановлювання положень довільних фігур, найчастіше — кіл або еліпсів. Перетворення Гафа, яке сьогодні використовують повсюдно, було винайдено 1972 року [en] та [en], які назвали його «узагальненим перетворенням Гафа» (англ. "generalized Hough transform") на честь відповідного патенту Пола Гафа 1962 року. Це перетворення було популяризовано у спільноті комп'ютерного бачення [en] через статтю в журналі 1981 року під назвою «Узагальнення перетворення Гафа для виявляння довільних фігур».
Історія
Первинно його було винайдено для машинного аналізу фотографій бульбашкових камер (Гаф, 1959).
Перетворення Гафа було запатентовано 1962 року як U.S. Patent 3 069 654 та передано Комісії з атомної енергії США під назвою «Метод і засоби для розпізнавання складних моделей». У цьому патенті використано параметрування нахилу-відтину для прямих, що незграбно призводить до необмеженого простору перетворення, оскільки нахил може сягати нескінченності.
Параметрування ро-тета, повсюдно використовуване сьогодні, було вперше описано в
- Duda, R.O.; Hart, P. E. (January 1972). Use of the Hough Transformation to Detect Lines and Curves in Pictures. Comm. ACM. 15: 11—15. doi:10.1145/361237.361242. S2CID 1105637. (англ.)
хоча воно вже було стандартом для перетворення Радона щонайменше з 1930-х років.
Варіацію О'Ґормана та Клоуза описано в
- O'Gorman, Frank; Clowes, MB (1976). Finding Picture Edges Through Collinearity of Feature Points. IEEE Trans. Comput. 25 (4): 449—456. doi:10.1109/TC.1976.1674627. S2CID 10851078. (англ.)
Розповідь про те, як було винайдено сучасний вигляд перетворення Гафа, наведено в
Теорія
В автоматизованому аналізі цифрових зображень часто виникає підзадача виявляння простих фігур, таких як прямі, кола або еліпси. У багатьох випадках як етап попередньої обробки можливо використовувати виявляч контурів, щоб отримувати точки або пікселі зображення, які знаходяться на потрібній кривій у просторі зображення. Проте через недосконалість даних зображення або виявляча контурів можуть бути відсутні точки або пікселі на бажаних кривих, а також просторові відхилення між ідеальною прямою/колом/еліпсом і шумними контурними точками, отриманими з виявляча контурів. З цих причин групувати виділені контурні ознаки у відповідний набір прямих, кіл або еліпсів часто нетривіально. Мета перетворення Гафа полягає у розв'язанні цієї проблеми, уможливлюючи групування контурних точок в об'єкти-кандидати шляхом виконання процедури явного голосування над набором параметрованих об'єктів зображення (Шапіро та Стокман, 304).
Виявляння прямих
Найпростіший випадок перетворення Гафа — виявляння прямих. У загальному випадку пряму y = mx + b можливо подати у вигляді точки (b, m) у просторі параметрів. Проте вертикальні прямі становлять проблему. Вони призводили б до необмежених значень параметра нахилу m. Таким чином, з обчислювальних міркувань Дуда й Гарт запропонували використовувати [en]
де — відстань від початку координат до найближчої точки на прямій, а — кут між віссю та прямою, що сполучає початок координат із цією найближчою точкою.
Інтуїтивне розуміння для цього вигляду, подібно до рівняння площини, полягає в тому, що кожен вектор на прямій мусить бути перпендикулярним (ортогональним) цьому відрізкові довжини що йде від початку координат. Легко побачити, що точка перетину лінії цієї функції та цього перпендикуляра, який виходить з початку координат, перебуває в . Отже, для будь-якої точки на цій прямій вектор мусить бути ортогональним до вектора . Тож ми отримуємо, що для будь-якої точки на лінії цієї функції повинно виконуватися рівняння . Отже, . Оскільки , а , ми отримуємо . Оскільки , ми отримуємо остаточний вигляд .
Відтак, із кожною прямою зображення можливо пов'язати пару . Площину іноді називають простором Гафа (англ. Hough space) для множини прямих у двох вимірах. Це подання робить перетворення Гафа концептуально дуже близьким до двовимірного перетворення Радона. Насправді перетворення Гафа математично еквівалентне перетворенню Радона, але обидва перетворення мають різні обчислювальні інтерпретації, традиційно пов'язувані з ними.
Для заданої однієї точки на площині множина всіх прямих, що проходять через неї, відповідає синусоїдній кривій на площині (r, θ), унікальній для цієї точки. Множина з двох або більше точок, які утворюють пряму, даватиме перетин синусоїд на (r, θ) для цієї прямої. Таким чином, задачу виявляння [en] можливо перетворити на задачу знаходження конкурентних кривих.
Імовірнісна інтерпретація
Для заданої фігури, параметрованої набором , що набуває значень у множині , званій простором цієї фігури (англ. shape space), перетворення Гафа можливо інтерпретувати як зворотне перетворення розподілу ймовірності в просторі зображення до простору фігури , й інтерпретувати виявляння фігури як оцінювання максимальної правдоподібності.
У явному вигляді, перетворення Гафа виконує наближене наївне баєсове висновування. Ми починаємо з рівномірного апріорного в просторі фігури. Ми розглядаємо лише позитивні свідчення та ігноруємо всі негативні, щоби могти виявляти частково затулені фігури.
Ми підсумовуємо логарифмічну правдоподібність у просторі фігури з точністю до адитивної сталої. Наївне баєсове припущення означає, що всі пікселі в просторі зображення надають незалежні свідчення, тож їхні правдоподібності перемножуються, тобто їхні логарифмічні правдоподібності додаються. Свобода в адитивній сталій дозволяє нам не виконувати жодних операцій над «пікселями тла» в просторі фігури.
Зрештою, ми виконуємо оцінку максимальної правдоподібності, обираючи піки логарифмічної правдоподібності в просторі фігури.
Втілення
Алгоритм перетворення Гафа для прямих оцінює два параметри, що визначають пряму. Простір перетворення має два виміри, й кожну точку в просторі перетворення використовують як накопичувач для виявляння або встановлювання прямої, описаної рівнянням . Кожна точка на виявлених у зображенні контурах вносить свій внесок у накопичувачі.
Розмірність накопичувача дорівнює числу невідомих параметрів, тобто двом, розглядаючи квантовані значення r та θ в парі (r, θ). Для кожного пікселя в (x, y) та його околу алгоритм перетворення Гафа визначає, чи є достатньо свідчення прямої в цьому пікселі. Якщо так, він розраховує параметри (r, θ) цієї прямої, а потім знаходить засік накопичувача, до якого потрапляють ці параметри, й збільшує значення цього засіку.
Шляхом знаходження засіків із найвищими значеннями, як правило, шляхом пошуку локальних максимумів у накопичувальному просторі, можливо виділяти найправдоподібніші прямі та зчитувати їхні (наближені) геометричні визначення (Шапіро та Стокман, 304). Найпростіший спосіб знаходити ці піки — застосовувати поріг якогось вигляду, але інші методики можуть видавати кращі результати за різних обставин — визначати, які прямі знайдено, а також скільки. Оскільки видані прямі не містять жодної інформації про довжину, на наступному кроці часто необхідно знайти, які частини зображення збігаються з якими прямими. Крім того, через похибки недосконалості на етапі виявляння контурів зазвичай будуть похибки в накопичувальному просторі, що може робити пошук відповідних піків і, отже, відповідних прямих, нетривіальним.
Кінцевий результат перетворення Гафа для прямих — двовимірний масив (матриця), подібна до накопичувача, — одним виміром цієї матриці є квантований кут θ, а іншим — квантована відстань r. Кожен елемент цієї матриці має значення, що дорівнює сумі точок або пікселів, розташованих на прямій, поданій квантованими параметрами (r, θ). Отже, елемент із найвищим значенням вказує пряму, яка найбільше подана у вхідному зображенні.
Приклади
Приклад 1
Розгляньмо три точки даних, показані тут як чорні крапки.
- Через кожну точку даних відкладено декілька прямих, які проходять під різними кутами. Їх тут показано різними кольорами.
- Перетворення Гафа накопичує внески від усіх пікселів у виявленому контурі. Для кожної прямої існує опорний відрізок, який перпендикулярний до неї й перетинає початок координат. У кожному випадку однин з них показано стрілкою.
- Розраховують довжину (тобто перпендикулярну відстань до початку координат) і кут кожного опорного відрізка. Довжини та кути наведено в таблиці під діаграмами.
З цих розрахунків видно, що в усіх випадках опорний відрізок під кутом 60° має схожу довжину. Отже, зрозуміло, що відповідні прямі (сині на зображенні вище) дуже схожі. Таким чином, можливо вважати, що всі точки лежать близько до синьої прямої.
Приклад 2
Нижче наведено інший приклад, який показує результати перетворення Гафа на растровому зображенні, що містить дві товсті прямі.
Результати цього перетворення було збережено в матриці. Значення комірок подає кількість кривих через кожну точку. Вищі значення комірок відображено яскравіше. Дві виразно яскраві плями — параметри Гафа цих двох прямих. За положенням цих плям можливо визначити кут і відстань від центру зображення цих двох прямих у первинному зображенні.
Варіації та розширення
Використання напрямку градієнта для зниження числа голосів
Вдосконалення, запропоноване О'Ґорманом і Клоузом, можливо використовувати для виявляння ліній, якщо брати до уваги, що локальний градієнт яскравості зображення обов'язково буде ортогональним до контуру. Оскільки виявляння контурів зазвичай передбачає обчислення величини градієнта яскравості, напрямок градієнта часто знаходять як побічний ефект. Якщо задана точка з координатами (x, y) і справді перебуває на прямій, то локальний напрямок градієнта дає параметр θ, що відповідає згаданій лінії, й тоді негайно отримується параметр r. (Шапіро та Стокман, 305) Напрямок градієнта можливо оцінювати з точністю до 20°, що скорочує синусоїду від повних 180° до приблизно 45°. Це зменшує час обчислення та має цікавий ефект зменшення кількості марних голосів, відтак покращуючи видимість піків, що відповідають реальним прямим на зображенні.
Ядрове перетворення Гафа
Фернандес та Олівейра запропонували вдосконалену схему голосування для перетворення Гафа, яка дозволяє програмному втіленню досягати продуктивності реального часу навіть на відносно великих зображеннях (напр., 1280×960). Ядрове перетворення Гафа (англ. Kernel-based Hough transform, KHT) використовує те саме параметрування , запропоноване Дудою й Гартом, але працює з кластерами приблизно колінеарних пікселів. Голосування для кожного кластера проводять з використанням спрямованого еліптично-гауссового ядра, яке моделює невизначеність, пов'язану з найкращим допасовуванням прямої до відповідного кластера. Цей підхід не лише значно покращує продуктивність цієї схеми голосування, але також створює набагато чистіший накопичувач і робить перетворення стійкішим до виявляння помилкових ліній.
Тривимірне ядрове перетворення Гафа для виявляння площин
Лімбергер та Олівейра запропонували детерміновану методику для виявляння площин у невпорядкованих хмарах точок, витратність якої становить відносно кількості зразків, досягаючи продуктивності реального часу для відносно великих наборів даних (до точок на ЦП 3.4 ГГц). Вона ґрунтується на швидкій стратегії голосування перетворення Гафа для планарних областей, натхненна ядровим перетворенням Гафа. Це тривимірне ядрове перетворення Гафа (англ. 3D kernel-based Hough transform, 3DKHT) використовує швидкий і надійний алгоритм сегментування кластерів приблизно копланарних зразків, і віддає голоси за окремі кластери (замість окремих зразків) на сферичному накопичувачі () з використанням тривимірного гауссового ядра. Цей підхід на кілька порядків швидший за наявні (недетерміновані) методики виявляння площин у хмарах точок, такі як рандомізоване перетворення Гафа та RANSAC, і краще масштабується з розміром наборів даних. Його можливо використовувати з будь-яким застосунком, що потребує швидкого виявляння пласких об'єктів на великих наборах даних.
Перетворення Гафа для кривих, і його узагальнення для аналітичних і неаналітичних фігур
Хоча описана вище версія перетворення стосується лише пошуку прямих, подібне перетворення можливо використовувати для пошуку будь-якої фігури, яку може бути подано набором параметрів. Коло, наприклад, можливо перетворити на набір із трьох параметрів, що подають його центр та радіус, що робить простір Гафа тривимірним. Таким чином також можливо знаходити довільні еліпси та криві, як і будь-яку фігуру, яку легко виразити як набір параметрів.
Фернандес та Олівейра запропонували узагальнення перетворення Гафа для виявляння аналітичних фігур у просторах будь-якої вимірності. На відміну від інших підходів на основі перетворення Гафа для аналітичних фігур, методика Фернандеса не залежить ані від фігури, яку потрібно виявляти, ані від типу вхідних даних. Виявляння може бути доведено до типу аналітичної фігури зміною передбачуваної моделі геометрії, у якій було кодовано дані (наприклад, евклідів простір, проєктивний простір, конформна геометрія тощо), тоді як запропоноване формулювання лишається незмінним. Це також гарантує, що передбачувані фігури подано з найменшою можливою кількістю параметрів, й уможливлює одночасне виявляння різних типів фігур, що найкраще відповідають вхідному набору записів з різними вимірностями та різними геометричними визначеннями (наприклад, одночасне виявляння площин і сфер, які найкраще відповідають набору точок, прямих та кіл).
Для складніших фігур на площині (тобто таких, які неможливо подати аналітично в якомусь двовимірному просторі), використовують узагальнене перетворення Гафа, яке дозволяє ознаці голосувати за певне положення, спрямування та/або масштабування фігури за допомогою попередньо визначеної таблиці пошуку. Це перетворення Гафа накопичує внески від усіх пікселів виявленого контуру.
Процес виявляння кіл
Детальніші відомості з цієї теми ви можете знайти в статті [en].
Змінити цей алгоритм для виявляння колових фігур замість прямих ліній відносно просто.
- Спершу ми створюємо накопичувальний простір, який складається з комірки для кожного пікселя. Спочатку кожна комірка має значення 0.
- Для кожної контурної точки (i, j) на зображенні збільшити всі комірки, які відповідно до рівняння кола можуть бути центрами кола. Ці комірки подаються у рівнянні літерою .
- Для кожного можливого значення , знайденого на попередньому кроці, знайти всі можливі значення , що задовольняють рівняння.
- Знайти локальні максимуми у накопичувальному просторі. Ці комірки подають кола, які було виявлено алгоритмом.
Якщо ми не знаємо заздалегідь радіус кола, яке ми намагаємося знайти, ми можемо використовувати тривимірний накопичувальний простір для пошуку кіл довільного радіусу. Природно, це витратніше з погляду обчислень.
Цей метод також може виявляти кола, які частково знаходяться за межами накопичувального простору, якщо в ньому залишається достатня частина кола.
Виявляння тривимірних об'єктів (площин та циліндрів)
Перетворення Гафа також можливо використовувати для виявляння тривимірних об'єктів у дальнісних даних та тривимірних хмарах точок. Розширення класичного перетворення Гафа для виявляння площин доволі просте. Площину подають її явним рівнянням , для якого ми можемо використовувати тривимірний простір Гафа, що відповідає , та . Це розширення страждає від тих же проблем, що й його двовимірний аналог, тобто, приблизно горизонтальні площини можливо виявляти надійно, тоді як продуктивність падає, коли напрямок площини стає вертикальним (великі значення та посилюють шум у даних). Цю формулу площини використовували для виявляння площин у хмарах точок, отриманих лазерним скануванням з повітря, вона працює дуже добре, оскільки в цій області всі площини майже горизонтальні.
Для узагальненого виявляння площин перетворенням Гафа площину можливо параметрувати вектором нормалі (з використанням сферичних координат) та її віддалі від початку координат , в результаті чого утворюється тривимірний простір Гафа. Це призводить до того, що кожна точка вхідних даних голосує за синусоїдну поверхню в просторі Гафа. Перетин цих синусоїдних поверхонь вказує на наявність площини. Загальніший підхід для понад 3 вимірів вимагає, щоб евристика пошуку лишалася здійсненною.
Перетворення Гафа також використовували для пошуку циліндричних об'єктів у хмарах точок за допомогою двоетапного підходу. Перший крок визначає спрямування циліндра, а другий знаходить положення та радіус.
Використання зважених ознак
Одна з поширених деталей варіацій: пошук засіків із найбільшою кількістю на одному етапі можливо використовувати для обмеження діапазону значень, шуканих на наступному.
Ретельно підібраний простір параметрів
Простір параметрів високої вимірності для перетворення Гафа не лише повільний, але й, при втіленні без попереднього обдумування, може легко переповнювати доступну пам'ять. Навіть якщо середовище програмування дозволяє виділяння масивів, більших за доступний простір пам'яті, через віртуальну пам'ять, то необхідна для цього кількість змін сторінок буде дуже вимогливою, оскільки накопичувальний масив використовується в режимі довільного доступу, нечасто затримуючись на безперервній пам'яті при переходах від індексу до індексу.
Розгляньмо задачу пошуку еліпсів на зображенні 800×600. Якщо припустити, що радіуси еліпсів спрямовано вздовж головних осей, то простір параметрів чотиривимірний. (x, y) визначають центр еліпса, а a та b позначують два радіуси. Дозвіл центрові бути будь-де в зображенні додає обмеження 0<x<800 та 0<y<600. Якщо радіусам надати як обмеження ті самі значення, то залишиться розріджено заповнений накопичувальний масив із понад 230 мільярдами значень.
Навряд чи програмі, задуманій таким чином, буде дозволено виділити достатню кількість пам'яті. Це означає не неможливість розв'язання цієї задачі, а лише необхідність знайти нові способи обмеження розміру накопичувального масиву, що зробить це здійсненним. Наприклад:
- Якщо розумно припустити, що кожен з еліпсів повністю міститься в зображенні, діапазон радіусів можливо зменшити. Радіуси можуть бути найбільшими, якщо центр еліпса перебуває в центрі зображення, що дозволяє контуру еліпса розтягуватися до країв. У цьому крайньому випадку кожен з радіусів може становити лише половину величини розміру зображення того ж напрямку. Зменшення діапазону a та b таким чином зменшує накопичувальний масив до 57 мільярдів значень.
- Точність торгу для простору в оцінюванні центру: якщо центр передбачувати з відхиленням на 3 як по осі x, так і по осі y, це зменшує розмір накопичувального масиву приблизно до 6 мільярдів значень.
- Точність торгу для простору в оцінюванні радіусів: якщо радіуси оцінювати так, щоби кожен був відхилений на 5, відбувається подальше зменшення розміру накопичувального масиву приблизно на 256 мільйонів значень.
- Обрізування зображення до цікавих областей. Це залежить від зображення, а отже, воно непередбачуване, але уявіть випадок, коли всі цікаві контури в зображення знаходяться у верхньому лівому квадранті цього зображення. У цьому випадку накопичувальний масив можливо зменшити ще далі, обмеживши всі 4 параметри коефіцієнтом 2, що дасть загальний коефіцієнт зменшення 16.
При застосуванні до наведеного прикладу лише перших трьох із цих обмежень розмір накопичувального масиву зменшується майже в 1000 разів, доходячи до розміру, який з більшою ймовірністю вміститься в пам'яті сучасного комп'ютера.
Ефективний алгоритм виявлення еліпсів
Йонхон Сє та Цян Цзі пропонують ефективний спосіб втілення перетворення Гафа для виявлення еліпсів шляхом подолання проблем із пам'яттю. Як зазначено в алгоритмі (на сторінці 2 статті), щоби виявляти еліпси на зображенні, цей підхід використовує лише одновимірний накопичувач (для малої осі). Складність становить O(N3) відносно кількості ненульових точок на зображенні.
Обмеження
Перетворення Гафа є дієвим, лише якщо велика кількість голосів потрапляє до правильного засіку, так що цей засік можливо легко виявити серед шуму тла. Це означає, що засік мусить не бути занадто малим, бо інакше частина голосів потраплятиме до сусідніх засіків, зменшуючи таким чином видимість основного засіку.
Крім того, коли число параметрів велике (тобто, коли ми використовуємо перетворення Гафа із зазвичай понад трьома параметрами), середня кількість голосів, відданих одному засікові, дуже низька, й ті засіки, що відповідають реальній фігурі на зображенні, не обов'язково матимуть набагато більше число голосів, аніж їхні сусіди. Складність зростає зі швидкістю з кожним додатковим параметром, де — розмір простору зображення, а — число параметрів. (Шапіро та Стокман, 310) Тож перетворення Гафа слід використовувати дуже обережно, щоби виявляти щось крім прямих або кіл.
Нарешті, більша частина ефективності перетворення Гафа залежить від якості вхідних даних: щоби перетворення Гафа було ефективним, контури повинно бути виявлено добре. Використання перетворення Гафа на зашумлених зображеннях є дуже делікатною справою, і, як правило, перед ним необхідно використовувати етап знешумлювання. У випадку, коли зображення спотворено поцяткованістю, як у випадку з радіолокаційними зображеннями, перетворення Радона іноді є кращим для виявлення прямих, оскільки воно послаблює шум шляхом підсумовування.
Див. також
Примітки
- [en] and Stockman, George. "Computer Vision", Prentice-Hall, Inc. 2001 (англ.)
- Duda, R. O. and P. E. Hart, "Use of the Hough Transformation to Detect Lines and Curves in Pictures," Comm. ACM, Vol. 15, pp. 11–15 (January, 1972) (англ.)
- Hough, P.V.C. Method and means for recognizing complex patterns, U.S. Patent 3,069,654, Dec. 18, 1962 (англ.)
- P.V.C. Hough, Machine Analysis of Bubble Chamber Pictures, Proc. Int. Conf. High Energy Accelerators and Instrumentation, 1959 (англ.)
- [en] and [en] (April 1971). Use of the Hough Transformation to Detect Lines and Curves in Pictures (PDF). [en]. (англ.)
- A short introduction to the Radon and Hough transforms and how they relate to each other. CiteSeerX. (англ.)
- Hough Transform. (англ.)
- Stephens, R. S. (1990). A probabilistic approach to the Hough Transform. Procedings of the British Machine Vision Conference 1990. British Machine Vision Association: 12.1—12.6. doi:10.5244/c.4.12. (англ.)
- Jensen, Jeppe. (PDF). Архів оригіналу (PDF) за 26 квітня 2012. Процитовано 16 грудня 2011. (англ.)
- Fernandes, L.A.F.; Oliveira, M.M. (2008). Real-time line detection through an improved Hough transform voting scheme. Pattern Recognition. 41 (1): 299—314. Bibcode:2008PatRe..41..299F. doi:10.1016/j.patcog.2007.04.003. (англ.)
- Limberger, F. A.; Oliveira, M. M. (2015). Real-Time Detection of Planar Regions in Unorganized Point Clouds (PDF). Pattern Recognition. 48 (6): 2043—2053. Bibcode:2015PatRe..48.2043L. doi:10.1016/j.patcog.2014.12.020. hdl:10183/97001. (англ.)
- Fernandes, L.A.F.; Oliveira, M.M. (2012). A general framework for subspace detection in unordered multidimensional data. Pattern Recognition. 45 (9): 3566—3579. Bibcode:2012PatRe..45.3566F. doi:10.1016/j.patcog.2012.02.033. (англ.)
- Ballard, D.H. (1981). Generalizing the Houghtransform to detectarbitraryshapes. Pattern Recognition. 13 (2): 111—122. Bibcode:1981PatRe..13..111B. doi:10.1016/0031-3203(81)90009-1. hdl:1802/13802. (англ.)
- Vosselman, G., Dijkman, S: "3D Building Model Reconstruction from Point Clouds and Ground Plans", International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, vol 34, part 3/W4, October 22–24, 2001, Annapolis, MA, USA, pp. 37–44. (англ.)
- Tahir Rabbani: "Automatic reconstruction of industrial installations – Using point clouds and images" [ 2008-12-01 у Wayback Machine.], pages 43–44, Publications on Geodesy 62, Delft, 2006. . (англ.)
- Achtert, Elke; Böhm, Christian; David, Jörn; Kröger, Peer; (2008). Global Correlation Clustering Based on the Hough Transform. Statistical Analysis and Data Mining. 1 (3): 111—127. doi:10.1002/sam.10012. S2CID 5111283. (англ.)
- Tahir Rabbani and Frank van den Heuvel, "Efficient hough transform for automatic detection of cylinders in point clouds" in Proceedings of the 11th Annual Conference of the Advanced School for Computing and Imaging (ASCI '05), The Netherlands, June 2005. (англ.)
- Yonghong Xie; Qiang Ji (2002). A new efficient ellipse detection method. Object recognition supported by user interaction for service robots. Т. 2. с. 957—960. CiteSeerX 10.1.1.1.8792. doi:10.1109/ICPR.2002.1048464. ISBN . S2CID 9276255. (англ.)
- Image Transforms - Hough Transform. Homepages.inf.ed.ac.uk. Процитовано 17 серпня 2009. (англ.)
Посилання
- — код C++ — приклад бібліотеки CImg (бібліотека з відкритим кодом, первинний код , зображення у відтінках сірого)
- (англ.)
- — Java-аплет + первинник для вивчення перетворення Гафа у формі нахилу-відтину
- — Java-аплет + первинник для вивчення перетворення Гафа в нормальній формі
- http://www.sydlogan.com/deskew.html — Вирівнювання скосу зображень за допомогою перетворення Гафа (зображення у відтінках сірого, первинний код )
- — Вирівнювання скосу зображень за допомогою перетворення Гафа (первинний код Visual Basic)
- http://www.mitov.com/products/visionlab — Безкоштовна для освітніх цілей бібліотека Delphi, та .NET, що містить складові перетворень Гафа для прямих, кіл та відрізків.
- Tarsha-Kurdi, F., Landes, T., Grussenmeyer, P., 2007a. Перетворення Хафа та розширені алгоритми RANSAC для автоматичного виявлення тривимірних площин даху будівлі з даних Лідара. ISPRS Proceedings. Семінар Лазерне сканування. Еспоо, Фінляндія, 12–14 вересня 2007 р.
- містить втілення перетворення Гафа з відкритим кодом C++ для прямих та кіл
- http://www.vision.ime.usp.br/~edelgado/defesa/code/hough.html Перетворення Гафа для виявляння еліпсів, втілене мовою C.
- scikit-image Перетворення Гафа для прямих, кіл та еліпсів, втілене мовою Python.
- Перетворення Гафа на основі вейвлетного фільтрування для виявляння кіл певного радіуса. (Код Matlab.)
- Перетворення Гафа для прямих із використанням MATLAB
- Перетворення Гафа для кіл у MATLAB
- KHT — первинний код C++.
- 3DKHT — первинний код C++ та набори даних.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Peretvo rennya Ga fa angl Hough transform ce metodika vidilyannya oznak vzhivana v en komp yuternomu bachenni ta cifrovij obrobci zobrazhen Priznachennya ciyeyi metodiki znahoditi nedoskonali primirniki ob yektiv pevnogo klasu figur za dopomogoyu proceduri golosuvannya Cyu proceduru golosuvannya vikonuyut u en z yakogo kandidaturi ob yektiv otrimuyut yak lokalni maksimumi u tak zvanomu nakopichuvalnomu prostori angl accumulator space yavno stvoryuvanomu algoritmom dlya obchislennya peretvorennya Gafa Klasichne peretvorennya Gafa stosuvalosya vstanovlyuvannyam pryamih na zobrazhenni ale piznishe jogo bulo rozshireno dlya vstanovlyuvannya polozhen dovilnih figur najchastishe kil abo elipsiv Peretvorennya Gafa yake sogodni vikoristovuyut povsyudno bulo vinajdeno 1972 roku en ta en yaki nazvali jogo uzagalnenim peretvorennyam Gafa angl generalized Hough transform na chest vidpovidnogo patentu Pola Gafa 1962 roku Ce peretvorennya bulo populyarizovano u spilnoti komp yuternogo bachennya en cherez stattyu v zhurnali 1981 roku pid nazvoyu Uzagalnennya peretvorennya Gafa dlya viyavlyannya dovilnih figur IstoriyaPervinno jogo bulo vinajdeno dlya mashinnogo analizu fotografij bulbashkovih kamer Gaf 1959 Peretvorennya Gafa bulo zapatentovano 1962 roku yak U S Patent 3 069 654 ta peredano Komisiyi z atomnoyi energiyi SShA pid nazvoyu Metod i zasobi dlya rozpiznavannya skladnih modelej U comu patenti vikoristano parametruvannya nahilu vidtinu dlya pryamih sho nezgrabno prizvodit do neobmezhenogo prostoru peretvorennya oskilki nahil mozhe syagati neskinchennosti Parametruvannya ro teta povsyudno vikoristovuvane sogodni bulo vpershe opisano v Duda R O Hart P E January 1972 Use of the Hough Transformation to Detect Lines and Curves in Pictures Comm ACM 15 11 15 doi 10 1145 361237 361242 S2CID 1105637 angl hocha vono vzhe bulo standartom dlya peretvorennya Radona shonajmenshe z 1930 h rokiv Variaciyu O Gormana ta Klouza opisano v O Gorman Frank Clowes MB 1976 Finding Picture Edges Through Collinearity of Feature Points IEEE Trans Comput 25 4 449 456 doi 10 1109 TC 1976 1674627 S2CID 10851078 angl Rozpovid pro te yak bulo vinajdeno suchasnij viglyad peretvorennya Gafa navedeno v Hart P E November 2009 PDF IEEE Signal Processing Magazine 26 6 18 22 doi 10 1109 msp 2009 934181 S2CID 16245096 Arhiv originalu PDF za 16 travnya 2018 angl TeoriyaV avtomatizovanomu analizi cifrovih zobrazhen chasto vinikaye pidzadacha viyavlyannya prostih figur takih yak pryami kola abo elipsi U bagatoh vipadkah yak etap poperednoyi obrobki mozhlivo vikoristovuvati viyavlyach konturiv shob otrimuvati tochki abo pikseli zobrazhennya yaki znahodyatsya na potribnij krivij u prostori zobrazhennya Prote cherez nedoskonalist danih zobrazhennya abo viyavlyacha konturiv mozhut buti vidsutni tochki abo pikseli na bazhanih krivih a takozh prostorovi vidhilennya mizh idealnoyu pryamoyu kolom elipsom i shumnimi konturnimi tochkami otrimanimi z viyavlyacha konturiv Z cih prichin grupuvati vidileni konturni oznaki u vidpovidnij nabir pryamih kil abo elipsiv chasto netrivialno Meta peretvorennya Gafa polyagaye u rozv yazanni ciyeyi problemi umozhlivlyuyuchi grupuvannya konturnih tochok v ob yekti kandidati shlyahom vikonannya proceduri yavnogo golosuvannya nad naborom parametrovanih ob yektiv zobrazhennya Shapiro ta Stokman 304 Viyavlyannya pryamih Najprostishij vipadok peretvorennya Gafa viyavlyannya pryamih U zagalnomu vipadku pryamu y mx b mozhlivo podati u viglyadi tochki b m u prostori parametriv Prote vertikalni pryami stanovlyat problemu Voni prizvodili b do neobmezhenih znachen parametra nahilu m Takim chinom z obchislyuvalnih mirkuvan Duda j Gart zaproponuvali vikoristovuvati en r xcos 8 ysin 8 displaystyle r x cos theta y sin theta de r displaystyle r vidstan vid pochatku koordinat do najblizhchoyi tochki na pryamij a 8 displaystyle theta kut mizh vissyu x displaystyle x ta pryamoyu sho spoluchaye pochatok koordinat iz ciyeyu najblizhchoyu tochkoyu Intuyitivne rozuminnya dlya cogo viglyadu podibno do rivnyannya ploshini polyagaye v tomu sho kozhen vektor na pryamij musit buti perpendikulyarnim ortogonalnim comu vidrizkovi dovzhini r displaystyle r sho jde vid pochatku koordinat Legko pobachiti sho tochka peretinu liniyi ciyeyi funkciyi ta cogo perpendikulyara yakij vihodit z pochatku koordinat perebuvaye v P0 rcos 8 rsin 8 displaystyle P 0 r cos theta r sin theta Otzhe dlya bud yakoyi tochki P displaystyle P na cij pryamij vektor P P0 displaystyle P P 0 musit buti ortogonalnim do vektora P0 0 P0 displaystyle P 0 0 P 0 Tozh mi otrimuyemo sho dlya bud yakoyi tochki P x y displaystyle P x y na liniyi ciyeyi funkciyi povinno vikonuvatisya rivnyannya P P0 P0 0 displaystyle P P 0 cdot P 0 0 Otzhe P P0 P0 P0 displaystyle P cdot P 0 P 0 cdot P 0 Oskilki P x y displaystyle P x y a P0 rcos 8 rsin 8 displaystyle P 0 r cos theta r sin theta mi otrimuyemo r xcos 8 ysin 8 r2 cos2 8 sin2 8 displaystyle r x cos theta y sin theta r 2 cos 2 theta sin 2 theta Oskilki cos2 8 sin2 8 1 displaystyle cos 2 theta sin 2 theta 1 mi otrimuyemo ostatochnij viglyad xcos 8 ysin 8 r displaystyle x cos theta y sin theta r Vidtak iz kozhnoyu pryamoyu zobrazhennya mozhlivo pov yazati paru r 8 displaystyle r theta Ploshinu r 8 displaystyle r theta inodi nazivayut prostorom Gafa angl Hough space dlya mnozhini pryamih u dvoh vimirah Ce podannya robit peretvorennya Gafa konceptualno duzhe blizkim do dvovimirnogo peretvorennya Radona Naspravdi peretvorennya Gafa matematichno ekvivalentne peretvorennyu Radona ale obidva peretvorennya mayut rizni obchislyuvalni interpretaciyi tradicijno pov yazuvani z nimi Dlya zadanoyi odniyeyi tochki na ploshini mnozhina vsih pryamih sho prohodyat cherez neyi vidpovidaye sinusoyidnij krivij na ploshini r 8 unikalnij dlya ciyeyi tochki Mnozhina z dvoh abo bilshe tochok yaki utvoryuyut pryamu davatime peretin sinusoyid na r 8 dlya ciyeyi pryamoyi Takim chinom zadachu viyavlyannya en mozhlivo peretvoriti na zadachu znahodzhennya konkurentnih krivih Imovirnisna interpretaciya Dlya zadanoyi figuri parametrovanoyi naborom a1 at displaystyle a 1 a t sho nabuvaye znachen u mnozhini S displaystyle S zvanij prostorom ciyeyi figuri angl shape space peretvorennya Gafa mozhlivo interpretuvati yak zvorotne peretvorennya rozpodilu jmovirnosti v prostori zobrazhennya do prostoru figuri S displaystyle S j interpretuvati viyavlyannya figuri yak ocinyuvannya maksimalnoyi pravdopodibnosti U yavnomu viglyadi peretvorennya Gafa vikonuye nablizhene nayivne bayesove visnovuvannya Mi pochinayemo z rivnomirnogo apriornogo v prostori figuri Mi rozglyadayemo lishe pozitivni svidchennya ta ignoruyemo vsi negativni shobi mogti viyavlyati chastkovo zatuleni figuri Mi pidsumovuyemo logarifmichnu pravdopodibnist u prostori figuri z tochnistyu do aditivnoyi staloyi Nayivne bayesove pripushennya oznachaye sho vsi pikseli v prostori zobrazhennya nadayut nezalezhni svidchennya tozh yihni pravdopodibnosti peremnozhuyutsya tobto yihni logarifmichni pravdopodibnosti dodayutsya Svoboda v aditivnij stalij dozvolyaye nam ne vikonuvati zhodnih operacij nad pikselyami tla v prostori figuri Zreshtoyu mi vikonuyemo ocinku maksimalnoyi pravdopodibnosti obirayuchi piki logarifmichnoyi pravdopodibnosti v prostori figuri VtilennyaAlgoritm peretvorennya Gafa dlya pryamih ocinyuye dva parametri sho viznachayut pryamu Prostir peretvorennya maye dva vimiri j kozhnu tochku v prostori peretvorennya vikoristovuyut yak nakopichuvach dlya viyavlyannya abo vstanovlyuvannya pryamoyi opisanoyi rivnyannyam r xcos 8 ysin 8 displaystyle r x cos theta y sin theta Kozhna tochka na viyavlenih u zobrazhenni konturah vnosit svij vnesok u nakopichuvachi Rozmirnist nakopichuvacha dorivnyuye chislu nevidomih parametriv tobto dvom rozglyadayuchi kvantovani znachennya r ta 8 v pari r 8 Dlya kozhnogo pikselya v x y ta jogo okolu algoritm peretvorennya Gafa viznachaye chi ye dostatno svidchennya pryamoyi v comu pikseli Yaksho tak vin rozrahovuye parametri r 8 ciyeyi pryamoyi a potim znahodit zasik nakopichuvacha do yakogo potraplyayut ci parametri j zbilshuye znachennya cogo zasiku Shlyahom znahodzhennya zasikiv iz najvishimi znachennyami yak pravilo shlyahom poshuku lokalnih maksimumiv u nakopichuvalnomu prostori mozhlivo vidilyati najpravdopodibnishi pryami ta zchituvati yihni nablizheni geometrichni viznachennya Shapiro ta Stokman 304 Najprostishij sposib znahoditi ci piki zastosovuvati porig yakogos viglyadu ale inshi metodiki mozhut vidavati krashi rezultati za riznih obstavin viznachati yaki pryami znajdeno a takozh skilki Oskilki vidani pryami ne mistyat zhodnoyi informaciyi pro dovzhinu na nastupnomu kroci chasto neobhidno znajti yaki chastini zobrazhennya zbigayutsya z yakimi pryamimi Krim togo cherez pohibki nedoskonalosti na etapi viyavlyannya konturiv zazvichaj budut pohibki v nakopichuvalnomu prostori sho mozhe robiti poshuk vidpovidnih pikiv i otzhe vidpovidnih pryamih netrivialnim Kincevij rezultat peretvorennya Gafa dlya pryamih dvovimirnij masiv matricya podibna do nakopichuvacha odnim vimirom ciyeyi matrici ye kvantovanij kut 8 a inshim kvantovana vidstan r Kozhen element ciyeyi matrici maye znachennya sho dorivnyuye sumi tochok abo pikseliv roztashovanih na pryamij podanij kvantovanimi parametrami r 8 Otzhe element iz najvishim znachennyam vkazuye pryamu yaka najbilshe podana u vhidnomu zobrazhenni PrikladiPriklad 1 Rozglyanmo tri tochki danih pokazani tut yak chorni krapki Priklad 1Cherez kozhnu tochku danih vidkladeno dekilka pryamih yaki prohodyat pid riznimi kutami Yih tut pokazano riznimi kolorami Peretvorennya Gafa nakopichuye vneski vid usih pikseliv u viyavlenomu konturi Dlya kozhnoyi pryamoyi isnuye opornij vidrizok yakij perpendikulyarnij do neyi j peretinaye pochatok koordinat U kozhnomu vipadku odnin z nih pokazano strilkoyu Rozrahovuyut dovzhinu tobto perpendikulyarnu vidstan do pochatku koordinat i kut kozhnogo opornogo vidrizka Dovzhini ta kuti navedeno v tablici pid diagramami Z cih rozrahunkiv vidno sho v usih vipadkah opornij vidrizok pid kutom 60 maye shozhu dovzhinu Otzhe zrozumilo sho vidpovidni pryami sini na zobrazhenni vishe duzhe shozhi Takim chinom mozhlivo vvazhati sho vsi tochki lezhat blizko do sinoyi pryamoyi Priklad 2 Nizhche navedeno inshij priklad yakij pokazuye rezultati peretvorennya Gafa na rastrovomu zobrazhenni sho mistit dvi tovsti pryami Rezultati cogo peretvorennya bulo zberezheno v matrici Znachennya komirok podaye kilkist krivih cherez kozhnu tochku Vishi znachennya komirok vidobrazheno yaskravishe Dvi virazno yaskravi plyami parametri Gafa cih dvoh pryamih Za polozhennyam cih plyam mozhlivo viznachiti kut i vidstan vid centru zobrazhennya cih dvoh pryamih u pervinnomu zobrazhenni Variaciyi ta rozshirennyaVikoristannya napryamku gradiyenta dlya znizhennya chisla golosiv Vdoskonalennya zaproponovane O Gormanom i Klouzom mozhlivo vikoristovuvati dlya viyavlyannya linij yaksho brati do uvagi sho lokalnij gradiyent yaskravosti zobrazhennya obov yazkovo bude ortogonalnim do konturu Oskilki viyavlyannya konturiv zazvichaj peredbachaye obchislennya velichini gradiyenta yaskravosti napryamok gradiyenta chasto znahodyat yak pobichnij efekt Yaksho zadana tochka z koordinatami x y i spravdi perebuvaye na pryamij to lokalnij napryamok gradiyenta daye parametr 8 sho vidpovidaye zgadanij liniyi j todi negajno otrimuyetsya parametr r Shapiro ta Stokman 305 Napryamok gradiyenta mozhlivo ocinyuvati z tochnistyu do 20 sho skorochuye sinusoyidu vid povnih 180 do priblizno 45 Ce zmenshuye chas obchislennya ta maye cikavij efekt zmenshennya kilkosti marnih golosiv vidtak pokrashuyuchi vidimist pikiv sho vidpovidayut realnim pryamim na zobrazhenni Yadrove peretvorennya Gafa Fernandes ta Olivejra zaproponuvali vdoskonalenu shemu golosuvannya dlya peretvorennya Gafa yaka dozvolyaye programnomu vtilennyu dosyagati produktivnosti realnogo chasu navit na vidnosno velikih zobrazhennyah napr 1280 960 Yadrove peretvorennya Gafa angl Kernel based Hough transform KHT vikoristovuye te same parametruvannya r 8 displaystyle r theta zaproponovane Dudoyu j Gartom ale pracyuye z klasterami priblizno kolinearnih pikseliv Golosuvannya dlya kozhnogo klastera provodyat z vikoristannyam spryamovanogo eliptichno gaussovogo yadra yake modelyuye neviznachenist pov yazanu z najkrashim dopasovuvannyam pryamoyi do vidpovidnogo klastera Cej pidhid ne lishe znachno pokrashuye produktivnist ciyeyi shemi golosuvannya ale takozh stvoryuye nabagato chistishij nakopichuvach i robit peretvorennya stijkishim do viyavlyannya pomilkovih linij Trivimirne yadrove peretvorennya Gafa dlya viyavlyannya ploshin Limberger ta Olivejra zaproponuvali determinovanu metodiku dlya viyavlyannya ploshin u nevporyadkovanih hmarah tochok vitratnist yakoyi stanovit nlog n displaystyle n log n vidnosno kilkosti zrazkiv dosyagayuchi produktivnosti realnogo chasu dlya vidnosno velikih naboriv danih do 105 displaystyle 10 5 tochok na CP 3 4 GGc Vona gruntuyetsya na shvidkij strategiyi golosuvannya peretvorennya Gafa dlya planarnih oblastej nathnenna yadrovim peretvorennyam Gafa Ce trivimirne yadrove peretvorennya Gafa angl 3D kernel based Hough transform 3DKHT vikoristovuye shvidkij i nadijnij algoritm segmentuvannya klasteriv priblizno koplanarnih zrazkiv i viddaye golosi za okremi klasteri zamist okremih zrazkiv na sferichnomu nakopichuvachi 8 ϕ r displaystyle theta phi rho z vikoristannyam trivimirnogo gaussovogo yadra Cej pidhid na kilka poryadkiv shvidshij za nayavni nedeterminovani metodiki viyavlyannya ploshin u hmarah tochok taki yak randomizovane peretvorennya Gafa ta RANSAC i krashe masshtabuyetsya z rozmirom naboriv danih Jogo mozhlivo vikoristovuvati z bud yakim zastosunkom sho potrebuye shvidkogo viyavlyannya plaskih ob yektiv na velikih naborah danih Peretvorennya Gafa dlya krivih i jogo uzagalnennya dlya analitichnih i neanalitichnih figur Hocha opisana vishe versiya peretvorennya stosuyetsya lishe poshuku pryamih podibne peretvorennya mozhlivo vikoristovuvati dlya poshuku bud yakoyi figuri yaku mozhe buti podano naborom parametriv Kolo napriklad mozhlivo peretvoriti na nabir iz troh parametriv sho podayut jogo centr ta radius sho robit prostir Gafa trivimirnim Takim chinom takozh mozhlivo znahoditi dovilni elipsi ta krivi yak i bud yaku figuru yaku legko viraziti yak nabir parametriv Fernandes ta Olivejra zaproponuvali uzagalnennya peretvorennya Gafa dlya viyavlyannya analitichnih figur u prostorah bud yakoyi vimirnosti Na vidminu vid inshih pidhodiv na osnovi peretvorennya Gafa dlya analitichnih figur metodika Fernandesa ne zalezhit ani vid figuri yaku potribno viyavlyati ani vid tipu vhidnih danih Viyavlyannya mozhe buti dovedeno do tipu analitichnoyi figuri zminoyu peredbachuvanoyi modeli geometriyi u yakij bulo kodovano dani napriklad evklidiv prostir proyektivnij prostir konformna geometriya tosho todi yak zaproponovane formulyuvannya lishayetsya nezminnim Ce takozh garantuye sho peredbachuvani figuri podano z najmenshoyu mozhlivoyu kilkistyu parametriv j umozhlivlyuye odnochasne viyavlyannya riznih tipiv figur sho najkrashe vidpovidayut vhidnomu naboru zapisiv z riznimi vimirnostyami ta riznimi geometrichnimi viznachennyami napriklad odnochasne viyavlyannya ploshin i sfer yaki najkrashe vidpovidayut naboru tochok pryamih ta kil Dlya skladnishih figur na ploshini tobto takih yaki nemozhlivo podati analitichno v yakomus dvovimirnomu prostori vikoristovuyut uzagalnene peretvorennya Gafa yake dozvolyaye oznaci golosuvati za pevne polozhennya spryamuvannya ta abo masshtabuvannya figuri za dopomogoyu poperedno viznachenoyi tablici poshuku Ce peretvorennya Gafa nakopichuye vneski vid usih pikseliv viyavlenogo konturu Proces viyavlyannya kil Detalnishi vidomosti z ciyeyi temi vi mozhete znajti v statti en Zminiti cej algoritm dlya viyavlyannya kolovih figur zamist pryamih linij vidnosno prosto Spershu mi stvoryuyemo nakopichuvalnij prostir yakij skladayetsya z komirki dlya kozhnogo pikselya Spochatku kozhna komirka maye znachennya 0 Dlya kozhnoyi konturnoyi tochki i j na zobrazhenni zbilshiti vsi komirki yaki vidpovidno do rivnyannya kola i a 2 j b 2 r2 displaystyle i a 2 j b 2 r 2 mozhut buti centrami kola Ci komirki podayutsya u rivnyanni literoyu a displaystyle a Dlya kozhnogo mozhlivogo znachennya a displaystyle a znajdenogo na poperednomu kroci znajti vsi mozhlivi znachennya b displaystyle b sho zadovolnyayut rivnyannya Znajti lokalni maksimumi u nakopichuvalnomu prostori Ci komirki podayut kola yaki bulo viyavleno algoritmom Yaksho mi ne znayemo zazdalegid radius kola yake mi namagayemosya znajti mi mozhemo vikoristovuvati trivimirnij nakopichuvalnij prostir dlya poshuku kil dovilnogo radiusu Prirodno ce vitratnishe z poglyadu obchislen Cej metod takozh mozhe viyavlyati kola yaki chastkovo znahodyatsya za mezhami nakopichuvalnogo prostoru yaksho v nomu zalishayetsya dostatnya chastina kola Viyavlyannya trivimirnih ob yektiv ploshin ta cilindriv Peretvorennya Gafa takozh mozhlivo vikoristovuvati dlya viyavlyannya trivimirnih ob yektiv u dalnisnih danih ta trivimirnih hmarah tochok Rozshirennya klasichnogo peretvorennya Gafa dlya viyavlyannya ploshin dovoli proste Ploshinu podayut yiyi yavnim rivnyannyam z axx ayy d displaystyle z a x x a y y d dlya yakogo mi mozhemo vikoristovuvati trivimirnij prostir Gafa sho vidpovidaye ax displaystyle a x ay displaystyle a y ta d displaystyle d Ce rozshirennya strazhdaye vid tih zhe problem sho j jogo dvovimirnij analog tobto priblizno gorizontalni ploshini mozhlivo viyavlyati nadijno todi yak produktivnist padaye koli napryamok ploshini staye vertikalnim veliki znachennya ax displaystyle a x ta ay displaystyle a y posilyuyut shum u danih Cyu formulu ploshini vikoristovuvali dlya viyavlyannya ploshin u hmarah tochok otrimanih lazernim skanuvannyam z povitrya vona pracyuye duzhe dobre oskilki v cij oblasti vsi ploshini majzhe gorizontalni Dlya uzagalnenogo viyavlyannya ploshin peretvorennyam Gafa ploshinu mozhlivo parametruvati vektorom normali n displaystyle n z vikoristannyam sferichnih koordinat ta yiyi viddali vid pochatku koordinat r displaystyle rho v rezultati chogo utvoryuyetsya trivimirnij prostir Gafa Ce prizvodit do togo sho kozhna tochka vhidnih danih golosuye za sinusoyidnu poverhnyu v prostori Gafa Peretin cih sinusoyidnih poverhon vkazuye na nayavnist ploshini Zagalnishij pidhid dlya ponad 3 vimiriv vimagaye shob evristika poshuku lishalasya zdijsnennoyu Peretvorennya Gafa takozh vikoristovuvali dlya poshuku cilindrichnih ob yektiv u hmarah tochok za dopomogoyu dvoetapnogo pidhodu Pershij krok viznachaye spryamuvannya cilindra a drugij znahodit polozhennya ta radius Vikoristannya zvazhenih oznak Odna z poshirenih detalej variacij poshuk zasikiv iz najbilshoyu kilkistyu na odnomu etapi mozhlivo vikoristovuvati dlya obmezhennya diapazonu znachen shukanih na nastupnomu Retelno pidibranij prostir parametriv Prostir parametriv visokoyi vimirnosti dlya peretvorennya Gafa ne lishe povilnij ale j pri vtilenni bez poperednogo obdumuvannya mozhe legko perepovnyuvati dostupnu pam yat Navit yaksho seredovishe programuvannya dozvolyaye vidilyannya masiviv bilshih za dostupnij prostir pam yati cherez virtualnu pam yat to neobhidna dlya cogo kilkist zmin storinok bude duzhe vimoglivoyu oskilki nakopichuvalnij masiv vikoristovuyetsya v rezhimi dovilnogo dostupu nechasto zatrimuyuchis na bezperervnij pam yati pri perehodah vid indeksu do indeksu Rozglyanmo zadachu poshuku elipsiv na zobrazhenni 800 600 Yaksho pripustiti sho radiusi elipsiv spryamovano vzdovzh golovnih osej to prostir parametriv chotirivimirnij x y viznachayut centr elipsa a a ta b poznachuyut dva radiusi Dozvil centrovi buti bud de v zobrazhenni dodaye obmezhennya 0 lt x lt 800 ta 0 lt y lt 600 Yaksho radiusam nadati yak obmezhennya ti sami znachennya to zalishitsya rozridzheno zapovnenij nakopichuvalnij masiv iz ponad 230 milyardami znachen Navryad chi programi zadumanij takim chinom bude dozvoleno vidiliti dostatnyu kilkist pam yati Ce oznachaye ne nemozhlivist rozv yazannya ciyeyi zadachi a lishe neobhidnist znajti novi sposobi obmezhennya rozmiru nakopichuvalnogo masivu sho zrobit ce zdijsnennim Napriklad Yaksho rozumno pripustiti sho kozhen z elipsiv povnistyu mistitsya v zobrazhenni diapazon radiusiv mozhlivo zmenshiti Radiusi mozhut buti najbilshimi yaksho centr elipsa perebuvaye v centri zobrazhennya sho dozvolyaye konturu elipsa roztyaguvatisya do krayiv U comu krajnomu vipadku kozhen z radiusiv mozhe stanoviti lishe polovinu velichini rozmiru zobrazhennya togo zh napryamku Zmenshennya diapazonu a ta b takim chinom zmenshuye nakopichuvalnij masiv do 57 milyardiv znachen Tochnist torgu dlya prostoru v ocinyuvanni centru yaksho centr peredbachuvati z vidhilennyam na 3 yak po osi x tak i po osi y ce zmenshuye rozmir nakopichuvalnogo masivu priblizno do 6 milyardiv znachen Tochnist torgu dlya prostoru v ocinyuvanni radiusiv yaksho radiusi ocinyuvati tak shobi kozhen buv vidhilenij na 5 vidbuvayetsya podalshe zmenshennya rozmiru nakopichuvalnogo masivu priblizno na 256 miljoniv znachen Obrizuvannya zobrazhennya do cikavih oblastej Ce zalezhit vid zobrazhennya a otzhe vono neperedbachuvane ale uyavit vipadok koli vsi cikavi konturi v zobrazhennya znahodyatsya u verhnomu livomu kvadranti cogo zobrazhennya U comu vipadku nakopichuvalnij masiv mozhlivo zmenshiti she dali obmezhivshi vsi 4 parametri koeficiyentom 2 sho dast zagalnij koeficiyent zmenshennya 16 Pri zastosuvanni do navedenogo prikladu lishe pershih troh iz cih obmezhen rozmir nakopichuvalnogo masivu zmenshuyetsya majzhe v 1000 raziv dohodyachi do rozmiru yakij z bilshoyu jmovirnistyu vmistitsya v pam yati suchasnogo komp yutera Efektivnij algoritm viyavlennya elipsiv Jonhon Sye ta Cyan Czi proponuyut efektivnij sposib vtilennya peretvorennya Gafa dlya viyavlennya elipsiv shlyahom podolannya problem iz pam yattyu Yak zaznacheno v algoritmi na storinci 2 statti shobi viyavlyati elipsi na zobrazhenni cej pidhid vikoristovuye lishe odnovimirnij nakopichuvach dlya maloyi osi Skladnist stanovit O N3 vidnosno kilkosti nenulovih tochok na zobrazhenni ObmezhennyaPeretvorennya Gafa ye diyevim lishe yaksho velika kilkist golosiv potraplyaye do pravilnogo zasiku tak sho cej zasik mozhlivo legko viyaviti sered shumu tla Ce oznachaye sho zasik musit ne buti zanadto malim bo inakshe chastina golosiv potraplyatime do susidnih zasikiv zmenshuyuchi takim chinom vidimist osnovnogo zasiku Krim togo koli chislo parametriv velike tobto koli mi vikoristovuyemo peretvorennya Gafa iz zazvichaj ponad troma parametrami serednya kilkist golosiv viddanih odnomu zasikovi duzhe nizka j ti zasiki sho vidpovidayut realnij figuri na zobrazhenni ne obov yazkovo matimut nabagato bilshe chislo golosiv anizh yihni susidi Skladnist zrostaye zi shvidkistyu O Am 2 displaystyle mathcal O left A m 2 right z kozhnim dodatkovim parametrom de A displaystyle A rozmir prostoru zobrazhennya a m displaystyle m chislo parametriv Shapiro ta Stokman 310 Tozh peretvorennya Gafa slid vikoristovuvati duzhe oberezhno shobi viyavlyati shos krim pryamih abo kil Nareshti bilsha chastina efektivnosti peretvorennya Gafa zalezhit vid yakosti vhidnih danih shobi peretvorennya Gafa bulo efektivnim konturi povinno buti viyavleno dobre Vikoristannya peretvorennya Gafa na zashumlenih zobrazhennyah ye duzhe delikatnoyu spravoyu i yak pravilo pered nim neobhidno vikoristovuvati etap zneshumlyuvannya U vipadku koli zobrazhennya spotvoreno pocyatkovanistyu yak u vipadku z radiolokacijnimi zobrazhennyami peretvorennya Radona inodi ye krashim dlya viyavlennya pryamih oskilki vono poslablyuye shum shlyahom pidsumovuvannya Div takozhUzagalnene peretvorennya Gafa Randomizovane peretvorennya Gafa Peretvorennya Radona Peretvorennya Fur yePrimitki en and Stockman George Computer Vision Prentice Hall Inc 2001 angl Duda R O and P E Hart Use of the Hough Transformation to Detect Lines and Curves in Pictures Comm ACM Vol 15 pp 11 15 January 1972 angl Hough P V C Method and means for recognizing complex patterns U S Patent 3 069 654 Dec 18 1962 angl P V C Hough Machine Analysis of Bubble Chamber Pictures Proc Int Conf High Energy Accelerators and Instrumentation 1959 angl en and en April 1971 Use of the Hough Transformation to Detect Lines and Curves in Pictures PDF en angl A short introduction to the Radon and Hough transforms and how they relate to each other CiteSeerX angl Hough Transform angl Stephens R S 1990 A probabilistic approach to the Hough Transform Procedings of the British Machine Vision Conference 1990 British Machine Vision Association 12 1 12 6 doi 10 5244 c 4 12 angl Jensen Jeppe PDF Arhiv originalu PDF za 26 kvitnya 2012 Procitovano 16 grudnya 2011 angl Fernandes L A F Oliveira M M 2008 Real time line detection through an improved Hough transform voting scheme Pattern Recognition 41 1 299 314 Bibcode 2008PatRe 41 299F doi 10 1016 j patcog 2007 04 003 angl Limberger F A Oliveira M M 2015 Real Time Detection of Planar Regions in Unorganized Point Clouds PDF Pattern Recognition 48 6 2043 2053 Bibcode 2015PatRe 48 2043L doi 10 1016 j patcog 2014 12 020 hdl 10183 97001 angl Fernandes L A F Oliveira M M 2012 A general framework for subspace detection in unordered multidimensional data Pattern Recognition 45 9 3566 3579 Bibcode 2012PatRe 45 3566F doi 10 1016 j patcog 2012 02 033 angl Ballard D H 1981 Generalizing the Houghtransform to detectarbitraryshapes Pattern Recognition 13 2 111 122 Bibcode 1981PatRe 13 111B doi 10 1016 0031 3203 81 90009 1 hdl 1802 13802 angl Vosselman G Dijkman S 3D Building Model Reconstruction from Point Clouds and Ground Plans International Archives of the Photogrammetry Remote Sensing and Spatial Information Sciences vol 34 part 3 W4 October 22 24 2001 Annapolis MA USA pp 37 44 angl Tahir Rabbani Automatic reconstruction of industrial installations Using point clouds and images 2008 12 01 u Wayback Machine pages 43 44 Publications on Geodesy 62 Delft 2006 ISBN 978 90 6132 297 9 angl Achtert Elke Bohm Christian David Jorn Kroger Peer 2008 Global Correlation Clustering Based on the Hough Transform Statistical Analysis and Data Mining 1 3 111 127 doi 10 1002 sam 10012 S2CID 5111283 angl Tahir Rabbani and Frank van den Heuvel Efficient hough transform for automatic detection of cylinders in point clouds in Proceedings of the 11th Annual Conference of the Advanced School for Computing and Imaging ASCI 05 The Netherlands June 2005 angl Yonghong Xie Qiang Ji 2002 A new efficient ellipse detection method Object recognition supported by user interaction for service robots T 2 s 957 960 CiteSeerX 10 1 1 1 8792 doi 10 1109 ICPR 2002 1048464 ISBN 978 0 7695 1695 0 S2CID 9276255 angl Image Transforms Hough Transform Homepages inf ed ac uk Procitovano 17 serpnya 2009 angl Posilannya kod C priklad biblioteki CImg biblioteka z vidkritim kodom pervinnij kod C zobrazhennya u vidtinkah sirogo angl Java aplet pervinnik dlya vivchennya peretvorennya Gafa u formi nahilu vidtinu Java aplet pervinnik dlya vivchennya peretvorennya Gafa v normalnij formi http www sydlogan com deskew html Virivnyuvannya skosu zobrazhen za dopomogoyu peretvorennya Gafa zobrazhennya u vidtinkah sirogo pervinnij kod C Virivnyuvannya skosu zobrazhen za dopomogoyu peretvorennya Gafa pervinnij kod Visual Basic http www mitov com products visionlab Bezkoshtovna dlya osvitnih cilej biblioteka Delphi C ta NET sho mistit skladovi peretvoren Gafa dlya pryamih kil ta vidrizkiv Tarsha Kurdi F Landes T Grussenmeyer P 2007a Peretvorennya Hafa ta rozshireni algoritmi RANSAC dlya avtomatichnogo viyavlennya trivimirnih ploshin dahu budivli z danih Lidara ISPRS Proceedings Seminar Lazerne skanuvannya Espoo Finlyandiya 12 14 veresnya 2007 r mistit vtilennya peretvorennya Gafa z vidkritim kodom C dlya pryamih ta kil http www vision ime usp br edelgado defesa code hough html Peretvorennya Gafa dlya viyavlyannya elipsiv vtilene movoyu C scikit image Peretvorennya Gafa dlya pryamih kil ta elipsiv vtilene movoyu Python Peretvorennya Gafa na osnovi vejvletnogo filtruvannya dlya viyavlyannya kil pevnogo radiusa Kod Matlab Peretvorennya Gafa dlya pryamih iz vikoristannyam MATLAB Peretvorennya Gafa dlya kil u MATLAB KHT pervinnij kod C 3DKHT pervinnij kod C ta nabori danih