Гомография (компьютерное зрение)

Связь двух изображений с программным обеспечением
Геометрическая установка для гомографии: стереокамеры O 1 и O 2 направлены на X в эпиполярной геометрии . Рисунок из Neue Konstruktionen der Perspektive und Photogrammetrie Германа Гвидо Хаука (1845 — 1905)

В области компьютерного зрения любые два изображения одной и той же плоской поверхности в пространстве связаны гомографией ( предполагая модель камеры-обскуры ). Это имеет множество практических применений, таких как ректификация изображений , регистрация изображений или движение камеры — вращение и трансляция — между двумя изображениями. После того, как резекция камеры была выполнена из оценочной матрицы гомографии, эта информация может использоваться для навигации или для вставки моделей 3D-объектов в изображение или видео, так что они визуализируются с правильной перспективой и кажутся частью исходной сцены (см. Дополненная реальность ).

3D уравнение плоскости к плоскости

У нас есть две камеры a и b , смотрящие на точки на плоскости. Переходя от проекции в b к проекции в a : П я {\displaystyle P_{i}} б п я = ( б ты я ; б в я ; 1 ) {\displaystyle {}^{b}p_{i}=\left({}^{b}u_{i};{}^{b}v_{i};1\right)} П я {\displaystyle P_{i}} а п я = ( а ты я ; а в я ; 1 ) {\displaystyle {}^{a}p_{i}=\left({}^{a}u_{i};{}^{a}v_{i};1\right)} П я {\displaystyle P_{i}}

а п я = б з я а з я К а ЧАС а б К б 1 б п я {\displaystyle {}^{a}p_{i}={\frac {{}^{b}z_{i}}{{}^{a}z_{i}}}K_{a}\cdot H_{ab}\cdot K_{b}^{-1}\cdot {}^{b}p_{i}}

где и — координаты z точки P в каждом кадре камеры, а матрица гомографии задается выражением а з я {\displaystyle {}^{a}z_{i}} б з я {\displaystyle {}^{b}z_{i}} ЧАС а б {\displaystyle H_{ab}}

ЧАС а б = Р т н Т г {\displaystyle H_{ab}=R-{\frac {tn^{T}}{d}}} .

Р {\displaystyle R} матрица поворота, с помощью которой b поворачивается относительно a ; t — вектор перемещения от a к b ; n и d — нормальный вектор плоскости и расстояние от начала координат до плоскости соответственно. K a и K b — матрицы внутренних параметров камер .

На рисунке показана камера b, смотрящая на плоскость на расстоянии d . Примечание: Из рисунка выше, предполагая, что в качестве модели плоскости, есть проекция вектора вдоль , и равна . Так что . И мы имеем , где . н Т П я + г = 0 {\displaystyle n^{T}P_{i}+d=0} н Т П я {\displaystyle n^{T}P_{i}} П я {\displaystyle P_{i}} н {\displaystyle n} г {\displaystyle -d} т = т 1 = т ( н Т П я г ) {\displaystyle t=t\cdot 1=t\left(-{\frac {n^{T}P_{i}}{d}}\right)} ЧАС а б П я = Р П я + т {\displaystyle H_{ab}P_{i}=RP_{i}+t} ЧАС а б = Р т н Т г {\displaystyle H_{ab}=R-{\frac {tn^{T}}{d}}}

Эта формула действительна только если камера b не имеет вращения и перемещения. В общем случае, где и являются соответствующими вращениями и перемещениями камер a и b , а матрица гомографии становится Р а , Р б {\displaystyle R_{a},R_{b}} т а , т б {\displaystyle t_{a},t_{b}} Р = Р а Р б Т {\displaystyle R=R_{a}R_{b}^{T}} ЧАС а б {\displaystyle H_{ab}}

ЧАС а б = Р а Р б Т ( Р а Р б Т т б + т а ) н Т г {\displaystyle H_{ab}=R_{a}R_{b}^{T}-{\frac {(-R_{a}*R_{b}^{T}*t_{b}+t_{a})n^{T}}{d}}}

где d — расстояние камеры b до плоскости.

Аффинная гомография

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

час 31 = час 32 = 0 , час 33 = 1. {\displaystyle h_{31}=h_{32}=0,\;h_{33}=1.}

Смотрите также

Ссылки

  • O. Chum и T. Pajdla и P. Sturm (2005). "Геометрическая ошибка для гомографий" (PDF) . Компьютерное зрение и понимание изображений . 97 (1): 86– 102. doi :10.1016/j.cviu.2004.03.004.

Ящики для инструментов

  • homest — это библиотека GPL C / C++ для надежной , нелинейной (на основе алгоритма Левенберга–Марквардта ) оценки гомографии по сопоставленным парам точек (Манолис Луракис).
  • OpenCV — это полная ( открытая и бесплатная ) библиотека программного обеспечения для компьютерного зрения, которая содержит множество процедур, связанных с оценкой гомографии (cvFindHomography) и повторным проецированием (cvPerspectiveTransform).
  • Серж Белонжи и Дэвид Кригман (2007) Объяснение оценки гомографии от кафедры компьютерных наук и инженерии Калифорнийского университета в Сан-Диего .
  • А. Криминизи, И. Рейд и А. Зиссерман (1997) «Устройство для измерения плоскости», §3 Вычисление гомографии плоскости к плоскости, из Visual Geometry Group, Department of Engineering Science, Oxford University .
  • Элан Дуброфски (2009) Оценка гомографии, магистерская диссертация , кафедра компьютерных наук, Университет Британской Колумбии .
  • Ричард Хартли и Эндрю Зиссерман (2004) Multiple View Geometry от Visual Geometry Group, Оксфорд. Включает функции Matlab для расчета гомографии и фундаментальной матрицы (компьютерное зрение) .
  • Учебник по GIMP – использование инструмента «Перспектива» от Билли Керра на YouTube . Показывает, как выполнить преобразование перспективы с помощью GIMP .
  • Аллан Джепсон (2010) Плоские гомографии из Департамента компьютерных наук, Университет Торонто . Включает 2D-гомографию из четырех пар соответствующих точек, мозаику в обработке изображений, устранение перспективных искажений в компьютерном зрении, рендеринг текстур в компьютерной графике и вычисление плоских теней.
  • Гомография переноса плоскости. Заметки по курсу CSE576 в Университете Вашингтона в Сиэтле .
  • Этьен Винсент и Роберт Лаганьер (2000) Обнаружение плоских гомографий в паре изображений Архивировано 2016-03-04 в Wayback Machine из Школы информационных технологий и инженерии, Университет Оттавы . Описывает алгоритм обнаружения плоскостей в изображениях, использует метод случайного консенсуса выборки ( RANSAC ), описывает эвристики и итерации.
Взято с "https://en.wikipedia.org/w/index.php?title=Гомография_(компьютерное_зрение)&oldid=1241099052"