roboforum.ru

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

AVM Navigator для RoboRealm практическое применение

Re: AVM Navigator для RoboRealm практическое применение

Сообщение EDV » 27 июл 2012, 23:03

avr123.nm.ru писал(а):1) Предлагаю на сайте-форуме "навигатора" выложить отлаженный проект-пример: Турель горизонталь-вертикаль с выдачей команд в произвольный COM порт на подсветку слабым лазером движущихся объектов в кадре, а лучше по распознанным образам людей, возможно и не движущихся. ИМХО это очень популярная тема и будет многократно воспроизведена самодельщиками. Т.е. прога постянно выдает в COM порт 2 байта на положение гор. верт. Где число 127 будет означать положение объекта в центре кадра, и еще байт содержащий бит включения лазера и 7 бит контрольной информации например. Позже хорошо бы дать возможность задавать зоны тревоги в кадре и прочие штучки. Думаю сообщество юзеров уже подхватит.

2) хорошо бы сделать пример распознавания объектов типа дорога с разметкой + полоса аэродрома для приложения автоматической посадки беспилотников и возможно руления при взлете. типа


В Навигаторе версии 0.7.4.1 уже заложена возможность отслеживания двигающегося в кадре объекта, по результатам Навигатор возвращает координаты двигающейся цели в переменных:

NV_OBJECTS_TOTAL - total number of recognized objects
NV_ARR_OBJ_RECT_X - left-top corner X coordinate of recognized object
NV_ARR_OBJ_RECT_Y - left-top corner Y coordinate of recognized object
NV_ARR_OBJ_RECT_W - width of recognized object
NV_ARR_OBJ_RECT_H - height of recognized object



А дальше дело техники: установить фиксированную камеру, прикрепить к турели лазер, написать скрипт, который в соответствии со значениями координат двигающейся в кадре цели поворачивает турель на угол, пропорциональный отклонению цели от центра экрана :wink:
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: AVM Navigator для RoboRealm практическое применение

Сообщение avr123.nm.ru » 28 июл 2012, 00:22

Я видел раньше в топике ваше видео, потому и предложил сделать такие примеры с кодом с коментами. :)
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: AVM Navigator для RoboRealm практическое применение

Сообщение Zeus » 22 авг 2012, 17:43

EDV у вас образы 80х80 используются?
Если после проезда робота с запоминанием маршрута следования поставить лишние предметы табуреты, стулья, обувь переставить, то какова вероятность прохождения?
«Сон разума рождает чудовищ»
Аватара пользователя
Zeus
 
Сообщения: 862
Зарегистрирован: 28 июл 2009, 10:02
Откуда: Самара
ФИО: Павел Сергеевич

Re: AVM Navigator для RoboRealm практическое применение

Сообщение EDV » 22 авг 2012, 21:03

>> EDV у вас образы 80х80 используются?

Размер 80x80 пикселей – это так называемы “ключевой размер” изображения, то есть с этого минимального размера (а вернее 75% от этого размера) может быть распознан объект, а ещё от этого параметра зависит количество уровней декомпозиции и размеры матриц распознавания.

>> Если после проезда робота с запоминанием маршрута следования поставить лишние предметы табуреты, стулья, обувь переставить, то какова вероятность прохождения?

Принцип навигации с использованием AVM прост – робот распознаёт картинки, с которыми ранее (в процессе обучения на маршрут) были проассоциированы координаты местоположения. Таким образом, робот видит знакомые картинки и по ним определяет своё текущее местоположение. Если после обучения поменять что-нибудь в обстановке комнаты, то часть картинок перестанут распознаваться, но у робота в этом случае всё равно остается ещё в запасе карта маршрута, и даже если часть картинок не была распознана, то есть шанс, что робот успешно доберётся до места назначения используя информацию о маршруте (сколько нужно пройти, когда нужно повернуть), и визуальную одометрию, которая продолжает работать даже если перед роботом незнакомая местность.
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: AVM Navigator для RoboRealm практическое применение

Сообщение EDV » 04 окт 2012, 13:55

AVM Navigator v0.7.4.2 + Canny :)

Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: AVM Navigator для RoboRealm практическое применение

Сообщение Vorral » 04 окт 2012, 14:23

Эх жалко не записал вчера схожее видео. При чём эксперимент вышел спонтанным. Ребёнок вертел головой, смотря за результатом определения перемещения особенных точек(коих на одном глазу было около 10, правда и глаз занимал больше места на экране). Кстати, есть новые идеи навигации на одной камере?
Vorral
 
Сообщения: 873
Зарегистрирован: 11 сен 2008, 17:18
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав

Re: AVM Navigator для RoboRealm практическое применение

Сообщение EDV » 04 окт 2012, 15:21

Идеи-то есть, но их проверять нужно :oops:
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: AVM Navigator для RoboRealm практическое применение

Сообщение EDV » 04 окт 2012, 21:36

Добавил индикацию целевой позиции робота в 3D (что бы видно было, куда он едет),
ну почти что дополнительная реальность :)

Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: AVM Navigator для RoboRealm практическое применение

Сообщение Vorral » 05 окт 2012, 13:12

Думаю для решения задачи нужно определить что мы имеем и что нужно получить.

вспомогательные условия:
1. Робот преимущественно будет двигаться по ровному, не монотонному полу квартиры. Т.е. в одной плоскости.
2. Возможность двигаться со стабильной скоростью.
3. Предположение, что объекты сцены неподвижны, иначе задача усложняется на несколько порядков.
4. Передвигаясь камера направленна в точку направления движения. Т.е. допустим, что не будет ситуации, когда робот двигаясь вперёд, вращает камерой или смотрим в бок.

Что касается камеры:
1. По любой камере мы однозначно можем знать лишь величину угла, от центра оси до каждого пикселя. По горизонтали и вертикали.
2. Если вычислить смещение пикселей, при движении, то возможно узнать изменение этих углов.

Вычислить нужно сразу две неизвестных.
1. Перемещение камеры.
2. Расстояние до объектов.

Между этими двумя неизвестными естественно есть взаимосвязь. Величина изменение углов у близлежащих объектов, будет выше. Тогда как более удалённые объекты будут перемещаться в поле зрения камеры не значительно.

Что уже реализовано у вас, используя AVM.
1. Угол поворота робота(по смещению найденного соответствия).
2. Относительное перемещение робота(по изменению масштабу найденного соответствия).

Теперь следует используя текущую информацию оценить дальность до объектов сцены(например зелёных точек). Получается нужно вычислить длину стороны треугольника. Где известна(не абсолютно, но всё же относительно) одна сторона(это на вашей карте перемещение робота) и два внутренних угла этого треугольника. Формулу писать не буду, она следует из теоремы синусов. Только таким образом можно дополнить вашу 2Д карту, препятствиями. Тут правда, много проблем возникнет с выбросами. Кстати, если точки снизу будут двигаться с постоянной зависимостью(определённого ускорения), то это пол. А если будет выходить нарушение этой зависимости, перед нами препятствие, ну или шум :)

Весь вопрос в точности.
Сколько реально проехал робот в самый первый раз , если по вашей системе координат приблизительно получилось 26(32-6)? Что вы принимаете за единицу пути? Т.е. например 4 - это эталон начального поискового окна в 80х80. На 25% увеличилось, значит плюс 1. Как соотносите цифры вы?

Чтобы было нагляднее, выложил обработку двух изображений с камеры на велосипеде. Тема мне интересна, но скорее второстепенно. Так как мои условия не совпадают с описанными выше.
Вложения
go.jpg
Vorral
 
Сообщения: 873
Зарегистрирован: 11 сен 2008, 17:18
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав

Re: AVM Navigator для RoboRealm практическое применение

Сообщение EDV » 09 окт 2012, 22:46

Вот, снял тут ролик, забавы ради :)

Fun with AVM Navigator

Изображение

It's little demo of object recognition and learning from motion with helping of AVM Navigator.

All object rectangle coordinates are available in RoboRealm pipeline from external variables:
NV_ARR_OBJ_RECT_X - left-top corner X coordinate of recognized object
NV_ARR_OBJ_RECT_Y - left-top corner Y coordinate of recognized object
NV_ARR_OBJ_RECT_W - width of recognized object
NV_ARR_OBJ_RECT_H - height of recognized object

So you can use it in your VBScript program.

See here for more details.
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: AVM Navigator для RoboRealm практическое применение

Сообщение elmot » 10 окт 2012, 09:01

круть
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: AVM Navigator для RoboRealm практическое применение

Сообщение dccharacter » 10 окт 2012, 14:10

у меня твой алгоритм распознал тебя в карелии: http://extremal.mirtesen.ru/blog/430422 ... ch-v-tayge
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: AVM Navigator для RoboRealm практическое применение

Сообщение avr123.nm.ru » 11 окт 2012, 10:36

Отлично! :good:
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: AVM Navigator для RoboRealm практическое применение

Сообщение Kitam1n » 11 окт 2012, 10:51

dccharacter писал(а):у меня твой алгоритм распознал тебя в карелии: http://extremal.mirtesen.ru/blog/430422 ... ch-v-tayge


Ого! Это правильно я понял что считывается фэйс и потом ищется в тырнете? :Bravo:
Лучше переесть, чем недоспать.
Аватара пользователя
Kitam1n
 
Сообщения: 343
Зарегистрирован: 30 мар 2012, 16:39
Откуда: Москва
прог. языки: C#, Си, php
ФИО: Влад

Re: AVM Navigator для RoboRealm практическое применение

Сообщение EDV » 11 окт 2012, 11:37

Использование Canny модуля как фона для AVM Navigator:

Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Пред.След.

Вернуться в Компьютерное зрение

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

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