roboforum.ru

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

Распознавание лестницы

Распознавание лестницы

Сообщение Akuma » 18 янв 2012, 22:19

Здравствуйте, уважаемые пользователи! У меня возникла проблема:

Есть робот, конструктивно способный ездить по лестницам, но делает он это пока только с помощью оператора. Хотелось бы, что-бы это происходило автоматически, отсюда вытекает задача обнаружения лестницы. Для этого было решено использовать камеру и библиотеку OpenCV.

Вот мой вариант алгоритма:
1)Получаем кадр с камеры робота.
2)Накладываем на кадр свертку я ядром Щара(Тем самым выделяем горизонтальные линии и избавляемся от вертикальных)
3)Далее, используя преобразования Хафа, находим линии
4)Используя нейронную сеть, по расположению линий находим лестницу

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

Возможно кто-то уже сталкивался с подобными задачами. Подскажите какими альтернативными методами можно это реализовать? Или как избавится от описанных выше проблем, не меняя конструкцию робота?
Akuma
 
Сообщения: 2
Зарегистрирован: 18 янв 2012, 21:23

Re: Распознавание лестницы

Сообщение Aseris » 19 янв 2012, 01:55

Гусеницы что попадают в камеру можно программно вырезать - зарисовать белым например, или не анализировать их область.
Но с полосатыми обоями при таком примитиве проблемы будут :D

Размытые убрать - методом понижения разрешения, и увеличения контрастности изображения, либо выкидывать размытый кадр, либо принимать решение по серии кадров мажоритарным методом
Аватара пользователя
Aseris
 
Сообщения: 1142
Зарегистрирован: 01 сен 2009, 14:58
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python

Re: Распознавание лестницы

Сообщение elmot » 19 янв 2012, 11:43

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

Re: Распознавание лестницы

Сообщение Akuma » 19 янв 2012, 11:51

Aseris писал(а):Гусеницы что попадают в камеру можно программно вырезать - зарисовать белым например, или не анализировать их область.
Но с полосатыми обоями при таком примитиве проблемы будут :D

Гусеницы вырезать не могу, положение камеры может изменятся, следовательно и положение гусениц в кадре будет разным.

elmot писал(а):А как на счет пары УЗ дальномеров? Или одного, с наведением по вертикали? Если снизу на 20 см ближе чем сверху, значить ступенька пошла?

Пара УЗ дальномеров это уже изменение конструкции робота, а в моем случае просто нет такой возможности.
Akuma
 
Сообщения: 2
Зарегистрирован: 18 янв 2012, 21:23

Re: Распознавание лестницы

Сообщение Angel71 » 19 янв 2012, 11:56

Akuma писал(а):2)Накладываем на кадр свертку я ядром Щара(Тем самым выделяем горизонтальные линии и избавляемся от вертикальных)

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

Re: Распознавание лестницы

Сообщение Aseris » 19 янв 2012, 12:13

Akuma писал(а):Гусеницы вырезать не могу, положение камеры может изменятся, следовательно и положение гусениц в кадре будет разным.


Тогда распознавайте гусеницы по цвету, или у вас они под цвет лестници?

Можно банально камерой на них не смотреть..., как я понимаю робот не выше 2-х метров... так что посмотреть вверх не, и пройтись по алгоритму "ты ли лестница?" не проблема :D

Плюс ширина гусениц и лестници разная а найти длину линии это по моему задача банальная.

Да и с другой стороны где гусеницы на кадре вычислить элементарно, ведь мы знаем положение камеры, там углы всякие расстояния, запихиваем эти данные в таблицу либо в нейросеть, либо в полином, и знаем какую часть кадра игнорировать

Решений море

...Или это какая то игрушка с веб камерой ? :no:
Аватара пользователя
Aseris
 
Сообщения: 1142
Зарегистрирован: 01 сен 2009, 14:58
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python

Re: Распознавание лестницы

Сообщение Angel71 » 19 янв 2012, 12:47

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


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

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

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