Passive Vision: Trinocular Depth Estimation

Nov 13, 2010 19:22

Знаете ли вы как сделать 3Д-кино? Для этого обычно требуется как минимум 2 камеры, ибо нужна всякая там бинокулярность, парралакс-хуеллакс и тому подобное. Хотя можно обойтись и одной, но это уже совсем другая опера. Со временем умельцы наверное приделают Depth ко всем старым фильмам как когда то раскрасили Штирлица с Борманом.

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

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







Ну и хуле с этим можно сделать? Берем ищем соответствия между центральной и боковыми, и получаем что то вроде этого:




Как видите каждая из стерео-пар выдала какую то достаточно правдоподобную инфу, однако полностью корректной ни одну из них признать нельзя. Вот посмотрите на 100% правдишный депт, который найден с помощью активного глядения (structured light)



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



Гораздо лучше, но все равно жопа. Тогда давайте мы его пофильтруем чем нибудь? Да ни вопрос:



А если еще?



А еще?



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

signal processing, depth estimation, matlab, tut

Previous post Next post
Up