Универсальное зрение для навигации - 3D-реконструкция

Re: Универсальное зрение для навигации - 3D-реконструкция

Сообщение Vorral » 11 сен 2008, 22:56

Я имел ввиду алгоритм для определения параллакса. Не нашёл в интернете ничего путного по стерео в программировании, кроме Microsoftской OpenCV(никогда не нравился С++, если и работал сни, то только с целью перевести на Дельфи), но подумал, что если до сих пор нет путного программного обеспечения по созданию карт глубины, то это всё равно не то. Пришлось брать дело в свои руки и пробовать придумать свой алгоритм(тут надо сказать пришлось вспоминать не богатые познания в Delphi). А вопрос мой заключался в следующем, но определю я кадре ось Z- этого же мало, нужно чтобы существовала какая общая система координат, где свой "мир" будет выстраивать и потихоньку классифицировать робот.
Vorral
 
Сообщения: 873
Зарегистрирован: 11 сен 2008, 17:18
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав

Re: Универсальное зрение для навигации - 3D-реконструкция

Сообщение =DeaD= » 11 сен 2008, 23:59

Ну как бы очень бегло вы обзор готовых решений провели:
1. OpenCV это интеловская библиотека;
2. Свой алгоритм придумывать не надо - есть куча придуманных уже;
3. Действительно в OpenCV нет 1 готового алгоритма, но зато там есть пачка OpticalFlow алгоритмов, которые сюда наверное можно адаптировать, ведь стереопара - это частный случай OpticalFlow.

Дальше по переводу из одной системы в координат вообще не вижу проблемы, в вике выложены формулы.
А вот чего делать с полученной информацией, как её накапливать и обрабатывать - тут действительно пока темный лес. Какие-то наработки у меня имеются, выложены в вике.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Универсальное зрение для навигации - 3D-реконструкция

Сообщение Vorral » 12 сен 2008, 08:40

Если хорошие алгоритмы существуют, то почему нет готового решения и собственно почему тогда ваш проект умер ещё в лохматом году? Ведь это самый дешёвый и надёжный способ организовать роботу зрение.
Последний раз редактировалось EdGull 12 сен 2008, 09:05, всего редактировалось 1 раз.
Причина: нарушение правил цитирования
Vorral
 
Сообщения: 873
Зарегистрирован: 11 сен 2008, 17:18
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав

Re: Универсальное зрение для навигации - 3D-реконструкция

Сообщение =DeaD= » 12 сен 2008, 08:43

Vorral писал(а):Если хорошие алгоритмы существуют, то почему нет готового решения и собственно почему тогда ваш проект умер ещё в лохматом году?

А с чего вы решили что проект умер? А не восторжествовал? :crazy:

По-моему я вполне серьезные результаты получил (см. страницы этой темы), вопрос в том куда их дальше использовать и на чем это откатывать. А вот тут начинается самое интересное - алгоритмы навигации и платформа на которой всё это откатывать. И как-то хотелось бы чтобы я не один в этом был. Так что проект не умер, а завершен. А я занимаюсь дальнейшими вопросами - можно считать правда что заморозил и ищу возможности включить в проект кучу народу.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Универсальное зрение для навигации - 3D-реконструкция

Сообщение Vorral » 12 сен 2008, 11:16

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

<уже 2 раз предупреждаю!>
Последний раз редактировалось EdGull 12 сен 2008, 11:27, всего редактировалось 1 раз.
Причина: Излишнее цетирование!!!
Vorral
 
Сообщения: 873
Зарегистрирован: 11 сен 2008, 17:18
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав

Re: Универсальное зрение для навигации - 3D-реконструкция

Сообщение =DeaD= » 12 сен 2008, 11:25

Что значит "должен стремится"? Это не четкое определение, дайте нормальное определение желаемого результата и я скажу вам достижим он или нет. Даже человек не всегда может четко определить что происходит. В инете куча роликов на эту тему выложена с оптическими обманами. Я считаю свой результат вполне употребимым для целей навигации. А с вашим пока вопрос - у вас там сколько ложных определений расстояний? Лучше меньше да четче - иначе хрен составишь карту.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Универсальное зрение для навигации - 3D-реконструкция

Сообщение Vorral » 12 сен 2008, 12:05

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

Re: Универсальное зрение для навигации - 3D-реконструкция

Сообщение Виталий » 12 сен 2008, 12:18

Просто для тех кто интересуется, а особенно интересуется человеками...
1. Не факт, что человек использует стереозрение впринципе...
2. По последним данным из института Мозга им.Бехтерева человеческий глаз может не учавствовать в процессе зрения вовсе. Не спрашивайте как так - я не знаю как. =)
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

Re: Универсальное зрение для навигации - 3D-реконструкция

Сообщение =DeaD= » 12 сен 2008, 12:22

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

Нельзя в рамках задачи по разбору стереопары раскрыть всю картинку принципиально. Это задача более высокого порядка.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Универсальное зрение для навигации - 3D-реконструкция

Сообщение Vorral » 12 сен 2008, 12:43

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


EdGull уже предупреждал не раз! Не стоит включать как цитату пост, непосредственно предшествующий Вашему! Это допускается только в случае, если вы отвечаете только на часть поста. Но тогда в цитате должна быть только эта часть!
:no:
Если будете продолжать в том же духе - получите предупреждение (не словесное, а вполне официальное). :evil:

Правила прочитать можно там: [[Правила]]
<Digit>
Последний раз редактировалось Digit 12 сен 2008, 13:01, всего редактировалось 3 раз(а).
Причина: Нарушение правил цитирования!
Vorral
 
Сообщения: 873
Зарегистрирован: 11 сен 2008, 17:18
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав

Re: Универсальное зрение для навигации - 3D-реконструкция

Сообщение =DeaD= » 12 сен 2008, 12:51

Программа тестируется на конкретной стереопаре или у вас реальная пара камер есть и вы пачку стереопар анализируете?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Универсальное зрение для навигации - 3D-реконструкция

Сообщение Vorral » 12 сен 2008, 14:41

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

Re: Универсальное зрение для навигации - 3D-реконструкция

Сообщение =DeaD= » 12 сен 2008, 14:49

Ну тогда ждем ваших результатов. Кстати какой алгоритм используете - Block-matching или области сначала выделяете?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Универсальное зрение для навигации - 3D-реконструкция

Сообщение Vorral » 12 сен 2008, 16:10

Я использую сетку 12x12, которая сейчас состоит из 4 участков по 4 элемента 3x3, каждый мелкий элемент(3x3-всего в сетке 16 таких элементов) сравнивается со всеми значениями, записывает все результаты, потом ищет максимальный во всех участках и общий по сетке, дальше ищет все значения от максимального на какое то x -> сортирует их по уменьшению -> дальше логика и выводим результат.
Vorral
 
Сообщения: 873
Зарегистрирован: 11 сен 2008, 17:18
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав

Re: Универсальное зрение для навигации - 3D-реконструкция

Сообщение =DeaD= » 12 сен 2008, 16:42

Ничего не понял - с чем сравнивается и в пределах чего? Результат сравнения в чем выражен? СКО?
Максимальный во всех участках и по сетке - это как?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Пред.След.

Вернуться в Алгоритмы

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

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