Исправление изображения - Image rectification
Исправление изображения представляет собой процесс преобразования, используемый для проецирования изображений на общую плоскость изображения. Этот процесс имеет несколько степеней свободы, и существует множество стратегий преобразования изображений в общую плоскость.
- Он используется в компьютерное стереозрение чтобы упростить задачу поиска точек совпадения между изображениями (т.е. проблема переписки ).
- Он используется в географические информационные системы для объединения изображений, снятых с разных точек зрения, в общую систему координат карты.
В компьютерном зрении
Компьютерное стереозрение делает два или более изображений с известным относительным положением камеры, которые показывают объект с разных точек обзора. Затем для каждого пикселя он определяет глубину соответствующей точки сцены (то есть расстояние от камеры), сначала находя совпадающие пиксели (то есть пиксели, показывающие одну и ту же точку сцены) в другом изображении (ах), а затем применяя триангуляция к найденным совпадениям, чтобы определить их глубину. Поиск совпадений в стереозрении ограничен эпиполярная геометрия: Соответствие каждого пикселя в другом изображении можно найти только на линии, называемой эпиполярной линией. Если два изображения копланарны, т. Е. Они были сняты так, что правая камера смещена только по горизонтали по сравнению с левой камерой (не перемещается к объекту или повернутый), то эпиполярная линия каждого пикселя горизонтальна и находится в том же вертикальном положении, что и этот пиксель. Однако в общих настройках (камера действительно двигалась к объекту или вращалась) эпиполярные линии наклонены. Исправление изображения искажает оба изображения таким образом, что они выглядят так, как будто они были сделаны только с горизонтальным смещением, и, как следствие, все эпиполярные линии являются горизонтальными, что немного упрощает процесс стереосопоставления. Однако обратите внимание, что исправление принципиально не меняет процесс согласования стерео: поиск выполняется по линиям, наклонным до и горизонтальным после исправления.
Исправление изображения также является эквивалентом (и чаще используется[2]) альтернатива идеальной компланарности камеры. Даже с использованием высокоточного оборудования обычно выполняется исправление изображений, поскольку поддерживать идеальную компланарность между камерами может быть непрактично.
Исправление изображений может выполняться только с двумя изображениями одновременно, и одновременное исправление более двух изображений обычно невозможно.[3]
Трансформация
Если исправляемые изображения взяты с пар камер без геометрической искажение, этот расчет легко сделать с помощью линейное преобразование. Вращение по осям X и Y помещает изображения в одну плоскость, при масштабировании кадры изображения имеют одинаковый размер, а регулировка поворота и наклона по оси Z позволяет выстраивать строки пикселей изображения напрямую.[нужна цитата ]. Необходимо знать жесткое выравнивание камер (путем калибровки), и коэффициенты калибровки используются при преобразовании.[4]
При выполнении преобразования, если сами камеры откалиброваны по внутренним параметрам, основная матрица обеспечивает связь между камерами. Более общий случай (без калибровки камеры) представлен фундаментальная матрица. Если фундаментальная матрица неизвестна, необходимо найти предварительные точечные соответствия между стереоизображениями, чтобы облегчить их извлечение.[4]
Алгоритмы
Алгоритмы исправления изображений делятся на три основные категории: планарное исправление,[1] цилиндрическое выпрямление[2] и полярное выпрямление.[5][6][7]
Детали реализации
Все исправленные изображения удовлетворяют следующим двум свойствам:[8]
- Все эпиполярные линии параллельны горизонтальной оси.
- Соответствующие точки имеют одинаковые вертикальные координаты.
Чтобы преобразовать исходную пару изображений в пару исправленных изображений, необходимо найти проективное преобразование ЧАС. Налагаются ограничения ЧАС чтобы удовлетворить двум указанным выше свойствам. Например, ограничение эпиполярных линий параллельностью горизонтальной оси означает, что эпиполи должны быть сопоставлены с бесконечной точкой. [1,0,0]Т в однородные координаты. Даже с этими ограничениями, ЧАС по-прежнему имеет четыре степени свободы.[9] Также необходимо подобрать подходящий ЧАС' чтобы исправить второе изображение пары изображений. Плохой выбор ЧАС и ЧАС' может привести к тому, что исправленные изображения резко изменятся в масштабе или сильно искажены.
Есть много разных стратегий выбора проективного преобразования. ЧАС для каждого изображения из всех возможных решений. Одним из передовых методов является минимизация несоответствия или разницы по методу наименьших квадратов соответствующих точек на горизонтальной оси пары исправленных изображений.[9] Другой метод - разделение ЧАС в специализированное проективное преобразование, преобразование подобия и преобразование сдвига для минимизации искажения изображения.[8] Один из простых способов - повернуть оба изображения, чтобы они выглядели перпендикулярно линии, соединяющей их общие оптические центры, повернуть оптические оси так, чтобы горизонтальная ось каждого изображения указывала в направлении оптического центра другого изображения, и, наконец, масштабировать меньшее изображение, чтобы оно соответствовало для прямой переписки.[3] Этот процесс демонстрируется в следующем примере.
Пример
Наша модель для этого примера основана на паре изображений, которые наблюдают за трехмерной точкой. п, что соответствует п и п' в пиксельных координатах каждого изображения. О и О ' представляют оптические центры каждой камеры с известными матрицами камер и (мы предполагаем, что начало мира находится в первой камере). Мы кратко опишем и изобразим результаты для простого подхода к поиску ЧАС и ЧАС' проективное преобразование, которое исправляет пару изображений из примера сцены.
Сначала мы вычисляем эпиполи, е и е ' в каждом изображении:
Во-вторых, мы находим проективное преобразование ЧАС1 который поворачивает наше первое изображение перпендикулярно базовой линии, соединяющей О и О ' (строка 2, столбец 1 набора 2D-изображений). Это вращение можно найти, используя перекрестное произведение между исходной и желаемой оптическими осями.[3] Далее находим проективное преобразование ЧАС2 которая берет повернутое изображение и поворачивает его так, чтобы горизонтальная ось совпадала с базовой линией. Если рассчитано правильно, это второе преобразование должно отобразить е до бесконечности по оси x (строка 3, столбец 1 набора 2D-изображений). Наконец, определим как проективное преобразование для исправления первого изображения.
В-третьих, с помощью эквивалентной операции мы можем найти ЧАС' для исправления второго изображения (столбец 2 набора 2D-изображений). Обратите внимание, что ЧАС'1 должен повернуть оптическую ось второго изображения так, чтобы она была параллельна преобразованной оптической оси первого изображения. Одна из стратегий состоит в том, чтобы выбрать плоскость, параллельную линии пересечения двух исходных оптических осей, чтобы минимизировать искажения в процессе перепроецирования.[10] В этом примере мы просто определяем ЧАС' используя матрицу вращения р и начальное проективное преобразование ЧАС в качестве .
Наконец, мы масштабируем оба изображения до одинакового приблизительного разрешения и выравниваем теперь горизонтальные эпиполи для облегчения горизонтального сканирования соответствий (строка 4 набора 2D-изображений).
Обратите внимание, что этот и аналогичные алгоритмы можно выполнять без наличия матриц параметров камеры. M и M ' . Все, что требуется, - это набор из семи или более соответствий изображения для изображения для вычисления фундаментальных матриц и эпиполей.[9]
В геоинформационной системе
Исправление изображения в ГИС преобразует изображения в стандартную систему координат карты. Это достигается путем сопоставления наземных опорных точек (GCP) в картографической системе с точками на изображении. Эти опорные точки вычисляют необходимые преобразования изображения.[11]
Возникают первичные трудности в процессе
- когда точность точек карты не известна
- когда на изображениях отсутствуют четко идентифицируемые точки, соответствующие картам.
Карты, которые используются с исправленными изображениями, не являются топографическими. Однако используемые изображения могут содержать искажения из-за ландшафта. Ортотрансформирование изображения дополнительно устраняет эти эффекты.[11]
Исправление изображений - это стандартная функция, доступная в пакетах программного обеспечения ГИС.
Эталонные реализации
В этом разделе представлены внешние ссылки на эталонные реализации исправления изображений.
- stereoRectify и stereoRectifyUncalibrated (часть OpenCV ), с открытым исходным кодом для Windows, Linux / Mac, Android и iOS
- Комплект для исправления и Некалиброванный ректификационный комплект, Исходный код MATLAB с руководство Андреа Фузиелло[4]
- исправление, часть MATLAB упаковка Du Huynh с коротким руководство[12]
- rectifyStereoImages, собственная функция MATLAB в Набор инструментов системы компьютерного зрения
Смотрите также
Рекомендации
- ^ а б Фузиелло, Андреа; Трукко, Эмануэле; Верри, Алессандро (2000-03-02). «Компактный алгоритм выпрямления стереопар» (PDF). Машинное зрение и приложения. 12: 16–22. Дои:10.1007 / s001380050120. Получено 2010-06-08.
- ^ а б Орам, Дэниел (2001). «Ректификация для любой эпиполярной геометрии». Отсутствует или пусто
| url =
(помощь) - ^ а б c Ричард Селиски (2010). Компьютерное зрение: алгоритмы и приложения. Springer. ISBN 9781848829350.
- ^ а б c Фузиелло, Андреа (17 марта 2000). «Эпиполярная ректификация». Получено 2008-06-09.
- ^ Поллефейс, Марк; Кох, Рейнхард; Ван Гул, Люк (1999). «Простой и эффективный метод исправления общего движения» (PDF). Proc. Международная конференция по компьютерному зрению: 496–501. Получено 2011-01-19.
- ^ Лим, Сер-Нам; Миттал, Анураг; Дэвис, Ларри; Парагиос, Никос. «Некалиброванное стерео-выпрямление для автоматического 3D-наблюдения» (PDF). Международная конференция по обработке изображений. 2: 1357. Архивировано с оригинал (PDF) на 21.08.2010. Получено 2010-06-08.
- ^ Роберто, Рафаэль; Тейхриб, Вероника; Кельнер, Джудит (2009). "Retificação Cilíndrica: um método eficente para retificar um par de imagens" (PDF). Мастерские Сибграпи 2009 - Работы бакалавриата (на португальском). Архивировано из оригинал (PDF) на 2011-07-06. Получено 2011-03-05.
- ^ а б Петля, Чарльз; Чжан, Чжэнъю (1999). «Вычисление исправляющих омографий для стереозрения» (PDF). Ход работы. Конференция компьютерного общества IEEE 1999 года по компьютерному зрению и распознаванию образов (номер по каталогу PR00149). С. 125–131. CiteSeerX 10.1.1.34.6182. Дои:10.1109 / CVPR.1999.786928. ISBN 978-0-7695-0149-9. Получено 2014-11-09.
- ^ а б c Ричард Хартли и Эндрю Зиссерман (2003). Геометрия с несколькими представлениями в компьютерном зрении. Пресса Кембриджского университета. ISBN 9780521540513.
- ^ Дэвид А. Форсайт и Жан Понсе (2002). Компьютерное зрение: современный подход. Профессиональный технический справочник Prentice Hall.
- ^ а б Фогель, Дэвид. «Исправление изображений с радиальными базовыми функциями». Архивировано из оригинал на 2008-05-24. Получено 2008-06-09.
- ^ Huynh, Du. «Полярное выпрямление». Получено 2014-11-09.
- Р. И. Хартли (1999). «Теория и практика проективной ректификации». Международный журнал компьютерного зрения. 35 (2): 115–127. Дои:10.1023 / А: 1008115206617.
- Поллефейс, Марк. «Полярное выпрямление». Получено 2007-06-09.
- Линда Г. Шапиро и Джордж К. Стокман (2001). Компьютерное зрение. Прентис Холл. стр.580. ISBN 978-0-13-030796-5.
дальнейшее чтение
- Вычисление исправляющих гомографий для стереозрения к Чарльз Луп и Чжэнъю Чжан (8 апреля 1999 г.) Microsoft Research
- Компьютерное зрение: алгоритмы и приложения, раздел 11.1.1 «Исправление» к Ричард Селиски (3 сентября 2010 г.) Springer