Как стать автором
Обновить

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

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

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

Как работают стереокамеры вполне открытая информация. Там особых секретов нет. Но опубликовано все в основном на английском языке.

Про дроны это просто показательный пример, что технология стереокамер работоспособная и применимая в сфере БПЛА.

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

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

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

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

с ходу нашёл данную работу, посмотрю - https://learnopencv.com/stereo-vision-and-depth-estimation-using-opencv-ai-kit/

В схеме вначале статьи я пытался показать, что 3д сканеры и прочие лазеры это другое направление машинного зрения. (В этом направлении работают гугл и Яндекс)

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

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

Да, это просто вводная статья. Наверное первая на русском языке по этой теме.

Чтобы понимать приблизительно плюсы и минусы данной технологии, нужно быть в курсе спора Илона Маска с инженерами, использующими лидары. Он поднимает там много интересных технических моментов машинного зрения.

В принципе, то что я посмотрел, по исходникам opencv указанной мной ссылки - там как раз более аккуратно описано вводное, математика. и если посмотреть курсы - там как раз и разбираются в виде обучения нейронных сетей. в данной статье - только глубина (Z-axis).
а обучение на базе выборок по тем или иным уже полученным критериям получается под задачу.
По моему мнению, лучше разбить на 2 части - первичное определение и распознание глубины, и вторая часть - результаты полученные с помощью обучения сети. Иначе множество народа просто не поймёт.

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

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

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

Подожду пока... должны быть разработчики дронов на хабре...

Тщетные попытки очеловечить машину. Создать по образу и подобию своему.

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

Полагаю, переносить нынешние попытки техногигантов сделать дрону глаза не стоит переносить на запись видео для просмотра человеком. Это будут две большие разницы - ведь задачи перед этими двумя технологиями очень разные. И если кто-то умудрился пронести технологию одного вида в технологический стэк другого - вряд ли оно там реализовано полноценно (и вряд ли разовьётся во что-то путное).

Не соглашусь. Для того, чтобы не сбить пешехода, машине нужно знать, что это пешеход.

Но зачем?

Задача машины - завершить поездку по маршруту без нарушений ПДД, коллизий с помехами и резких смен курса (а то пассажир проблюётся).

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

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

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

Раз в столетие и дерево дорогу перебегает.

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

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

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

Вы считаете себя умнее ведущих инженеров крупнейших корпораций?

Я считаю, что этим умникам не помешало бы послушать старого дурака.

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

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

Господи, да простейший же ответ: если нужно принять решение куда въехать: в стойку с фруктами, или в пешехода — надо въезжать в стойку с фруктами. Для этого объекты и нужно классифицировать.
Пешеход, голубь, рекламный стенд, дерево, другая машина или стойка с фруктами из любимого киношниками тропа — нашей машине всё едино. Помеха.
Нет, не едино.
Считать характеристики его курса. Обойти.
Именно! А для этого нужно знать возможности объекта: возможные ускорения, скорости, вероятность смены направления и т.п. Например, если голубь, то на скорости меньше 80 можно игнорировать, сам улетит. Ворону/грача не собъёшь и на 100. Человека или собаку уже можно сбить на 40, кошку — на 20.
Эти скорости важны для построения алгоритмов: если скорость выше этой границы, необходимо строить объезд, но поведение объекта можно практически игнорировать. Он не успеет отреагировать и сместиться так, чтобы пересечься с новой траекторией.
На меньших скоростях учёт того, что бабуля может шарахнуться назад и попасть под тебя, объезжающего — уже необходим.
И так далее. Определение типа объекта — важно.

Ну не скажите. Если по обочине объект распознается как человек, лучше заранее сбросить скорость и вообще всячески обезопаситься. Юридические последствия ошибки человек/собака чудовищно разные. По хорошему, еще бы отличать, смотрит ли человек в сторону робота, выглядит ли он как ребенок, совершает ли хаотичные метания (заигрался). Иначе придется либо тормозить перед каждым пешеходом, либо частота наездов на людей у роботов будет выше, а это айяйяй.

Хотя это совсем на будущее. Сейчас хотя бы фуру с небом не путать - уже хорошо

Мозгом я примерно понимаю, что Вы пытаетесь сказать.

Но не могу перестать нервно хихикать от подразумеваемого Вами as written допущения, что на какие-то помехи автопилот может наехать - и будет за это молодец.

Машина с автопилотом - дорогая игрушка, требования к которой высоки. И если она будет мочить корки в стиле "Я, Робот" (который с Уиллом Смитом. Посмотрите на досуге, обратите внимание на поясняющий предвзятость главного героя эпизод. Это... несколько отрезвит Ваш взгляд на проблему, надеюсь) - то, думаю, производитель такого чуда очень быстро разорится.

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

вряд ли посмотрю, не люблю фильмы. Скажите вкратце, в чем суть.

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

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

Хотите убиваться - наздоровье. Я не вправе запретить это.

Только от разумных людей держитесь подальше.

Имелось в виду реакция на пакет не на проезжей части. Понятно, что то, что лежит на дороге, опасно. У меня самого таких историй мешок, знаю чудный случай, как человек наехал на куст перекати-поля, выжил, повезло. Зачем очевидное констатировать.

Юридические последствия ошибки человек/собака чудовищно разные
Да. На сбитой собаке в Британии можно залететь посильнее, чем на сбитом человеке.
Нет понятия «переход в неразрешённом месте». Соответственно, переходящий принимает на себя ответственность.
Из истории давностью в пару лет водитель задавил велосипедиста насмерть. Всех подробностей уже не помню, но кончилось 27 фунтами штрафа, что ли. Поскольку там изрядное противостояние велосипедистов и автомобилистов — первые подняли шум в прессе. А так вполне обычная вроде ситуация.
Животные стоят дороже.

Как раз занимаюсь разработками в этой области. Если есть желание поковыряться с подобными технологиями в non-profit проекте по велкам. vaz.rulezzz@gmail.com

Езжу на Subaru с Eyesight c 2018ого. Вроде вполне себе binocural в проде.

Да, еще один хороший пример использования стереокамер

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

Третья камера решает эту проблему

Так вот зачем третий глаз нужен! Древние знали, что будет в 20-21 веках!

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

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

На этом видео дрон летает более увереннно, не совершая ошибок, а тесла плохо выбирает траекторию и один раз даже проезжает на красный свет.

у  этого дрона шесть пар стереокамер ( похоже рекорд в индустрии БПЛА)
у этого дрона шесть пар стереокамер ( похоже рекорд в индустрии БПЛА)

у теслы 8 обычных камер (три передних с разным углом обзора)
у теслы 8 обычных камер (три передних с разным углом обзора)

>>> ссылку выкладывать не буду, ибо мало кто сможет их посмотреть: нужны 3д очки, смартфон с плотностью пикселей экрана не ниже 560ppi, а таких уже нет в продаже

Ну уж ладно — не скромничайте, выкладывайте! ) Много у кого есть нужные девайсы — это же хабр.

>>> Основная мысль статьи была в том, что в противостоянии подходов тесла и гугл к машинному зрению, неожиданно может выйграть подход dji (бинокулярное зрение)

Ну нет… На самом деле очень многие, далеко не только dji, вполне трезво оценивают перспективы стереопары в смысле карты глубин! Как минимум, это на пару порядков дешевле, а с учетом производительности современных чипов — уже практически ничем не хуже. Как минимум производители смартфонов, шлемов виртуальной реальности и прочих «носимых устройств» — уже точно сосредоточились на стереопарах (хотя по началу, после kinect, казалось что скоро в каждый мобильник будет встроен лидар (ну там чуть иной принцип, ИК-проектор + камера)… Впрочем, во флагманы он и в самом деле часто встроен!).

Ну и самое важное: откуда картинка с машинным зрением? Нейросетевые подходы конечно применяются… Я даже полагаю, что возможно вычислительно проще обсчитать обученную собирать карту глубин из стерео-пары нейронку, чем выделять ключевые точки и рассчитывать их смещение… Но при известном расстоянии между камерами и параметрах самих камер — это математически строгая задача, которая решается именно вычислительно! Почему вдруг «астрономия»? Вот неплохая статья с примером использования математики OpenCV на «малинке» (для начала, потому что конечно OpenCV под питоном и на малинке — это скорее натурные эксперименты, чем разработка).

Я не вполне уверен, что dji использует именно и только нейросети! Хотя все может быть…

1.Ок, вот мой канал. Но для просмотра нужен смартфон в плотностью точек экрана не менее 560ppi, иначе 3д эффекта не будет.

  1. Я не слышал ни про одних разработчиков беспилотных авто, кто использует стереопару.

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

>>> Я не слышал ни про одних разработчиков беспилотных авто, кто использует стереопару.

habr.com/ru/news/t/559310

>>> Но там чистая математика, без нейросетей.

Так я про это и говорю — чистая математика без нейросетей это для стереопары нормальная практика! Если даже питоном на малинке можно посчитать карту глубин по стереопаре, то уж тем более нету проблемы это сделать на чипах, специально заточенных. Нейросети — это вовсе не мейнстрим в данной области, а некий… Ну альтернативный подход, скажем так! Сейчас вообще популярно делать все что угодно через нейросети (стильно, модно, молодёжно), но карта глубин по стереопаре — чисто математическая задача.

PS На ваших роликах по ощущениям разная цветокоррекция на левой и правой камерах, что не есть хорошо. Доберусь до дома — посмотрю вживую на правильном девайсе… У вас теги все проставлены же? Шлем определит контент как стерео-пару?

В ссылке про теслу. тесла не использует стереокамеры.

Составить карту глубины по стереопаре можно и с помощью математических методов и с помощью нейросетей. Какой подход окажется лучше мы не знаем. Я за нейросетевой подход.

С цветокоррекцией да, есть косяк. Но это вроде бы никак не влияет на 3д-эффект

>>>тесла не использует стереокамеры…

Эм… Ну да — там камер больше, чем две. :) НО подход все тот-же: триангуляция ключевых точек для определения параллакса/смещения. Они совершенно точно получают с камер карту глубин — поэтому и отказались от лидара в недорогих моделях.

>>> Составить карту глубины по стереопаре можно и с помощью математических методов и с помощью нейросетей…

«Нейросетевые методы» — это когда берем стереопару, считаем математическими методами, а потом обучаем полученными данными нейросеть. Ну или лидар тоже берем в расчет:) Смысл такого мероприятия? Если у вас одна камера — тут понятно: нет другого варианта, кроме как обучать нейросеть — у вас просто недостаточно данных для математики. Если у вас две камеры — данных достаточно. А что вычислительно проще — вопрос…

Скажите, а вы свои стереопары загружаете, как написано тут: support.google.com/youtube/answer/7278886?hl=ru?

Я использую шлем Oqulus Quest2 и ваше видео не воспроизводится как 3D Контент…

Вот пример ролика, который выложен правильно: youtu.be/FSGfN9rr78Q — в шлеме офигенно смотрится! ) уверен, ваши ролики тоже будут хороши, но нужно их правильно оформить.

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

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

«Нейросетевые методы» это когда берем стереопару+данные лидара и никакой математики и триангуляции.

не, метаданных нет

>>> Тесла не получает карту глубины с камер (это невозможно теоретически).

Серьезно? ))) Давайте я поищу в гугле за вас: https://www.reddit.com/r/teslamotors/comments/bgmqgv/3d_reconstruction_shows_depth_of_information_a/

Конечно тесла именно это и делает - получает данные с 8 камер и строит объемную сцену. Именно поэтому они отказываются от лидаров - 8 камер дешевле, а качество почти не уступает.

>>> «Нейросетевые методы» это когда берем стереопару+данные лидара и никакой математики и триангуляции.

lol. Ну удачи вам с таким подходом. ;)

>>> не, метаданных нет

А что так? ;) Там одна команда ffmpeg и ваш контент уже интересен не только и не столько пользователям устаревшего Gear VR! Поверьте - правильно настроенное видео в Oculus Quest выглядит потрясающе!

Впрочем, если вы делаете видео чисто для себя, то оно действительно не очень надо. НО тогда зачем писать "Мне кажется, что мои ролики являются одними из самых качественных на ютубе в формате 3д"? Может они и качественные (мне лень проверять, хотя Gear VR у меня есть), но не в формате 3D. просто 2 картинки рядом.

Вы путаете

Тесла и никто другой не может получить карту глубины из монокулярного зрения

Но тесла может строить 3д карту обьектов с помощью своего монокулярного зрения. Вот тут с любого смартфона можно строить 3д карту местности (это называется фотограмметрия):

Наверное со стороны может показаться, что это одно и то же, но это не так.

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

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

Я не понимаю, как у вас уживается одновременно наличие ВОСЬМИ камер, которые по FOV явно перекрывают друг друга и понятие "монокулярное зрение"! )) С чего вы взяли, что оно монокулярное-то? Вот почитайте еще здесь: https://bespilot.com/companies/117-tesla, там картинки есть с углами обзоров камер...

Или вы под "бинокулярным зрением" понимаете только камеру типа как у вас - когда между объективами расстояние примерно как у человека? ))) любые две и более камеры с известными параметрами и перекрывающимися FOV позволяют построить карту глубин математическими методами!

Много камер не гарантируют наличия стереозрения.

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

В прередней зоне стереозрение тоже вряд ли есть. там стоят три камеры с очень малым baseline ( расстоянием между камерами). То есть, даже если тесла определяет с помощью этих камер расстояние до обьекта, рабочее расстояние этих камер примерно 10-100см( то есть тесла видит глубину не далее своего капота)

Непонятно зачем здесь эта ссылка. Там нет ничего про стерео зрение.

Общий вывод такой: Тесла или Маск никогда не заявляли, что у любой из их машин есть стерео зрение.

Белые/чёрные хакеры, копающиеся в теслах тоже никогда такого не заявляли.

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

Человеку се стороны может показаться, что если Тесла строит 3д карты местности, то у неё есть стерео зрение. Это ошибка. 3д карты местности можно строить с любого одно камерного смартфона используя принцип фотограмметрии и методы SLAM (англ. simultaneous localization and mapping — одновременная локализация и построение карты) 

Ладно убедили. )

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


Вот в этом проекте Automated Valet Parking используется зрение нескольких десятков стерео камер.

https://www.youtube.com/watch?v=9j4MDcXqsq4

Правда давно не было слышно о них новостей кроме этих промо видео.

Камеру видно на потолке на 0:05, в полный размер на 0:35.

Я не понял из ролика как это работает. Стереопара встроена в паркинг? Это странно

Нам для работы нужно было иметь возможность определять расстояние до объекта на видео. Для этого можно взять обычную рабочую лошадку всего AI - RPi4, к ней уже есть готовые стереокамеры (например https://www.waveshare.com/wiki/IMX219-83_Stereo_Camera) и готовые же репозитории (начать можно с OpenCV - https://docs.opencv.org/4.x/dd/d53/tutorial_py_depthmap.html ). Если уже был опыт работы с ИИ для видео на RPi (YOLO, PoseNet и вот это всё), то минимально рабочий прототип заводится за день. А потом мы начинаем быстро упираться в геометрию, а именно разрешение /размер сенсора дешевых камер и расстояние между самими камерами. Используя таки дешевые компоненты нам удалось на природе получать более или менее разумную оценку расстояния (+\- 30 см) на дистанциях до 10 метров. Потом уже верить данным особо нельзя.

Забабахать две камеры с хорошей оптикой и разрешение на метровой штанге - метод известный, оно точно будет работать. Но клиенты такое в 90% случаев не хотят. Поэтому отдельный интерес представлют проекты используюшие ИИ и одну камеру. Как этого добиться? Вариант первый: тренируем НН в связке лидар + камера, а потом убираем лидар, остается только камера и натренированная НН (Pseudo-LiDar, Supervised Depth Estimation). Минус в том что надо иметь хороший тренировочный датасет с лидаром. Можно сделать Unsupervised алгоритм (https://github.com/nianticlabs/monodepth2) так же заводится через OpenCV за полдня на всё той же RPi4. Точность... примерная. Для некоторых проектов подходит (ближе-дальше, вошел в зону / вышел из зоны / наклонился к камере). Но оценки абсолютных значений (1м, 2м, 3м) по нашему опыту пока не стоит серьёзно рассматривать.

Согласен, что для оценки методов машинного зрения лучше рассматривать их результаты.

Несколько постов выше я выложил видео сравнение автопилота теслы и банокулярного дрона. По-моему бинокулярный дрон ориентируется в пространстве лучше теслы, исползующей для обучения всю мощь суперкомпьютера Dojo

А между тем, в стандартный AR-core|ArKit добавили очень интересную математику, которая позволяет использовать телефон с обычной камерой (правда неплохой, и с заранее известными параметрами), плюс данные гироскопа и за счет правильно триангуляции считать расстояния с вполне приемлемой точностью… См armeasure.com например.

Надо было назвать статью: "Как дроны видят мир?"

и прикрепить это фото:

фото взято отсюда:

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

Российские разработчики дронов наверое могли бы добавить что-то интересное в комментах, но видимо таких мало на хабре.

Вот самое крутое видео о том, как видят дроны:

Это дрон skydio r1. У него 12 камер (6 стереопар) для ориентации в пространстве и одна для записи видео.

Интересно, что запись определения карт глубин сохраняется в памяти дрона. Это значит, что можно восстановить 3д карту всех мест, где когда-либо летали дроны.

Российская компания из Зеленограда применяет машинное стереозрение для производства роботов-охранников.

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

Ученые из МФТИ разработали систему стереозрения для роботов-футболистов

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

Интересно, что первая модель дрона skydio R1 использовала классические математические методы построения модель 3д пространства из бинокулярной картинки. Но вторая модель skydio 2 использовала нейросетевой метод решения той же задачи. Об этом основатель говорит на 45-й минуте видео:

Модель R1 построена на плате Nvidia jetson TX1, а skydio 2 построен на jetson TX2. Обе платы сейчас являются устаревшими, низкопроизводительными. Они произведены с помощью устаревшего, неэнергоэффективного 16 нм техпроцесса.

Nvidia Xavier, изготовленная по более современному 12 нм техпроцесса превосходит TX2 примерно в 2 раза по производительности.

Плата jetson TX2 поддерживает до 6 камер (у skydio 2 их как раз шесть), позволяет обрабатывать до 8 потоков в разрешении 1080р. 1080р это очень плохое качество для 180 градусной камеры в skydio 2.

Плата Nvidia jetson Xavier nx изготовленная по 12 нм техпроцессу позволяет обрабатывать те же 8 потоков в 1080р, но уже не 30, а 60 fps

Странно, что представленная в начале 2022 года модель skydio2plus использует ту же устаревшую 16нм плату, хотя вполне можно было использовать 12 нм плату Xavier, что дало по при тех же вычислительных нагрузках примерно двукратную экономию потребления энергии платой.

В конце 2022 года в продаже должны появиться платы Nvidia orin, сделанные на 8-нм техпроцессе, которые позволят дронам обрабатывать 4-к изображения с камер. (Orin примерно в 30 раз мощнее tx2)

Тут сравнение характеристик плат с сайта Nvidia. Характеристики новых orin в плане работы с видеопотоками оптимизма не вызывают. По некоторым параметрам новые orin хуже текущих Xavier.

Странно, что у дрона skydio 2 шесть 4к камер, а плата jetson tx2 поддерживает максимум три 4к камеры.

почему нельзя больше, коммутировать необходимое количество каналов мультиплексорами?

Там в характеристиках jetson tx2 указано 3*4к30fps либо 8*1080р30fps.

Я думал у этого дрона 6*1080р, поскольку 6*4к не должно тянуть.

Так видит мир skydio r1
Так видит мир skydio r1

Полное 6-минутное видео о том как видит мир дрон:

Тут демонстрация работы стереокамеры ZED2. Взято с их сайта, понятно, что реклама. В реальности видимо не так идеально работает.

Это тоже из рекламы:

Эффектное видео о том как видит мир skydio 2

Для сравнения, построение 3д модели пространства с помощью монокулярной камеры даёт гораздо худшее качество:

Российский нейропроцессор оказался эффективнее аналога от NVIDIA Ссылка

Основное отличие подхода Роскосмоса от skydio и DJI в том, что на дронах построение 3д модели происходит на борту. А спутники Роскосмоса так не могут, поэтому передают информацию на Землю, а на земле уже строится 3д модель с помощью мощных стационарных компьютеров.

Недостаток системы Роскосмоса в необходимости передачи огромного количества информации на землю. Если бы вычисления осуществлялись на спутниках, то ширину канала связи можно было бы сократить в сотни или тысячи раз.

Между видеосенсором и процессором находится неприятная для любителей вещь как ISP (image signal processor или image sensor processor) который аппаратно рассчитывает экспозицию, конвертацию форматов и так далее. Это всегда проприетарная вещь и всегда без исходников. В телефонах это часть SoC.
Понятно, что это штука заточена для бьютификации бытовых снимков, что может быть непригодна для роботов. (Разработчики Распберри пилят софтовую реализацию ISP со всеми понятными проблемами - задержки и нагрузка на процессор)
На ютьюбе смотрел два длинных интервью про Тесла. Одно с главным разработчиком, другое с Илоном Маском. Их главный параметр это 30 мс. За это время автомобиль должен среагировать, иначе не пройдет сертификацию в госорганах. То есть задержка крайне важна.
Сказали что отказались что от дальномеров по причине что у них большой разброс параметров и быстро деградируют. С такими данными невозможно работать.
Сказали что берут сырые данные! с видеосенсоров и сразу суют в нейронку. То есть 10 или 12 бит! (а не то что отрежет ISP) это дает выигрыш в тумане, при недостатке освещения.
У меня большое подозрение что стереокамеры чувстительны к загрязнениям, к калиброванности, к вибрациям. То есть параметры могут уплыть больше, что сломает жесткие алгоритмы.
Также в каком-то научпопе автор выдвигает гипотезу что "стереозрение" это не то что кажется. Глаза вперед характерны для хищников, это нужно не для стереозрения а для того чтобы смотреть сквозь траву, выжидать добычу из-за кустов. (поместите ладонь перед лицом - вы видите сквозь ладонь, это не работает с одним глазом)

Современные телефоны фоткают в 10 или 12 бит. Зеркальные фотоапараты в 14 и 16 бит.

К многих есть режимы raw.

С видео наверное ситуация сложнее, но raw видео тоже должно быть. Качество видео в любом случае сильно улучшается в последнее врямя.

Возможно tesla никак не может сделать хороший автопилот в том числе из-за того, что использует слабые по современным меркам 720р камеры.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории