roboforum.ru

Технический форум по робототехнике.
Текущее время: 17 фев 2025, 08:26

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Определение плоскостей при помощи одной движущейся камеры
СообщениеДобавлено: 26 мар 2014, 07:14 
Не в сети

Зарегистрирован: 26 мар 2014, 06:17
Сообщения: 4
Доброго времени суток.

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

Если кто-то занимался чем-то похожим, или же имеет представление - пожалуйста, подскажите, в каком направлении копать.

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

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

Очень надеюсь на вашу помощь. Заранее спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение плоскостей при помощи одной движущейся камер
СообщениеДобавлено: 26 мар 2014, 14:00 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
одна движущаяся камера это аналог множеству неподвижных
подвигали камерой секунду - получили 25 фотографий из разных точек, как будто у нас есть аж 25 камер.
ну или хотябы две фотографии с двух камер, одна в начале движения, другая в конце.
а это уже стереозрение.

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение плоскостей при помощи одной движущейся камер
СообщениеДобавлено: 26 мар 2014, 15:48 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
можно одну матрицу разделить на две половинки, но тогда нужна оптика/призма, делящая изображения по полом, с разных точек...правда камера тогда должна быть в идеале с норм. разрешением.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение плоскостей при помощи одной движущейся камер
СообщениеДобавлено: 26 мар 2014, 17:42 
Не в сети

Зарегистрирован: 26 мар 2014, 06:17
Сообщения: 4
Myp писал(а):
одна движущаяся камера это аналог множеству неподвижных
подвигали камерой секунду - получили 25 фотографий из разных точек, как будто у нас есть аж 25 камер.
ну или хотябы две фотографии с двух камер, одна в начале движения, другая в конце.
а это уже стереозрение.


Я исхожу примерно из таких же соображений. Если я знаю, каким образом я изменяю положение камеры(вращаю по оси на угол, делаю смещение на определённое расстояние и в определённом направлении), то, теоретически, я могу по набору снимков сделать какие-то выводы о пространстве.

Madf писал(а):
можно одну матрицу разделить на две половинки, но тогда нужна оптика/призма, делящая изображения по полом, с разных точек...правда камера тогда должна быть в идеале с норм. разрешением.


С призмой не свяжусь - у меня обычная вебка, к тому же не очень хорошая - но, вроде бы, картинка чёткая. Разрешение 640х480, не думаю, что это то, что нужно.

Хотя бы в теории - моя идея рабочая?
Есть ли какие-то статьи, которые порекомендуете почитать? Буду крайне признателен.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение плоскостей при помощи одной движущейся камер
СообщениеДобавлено: 26 мар 2014, 21:36 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
с вебкой будут проблемы в плане того что в движении она выдаёт смазанную картинку.
надо покупать либо дорогую хорошую вебку либо картинку с камеры брать только когда она остановилась.

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение плоскостей при помощи одной движущейся камер
СообщениеДобавлено: 27 мар 2014, 04:10 
Не в сети

Зарегистрирован: 26 мар 2014, 06:17
Сообщения: 4
Myp писал(а):
с вебкой будут проблемы в плане того что в движении она выдаёт смазанную картинку.
надо покупать либо дорогую хорошую вебку либо картинку с камеры брать только когда она остановилась.


спасибо за совет, постараюсь это учесть в работе. Можно, теоретически, отфильтровать изображения на предмет "нашёл-не нашёл контрольные точки". Или просто двигать медленно.)
Ещё рекомендации?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение плоскостей при помощи одной движущейся камер
СообщениеДобавлено: 27 мар 2014, 14:17 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
я бы порекомендовал поделиться потом с общественностью проектом
потому как вопрос достаточно интересный для робототехники =)

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение плоскостей при помощи одной движущейся камер
СообщениеДобавлено: 27 мар 2014, 22:01 
Не в сети

Зарегистрирован: 07 авг 2010, 21:29
Сообщения: 1725
Откуда: КМВ
прог. языки: C
ФИО: Андрей
OpenCV, поиск контуров. Не, я буду продолжать лазер вверх-вниз гонять.
А смазанность зависит от освещения.

_________________
Дым, идущий из всех устройств в помещении предвещает появление электрика.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение плоскостей при помощи одной движущейся камер
СообщениеДобавлено: 28 мар 2014, 07:20 
Не в сети

Зарегистрирован: 26 мар 2014, 06:17
Сообщения: 4
Myp писал(а):
я бы порекомендовал поделиться потом с общественностью проектом
потому как вопрос достаточно интересный для робототехники =)


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


RootAdmin писал(а):
OpenCV, поиск контуров. Не, я буду продолжать лазер вверх-вниз гонять.
А смазанность зависит от освещения.


Обязательно посмотрю, спасибо. Освещение предполагается тёплое, ламповое довольно яркое. Во всяком случае, заметного глазу отставания картинки при движении объекта(то есть, меня) при имеющемся освещении не наблюдал.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение плоскостей при помощи одной движущейся камер
СообщениеДобавлено: 17 апр 2014, 05:44 
Не в сети

Зарегистрирован: 17 апр 2014, 05:27
Сообщения: 6
Вашу задачу можно решить с одной камерой.
Есть готовый алгоритм PTAM http://www.robots.ox.ac.uk/~gk/PTAM/, реализация под ROS http://wiki.ros.org/ptam

Так же рекомендую лекции с обзором существующих методов компьютерного зрения, поможет в теоретической части.
http://www.lektorium.tv/course/22847

Сразу скажу о недостатках восстановления 3D окружения с одной камерой. Первое это нетерпимость к повороту камеры вокруг своей оси. Что бы алгоритм работал камеру нужно перемещать вперед-назад, вправо-влево и только тогда поворачивать.
Второе это нет реального масштаба восстановленной сцены. Например получили вы плоскости но какое расстояние между ними вы определить не сможете, это может быть 1 метр или 10 метров этого не узнать.

Камеру лучше брать с широким углом зрения больше 90 градусов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение плоскостей при помощи одной движущейся камер
СообщениеДобавлено: 17 апр 2014, 15:46 
Не в сети

Зарегистрирован: 28 июл 2013, 17:59
Сообщения: 39
WETErok писал(а):
Вашу задачу можно решить с одной камерой.
Есть готовый алгоритм PTAM http://www.robots.ox.ac.uk/~gk/PTAM/, реализация под ROS http://wiki.ros.org/ptam

Так же рекомендую лекции с обзором существующих методов компьютерного зрения, поможет в теоретической части.
http://www.lektorium.tv/course/22847

Сразу скажу о недостатках восстановления 3D окружения с одной камерой. Первое это нетерпимость к повороту камеры вокруг своей оси. Что бы алгоритм работал камеру нужно перемещать вперед-назад, вправо-влево и только тогда поворачивать.
Второе это нет реального масштаба восстановленной сцены. Например получили вы плоскости но какое расстояние между ними вы определить не сможете, это может быть 1 метр или 10 метров этого не узнать.

Камеру лучше брать с широким углом зрения больше 90 градусов.


Проблема поворотов вокруг оси довольно успешно решается при помощи соответстующих методов оптимизации, например путем минимазации ZSSD расстояния между соседними кадрами для оценки поворота, а затем уже оценки переноса.

А главный недостаток моно слэма - это пожалуй привязка всего процессинга к начальной оценке 3D облака и сложности восстановления трекинга в случае падения. Хороших методов релокализации до сих пор не придумали...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO