Трёхмерная реконструкция лица человека по его изображениям (1006006), страница 3
Текст из файла (страница 3)
В неоднородных координатах эта гиперплоскость становится аффинной плоскостью с нормальюP̂ = (1 , 2 , 3 , 0) .Плоскость {X : P X = 0} — это множество векторов, образы которых в пространстве изображений имеют нулевую -ю координату. Значит,эта плоскость проходит через -ю координатную ось плоскости изображений. Очевидно, что также она проходит через центр камеры, т.к.
P C = 0для любого . Поэтому первая и вторая строки задают плоскости, проходящие соответственно через первую и вторую координатные оси пространстваизображений и центр камеры (см. рис. 1.5). Пересечение этих двух координатных плоскостей даёт прямую, проходящую через центр камеры и началокоординат плоскости изображения.Обсудим третью строку матрицы. Векторы X мирового пространства,для которых P3 X = 0, есть бесконечно удалённые точки плоскости изображения, поэтмоу третья строка задаёт плоскость, проходящую через центркамеры и параллельную фокальной.Определение 12 Плоскость, проходящая через центр камеры и параллельная фокальной плоскости, называется главной плоскостью (principal plane).18Нормаль к главной плоскости задаётся вектором P̂3 .Определение 13 Главная ось (principal axis) — прямая, проходящая черезцентр камеры и перпендикулярная главной плоскости.Очевидно, главная ось есть множество точек P̂3 .Определение 14 Главная точка (principal point) — точка пересечения главной оси с фокальной плоскостью.Координаты главной точки p на плоскости изображения можно найтитак: p = PP̂3 .Внесём одно уточнение, касающееся направления камеры.
Физическаякамера “видит” только объекты, расположенные по ту сторону от главнойплоскости, по которую лежит фокальная. Поскольку однородные координаты определены с точностью до умнажения на число, возникает некотороезатруднение с определением этого направления.Обозначим через M матрицу из первых трёх столбцов матрицы камеры:P = (M|p4 ).В координатах камеры, в которых P = P = K(I|0), определим векторv = det(M)m3 = (0, 0, 1) . Он направлен в сторону фокальной плоскости,как нам и требуется.
В произвольных координатах мирового пространствавектор v сохранит это свойство. Докажем это.Изменим систему координат в мировом пространстве:P = K(I|0) ↦→P = K(R| − RC)M = K ↦→M = KRm3 = (0, 0, 1) ↦→m3 = R (0, 0, 1)det M = det K ↦→ det M = det Kv = det K(0, 0, 1) ↦→v = 4 det KR (0, 0, 1)Видно, что при ортогональной матрице R и произвольном числе векторv не меняет ориентацию при замене координат.Только те точки пространства, для которых (1 , 2 , 3 , 0)X > 0, могутбыть увидены камерой.191.2.1.4Эпиполярная геометрияПусть в мировом пространстве заданы две камеры с матрицами P, P′ .Образы точки мирового пространства X под действием каждой из камеробозначим x, x′ .Под эпиполярной геометрией двух камер понимается структура их взаимного расположения.В рамках эпиполярной геометрии решаются следующие задачи:а) известно, что x = PX.
Где следует искать образ точки X на плоскостиизображения второй камеры?б) известно, что x = PX , x′ = P′ X . Что можно узнать о взаимномрасположении камер?в) известны соответствия x x′ и камеры P, P′ . Что можно узнать оположении X в мировом пространстве?1Определения. Пусть центры двух камер P, P′ есть точки C и C′ .Введём несколько определений (поясняемых на рис. 1.6):Рис. 1.6. К определениям эпиполярной геометрии (рисунок взят из книги[5])Определение 15 Базовая линия (baseline) — прямая, соединяющая центрыобеих камер.20Определение 16 Эпиполюс (эпиполярная точка) (epipole) — точка пересечения базовой линии с плоскостью изображения.Эпиполюс первой камеры — это образ центра второй камеры под действиемпервой.
То же верно и для эпиполюса второй камеры.Определение 17 Эпиполярная плоскость — любая плоскость, содержащия базовую линию.Определение 18 Эпиполярная линия — прямая, образованная пересечением какой-либо эпиполярной плоскости и плоскости изображения одной изкамер.Все эпиполярные линии камеры пересекаются в её эпиполюсе.2Фундаментальная матрица. Пусть известен образ мировой точки Xпод действием первой камеры: x = PX. Тогда луч CX задаёт эпиполярнуюплоскость , которая пересекает плоскость изображения второй камеры попрямой l′ — эпиполярной линии, соответствующей плоскости (см.
рис.1.6).Определение 19 Фундаментальной матрицей называется такая матрица F, что для всякой точки x из плоскости первой камеры эпиполярнаялиния, построенная по вышеописанному правилу, равнаl′ = FxФундаментальная матрица задаёт отображение множества точек x плоскости одной камеры в множество эпиполярных линий l′ плоскости второйкамеры. Геометрически это отображение можно построить в два шага (см.рис. 1.7):а) выберем вспомогательную плоскость , не проходящаю ни через одиниз центров камер C, C′ . Возьмём какую-нибудь точку x на плоскостипервой камеры. Луч Cx, проходящий через центр первой камеры и21Рис.
1.7. Перенос точки с помощью плоскости (рисунок взят из книги [5])эту точку, пересечёт в некоторой точке X. Она спроектируется второй камерой на её плоскость в определённую точку x′ . Построенноеотображение — композиция гомографий (из плоскости первой камерына плоскость , из плоскости в плоскость второй камеры) и потомусамо является гомографией.
Обозначим её Hб) зная образ x′ = H x точки x и эпиполюс второй камеры e′ , найдёмпрямую, проходящую через эти две точки: l′ = e′ × x′ .Учитывая, что векторное произведение можно записать с помощью кососимметрической матрицы (см. [5]):e′ × x′ = [e′ ]× x′ ,⎛0 −′3 ′2⎜′[e′ ]× = ⎜0 −′1⎝ 3−′2′10⎞⎟⎟⎠получаем фундаментальную матрицуF = [e′ ]× HМожно получить выражение для фундаментальной матрицы чисто алгебраически, не прибегая к геометрическим построениям (см.
[5]). Выберемточку x ∈ 1 и найдём луч, который она определяет:r() = P+ x + C22Вторая камера проецирует этот луч на свою плоскость изображения, получая эпиполярную линию:P′ r() = P′ P+ x + P′ CОсталось найти алгебраическое выражение для неё. Выберем два значения. При = ∞ получается образ центра первой камеры C, т.е.
эпиполюсвторой камеры e′ . При = 0 получается образ ещё какой-то точки лучаP′ P+ x. Прямая, проходящая через эти две точки, даётся их векторным произведением:l′ = e′ × P′ P+ x = [e′ ]× P′ P+ x,откудаF = [e′ ]× P′ P+ .Эта формула годится для всех точек 1 , кроме эпиполюса e.Определение 20 Будем говорить, что матрицы камер заданы в канонической форме, если первая матрица равна (I|0).Пусть вторая матрица равна P′ = (M | m), тогда фундаментальная матрицавычисляется по формулеF = [m]× M.Перечислим некоторые важные свойства фундаментальной матрицы.а) Фундаментальная матрица — это матрица 3x3 ранга 2.б) Если x = PX и x′ = P′ X, то x′ Fx = 0.
Это следует из того, что лучC′ X также лежит в эпиполярной плоскости. Поэтому образ X поддействием второй камеры x′ лежит на пересечении плоскости второйкамеры и эпиполярной плоскости, то есть на эпиполярной линии l′ .в) Эпиполюсы e и e′ являются базисными векторами нулевых подпространств: e — правого (Fe = 0), а e′ — левого (e′ F = 0).г) Если F — фундаментальная для пары камер P, P′ , то F — фундаментальная для пары P′ , P.23Фундаментальная матрица имеет 7 степеней свободы. Она содержит 9элементов, но определена с точностью до умножения на произвольную константу — это снимает одну степень свободы; кроме того, условие вырожденности снимает ещё одну степень свободы: остаётся семь.3Фундаментальная матрица как проективное преобразование. Се-мейства эпиполярных линий l и l′ образуют одномерные проективные пространства.
Фундаментальная матрица отображает одно семейство на другое:выбрав точку x на прямой l из первого семейства, по формуле l′ = Fx получаем прямую из второго, причём l′ не зависит от выбора точки на l.Утверждение 1 Если l и l′ — соответствующие друг другу эпиполярные линии, то выбрав произвольную не проходящую через эпиполюс e прямую k напервой плоскости, получим соотношение l′ = F[k]× l. Аналогично, выбравна второй плоскости прямую k′ , не проходящую через e′ , получим соотношение l = F [k′ ]× l′ .Для доказательства достаточно вспомнить, что [k]× l = k × l есть точкапересечения прямых l и k.За прямую k удобно принять прямую, задаваемую координатами эпиполюса: k = e, поскольку e e ̸= 0 (прямая e не проходит через точку e).Таким образом, можно смотреть на фундаментальную матрицу как напроективное преобразование одномерных проективных пространств.Проективное преобразование одномерных проективных пространств задаётся тремя числами. Поэтому семь степеней свободы F можно разбитьтак: по две степени свободы на положения эпиполюсов e и e′ и ещё три наодномерное проективное преобразование.4Восстановление матриц камер по фундаментальной матрице.
Вы-ясним, как меняется F при проективных преобразованиях плоскостей изображений. Соотношения, задаваемые фундаментальной матрицей (между точками первой плоскости и эпиполярными линиями второй; между эпиполяр-24ными линиями обеих плоскостей), не меняются при проективных преобразованиях плоскостей изображений: если x̂ = Hx, x̂′ = H′ x′ , тоx′ Fx = x̂′ H′− FH−1 x̂ = 0.Отсюда видно, как меняется фундаментальная матрица при проективныхпреобразованиях плоскостей изображения:F̂ = H′− FH−1Теперь посмотрим, как зависит F от выбора мировых координат.