Stereo disparity

Apr 20, 2011 13:43

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

Основная сложность в том, чтобы на правой и левой картинке найти одинаковые точки. Например, углы объектов или какие-то другие, по которым можно ( Read more... )

ai, искусственный интеллект, роботы, artiticial intelligence

Leave a comment

Comments 10

b00ter April 20 2011, 19:46:43 UTC
Получается, если разбить исходную картинку на зоны и поискать соответствия (с фильтрацией по отклонениям) - можно попробовать примерно оценить расстояние, не?
http://opencv.willowgarage.com/wiki/ ты наверняка видел...

Reply

d_zh April 20 2011, 21:24:20 UTC
Да, а до ближних предметов с откалиброванными камерами - даже весьма точно.

Библиотеку эту знаю, но не использую. Во-первых, С++, а во-вторых, не могу отделаться от ощущения, что эти ребята о чем-то своем... Решают сложнейшие задачи, которые ИМХО вообще не нужно решать в такой постановке :-) Я не к тому, что я самый умный, а к тому, что думаю, что для моей частной задачи получится обойтись существенно меньшей кровью.

Reply


Если не ошибаюсь... pled76 April 21 2011, 09:48:26 UTC
то раза 3 в сек зрачки совершают резкое скачкообразное движение (саккада). Это даёт мозгу дополнительную инфу, вполне достаточную для:
- снижения шума от несовершенства "оптики" и др. "механики";
- определения соответствия между областями (выделенными графическими примитивами?) в правом и левом глазу.

Reply

Re: Если не ошибаюсь... d_zh April 22 2011, 09:53:59 UTC
Видимо, так. Биологи про это знают давно, а вот камеры и, следовательно, алгоритмы computer vision этот факт никак не используют, а пытаются эффект, получаемый саккадами вычислять сложнейшими геометрическими методами с огромными погрешностями и безумной вычислительной емкостью.

Reply

Re: Если не ошибаюсь... aamonster April 29 2011, 09:07:39 UTC
Введение саккадов изрядно усложнит алгоритмы.
Так что выгоднее решать "однородную" задачу: вычислительная мощь растёт, а программисты умнее не становятся.

Reply


norian May 6 2011, 07:09:37 UTC
есть ещё фокусировка резкости .. в старых фотоаппаратах для наведения резкости использовался бинокулярный дальномер - надо было совместить две картинки от разнесённых объективов чтобы правильно настроить резкость в главном объективе, а глаз решает обратную задачу - по резкости считает расстояние

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

Reply

d_zh May 6 2011, 19:02:31 UTC
Вот на счет дальних объектов - не совсем согласен. У взрослого человек расстояние между глазами около 7 сантиметров. На расстоянии нескольких метров бинокулярная разница практически в рамках погрешности - разница в углах обзора - доли градуса.

Reply

ext_284146 June 20 2011, 09:29:20 UTC
так для организма, с точки зрения эволюционных механизмов, формирующих зрение, и не должно быть особенной разницы между расстояниями, выходящими за рамки зоны непосредственного влияния и принятия решений, а это и есть несколько десятков метров. а вообще мне представляется самой амбициозной задачей робототехники деление однородной картинки на объекты, при этом расстояние, лишь один из тучи параметров объекта.. а как дальше структурировать полученный массив объектов и какие решения принимать по имеющейся информации, вот это интересно! с логикой поработать.

Reply

d_zh June 20 2011, 11:43:11 UTC
Сейчас отдельно (в общем случае плохо) решаются следующие задачи ( ... )

Reply


kpeo_y3k August 10 2011, 15:00:50 UTC
да, мозг никак не определяет глубину ) он ее воспринимает непосредственно - в динамическом паттерне распространения сигналов по нейронам.
"зажигаются" определенным "рисунком" нейроны, описывающие изображение в виде линий смены контраста под определенным углом (на каждые 1/3 X 6° - компоненты признака) для каждого глаза (там еще отдельно есть нейроны, реагирующие на освещенность и т.д.).
потом "зажигаются" "надслои" по уже "зажжённым" нейронам, устанавливая взаимосвязи и закономерности (что-то близкое к нейросетям Кохонена).
работает не только сравнение по углам между глазами, но и учитывается перекрытие объектов, типичные модели освещенности). опять же, это не отдельные процесссы - просто информации и нейронов для этого достаточно )

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

еще в 2008м было установлено, что мозгу не нужно два глаза, чтобы видеть глубину.

Reply


Leave a comment

Up