Камеры глубины — тихая революция (когда роботы будут видеть) Часть 2



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

    Как говорит Стив Бланк (по другому поводу, впрочем): «Хотите успеха — выходите из здания». Ниже речь пойдет про камеры глубины, работающие вне помещений. Сегодня эту тему сильно двигают автономные автомобили, но, как мы увидим, не только.


    Источник: Innoviz Envisions Mass Produced Self-Driving Cars With Solid State LiDAR

    Итак, камеры глубины, т.е. устройства снимающие видео, в каждом пикселе которого расстояние до объекта сцены, работающие при солнечном свете!

    Кому интересно — добро пожаловать под кат!

    Начнем с вечной классики…

    Способ 3: Depth from Stereo камеры+


    Построение карты глубины из стерео хорошо известно и применяется уже больше 40 лет. Ниже пример компактной камеры за 450$, которая может использоваться для управления жестами, вместе с профессиональной съемкой или с VR-шлемами:


    Источник 

    Главное достоинство подобных камер — солнечный свет им не только не мешает, но и наоборот, делает их результаты лучше, как следствие — активное применение таких камер для всевозможных уличных кейсов, например, вот великолепный пример как за пару минут снимают трехмерную модель старого форта:


    Пример уличного использования ZED камеры

    Заметные деньги в перевод построения глубины из стерео на новый уровень влила, конечно, тема автономных автомобилей. Из 5 рассматриваемых способов построения видео глубины только двум — этому и следующему (стерео и пленоптике) не мешает солнце и не создают помех соседние автомобили. При этом пленоптика в разы дороже и менее точна на больших дистанциях. Сложиться дальше может по-всякому, прогнозы строить сложно, но в данном случае стоит согласиться с Илоном Маском — у стерео из всех 5 способов самые лучшие перспективы. И текущие результаты весьма радуют:


    Источник: Large-Scale Direct SLAM with Stereo Cameras

    Но интересно, что, похоже, еще более сильное влияние на развитие темы построения глубины из стерео окажут не беспилотные автомобили (коих выпускается пока немного), а гораздо более массовые устройства, где уже сейчас строится карта глубины по стерео, а именно… Правильно! Смартфоны!

    Года три назад пошел просто бум «двуглазых» смартфонов, в каковом отметились буквально все бренды, ибо качество фотографий, сделанных с одной камерой, и качество фотографий, сделанных с двумя отличалось кардинально, а с точки зрения повышения цены смартфона это было не столь существенно: 



    Более того, в прошлом году процесс активно пошел еще дальше: «У вас в смартфоне 2 камеры? Отстой! У меня три четыре!!!»:


    Источник: Samsung Galaxy A8 & A9

    Шестиглазые будущие Sony упоминались в первой части. В общем — многоглазые смартфоны вполне себе набирают популярность у производителей.

    Фундаментальные причины этого явления просты:

    • Разрешение камер телефонов растет, а размер объектива мал. В итоге, несмотря на многочисленные ухищрения, растет уровень шумов и падает качество, особенно при съемках в темноте.
    • При этом на второй камере мы можем снять так называемый фильтр Байера с матрицы, т.е. одна камера у нас будет черно-белой, а вторая цветной. Это увеличивает на черно-белой чувствительность примерно в 3 раза. Т.е. чувствительность 2-х камер вырастает условно не в 2, а в 4 раза (!). Там есть многочисленные нюансы, но такой рост чувствительности реально хорошо видно на глаз. 
    • Помимо прочего — при появлении стереопары у нас появляется возможность программным образом менять глубину резкости, т.е. размывать фон, от чего многие фотографии заметно выигрывают (про это мы писали во второй половине тут). Эта опция новых моделей смартфонов быстро стала крайне популярной.
    • При увеличении числа камер также появляется возможность использовать другие объективы — более широкоугольные (короткофокусные), и, наоборот, длиннофокусные, которые позволяют заметно повысить качество при «приближении» объектов. 
    • Интересно, что увеличение числа камер приближает нас к теме разреженного светового поля, у которого масса своих особенностей и плюсов, впрочем, это отдельная история. 
    • Заметим также, что увеличение числа камер позволяет поднять разрешение методами восстановления разрешения

    В общем, плюсов настолько много, что когда люди их осознают, то начинают удивляться, почему хотя бы по 2 камеры не начали ставить уже давно.

    И тут выясняется, что не все так просто. Чтобы содержательно использовать дополнительные камеры для улучшения снимка (а не просто переключиться на камеру с другим объективом), мы обязаны построить так называемую карту диспаритета, которая напрямую пересчитывается в карту глубины. А это весьма нетривиальная задача, к решению которой мощности смартфонов подошли только-только. И даже сейчас карты глубины имеют часто достаточно сомнительное качество. То есть до точного сопоставления «пикселя на правой картинке пикселю на левой» еще нужно дожить. Например, вот реальные примеры карт глубины для iPhone:


    Источник: сравнение карт глубины iPhone XS & XR

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

    Например, вот довольно хороший пример из доклада про «Создание фото- и видеоэффектов с использованием глубины» от Apple:


    Источник: Creating Photo and Video Effects •Using Depth, Apple, WWDC18

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



    Впрочем, все это — проблемы роста. Если еще года 4 назад и речи не могло идти о сколь-нибудь серьезных эффектах на видео, телефон их просто «не тянул», то сегодня вполне себе обработку видео с глубиной показывают на топовых серийных телефонах (было в той же презентации Apple):


    Источник: Creating Photo and Video Effects •Using Depth, Apple, WWDC18

    В общем тема много-многокамерных телефонов, и, как следствие, тема получения глубины из стерео на мобильниках — без боя покоряет массы:


    Источник: «найдено в этих ваших интернетах»

    Ключевые выводы:

    • Глубина из стерео — в плане стоимости оборудования — самый дешевый способ получения глубины, поскольку камеры нынче недорогие и продолжают быстро дешеветь. Сложность в том, что дальнейшая обработка намного более ресурсоемкая, чем для других способов.
    • На мобильных телефонах нельзя увеличить диаметр объектива, при этом разрешение быстро растет. В итоге использование двух и более камер позволяет ощутимо повысить качество фото, снизить уровень шумов в условиях недостаточного освещения, повысить разрешение. Поскольку сегодня мобильный телефон часто выбирают по качеству камеры, это крайне ощутимый плюс. Построение карты глубины идет в качестве незаметного побочного бонуса.
    • Основные недостатки построения глубины из стерео: 
      • Как только текстура пропадает или просто становится менее контрастной — шумы по глубине резко возрастают, в итоге на ровных однотонных объектах глубину часто слабо используют (возможны серьезные ошибки).
      • Также глубина плохо определяется на тонких и небольших по размеру объектах («отрезанные» пальцы, а то и руки, проваленные по глубине столбы и т.д.) 
    • Как только мощность железа позволит строить карту глубины для видео, глубина на смартфонах даст мощный толчок развитию AR (в какой-то момент совершенно неожиданно для публики качество AR приложений на всех новых моделях телефонов, включая бюджетные, вдруг станет заметно выше и пойдет новая волна). Совершенно неожиданно!

    Следующий способ — менее тривиальный и известный, но очень прикольный. Встречайте!

    Способ 4: Light Field камеры глубины


    Тема пленоптики (от латинского plenus — полный и optikos — зрительный) или световых полей пока сравнительно слабо известна широким массам, хотя профессионалы ей начали заниматься крайне плотно. На многих топовых конференциях для статей по Light Field выделены отдельные секции (автора в свое время поразило количество азиатских исследователей на IEEE International Conference on Multimedia and Expo, которые плотно занимаются этой темой). 

    Google Trends говорят, что по интересу к Light Field лидируют США, Австралия, потом идут Сингапур, Корея. Великобритания. Россия на 32 месте… Будем исправлять отставание от Индии и ЮАР:


    Источник: Google Trends

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

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


    Источник: plenoptic.infо (рекомендуется кликнуть и посмотреть в полном разрешении)

    В итоге у нас появляется масса новых возможностей, но серьезно падает разрешение. Решив массу сложнейших технических задач, кардинально подняли разрешение в компании Lytro (куплена Google), где в Lytro Cinema разрешение сенсора камеры довели до 755 мегапикселей RAW данных, и которая выглядела громоздко, как первые телекамеры:


    Источник: NAB: New Lytro Light-Field Camera That Could Bring Big Changes to Visual Effects Work Is Unveiled

    Интересно, что даже профессионалы регулярно неверно оценивают падение разрешения пленоптических камер, поскольку недооценивают, насколько качественно на них могут отрабатывать алгоритмы Super Resolution, реально великолепно восстанавливающие многие детали по микросдвигам изображения в световом поле (обратите внимание на размытые спицы и движущиеся качели на заднем плане):


    Источник: Наивное, умное и Super Resolution восстановление пленоптического кадра из Adobe Technical Report «Superresolution with Plenoptic Camera 2.0»

    Все это имело бы относительно теоретический интерес, если бы Google в Pixel 2 не реализовал пленоптику, накрыв линзой 2 пикселя:


    Источник: AI Google Blog

    Как следствие, образовалась микростереопара, давшая возможность ИЗМЕРИТЬ глубину, к которой Google, верная новым традициям, добавила нейросетей, и получилось вообще замечательно:




    Больше примеров глубины в полном разрешении в специальной галерее.

    Интересно, что глубина хранится Google (как и Huawei, и прочими) в самом изображении, поэтому ее можно оттуда извлечь и посмотреть:


    Источник: Three Secret Features Of Google’s New Camera App That Will Blow Your Mind

    И дальше можно превратить фото в трехмерное: 


    Источник: Three Secret Features Of Google’s New Camera App That Will Blow Your Mind

    Самостоятельно можно с этим поэкспериментировать на сайте http://depthy.me, куда можно загрузить свое фото. Интересно, что сайт доступен в исходниках, т.е. можно улучшать обработку глубины, благо возможностей для этого много, сейчас там применены простейшие алгоритмы обработки.

    Ключевые моменты:

    • На одной из конференций Google прозвучало, что, возможно, линзой будут накрыты не 2, а 4 пикселя. Это уменьшит прямое разрешение сенсора, однако позволит кардинально улучшить карту глубины. Во-первых, за счет появления стереопар в двух перпендикулярных направлениях, во-вторых, за счет того, что стереобаза увеличится условно в 1.4 раза (две диагонали). Это в том числе означает заметное улучшение точности по глубине на расстоянии.
    • Сама по себе пленоптика (она же — вычисляемая фотография), дает возможность:
      • «Честно» изменять фокус и глубину резкости после съемки — наиболее известная способность пленоптических сенсоров.
      • Вычислять форму диафрагмы.
      • Вычислять освещение сцены.
      • Несколько сдвигать точку съемки, в том числе получать стерео (или многоракурсный кадр) с одним объективом.
      • Вычислять разрешение, поскольку с применением тяжелых по вычислительной сложности алгоритмов Super Resolution можно реально восстановить кадр.
      • Вычислить карту прозрачности для полупрозрачных границ.
      • И, наконец, строить карту глубины, что сегодня немаловажно.
    • Потенциально, когда основная камера телефона сможет параллельно съемке строить в реальном времени качественную карту глубины — это породит революцию. Зависит это во многом от вычислительных мощностей на борту (именно это мешает сегодня делать более качественные и большего разрешения карты глубины в реальном времени). Наиболее это интересно для AR, конечно, но и возможностей изменять фотографии будет много. 

    И, наконец, переходим к последнему в этом обзоре способу измерения глубины.

    Способ 5: Камеры на lidar технологиях


    Вообще, лазерные дальномеры прочно вошли в нашу жизнь, стоят недорого и дают высокую точность. Первые лидары (от LIDaR — Light Identification Detection and Ranging), построенные как связки подобных устройств, вращающихся вокруг горизонтальной оси, первыми начали использовать военные, потом тестировали в автопилотах машин. Они там проявили себя достаточно хорошо, что вызвало мощный всплеск инвестиций в область. Изначально лидары вращались, давая несколько раз в секунду подобную картину:


    Источник: An Introduction to LIDAR: The Key Self-Driving Car Sensor

    Это было неудобно, ненадежно в силу движущихся частей и довольно дорого. Тони Себа в своих лекциях приводит интересные данные по скорости снижения стоимости лидаров. Если для первых автономных машин Google лидары обходились в 70 тысяч долларов (например, специализированный HDL-64E, использовавшийся на первых машинах, стоил 75 тысяч):

    Источник: Эта и следующая From Parking to Parks –Bellevue & the Disruption of Transportation

    То при массовом производстве новые модели следующих поколений грозятся снизить цену существенно менее 1000$:


    По поводу примера Тони можно спорить (обещание стартапа — это еще не финальная стоимость), но что идет бум исследований в этой области, быстрый рост тиражей производства, появление совершенно новых продуктов и общее снижение цен — это бесспорно. Чуть позднее в 2017 году прогноз падения цен был таков (а момент истины настанет, когда их таки начнут массово ставить в автомобили):


    Источник: LiDAR Completes Sensing Triumvirate

    В частности, относительно недавно сразу у нескольких производителей появились так называемые Solid State Lidar, у которых в принципе нет движущихся частей, которые показывают кардинально более высокую надежность, особенно при тряске, более низкую стоимость и т.д. Рекомендую посмотреть это видео, где их устройство объясняется за 84 секунды предельно наглядно:


    Источник: Solid State Lidar Sensor

    Что важно для нас, так это то, что Solid State Lidar дает прямоугольную картинку, т.е. по сути начинает работать, как «обычная» камера глубины:


    Источник: Innoviz Envisions Mass Produced Self-Driving Cars With Solid State LiDAR

    Пример выше дает видео примерно 1024х256, 25 FPS, 12 бит на компоненту. Подобные лидары будут монтировать под решетку капота (поскольку устройство хорошо греется):


    Источник: Solid-State LiDAR Magna Electronics

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

    Источник: Alibaba, RoboSense launch unmanned vehicle using solid-state LIDAR

    В частности, интересны их эксперименты с неквадратным «пикселем» глубины, если делать совместную обработку с RGB камерой, то возможно поднять разрешение и это довольно интересный компромисс («квадратность» пикселей важна, по сути, только для человека):


    Источник: MEMS Lidar for Driverless Vehicles Takes Another Big Step

    Лидары монтируют в разные схемы в зависимости от стоимости комплекта и мощности бортовой системы, которой нужно будет все эти данные обрабатывать. Соответственно меняются и общие характеристики автопилота. Как следствие, более дорогие машины будут лучше переносить пыльные дороги и легче «уворачиваться» от въезжающих на перекрестках сбоку машин, дешевые — лишь помогут уменьшить количество (многочисленных) дурацких аварий в пробках: 


    Источник: Описание RoboSense RS-LiDAR-M1

    Заметим, что кроме Solid-State низкие цены обещают еще пара направлений, по которым развиваются лидары. Что-то прогнозировать тут — дело неблагодарное, поскольку слишком многое будет зависеть не от потенциальных инженерных характеристик технологии, а, например, от патентов. Просто Solid-State уже занимаются несколько компаний, поэтому тема выглядит наиболее многообещающей. Но не сказать про остальных было бы несправедливо:


    Источник: This 2017 LiDAR Bottleneck Is Causing a Modern-Day Gold Rush

    Если говорить про лидары как про камеры, стоит сказать про еще одну важную особенность, которая существенна при использовании solid-state лидаров. Они по природе своей работают как камеры с уже забываемым бегущим затвором, что вносит ощутимые искажения при съемке движущихся объектов:


    Источник: В чем отличие глобального (global) затвора от бегущего (rolling)

    Учитывая, что на дороге, особенно на автобане на скорости 150 км/ч, все меняется довольно быстро, эта особенность лидаров будет сильно искажать объекты, в том числе быстро летящие нам навстречу… В том числе по глубине… Заметим, что у двух предыдущих методов получения глубины такой проблемы нет. 


    Источник: неплохая анимация в википедии, на которой показано искажение автомобиля

    Эта особенность, вкупе с низким FPS требует адаптации алгоритмов обработки, но в любом случае благодаря высокой точности, в том числе на больших расстояниях у лидаров особых конкурентов нет.

    Интересно, что по своей природе лидары работают очень хорошо на ровных областях и хуже на границах, а стерео-сенсоры плохо на ровных областях и относительно хорошо на границах. Кроме того, лидары дают относительно небольшой FPS, а камеры намного больший. В итоге они по сути дополняют друг друга, что использовалось в том числе в камерах Lytro Cinema (на фото у камеры сверху — просветленная линза пленоптики, дающей до 300 FPS, а внизу черный квадрат Малевича лидара):


    Источник: Lytro poised to forever change filmmaking: debuts Cinema prototype and short film at NAB

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

    В каком-то смысле лидары — это пока про инвестиции, которые в предыдущие три года составили порядка 1.5 миллиардов долларов (благо этот рынок оценивают в 10 миллиардов через 6 лет и на графике ниже хорошо видно, как вырос средний размер сделки):


    Источник: Интересный мартовский обзор тенденций на рынке лидаров от Techcrunch

    Цикл разработки инновационного продукта даже на высококонкурентных рынках — 1.5-2 года, так что скоро мы увидим крайне интересные продукты. В виде прототипов они уже есть.

    Ключевые моменты:

    • Плюсы лидаров:
      • наиболее высокая точность, в том числе наилучшая среди всех методов на больших расстояниях,
      • лучше всех работают на ровных поверхностях, на которых стерео перестает работать, 
      • почти не засвечиваются солнцем,
    • Минусы лидаров:
      • высокое энергопотребление,
      • относительно низкая частота кадров, 
      • бегущий затвор и необходимость компенсировать его при обработке,
      • работающие рядом лидары создают друг-другу помехи, которые не так просто компенсировать.
    • И тем не менее, мы наблюдаем, как буквально за 2 года появился по сути новый вид камер глубины с отличным перспективами и огромным потенциальным рынком. В ближайшие годы можно ожидать серьезное снижение цен, в том числе появление небольших универсальных лидаров для промышленных роботов.

    Обработка видео с глубиной


    В двух словах рассмотрим, почему глубину не так просто обрабатывать.

    Ниже приведен пример «сырых» данных по глубине от очень неплохой линейки камер Intel RealSense. По пальцам рук на этом видео можно относительно легко «на глаз» оценивать работу камеры и алгоритмов обработки:


    Источник: здесь и далее — материалы автора 

    Хорошо видны типичные проблемы камер глубины:

    • Данные нестабильны по значениям, пикселы «шумят» по глубине.
    • Вдоль границ на довольно большую ширину данные также сильно зашумлены (ровно по этой причине значения глубины вдоль границ часто просто маскируют, чтобы не мешали работать).
    • Вокруг головы видно много «гуляющих» пикселей (видимо, начинает влиять близость к стене сзади + волосы).

    Но это еще не все. Если мы посмотрим данные ближе, видно что местами более глубокие данные «просвечивают» сквозь более близкие:



    Это происходит потому, что для удобства обработки изображение приводится к изображению с RGB камеры, а поскольку границы определяются неточно, появляется необходимость специально обрабатывать подобные «перехлесты», иначе возникают проблемы, типа таких «дырок» по глубине на руке:



    При обработке там возникает масса проблем, например:

    • «Затекания» глубины с одного объекта на другой.
    • Нестабильность глубины во времени.
    • Алиасинг (образование «лесенки»), когда подавление шумов по глубине приводит к дискретизации значений глубины:



    Тем не менее видно, что картинка сильно улучшилась. Заметим, что более медленные алгоритмы могут еще ощутимо поднять качество.

    Вообще, обработка видео глубины (depth video processing) — это отдельная огромная тема, которой пока занимается не так много людей, но которая стремительно набирает популярность. Предыдущий рынок, который полностью она изменила — это конвертация фильмов из 2D в 3D. Результат ручного построения стерео по 2D видео настолько быстро совершенствовался, показывал настолько более предсказуемый результат, вызывал настолько меньше головной боли и меньше стоил, что в кино 3D, после почти 100 лет съемки (!), довольно быстро почти полностью перестали снимать и начали только конвертировать. Появилась даже отдельная специальность — depth artist, а стереограферы старой школы были в шоке («ка-ак та-ак?»). И ключевую роль в этой революции сыграло именно быстрое совершенствование алгоритмов обработки видео. Возможно, как-нибудь выкрою время написать про это отдельную серию статей, ибо свой материал лежит в больших количествах. 

    Примерно то же самое можно ожидать в ближайшее время для камер глубины роботов, смартфонов и автономных автомобилей.

    Wake up! Revolution is coming! 

    Вместо заключения


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


    Источник: материалы автора

    Пробежимся по таблице:

    • По разрешению лидирует глубина из стерео, но все очень сильно зависит от сцены (если она однотонная, дело — труба). 
    • По точности — лидары вне конкуренции, хуже всех ситуация у пленоптики, кстати.
    • По сложности обработки — «непосредственно» получают глубину только ToF и лидары, получение глубины у стерео и пленоптики требует большого количества весьма нетривиальных вычислений. 
    • По FPS конструктивно хороши ToF камеры и в ближайшее время, когда подтянется железо, их догонят стереокамеры (способные выдавать до 300 fps). Лидарам такие скорости пока только снятся.
    • По результатам в условиях низкой освещенности ожидаемо проигрывают стерео и пленоптика.
    • При работе на улице — плохо работают ToF и камеры структурированного света.

    При этом важно хорошо понимать ситуацию на конкретных рынках. Например, пленоптический подход выглядит явно отстающим. Однако, если он окажется наилучшим для AR (а это станет понятно в ближайшие 3-4 года), то он займет свое законное место в каждом телефоне и планшете. Также видно, что solid-state лидары выглядят лучше всех (самые «зеленые»), но это и самая молодая технология, а это свои риски, в первую очередь патентные (в области огромное количество свежих патентов, которые еще не скоро истекут):

    Источник: LiDAR: An Overview of the Patent Landscape

    Тем не менее не забываем — рынок сенсоров глубины для смартфонов на следующий год планируют в 6 миллиардов долларов и меньше 4 он быть не может, поскольку в прошлом году составил больше 3 миллиардов. Это огромные деньги, которые не только пойдут на возврат инвестиций (наиболее удачливым инвесторам), но и на разработку новых поколений сенсоров. Аналогичного роста лидаров пока нет, но по всем признакам он пойдет буквально в ближайшие 3 года. А дальше это обычный лавинообразный экспоненциальный процесс, кои уже были не раз.

    Ближайшее будущее камер глубины выглядит крайне интересным!

    Карфаген должен быть разру… Всё видео до конца века станет трехмерным!

    Stay tuned!

    Кто не читал — первая часть текста!

    Благодарности
    Хотелось бы сердечно поблагодарить:
    • Лабораторию Компьютерной Графики ВМК МГУ им. М.В.Ломоносова за вклад в развитие компьютерной графики в России и не только,
    • компании Google, Apple и Intel за великолепные компактные решения, а всех производителей лидаров за быстрый прогресс,
    • персонально Константина Кожемякова, который сделал очень много для того, чтобы эта статья стала лучше и нагляднее,
    • и, наконец, огромное спасибо Роману Казанцеву, Евгению Ляпустину и Егору Склярову за большое количество дельных замечаний и правок, сделавших этот текст намного лучше!

    Поддержать автора
    Поделиться публикацией

    Комментарии 53

      +5

      Крутые статьи. Прочитал на одном дыхании. Спасибо

        +4
        Я бы еще упомянул что в принципе любые фотоаппараты с автофокусом умеют «сканировать глубину», двигая фокальную плоскость изображения :). Мыльницы — по принципу наибольшей резкости изображения, зеркалки — по методам родственным пленоптике. Depth from focus используется на практике для 3D сканирования в микроскопии.
          +4
          Есть такой способ!

          Мы этим занимались (и даже публикации есть). Делали и Depth from Focus (наш пример глубины для подводной съемки, или вот еще пример для снега — но вообще количество работаюших кейсов ограничено), Depth from Camera Motion (например, вот есть материал с нашим примером, а вот пример с видео с глубиной), а можно из каких-то догадок разной природы глубину (примеры, еще примеры — самая распространенная «догадка» — ландшафтный характер сцены — с ней крайне дешево «конвертируют» в 3D кучу видео с квадракоптеров, за что я бы отрывал руки))).

          Мне люди жалуются, что длинные тексты! Приходится бить на части и не все давать, даже из личной бурной практики. ;) А так если на винте покопаться, можно много интересного найти по генерации глубины из всего на свете, в том числе то, что в продукты не пошло ;)))
            0
            Depth from focus в микроскопии хорошо работает в проходящем свете на малых апертурах (где-то до 0.4) и примерно никак при больших (>0.9), иммерсии и фазе/DIC. Говорят, втёмном поле хорошо работает даже на больших апертурах, но не проверял, подходящей оптики нема.
              0
              Да, в микроскопии ГРИП мала, у нас коллеги делали восстановление рельефа с управляемым микроскопом.
                0
                Можно чуть подробнее про задачу? Материаловедение?
                  0
                  Занимался не я. Там было от банального восстановления поверхности, до трехмерного позиционирования включений в прозрачных кристаллах.
                    0
                    Блин, я уткнулся в необходимость точного привода, чтобы делать снимки со строго определенным шагом. Вручную z-stacking работает для увеличения ГРИП, но карту глубины рассчитать не получилось.
                      0
                      И методами из фотографии не получится, локальные флюки лучепреломления мешают.
                        0
                        Вручную z-stacking работает для увеличения ГРИП, но карту глубины рассчитать не получилось.
                        Неудивительно. Там из-за малой ГРИП алгоритму буквально «не за что зацепиться». Если заморачиваться — можно рядом с образцом помещать остроугольную пирамидку с горизонтальными полосками. Тогда можно будет и вручную прикинуть высоту, и алгоритмически ее вообще чуть не точно посчитать (самое сложное будет — калибровка многочисленных фото пирамидки), но это типичный закат солнца вручную получится. )
              +2
              Конвертируют в 3D, а эффека не видно. На Мстители: Финал хоть в суд подавай — ни в одном моменте эффект не заметен, а в 2D IMAX посмотреть нельзя.
                +3
                Конвертируют часто в Китае и качество бывает китайское (как у поддельного адидас), а бывает китайское (как у среднего iPhone), естественно. Но даже в Китае, кстати, был случай массового возмущения людей качеством конвертации.

                Это тоже большая тема, по которой много материала своего времени ждет. ;) И там одна из причин слабого качества ровно в том, что люди РЕДКО жалуются на плохое качество. Это большая проблема для профессионалов, у которых нет аргументов для продюсеров. Так что очень плохо, что никто в суд не подает.

                В 2D IMAX посмотреть, кстати, можно, даже если прокатчик категорически против. Соответствующие очки на Али стоят недорого ) Так что все в ваших руках.
                  0
                  В 2D IMAX посмотреть, кстати, можно
                  Так мы уже, поэтому ведь и.
                  Цена-то не снизится, яркость не повысится — зачем за спецочки переплачивать?
                    0
                    Люди платят чтобы сходить за компанию и на премьеру )
                  +2

                  А как по мне, так стало лучше. Такое чувство, что наигрались с 3D и стали использовать его более умеренно и осознанно. Первоначальный азарт ("Вау, 3D, давайте все делать как можно трёхмерней, пусть их глаза смотрят в разные углы экрана!") сменился более взвешенным подходом. Сейчас глаза устают меньше, отметил, что меньше стало раздражающих бликов, видимых одним глазом. Эффекты стали тоньше и приятнее. Фильм при этом плоским не ощущался.
                  Всэ это ИМХО, конечно, оценка чисто субъективная.

                  +1

                  А меня Аквамен поразил на редкость качественным 3d. На мой взгляд сравнимо с аватаром, если не лучше. (Обычно меня 3d только раздражает стробоскопическим эффектом при быстрых движениях в кажре) И тут понимаешь, что будущее видео все равно за 3d, а производители tv как сговорились и отказываются производить телевизоры с 3d, а гонятся за какими-то чрезмерными разрешениями разница в которых с типичной дистанции просмотра практически не заметна, зато требования к железу и размеры файлов растут в геометрической прогрессии.

                    0
                    а производители tv как сговорились и отказываются производить телевизоры с 3d, а гонятся за какими-то чрезмерными разрешениями разница в которых с типичной дистанции просмотра практически не заметна
                    У меня мысль была мысль написать о причинах «заговора» ))) Они алгоритмические и организационные (договориться пока не могут). Но вроде популярность темы спала.
                      0
                      Как поклонник и владелец 3D телевизоров и камер — прошу Вас всё-таки отписаться на эту тему!
                        0
                        Мнение просуммировано, спасибо! У меня было 6 статей за полгода. Про камеры глубины — наименьшее количество хабраплюсов (на удивление). Хотя видно, что тема интересна (в статье про пленоптику была дискуссия про 3D телевизоры и очки, хотя она далека от темы, тут упомянул мельком конвертацию — народ отозвался), но настоящих буйных мало наверное. Но следующая волна готовится.
                  0
                  По поводу таблицы сравнения — у intel realsense (стерео-камера с двумя infrared + одна цветная + подсветка специальным инфракрасным узором), например, благодаря подсветке в условиях слабого indoor-освещения на расстояниях до нескольких метров — точность довольно неплохая. Зато для outdoor — уже не особо.
                    +1
                    Да, у них великолепная линейка. Причем поскольку блог Интел есть на хабре, они регулярно писали сюда, вижу только с тегом Intel Realsense 26 постов ). Причем у них в том числе под разные кейсы камеры в линейке. Сейчас будет соревнование Intel с китайцами — кто кого по соотношению цена-качество.
                    0
                    глубина хранится Google (как и Huawei, и прочими) в самом изображении, поэтому ее можно оттуда извлечь и посмотреть

                    А что за формат хранения? Какими инструментами с ним работать? Браузеры уже понимают такие картинки?
                    0
                    И вот что не ясно, как достраивается 2D картинка, имеющая карту глубин пикселей, до 3-х мерной анимашки? Откуда недостающие пиксели – они же в исходной 2D картинке отсутствуют?
                      +4
                      Про это рассказывать на несколько часов )
                      Держите. Эта весьма практичная работа сейчас у нас готовится к защите кандидатской, а ее автор к работе на Google:
                      videocompletion.org/fast_video_completion
                      посмотрите там внизу по ссылке — много примеров, в том числе очень и очень сложные технически (пыль, нетривиальное движение). После убирания слона достроить пару пикселей с краю — довольно простая задача. Нельзя сказать, что у автомата не бывает глюков, но в большинстве случаев результат можно даже в кино использовать.
                      И таких работ много, понятно. Это — наиболее сложный подход, он в продуктах будет года через четыре. В примере выше — совсем простой.
                      0

                      Видео до конца века может и будет трехмерным, а проецировать будем один фиг на плоскости экранов :( С 3d tv всех типов производители наигрались и забили, на смартфонах эти же технологии не взлетят из-за размеров экрана и углов просмотра, с голограммами не двигается вроде ничего. В vr-шлеме все время не будешь сидеть. Вангую что трехмерность всего подряд останется в основном востребована профессионалами. Ну там чтобы снятый материал обрабатывать удобнее, спецэффекты лучше цеплять, фотки "вытягивать".
                      А статьи огнище, жгите еще!

                        +1
                        не двигается вроде ничего
                        Это откуда у вас такие сведения? )

                        На всех фронтах все двигается и довольно хорошо.

                        Для стереоскопии на показе затык был в алгоритмах обработки и в первую очередь смены параллакса и там все хорошо развивается, но пока не решено несколько фундаментальных задач + вычислительной мощности не хватает. Там алгоритмы в 2000 раз медленнее реального времени и это проблема. При этом уже через 5 лет обещают увеличение мощности RPU в 100 раз относительно топовых GPU. Сколько-то наиграют программно. Скорость памяти растет, опять же. В итоге через 7 лет, вангую, вполне могут появиться гики, которые будут конвертировать самими свежими модными нейросетками блю-реи с параллаксом кинотеатров в параллакс домашних диагоналей. Примерно как сегодня конвертируют советские мультфильмы и аниме в HD ). Сначала алгоритмы будут тянуть только конвертацию, потом и съемку. И (внезапно!) пойдет новая волна ) У всех производителей телевизоров есть отделы, которые прототипы 3D экранов готовят, мы с ними общаемся )))

                        По автостереоскопии — то же самое. Ей не хватает разрешения. Всегда! По пиксель экрана дешевеет в 10 раз каждые 10 лет уже 40 лет подряд. И за последнее десятилетие скорость падения цены увеличилась. Они уже не знают, куда пиксели девать. В 2D столько не нужно. Скажу по секрету — в 2D увеличение даже ухудшает визуально картинку, поскольку количество интерполированных пикселей уже сильно превышает количество «настоящих». Иногда больше, чем на порядок… Т.е. уже что-то не то творится. И революцию тоже готовят. ) Там материала на много постов хватит )

                        Жечь буду, спасибо! Лишь бы времени хватало!
                          0

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

                            0
                            Пользователи увидят только когда волна массовых продуктов пойдет, а такие бывают не так часто, как хотелось бы гикам (увы!) )))
                      • НЛО прилетело и опубликовало эту надпись здесь
                          +1
                          Интересная мысль ). Пока ничего подобного не видел, благо еще не все из движения задействовали, например. Но в какой-то момент такая тема вполне может появиться.
                          • НЛО прилетело и опубликовало эту надпись здесь
                              0
                              Гм… Структурированный свет (см. первую статью) делает это проще и легче, чем тени.
                            0

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

                              0
                              Одно из названий: unsupervised monocular depth estimation. Google scholar находит 5500+ статей на эту тему. Поскольку там зачастую глубокие нейросети, то что используется на самом деле — хороший вопрос.

                              В свое время гугл шуму наделал, использовав для обучения кучу стерео-видео, залитых на youtube чтобы обучить сеть предсказывать глубину по одному кадру. С тех пор понеслось! )
                            +2

                            Я вот про лидары одно не понимаю — они же чем-то светят и отраженный "свет" ловят. Что будет, когда из каждой машины будет этот самый лидар светить? Они же будут как раз в "глаз" встречным машинам светить. Как эта проблема решается? У каждого экземпляра своя частота? Какие-то паттерны посылать и распознавать?

                              +1
                              Это большая тема.

                              В феврале был неплохой перевод на хабре про лидары, где, в частности, было:
                              Большая энергия позволяет увеличивать расстояние, но у неё есть и свои недостатки. В этом году на выставке CES в Лас-Вегас один человек рассказал журналу Ars, что его дорогая камера оказалась испорченной, когда он сделал фотографию лидара от AEye. Глаза заполнены жидкостью, непроницаемой для волн длиной 1550 нм. А камеры – нет. Видимо, мощный лазер AEye попал на хрупкую матрицу фотокамеры.

                              В заявлении для журнала Ars компания AEye описала повреждение камеры как проблему, присущую всей индустрии. Но Ангус Пакала, директор конкурирующей компании Ouster, спорит с этим. Он писал: «Наши сенсоры безопасны для глаз и камер. И точка». Luminar сообщила, что «мы провели всесторонние испытания с той же камерой с теми же линзами и с теми же настройками, что были у повреждённой на CES, и не смогли причинить ей вреда» при помощи лидара от Luminar.


                              Т.е. типа лидары от компании AEye опасно фотографировать, а лидары от компаний Ouster и Luminar — безопасно. Дальше, очевидно, будут больше тему исследовать. Было бы обидно повредить камеру своего нового флагманского смартфона, сфотографировавшись на улице с оживленным движением.

                              Из приколов на ту же тему на тостере было Можно ли лазерной указкой испортить дорожную камеру — фиксатор скорости? )))))))

                              Отдельная проблема — когда два лидара «смотрят» на один объект. Там нужны усилия по синхронизации (если совпадают — один должен сдвинуться во времени), иначе они будут генерировать заметные помехи друг-другу. По факту сейчас это не так страшно, поскольку у лидаров разных компаний не совпадают частоты развертки, да и частоты лазеров часто, но с ростом количества таких машин на дорогах проблема возникнет.
                              0
                              У меня вопрос про rolling shutter: CMOS камеры из-за построчного считывания можно считать его аналогом. В методиках, кроме лидара, используются CCD, или нашли какой-то способ выкрутиться?
                                0
                                Лидар относительно медленный в принципе. При анализе поля движения с семантикой распознанных объектов и траектории их движения, у нас редкие точные точки от лидара уточняют траекторию объекта.
                                  0
                                  Не, я именно про не-лидар, про camera-based, в том числе про смартфоны. Сейчас CMOS выигрывает по соотношению цена/качество у CCD, но не у всех CMOS камер есть global shutter.
                                    0
                                    Да я вот тоже хотел обратить внимание на вот это предложение.
                                    Они по природе своей работают как камеры с уже забываемым бегущим затвором

                                    Сейчас найти даже обычную камеру без rolling shutter, а с глобальным затвором по адекватной цене та еще задача. А full frame темболее.

                                    но не у всех CMOS камер есть global shutter.

                                    Я бы сказал мало у кого из камер с матрицей хотябы aps-c, он есть.
                                      0
                                      У GenII часто есть глобальный, у III у всех. Правда, я их видел только в науке, что в мобильники и прочую потребительскую технику ставят — не в курсе.
                                    –1
                                    тогда не понимаю вопроса…
                                      0
                                      Я вот про это (извините за усредненно-рекламный характер статей, просто пытался вспомнить по картинкам и ассоциациям):
                                      Rolling Shutter vs Global Shutter | How to Choose
                                      Rolling and Global Exposure
                                      Zyla and Neo sCMOS Cameras(см разворот 12, ср 23, рисунок справа)
                                      ROLLING & GLOBAL SHUTTER (см стр 6, как может идти считывание и экспозиция у CMOS)
                                      На конфе видел видео с живым сперматозоидом, рядом Rolling и Global Exposure, на скользящей экспозиции не то что контур, позицию было сложно определить. Так что ребята пишут, что с их sCMOS всё отлично, но на самом деле даже с global exposure и 10 fps движущиеся объекты смазываются в направлении считывания.
                                        0
                                        Отличные ссылки, спасибо! С интересом посмотрел. Да, FPS растет, проблему так или иначе компенсируют, но в целом она вполне живее всех живых.
                              • НЛО прилетело и опубликовало эту надпись здесь
                                  0
                                  Требуются и возможны. Точно знаю, что у второй Lytro Cinema было 2 лидара, работающих в паре и они обеспечивали в 10 раз большее количество точек, чем один лидар первой Lytro Cinema. Но в детали не вникал, это уже довольно далеко от моих тем.
                                  +5
                                  Кстати — забавное новое направление с лидарами — цифровая археология, когда «удаляется» лес и можно увидеть старые города и храмы:
                                  image

                                  Причем можно рендерить новую поверхность с разными параметрами со светом с разных сторон и хорошо увидеть остатки старых фундаментов:
                                  Пара примеров одного места с разными параметрами освещения и рендеринга поверхности
                                  image
                                  image

                                  Чтобы расчистить местность и это все увидеть — требуются колоссальные усилия.
                                    0

                                    Да, это поистине очень впечатляет. Похоже на чудо. Вот бы тайгу так просканировать.

                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                  Самое читаемое