Полуглобальное соответствие - Semi-global matching
Полуглобальное соответствие (SGM) это компьютерное зрение алгоритм для оценки плотного несоответствие карта из исправленный пара стереоизображений, представленный в 2005 году Хайко Хиршмюллером во время работы в Немецкий аэрокосмический центр.[1] Учитывая его предсказуемое время выполнения, его благоприятный компромисс между качеством результатов и временем вычислений, а также его пригодность для быстрой параллельной реализации в ASIC или FPGA, он получил широкое распространение в в реальном времени приложения стереозрения, такие как робототехника и современные системы помощи водителю.[2][3]
Проблема
Пиксельное стереосопоставление позволяет выполнять расчет карт диспаратности в реальном времени путем измерения сходства каждого пикселя в одном стереоизображении с каждым пикселем в поднаборе в другом стереоизображении. Дана выпрямленная пара стереоизображений для пикселя с координатами набор пикселей на другом изображении обычно выбирается как , где это максимально допустимый сдвиг диспаратности.[1]
Простой поиск наилучшего совпадающего пикселя дает много ложных совпадений, и эту проблему можно смягчить добавлением члена регуляризации, который штрафует скачки несоответствия между соседними пикселями, с функцией стоимости в форме
где стоимость пиксельного различия в пикселях с несоответствием , и стоимость регуляризации между пикселями и с неравенством и соответственно для всех пар соседних пикселей . Такое ограничение может эффективно применяться для каждой строки сканирования с помощью динамическое программирование (например, Алгоритм Витерби ), но такое ограничение может привести к появлению артефактов с полосами на карте глубины, потому что по строкам развертки выполняется небольшая регуляризация или вообще не выполняется.[4]
Возможное решение - выполнить глобальную оптимизацию в 2D, что, однако, НП-полный проблема в общем случае. Для некоторых семейств функций стоимости (например, субмодульные функции ) решение с сильными свойствами оптимальности может быть найдено за полиномиальное время, используя оптимизация вырезки графика однако такие глобальные методы обычно слишком дороги для обработки в реальном времени.[5]
Алгоритм
Идея SGM состоит в том, чтобы выполнить оптимизацию линии по нескольким направлениям и вычислить агрегированные затраты. суммируя затраты на достижение пикселя с несоответствием со всех сторон. Количество направлений влияет на время выполнения алгоритма, и хотя 16 направлений обычно обеспечивают хорошее качество, меньшее число может использоваться для достижения более быстрого выполнения.[6] Типичная реализация алгоритма в 8 направлениях может вычислять стоимость за два прохода: при прямом проходе накапливается стоимость слева, сверху-слева, сверху и справа вверху, а при обратном проходе накапливается стоимость справа, снизу. справа, снизу и снизу слева.[7] Однопроходный алгоритм может быть реализован только с пятью направлениями.[8]
Стоимость складывается из соответствующего срока и член бинарной регуляризации . Первым в принципе может быть любая локальная мера несхожести изображения, а обычно используемые функции - это абсолютная или квадратная разница интенсивности (обычно суммируемая по окну вокруг пикселя и после применения фильтр высоких частот изображениям, чтобы получить некоторую инвариантность освещения), Несходство Берчфилда – Томази, Расстояние Хэмминга из преобразование переписи, Корреляции Пирсона (нормализованная взаимная корреляция ). Даже взаимная информация можно аппроксимировать как сумму по пикселям и, таким образом, использовать в качестве показателя локального сходства.[9] Срок регуляризации имеет вид
где и - два постоянных параметра, причем . Трехстороннее сравнение позволяет назначить меньший штраф за единичные изменения несоответствия, таким образом обеспечивая плавные переходы, соответствующие, например, к наклонным поверхностям и штрафу за большие прыжки с сохранением разрывов из-за постоянного штрафного члена. Чтобы еще больше сохранить неоднородности, можно использовать градиент интенсивности для адаптации штрафного члена, потому что неоднородности по глубине обычно соответствуют неоднородности интенсивности изображения. , установив
для каждой пары пикселей и .[10]
Накопленная стоимость это сумма всех затрат достичь пикселя с несоответствием по направлению . Каждый член можно рекурсивно выразить как
где минимальная стоимость на предыдущем пикселе вычитается для числовой стабильности, поскольку он постоянен для всех значений диспаратности в текущем пикселе и, следовательно, не влияет на оптимизацию.[6]
Величина диспаратности в каждом пикселе определяется выражением , а субпиксельная точность может быть достигнута путем подбора кривой в и его соседние затраты и взятие минимума вдоль кривой. Поскольку два изображения в стереопаре не обрабатываются симметрично в вычислениях, проверку согласованности можно выполнить, вычислив несоответствие во второй раз в противоположном направлении, поменяв местами левое и правое изображения и сделав недействительным результат для пикселей, в которых результат двух вычислений отличается. Дополнительные методы постобработки для уточнения изображения диспаратности включают морфологический фильтрация для удаления выбросов, проверка согласованности интенсивности для уточнения областей без текстуры и интерполяция для заполнения пикселей, недействительных при проверках согласованности.[11]
Стоимость объема для всех значений и могут быть вычислены заранее и в реализации полного алгоритма, используя возможные изменения несоответствия и направления, каждый пиксель последовательно посещается раз, поэтому вычислительная сложность алгоритма для изображения размером является .[7]
Вариант с эффективным использованием памяти
Главный недостаток SGM - потребление памяти. Реализация двухпроходной 8-направленной версии алгоритма требует хранения элементов, поскольку объем накопленных затрат имеет размер и для вычисления стоимости пикселя во время каждого прохода необходимо отслеживать стоимость пути его левого или правого соседа в одном направлении и стоимость пути пикселей в строке выше или ниже по трем направлениям.[7] Одним из решений для уменьшения потребления памяти является вычисление SGM на частично перекрывающихся фрагментах изображения, интерполяция значений по перекрывающимся областям. Этот метод также позволяет применять SGM к очень большим изображениям, которые изначально не помещаются в памяти.[12]
Аппроксимация SGM с эффективным использованием памяти сохраняет для каждого пикселя только затраты на значения диспаратности, которые представляют минимум в каком-либо направлении, вместо всех возможных значений диспаратности. Истинный минимум, скорее всего, будет предсказан по минимумам вдоль восьми направлений, что дает аналогичное качество результатов. Алгоритм использует восемь направлений и три прохода, и во время первого прохода он сохраняет для каждого пикселя стоимость оптимального несоответствия по четырем направлениям сверху вниз, а также два ближайших нижнего и верхнего значения (для интерполяции субпикселей). Поскольку объем затрат хранится в разреженном виде, необходимо также сохранить четыре значения оптимального несоответствия. Во втором проходе вычисляются другие четыре восходящих направления, завершая вычисления для четырех значений диспаратности, выбранных на первом проходе, которые теперь были оценены по всем восьми направлениям. Промежуточное значение стоимости и диспаратности вычисляется из выходных данных первого прохода и сохраняется, а память четырех выходных данных первого прохода заменяется четырьмя оптимальными значениями диспаратности и их стоимостью по направлениям во втором проходе. Третий проход снова проходит в тех же направлениях, что и в первом проходе, завершая вычисления для значений диспаратности из второго прохода. Затем окончательный результат выбирается из четырех минимумов третьего прохода, а промежуточный результат вычисляется во время второго прохода.[13]
В каждом проходе сохраняются четыре значения диспаратности, вместе с тремя значениями стоимости каждое (минимум и два ближайших соседних значения), плюс значения диспаратности и стоимости промежуточного результата, всего восемнадцать значений для каждого пикселя, что составляет общую потребление памяти равно , за счет дополнительного прохода по изображению.[13]
Смотрите также
использованная литература
- ^ а б Хиршмюллер (2005), стр. 807-814
- ^ Хиршмюллер (2011), стр. 178–184.
- ^ Spangenberg et al. (2013), стр. 34–41.
- ^ Хиршмюллер (2005), стр. 809
- ^ Хиршмюллер (2005), стр. 807
- ^ а б Хиршмюллер (2007), стр. 331
- ^ а б c Hirschmüller et al. (2012), стр. 372
- ^ "Описание класса OpenCV cv :: StereoSGBM". Архивировано из оригинал на 2019-10-05.
- ^ Kim et al. (2003), стр. 1033–1040.
- ^ Хиршмюллер (2007), стр. 330
- ^ Хиршмюллер (2007), стр. 332-334
- ^ Хиршмюллер (2007), стр. 334-335
- ^ а б Hirschmüller et al. (2012), стр. 373
- Хиршмюллер, Хайко (2005). «Точная и эффективная стереообработка за счет полуглобального сопоставления и взаимной информации». Конференция IEEE по компьютерному зрению и распознаванию образов. С. 807–814.
- Хиршмюллер, Хайко (2007). «Обработка стерео с помощью полуглобального сопоставления и взаимной информации». IEEE Transactions по анализу шаблонов и машинному анализу. IEEE. 30 (2): 328–341. Дои:10.1109 / TPAMI.2007.1166. PMID 18084062.
- Хиршмюллер, Хайко (2011). «Полуглобальные совпадения-мотивация, разработки и приложения». Фотограмметрическая неделя. 11. С. 173–184.
- Хиршмюллер, Хайко; Будер, Максимилиан; Эрнст, Инес (2012). «Полуглобальное сопоставление с эффективным использованием памяти». Летопись ISPRS по фотограмметрии, дистанционному зондированию и пространственной информации. 3: 371–376. Bibcode:2012ISPAn..I3..371H. Дои:10.5194 / isprsannals-I-3-371-2012.
- Ким, Джунхван; Колмогоров Владимир; Забих, Рамин (2003). «Визуальная переписка с использованием минимизации энергии и взаимной информации». Труды Девятой Международной конференции IEEE по компьютерному зрению. С. 1033–1040.
- Спангенберг, Роберт; Лангнер, Тобиас; Рохас, Рауль (2013). «Взвешенное полуглобальное сопоставление и центрально-симметричное преобразование переписи для надежной помощи водителю». Международная конференция по компьютерному анализу изображений и паттернов. С. 34–41.
внешние ссылки
- «Стереозрение». Архивировано из оригинал на 2019-01-01.