Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
Основные принципы бинокулярной дальнометрии:
Фактическая операция бинокулярной локации разделена на 4 этапа.:Калибровка камеры——Бинокулярная коррекция——бинокулярное сопоставление——Рассчитать информацию о глубине。
Калибровка камеры:Из-за особенностей оптической линзы камера имеет радиальные искажения изображения.,Может состоять из трех параметровk1,k2,определяется k3, из-за ошибок сборки датчик и оптическая линза не полностью параллельны, поэтому в изображении возникают тангенциальные искажения, которые можно определить по двум параметрам p1;,п2 ОК. Калибровка отдельной камеры предназначена в основном для расчета внутренних параметров камеры (фокусное расстояние f и начало изображения cx,cy, пять параметров искажений (обычно необходимо рассчитать только k1),k2,p1,p2,Для объективов типа «рыбий глаз» с особенно большой радиальной дисторсией необходимо рассчитывать k3)) и внешние параметры (мировые координаты объекта калибровки). Калибровка бинокулярной камеры требует не только внутренних параметров каждой камеры.,Также необходимо измерить относительное положение между двумя камерами посредством калибровки (то есть матрицу вращения R и вектор перемещения t правой камеры относительно левой камеры).
Бинокулярная коррекция:Бинокулярная коррекцияда根据摄像头定标后获得的单目内参数据(фокусное расстояние、происхождение изображения、Коэффициент искажения)и взаимное расположение бинокля(Матрица вращения и вектор перевода),Устраните искажения и выровняйте левое и правое изображения соответственно.,Сделайте согласованными координаты начала изображения для левого и правого видов.(CV_CALIB_ZERO_DISPARITYВступает в силу, когда установлен флаг)、Оптические оси двух камер параллельны.、Левая и правая плоскости изображения копланарны.、выравнивание эпиполярной линии。Любая точка на таком изображениии Соответствующая ему точка на другом изображении должна иметь тот же номер строки.,Просто выполните одномерный поиск по этой линии, чтобы найти соответствующую точку.。 Бинокулярное соответствие:бинокулярное сопоставление的作用да把同一场景在左右视图上对应的像点匹配起来,Цель этого — получить изображение Параллакса. Бинокулярное сопоставление обычно считается самой сложной и важной проблемой стереозрения. Получить данные Параллакса,Информацию о глубине можно легко рассчитать по формуле, описанной выше.
Об этом моменте написало большинство людей в Интернете, и кажется, что только этот момент имеет ценность и физический смысл, о котором стоит писать. Я изначально хотел поставить сюда элемент управления (настраиваемую анимацию), но не смог его получить, поэтому забыл о нем. Если вам это нужно, вы можете связаться со мной, чтобы загрузить его. Вот две фотографии.
Выводы, которые можно сделать из рисунка 1. Изменения глубины (EG*EF/(AB+CD) или расстояния от H до EF) приведут к изменениям AB, CD и AB+CD. Мы не акцентируем здесь слишком много внимания на изменениях AB и CD, и обсуждать только AB+CD. Эта причина будет упомянута позже. По мере увеличения глубины AB+CD постепенно становится меньше. Из формулы (не беда, если вы не понимаете формулу, это всего лишь мой вывод, вы также можете вывести его сами, вывод — это пропорциональная зависимость треугольника) AC=EF-AB-DC Пусть Z — глубина Тогда AC/EF=(Z-EG)/Z Это можно сделать вывод.
Из этой картинки мы ясно видим, что пока наша глубина остается неизменной, наши AB+CD не изменятся. Видно, что глубина не имеет прямой связи с отдельными AB и CD, а только с суммой. два.
Параллакс AB+CD и того же расстояния один и тот же.
AB + DC = XR – XT
Обратите внимание, что AB DC добавляется здесь с использованием векторов (AB + DC = = (Bx-Ax) + (Cx – Dx) [Bx — средняя точка x левого изображения, Dx — средняя точка x Ax правого изображения, а Cx это два изображения. Координата x одной и той же характерной точки на рисунке]
XR – XT = XRx – XTx (XRx и XTx — это координаты x одной и той же характерной точки на двух изображениях соответственно)
Примечание. В приведенных здесь формулах предполагается, что камера расположена горизонтально. Если камера расположена вертикально, следует использовать координату y.
Принцип монокулярного измерения дальности:
Сначала распознавание целей (различных моделей транспортных средств, пешеходов, объектов и т. д.) осуществляется путем сопоставления изображений, а затем расстояние до цели оценивается на основе размера цели на изображении. Для этого необходимо сначала точно идентифицировать цель, будь то автомобиль или пешеход, грузовик, внедорожник или легковой автомобиль, прежде чем оценивать расстояние. Точная идентификация является первым шагом к точной оценке расстояния. Для достижения этой цели необходимо создать и постоянно поддерживать огромную базу данных образцов объектов, чтобы гарантировать, что эта база данных содержит все данные объектов цели, которую необходимо идентифицировать. Например, в некоторых особых областях для специального обнаружения крупных животных необходимо сначала создать базу данных о крупных животных, а для некоторых нетрадиционных транспортных средств в других областях сначала в базу данных необходимо добавить характеристические данные этих транспортных средств; При отсутствии характеристических данных цели, подлежащей идентификации, система не сможет идентифицировать эти модели, объекты и препятствия и, следовательно, не сможет точно оценить расстояние до этих целей.
Из приведенного выше введения,Преимущества монокулярных системПотому что стоимость ниже,Не требует больших вычислительных ресурсов,Структура системы относительно проста;недостатокда:(1)Большую выборочную базу данных необходимо постоянно обновлять и поддерживать.,Только таким образом система сможет достичь более высокого уровня распознавания. (2) Нестандартные препятствия не могут быть оценены. (3) Расстояние не является точным измерением;,Менее точный.
Принцип бинокулярного обнаружения:
Путем расчета параллакса двух изображений расстояние до сцены впереди (диапазон, захваченный изображением) измеряется напрямую без необходимости определять, какие препятствия появляются впереди. Таким образом, для любого типа препятствия необходимое предупреждение или торможение может осуществляться на основе изменений информации о расстоянии. Принцип работы бинокулярных камер аналогичен принципу человеческого глаза. Человеческий глаз способен воспринимать расстояние до объекта из-за разницы в изображениях одного и того же объекта, представленных двумя глазами, также известной как «параллакс». Чем дальше объект, тем меньше параллакс, и наоборот, тем больше параллакс; Размер параллакса соответствует расстоянию между объектом и глазами, поэтому 3D-фильмы могут дать людям трехмерное восприятие.
На снимке выше люди и кокосовые пальмы. Люди спереди, кокосовые пальмы сзади. Внизу — изображение с камеры бинокля. Среди них человек находится на левой стороне дерева на изображении правой камеры, а человек находится на правой стороне дерева на изображении левой камеры. Это связано с тем, что углы обзора бинокля разные. Сравнивая два изображения, мы можем узнать, что параллакс мал, когда человеческий глаз наблюдает за деревьями, но велик, когда наблюдает за людьми. Потому что деревья далеко, а люди близко. Это принцип бинокулярной триангуляции. Восприятие бинокулярной системой целевых объектов на расстоянии является абсолютным измерением, а не оценкой.
Идеальная модель изображения бинокулярной камеры
Согласно приведенному выше выводу,Требуется получить расстояние (глубину) z точки пространства P от камеры,должен знать: 1. Фокусное расстояние камеры f, базовая линия левой и правой камеры b (можно получить путем предварительной информации или калибровки камеры). 2. Параллакс :
, то есть взаимосвязь между точкой пикселя (xl, yl) левой камеры и соответствующей точкой (xr, yr) правой камеры. Это основная проблема бинокулярного зрения.
Давайте сосредоточимся на несоответствии. Параллакс — это разница координат x одной и той же точки в пространстве при изображении двух камер. Его можно закодировать в изображение в оттенках серого, чтобы отразить расстояние. Чем ближе к объективу, тем серее расстояние. . Чем ярче яркость (при условии, что две камеры расположены горизонтально, если две камеры вертикальные, используется разница в координатах y)
Для пикселя на левом изображении,Как определить, где находится эта точка на изображении справа? Вам нужно выполнить общий поиск по всему изображению? Конечно, нет,В это время нужно использовать эпиполярные ограничения。 Как показано на картинке выше. O1 и O2 — две камеры, а P — точка в пространстве P, а две центральные точки камеры O1 и O2 образуют плоскость PO1O2 в трехмерном пространстве, которая называется эпиполярной плоскостью. самолет). Эпиполярная плоскость и два изображения пересекаются по двум прямым линиям, которые называются эпиполярными линиями. line)。 Точкой изображения P в камере O1 является P1, а точкой изображения P в камере O2 является P2, но положение P неизвестно. Наша цель: для точки P1 на левом изображении найти соответствующую точку P2 на правом изображении, чтобы можно было определить пространственное положение точки P. эпиполярные ограничения(Epipolar Ограничение) означает, что при отображении пространственных точек на двух изображениях соответственно, если известна точка проекции p1 левого изображения, то соответствующая точка проекции p2 правого изображения должна находиться на эпиполярной линии относительно p1, что может значительно уменьшить соответствующий диапазон. То есть точка P2 должна находиться на соответствующей эпиполярной линии, поэтому вам нужно искать только вдоль эпиполярной линии, чтобы найти соответствующую точку P2 точки P1.
Иррациональные ситуации:
Вышеупомянутое представляет собой идеальную ситуацию, когда две камеры копланарны, оптические оси параллельны и параметры одинаковы. Что делать, если камеры O1 и O2 не находятся на одной прямой? На самом деле такая ситуация очень распространена, поскольку в некоторых сценах две камеры необходимо фиксировать независимо, и трудно гарантировать, что оптический центр будет полностью горизонтальным. Даже если они закреплены на одной подложке, оптический центр будет. не быть полностью горизонтальным по причинам сборки, как показано ниже. Показано: полярные линии двух камер не параллельны и не копланарны.
Ниже показаны две или около того фотографии, сделанные в этой ситуации.
Три отмеченные крестиком точки на левом изображении и соответствующие полярные линии на правом изображении — это три белые прямые линии на правом изображении, которые представляют собой соответствующие области поиска. Мы видим, что эти три прямые не горизонтальны, и поиск по точкам очень неэффективен.
технология коррекции изображения
Коррекция изображения достигается путем преобразования двух изображений с использованием матриц гомографии. Цель состоит в том, чтобы перепроецировать две плоскости изображения в разных направлениях (серая плоскость на рисунке ниже) в одну плоскость с оптическими осями, параллельными друг другу (Желтая плоскость). на рисунке ниже) преобразуется в модель идеальной ситуации.
После коррекции изображения пикселям левого изображения остается искать соответствующие точки только в горизонтальном эпиполярном направлении. На рисунке ниже мы видим, что параллакс (отрезок красной двойной стрелки), соответствующий трем точкам, различен. Чем дальше объект, тем меньше параллакс, а чем ближе объект, тем больше параллакс. .
Основная работа выше заключается в поиске точек совмещения на эпиполярной линии, но обеспечить полное совпадение параметров двух камер нереально, а влияние изменения внешней освещенности и разных углов обзора делает робастность отдельного пикселя нереальной. очень бедный. Поэтому работа по сопоставлению является очень важным делом, которое также связано с точностью бинокулярной визуальной дальности.
Рабочий процесс бинокулярного зрения
Принципы и методы коррекции искажений объектива камеры были представлены ранее. Это в основном универсальный метод, и вы можете использовать метод калибровки Чжан Чжэнъю.
Преимущества и трудности бинокулярной дальнометрии
Из приведенного выше введения видно, что преимущества бинокулярной системы: (1) Стоимость выше, чем у монокулярной системы, но она все еще находится в пределах приемлемого диапазона, а стоимость ниже по сравнению с лазерным радаром и другие решения (2) Ограничение скорости распознавания отсутствует, поскольку в принципе нет необходимости идентифицировать и затем измерять все препятствия, а непосредственно измерять все препятствия (3) напрямую использовать параллакс для расчета расстояния, точность выше, чем у монокуляра; (4) нет необходимости поддерживать образец базы данных, поскольку для двойного типа в этом проекте нет концепции образца.
Трудности бинокулярной системы:
(1) Объем вычислений очень велик, а требования к производительности вычислительного блока очень высоки, что затрудняет коммерциализацию и миниатюризацию бинокулярной системы. Поэтому решать задачи бинокулярных вычислений на микросхемах или ПЛИС относительно сложно. Большинство международных исследовательских институтов или производителей бинокулярных систем используют серверы для обработки и расчета изображений, а некоторые упрощают алгоритм и используют для обработки FPGA.
(2) Эффект бинокулярной регистрации напрямую влияет на точность определения дальности.
2.1. Очень чувствителен к окружающему свету. Метод бинокулярного стереозрения основан на естественном освещении окружающей среды для сбора изображений. Однако из-за влияния факторов окружающей среды, таких как изменения угла освещения и интенсивности света, разница в яркости между двумя сделанными снимками будет относительно большой, что будет относительно большим. представляют собой серьезную проблему для алгоритма сопоставления.
2.2. Не подходит для монотонных и лишенных текстуры сцен. Поскольку метод бинокулярного стереовидения выполняет сопоставление изображений на основе визуальных особенностей, будет сложно сопоставить сцены, в которых отсутствуют визуальные особенности (например, небо, белые стены, пустыни и т. д.), что приведет к большим ошибкам сопоставления или даже сбоям сопоставления.
2.3. Высокая вычислительная сложность. Этот метод требует попиксельного сопоставления, и из-за влияния вышеупомянутых факторов для обеспечения надежности результатов сопоставления в алгоритм необходимо добавить большое количество стратегий устранения ошибок; Требования к алгоритму высоки, и добиться надежного коммерческого использования сложно, объем вычислений велик. 2.4. Базовая линия камеры ограничивает диапазон измерений. Диапазон измерения тесно связан с базовой линией (расстоянием между двумя камерами): чем больше базовая линия, тем дальше диапазон измерения, чем меньше базовая линия, тем ближе диапазон измерения; Таким образом, базовая линия в определенной степени ограничивает диапазон измерения камеры глубины.
————Проект с открытым исходным кодом:————–
Бинокулярная лаборатория Университета Карнеги-Меллона
Эксперт из Оксфорда: Эндрю Зиссерман, http://www.robots.ox.ac.uk/~vgg/hzbook/code/, в основном изучает геометрию нескольких изображений. На этом веб-сайте представлены некоторые весьма практичные инструменты и примеры.
Кембридж: http://mi.eng.cam.ac.uk/milab.html, Лаборатория машинного интеллекта Кембриджского университета, в которой есть три группы: Компьютерная Vision & Robotics, Machine Intelligence, Speech
Стэнфорд: http://ai.stanford.edu/~asaxena/reconstruction3d/, в основном для трехмерной реконструкции отдельных фотографий.
Caltech: http://www.vision.caltech.edu/bouguetj/calib_doc/, это ссылка на учебные программы нашего преподавателя компьютерного зрения. В основном это набор инструментов для калибровки камеры. Конечно, это также включает в себя ранний этап. трехмерная реконструкция калибровочных изображений. Обработка.
JP Tarel: http://perso.lcpc.fr/tarel.jean-philippe/, личная домашняя страница
————Алгоритм сопоставления и 3D-реконструкции:————–
https://www.cnblogs.com/polly333/p/5130375.html
http://blog.csdn.net/wangyaninglm/article/details/51533549
http://blog.csdn.net/wangyaninglm/article/details/51531333
https://www.zhihu.com/question/29885222?sort=created
http://blog.csdn.net/wangyaninglm/article/details/51558656
http://blog.csdn.net/wangyaninglm/article/details/51558310
https://www.cnblogs.com/mysunnyday/archive/2011/05/09/2041115.html
ссылка:
https://blog.csdn.net/piaoxuezhong/article/details/79016615
http://m.blog.csdn.net/article/details?id=52829190
https://blog.csdn.net/a6333230/article/details/82865439
https://blog.csdn.net/bit_cs2010/article/details/52829190
Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/125565.html Исходная ссылка: https://javaforall.cn