roboforum.ru

Технический форум по робототехнике.

Оценка точности сканирования и определения контура

Оценка точности сканирования и определения контура

D1mcon » 12 июн 2012, 21:17

Всем привет, помогите советом в решений следующей задачи:
Есть множество точек сканирования, есть несколько методов по выделению контуров из результатов сканирования, есть идеальный контур, представленный множеством точек. Нужно придумать числовую оценку 'близости' найденных контуров и идеального.
Как вариант пустить сканирующий луч, найти точки пересечения с идеальным контуром и найденым, найти длину отрезка между этими точками и просуммировать найденные значения. Но есть проблемы: как определить само пересечение, ведь фактически контур - это множество отрезков переменной длины, какой из них брать не очевидно, да и таких пересечении получается каждый раз более двух ожидаемых :sorry:

Re: Оценка точности сканирования и определения контура

Romeo » 12 июн 2012, 21:33

Для позиционирования робота в комнате? :)
А если полученный контур повёрнут относительно идеального?
необходимо преобразовать "растр" в "вектор". Т.е. Представить множество точек в виде прямых (X1,Y1,X2,Y2).
А подобие полученного контура с идеальным вычислять геометрически (открыть учебник по геометрии, вспомнить теорию и т.д.).

Re: Оценка точности сканирования и определения контура

D1mcon » 13 июн 2012, 09:17

На кождом этапе сканирования всегда есть идеальный контур ориентированный под тем же углом что и сравниваемый. Данные сканирования векторизованы, я об этом писал в первом посту. Вопрос в том как выбрать отрезки для сравнения из идеальных данных и полученных? Фактически контуры - это списки, елементом которого является отрезок.

Re: Оценка точности сканирования и определения контура

Romeo » 13 июн 2012, 18:59

Можно рассматривать контур не только как список линий, но и учитывать связи между линиями. Т.е. хранить угол между линиями и длину каждого отрезка.
Т.о. мы отвязываемся от декартовых координат.

Сравнивать так:
1. Берём первый и второй отрезок идеального контура, узнаём длины и угол между ними.
2. Берём первый и второй отрезок полученного контура, узнаём длины и угол между ними.
3. Сравниваем эти величины, и если они в поле допуска повторяем п.1. для последующих отрезков.
4. Если все отрезки совпали, то вычисляем разницу между координатами первых точек (т.е. определяем, на сколько один контур смещён относительно другого).
5. Если величины не совпали, то перемещаемся по полученному контуру (берём следующий отрезок и переходим к п.2).
И так по кругу.

Думаю алгоритм понятен. Но это так, навскидку.
Вложения
1.JPG
1.JPG (11.19 КиБ) Просмотров: 3305

Re: Оценка точности сканирования и определения контура

Angel71 » 13 июн 2012, 19:22

возможны случаи, когда нужно будет ещё и маштабировать. :) я не очень понял, что именно вы в итоге хотите сделать, но это направление так и называется "контурный анализ".

Re: Оценка точности сканирования и определения контура

Romeo » 13 июн 2012, 19:35

не могу придумать таких случаев.
Расписать по-подробнее или пофиг? :D

Re: Оценка точности сканирования и определения контура

Angel71 » 13 июн 2012, 19:55

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

Re: Оценка точности сканирования и определения контура

D1mcon » 13 июн 2012, 23:18

2Romeo, все бы было хорошо если бы число отрезков в контурах было одинаково :) У меня есть три контура
1) Идеальный описан 5400 отрезками
2) Найденный контур по результатам сканирования:
2.1 Метод1 - 12 отрезков
2.2 Метод2 - 36 отрезков
2.3 Метод3 - 186 отрезков
2.4 Метод4 - 97 отрезков
Все данные получены путем моделирования, никаких конкретных дальномеров и данных с них пока нет.
Для наглядности нужна числовая оценка красного и синего контуров на рисунках.
Вложения
untitled.jpg
1.jpg
1.jpg (36.21 КиБ) Просмотров: 3257

Re: Оценка точности сканирования и определения контура

Michael_K » 14 июн 2012, 00:04

Контур замкнутый?
Идеальный контур представлен множеством точек? Или отрезков? Может ли одна и та же точка принадлежать к разным отрезкам (как у вас на рисунке - линия вдруг раздваивается)?

Re: Оценка точности сканирования и определения контура

D1mcon » 14 июн 2012, 00:28

Контур рассматривается как не замкнутый. Одна точка принадлежит как минимум 2 отрезкам. Идеальный контур - множество точек.
2Angel71 спасибо за наводку :) , пошел курить контурный анализ.


cron
Rambler\'s Top100 Mail.ru counter