Швидке знаходження грубих ліній у множинах точок


12

У конкретному класі детекторів наші дані виводяться як пари точок у двох вимірах, і ми хочемо вписати ці точки в рядки.

Дані шумно і поширюються в одну сторону, а не в іншу. Ми не можемо гарантувати потрапляння у кожен контейнер, навіть коли кожен елемент детектора працює, тому можливі пропуски.

Наш нинішній ланцюжок аналізу виглядає так

  1. Налаштуйте удари для калібрування окремих елементів детектора
  2. Знайдіть кластери
  3. Грубі лінії підходять до скупчень
  4. З’єднайте кластери в більш довгі структури, подібні до ліній
  5. ...

Це питання стосується кроку (3).

Ми використовували трансформацію Хаффа для цього кроку, і він працює добре, але, коли ми намагаємося підняти масштаб від тестового шару до моделювання повномасштабного проекту, він стає неприпустимо повільним.

Я шукаю більш швидкий шлях.


Для тих, хто може потурбуватися про фактичний випадок використання, тут знаходиться Камера для проектування рідинного аргону


1
Ми також провели рекурсивний метод перетворення Хогфа для відстеження шляху через багатопровідні пропорційні камери в FermiLab. Старша дисертація Еріка Кангаса містить усі деталі. Я думаю, що це все-таки найкращий спосіб зробити це.
Метт Кнеплі

1
Ви мали на увазі "... пари на точку ..." чи "... пари точок ..." у першому реченні?
Білл Барт

Відповіді:


2

Існує ймовірнісна версія перетворення Хаффа (PHT), яка швидша. Як описали Бредські та Келер у своїй книзі OpenCV:

Ідея полягає в тому, що пік все одно буде досить високим, тоді для його знаходження буде достатньо лише часу.

Бібліотека OpenCV представляє реалізацію для PHT.

Є й інші альтернативи. Створити розподілену версію перетворення Хауфа не важко . Просто розбийте набір точок на менші шматки та використовуйте карту MapReduce, щоб підбити підсумки всіх акумуляторів. Інша ідея полягає у виконанні грубої версії перетворення Хаффа з використанням простору параметрів з низькою роздільною здатністю. Виберіть найкращих кандидатів та запустіть більш точну ітерацію, використовуючи простір параметрів, що представляє більш високу роздільну здатність. Можливо, це ідея, що стоїть за FHT Гендальфа.


1
PHT було запропоновано в: Matas, J. and Galambos, C. and Kittler, JV, Robust Detection of Lines using the Progressive Probabilistic Hough Transform. CVIU 78 1, стор 119-137 (2000).
ТО.

Курс, тоді тонка процедура може бути узагальнена на кілька етапів, що і робить Гандальф.
dmckee --- кошеня колишнього модератора

BTW - За час, коли я задав це питання, колега додав модуль, використовуючи прогресивну ймовірнісну версію перетворення до нашого коду. Це відбулося з декількома пов'язаними змінами, тому важко охарактеризувати, яка саме різниця була зроблена, але це частина пакету, який значно проскочив пару кроків аналізу. Отже, я прийму це як "перемогу" поради.
dmckee --- кошеня колишнього модератора

5

Я, колега, знайшов Швидку трансформацію Хаффа в бібліотеці Гендальфа , яка виглядає дуже перспективною, але для її інтеграції може бути багато роботи, тому я шукаю інші підходи.

Втілення Гендальфа цікаве: вони оцінюють акумуляторний простір рекурсивно, як ніби він рухається по квадратичному або октовому дереву. Регіони без особливої ​​щільності викидаються, як вони йдуть.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.