roboforum.ru

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

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

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

Сообщение D1mcon » 12 июн 2012, 21:17

Всем привет, помогите советом в решений следующей задачи:
Есть множество точек сканирования, есть несколько методов по выделению контуров из результатов сканирования, есть идеальный контур, представленный множеством точек. Нужно придумать числовую оценку 'близости' найденных контуров и идеального.
Как вариант пустить сканирующий луч, найти точки пересечения с идеальным контуром и найденым, найти длину отрезка между этими точками и просуммировать найденные значения. Но есть проблемы: как определить само пересечение, ведь фактически контур - это множество отрезков переменной длины, какой из них брать не очевидно, да и таких пересечении получается каждый раз более двух ожидаемых :sorry:
Язык Ада - официально был признан министерством обороны США для создания ПО военной техники
Аватара пользователя
D1mcon
 
Сообщения: 700
Зарегистрирован: 08 фев 2009, 10:13
Откуда: Воротынск
прог. языки: C,C++,C#,Java
ФИО: Дмитрий

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

Сообщение Romeo » 12 июн 2012, 21:33

Для позиционирования робота в комнате? :)
А если полученный контур повёрнут относительно идеального?
необходимо преобразовать "растр" в "вектор". Т.е. Представить множество точек в виде прямых (X1,Y1,X2,Y2).
А подобие полученного контура с идеальным вычислять геометрически (открыть учебник по геометрии, вспомнить теорию и т.д.).
Аватара пользователя
Romeo
 
Сообщения: 320
Зарегистрирован: 04 фев 2009, 16:02
Откуда: Десногорск
прог. языки: VB, MicroC, Pascal, С++ Builder

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

Сообщение D1mcon » 13 июн 2012, 09:17

На кождом этапе сканирования всегда есть идеальный контур ориентированный под тем же углом что и сравниваемый. Данные сканирования векторизованы, я об этом писал в первом посту. Вопрос в том как выбрать отрезки для сравнения из идеальных данных и полученных? Фактически контуры - это списки, елементом которого является отрезок.
Язык Ада - официально был признан министерством обороны США для создания ПО военной техники
Аватара пользователя
D1mcon
 
Сообщения: 700
Зарегистрирован: 08 фев 2009, 10:13
Откуда: Воротынск
прог. языки: C,C++,C#,Java
ФИО: Дмитрий

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

Сообщение Romeo » 13 июн 2012, 18:59

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

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

Думаю алгоритм понятен. Но это так, навскидку.
Вложения
1.JPG
1.JPG (11.19 КиБ) Просмотров: 3024
Аватара пользователя
Romeo
 
Сообщения: 320
Зарегистрирован: 04 фев 2009, 16:02
Откуда: Десногорск
прог. языки: VB, MicroC, Pascal, С++ Builder

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

Сообщение Angel71 » 13 июн 2012, 19:22

возможны случаи, когда нужно будет ещё и маштабировать. :) я не очень понял, что именно вы в итоге хотите сделать, но это направление так и называется "контурный анализ".
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

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

Сообщение Romeo » 13 июн 2012, 19:35

не могу придумать таких случаев.
Расписать по-подробнее или пофиг? :D
Аватара пользователя
Romeo
 
Сообщения: 320
Зарегистрирован: 04 фев 2009, 16:02
Откуда: Десногорск
прог. языки: VB, MicroC, Pascal, С++ Builder

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

Сообщение Angel71 » 13 июн 2012, 19:55

посмотри на что-нибудь, а потом отойди немного. сразу проявится разница между векторами и отрезками. но это к вашему алгоритму, а к данной теме уже писал - "контурный анализ". :oops: тема же обширная, а куда думу думать непонятно.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

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 КиБ) Просмотров: 2977
Язык Ада - официально был признан министерством обороны США для создания ПО военной техники
Аватара пользователя
D1mcon
 
Сообщения: 700
Зарегистрирован: 08 фев 2009, 10:13
Откуда: Воротынск
прог. языки: C,C++,C#,Java
ФИО: Дмитрий

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

Сообщение Michael_K » 14 июн 2012, 00:04

Контур замкнутый?
Идеальный контур представлен множеством точек? Или отрезков? Может ли одна и та же точка принадлежать к разным отрезкам (как у вас на рисунке - линия вдруг раздваивается)?
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

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

Сообщение D1mcon » 14 июн 2012, 00:28

Контур рассматривается как не замкнутый. Одна точка принадлежит как минимум 2 отрезкам. Идеальный контур - множество точек.
2Angel71 спасибо за наводку :) , пошел курить контурный анализ.
Язык Ада - официально был признан министерством обороны США для создания ПО военной техники
Аватара пользователя
D1mcon
 
Сообщения: 700
Зарегистрирован: 08 фев 2009, 10:13
Откуда: Воротынск
прог. языки: C,C++,C#,Java
ФИО: Дмитрий


Вернуться в Сенсорика

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron