Виявлення кіл (еліпсів) у хмарі 2D точок


14

З огляду на безліч точок (2D) тобто точка помутніння (PC), то мова йде про robust, accurateі computing-friendlyметод , щоб знайти кола (або еліпсів в розширеній версії).

Інтуїтивна ідея полягає у використанні Brute-Force Search у всіх можливих точках (як центр) {нескінченно!} Та радіусах (знову нескінченно!). Це надзвичайно повільно і неефективно.

Як показано нижче, кожен пристосований круг був би класифікований на основі кількості точок ( nn), розташованих на окружності кола на відстані, коротшій за поріг ( t). Тож існує derrсередня відстань.

У розвиненій формі цікаві для встановлення еліпси.

Будь-які ідеї, штурм мозку, переживання, коментарі? введіть тут опис зображення


Гарне питання. Яку програму ви використовували для створення цієї діаграми?
Джейсон R

@JasonR Як завжди, Python + MatPlotLib .
Розробник

Відповіді:


14

Найкращі ідеї, які саме намагаються вирішити цю проблему, - Hough Transform .

В основному, сигнал у просторі Hough буде r, x, yкоординатами. Тут r розшифровується радиус і x,yстоїть центр. Кожна точка може належати до одного чи багатьох кіл. Тож у площині Хоф пройдіть усі можливі кола, де ця точка могла б належати, і просто зробіть +1. Це не пошук, а колекція.

Тепер, якщо існує справжнє коло, так буде додано стільки балів, і оцінка такого r, x, yзавіту буде набагато вищою за всі інші. Вибір такої точки дозволить вибрати правильні кола.

Ось класичний паперовий шлях ще в 1971 році (до того, як я народився!), Що винайшов цю концепцію.

  1. ВИКОРИСТАННЯ ГОСПОДАРСЬКОГО ТРАЗФОРМУВАННЯ ДЛЯ ВИЗНАЧЕННЯ ЛІНІЙ ТА КРУВ У КАРТИНАХ Автор: Річард О. Дуда, Пітер Е. Харт Технологічний звіт Центр штучного інтелекту Квітень 1971 року.

Для Підручника я б запропонував посилання нижче:

  1. HIPR2 -посилання
  2. Amos storkey
  3. Довідка IDL

Зокрема, для виявлення кола ви можете звернутися до цього нижче:

  1. AI Shack
  2. Технічний звіт з Чиказького університету.
  3. Лекційні записки Інституту Рочестера

Ці методи дуже ефективні та дуже комп’ютерні.


1
Я можу поручитися за статті про AI Shack, вони дійсно допомагають розібратися з більш суворою математикою, яку ви прочитаєте в іншому місці.
Іво Фліпсе

1
Гарна відповідь. Я вже знайомий з Hough Transform (HT). Я використовував для виявлення ліній. Визначити рядкові відрізки було трохи складнощів. Тому рекомендували використовувати ймовірнісну трансформацію Hough (PHT). Я не отримав чіткого уявлення про розширення. Я думав, що це може бути настільки складним для гуртків або виникають інші труднощі. Щодо мого досвіду, HT хороший, але не ідеальний. Мене також хвилює питання про те, як розширити HT до 3D. Я спробую переглянути ваші надані посилання. Ваша відповідь досить гарна, щоб бути кандидатом як відповідь.
розробник

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