Технический форум по робототехнике.
EDV » 27 апр 2009, 11:24
=DeaD= писал(а):В общем мне кажется, что при попытке рулить на ходу мы столкнёмся с проблемой качественного видео.
Поэтом надо начинать решать эту проблему уже сейчас.
Технология распознавания AVM адекватно воспринимает размытее изображения, и способна прослеживать объекты, даже если они находятся в движении. Так что это не проблема.
Кто не верит, может убедиться сам:
Демо-версия AVM, с пользовательским интерфейсом, инсталляция под Windows:
http://edv-detail.narod.ru/Recognition.zipПодробную информацию об алгоритме AVM можно посмотреть здесь:
http://edv-detail.narod.ru/AVM_main.html
Vorral » 27 апр 2009, 11:55
Ну что же, подождём результата. Может к этому моменту и я успею дописать свою систему распознавания, как раз для этих же целей.
D1mcon » 27 апр 2009, 18:03
Фигасе, купил недавно такой же танк только в зеленом камуфляже, так там вся электроника другая
,жаль только что уже успел распаять
так бы фото выложил
EDV » 28 апр 2009, 09:26
Вчера поставил на танчик самую убитую web-камеру, которая была у меня в наличии (Genius look ... ни помню номер, такая в виде мячика). Тормозная до неприличия, да ещё и болталась на проволоке (которой я её привязал к башне) как бубончик на шапке. Ну и несмотря на все эти затруднения, AVM удалось даже чего то рассмотреть. Я тут видео добавил, можете поглядеть. Так что есть надежда, что всё у нас получится
Из за того что web-камера тормозила, а параметры записи видео, были установлены 25 кадров в секунду, запись получилась ускоренной.
- Вложения
-
- robot_demo1.zip
- (1.19 МиБ) Скачиваний: 33
=DeaD= » 28 апр 2009, 09:35
2EDV: В стоячем положении понятно что работает, а что там в движении происходит - не ясно - почему-то рамки двоятся, это что?
EDV » 28 апр 2009, 09:47
Ну от такой тряски у любого в глазах двоится будет. Ну а если серьёзно, то это проблемы в прослеживании объекта, объект резко (прыжком) перемещается, а трекер ищет его в окрестности той точки, где он был в прошлом кадре. Пороговое расстояние превышено, и трекер решает что это не тот же самый объект, а другой (и отмечает его как новый объект для прослеживания).
Вся суть в том, что в принципе объекты распознаются, даже если сильно трясёт.
=DeaD= » 28 апр 2009, 09:52
А нельзя чтобы оно показывало только актуальные объекты на кадре, а следы старых не показывало? А то вообще не ясно что и как
и где-то еще показать сами объекты которые ищем на кадре...
EDV » 28 апр 2009, 10:00
Можно, нужно вместо метода CvAssociativeMemory32S::ObjectTracking использовать метод CvAssociativeMemory32S::ObjectRecognition (набор параметров одинаковый). Вечером, возможно повторю эксперементы.
=DeaD= » 28 апр 2009, 10:10
2EDV: Есть какая-то технология выхватывания из кадра "хороших образов"? Т.е. какие-то хорошо различимые объекты, к которым можно осуществить привязку? Есть идея поставить на робота такого еще и указку и тогда можно будет выхватить хорошие объекты, определить указкой расстояние до них, проехать вперёд, проверить какие объекты остались целыми (т.е. это не оказались 2 разных объекта на разных расстояниях) и принять их за маяки.
EDV » 28 апр 2009, 10:36
Да есть тут одна мысль, можно попробовать обучить AVM на контрастные пятна (которые выделяются на общем фоне по контрасту) и использовать их как маяки. Я добавил ниже пример такого детектора, можно скачать и глянуть (бинарник).
- Вложения
-
- Feature_Detection_11_03_09.zip
- (2.98 МиБ) Скачиваний: 17
=DeaD= » 28 апр 2009, 23:39
Надо бы интерфейсы объявить, желательно не привязанные к твоей разработке, тогда можно будет писать код в котором твоя разработка будет конкретным модулем. Чтобы если появится другой вариант детекторов - его тоже можно было бы подцепить и прогнать на тестах. Как считаешь?
А по выложенному примеру - ну вполне вариант, как мне кажется, но всё равно думаю надо делать открытую архитектуру решения, по крайней мере мне не очень интересно участвовать в закрытом проекте на неизвестных началах.
EDV » 29 апр 2009, 10:53
В проекте «Навигатора» все исходные тексты программ (кроме технологии AVM) будут открытыми. Детектор я выложил в бинарном виде, потому что у меня не было на тот момент красиво оформленного примера. Если есть необходимость в исходном тексте программы «Детектора контрастных пятен» то я могу подготовить и выложить.
Vorral » 29 апр 2009, 11:11
Я например считаю, что неважно, есть у библиотеки исходный код или нет. Главное, чтобы она была полезна. Пусть хоть все компоненты будут закрытыми.
=DeaD= » 29 апр 2009, 11:28
EDV писал(а):В проекте «Навигатора» все исходные тексты программ (кроме технологии AVM) будут открытыми. Детектор я выложил в бинарном виде, потому что у меня не было на тот момент красиво оформленного примера. Если есть необходимость в исходном тексте программы «Детектора контрастных пятен» то я могу подготовить и выложить.
Это всё гуд, вопрос в том - готов ли ты (кстати, ничего что я на ты? я тут на форуме уже потерялся, тыкать вроде неприлично, выкать тоже не все переваривают
) сделать шаг вбок и согласовать интерфейсы не связанные напрямую с твоими библиотеками по которым они (твои библиотеки) будут цепляться к программе навигатору, например?
Добавлено спустя 1 минуту 10 секунд:Vorral писал(а):Я например считаю, что неважно, есть у библиотеки исходный код или нет. Главное, чтобы она была полезна. Пусть хоть все компоненты будут закрытыми.
А я не про исходный код всего подряд сейчас даже, а про интерфейс, чтобы потом можно было вместо детектора EDV'а подцепить другой детектор или еще чего сотворить. И не понадобилось перекраивать всю библиотеку для навигации, т.к. там явно на его структуры ссылки будут.
EDV » 29 апр 2009, 11:48
=DeaD= писал(а):Это всё гуд, вопрос в том - готов ли ты (кстати, ничего что я на ты? я тут на форуме уже потерялся, тыкать вроде неприлично, выкать тоже не все переваривают
) ...
Я не против, можно и на «ты», если так общаться удобнее. В этом отношении в английском языке хорошо, там у них личное местоимение «you» и «ты» и «вы» заменяет (а ещё там нет падежных окончаний, и непонятно с кем ты общаешься по почте с женщиной или с мужчиной, пока тебе сам собеседник не ответит).
=DeaD= писал(а):Это всё гуд, вопрос в том - готов ли ты сделать шаг вбок и согласовать интерфейсы не связанные напрямую с твоими библиотеками по которым они (твои библиотеки) будут цепляться к программе навигатору, например?
Да, конечно готов, как только появятся первые наработки программы «Навигатор» я опубликую исходные тексты, и мы предметно пообщаемся по интерфейсам.
Да, кстати, насчёт интерфейсов, для общения с пользователем использовать MFC (VC6) или wxWidgets-2.6.2?
Как лучше?