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:

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

avr123.nm.ru » 28 июл 2012, 00:22

Я видел раньше в топике ваше видео, потому и предложил сделать такие примеры с кодом с коментами. :)

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

Zeus » 22 авг 2012, 17:43

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

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

EDV » 22 авг 2012, 21:03

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

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

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

Принцип навигации с использованием AVM прост – робот распознаёт картинки, с которыми ранее (в процессе обучения на маршрут) были проассоциированы координаты местоположения. Таким образом, робот видит знакомые картинки и по ним определяет своё текущее местоположение. Если после обучения поменять что-нибудь в обстановке комнаты, то часть картинок перестанут распознаваться, но у робота в этом случае всё равно остается ещё в запасе карта маршрута, и даже если часть картинок не была распознана, то есть шанс, что робот успешно доберётся до места назначения используя информацию о маршруте (сколько нужно пройти, когда нужно повернуть), и визуальную одометрию, которая продолжает работать даже если перед роботом незнакомая местность.

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

EDV » 04 окт 2012, 13:55

AVM Navigator v0.7.4.2 + Canny :)


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

Vorral » 04 окт 2012, 14:23

Эх жалко не записал вчера схожее видео. При чём эксперимент вышел спонтанным. Ребёнок вертел головой, смотря за результатом определения перемещения особенных точек(коих на одном глазу было около 10, правда и глаз занимал больше места на экране). Кстати, есть новые идеи навигации на одной камере?

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

EDV » 04 окт 2012, 15:21

Идеи-то есть, но их проверять нужно :oops:

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

EDV » 04 окт 2012, 21:36

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


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

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.

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

elmot » 10 окт 2012, 09:01

круть

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

dccharacter » 10 окт 2012, 14:10

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

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

avr123.nm.ru » 11 окт 2012, 10:36

Отлично! :good:

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

Kitam1n » 11 окт 2012, 10:51

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


Ого! Это правильно я понял что считывается фэйс и потом ищется в тырнете? :Bravo:

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

EDV » 11 окт 2012, 11:37

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



Rambler\'s Top100 Mail.ru counter