Дуда Р., Харт П. - Распознование образов и анализ сцен (1033979), страница 83
Текст из файла (страница 83)
Мы могли бы, конечно, вычеркнуть вторую строку матрицы Р и получить более простое прямое преобразование, но тогда матрица Р-' даже не существовала бы. Причина этого явления заключается в том, что матрица Р отображает точку объекта в трехмерный вектор (после перехода к обыч- Ге.
е0. Пероаективиие ареобравоваиии 412 иым координатам), одна из компонент которого не имеет никакого отношения к физической точке изображения, а связана с расстоянием от камеры до точки объекта. Общий вывод заключается в том, что однородное представление пригодно для использования, но применять его надо осторожно. Обратное перспективное преобразование может быть переведено в другую полезную форму с помощью следующего простого анализа. Пусть ч,— положение центра объектива, т. е.
ч,=(0, — ~, О)'. Затем непосредственно из рис. !0.2 мы видим, что для любой точки ч, расположенной на проектирующем луче, может быть записано выражение чче+Л(чрче) (1О) где Л вЂ” свободный параметр, значение которого берется среди неотрицательных вещественных чисел, а ч — действительная точка картинки (хр, О, гр)'. Мы можем выразить соотношение меисду Л и ур, приравнивая любую компоненту векторного уравнения (10) и соответствующую компоненту из формулы (8), для того чтобы получить (11) или Таким образом, если двигаться по лучу от центра объектива (Л=0) через плоскость картинки (Л= — 1) и далее во внешнее пространство, то значение ур увеличивается монотонно от — аа до (, будучи отрицательным для точек позади плоскости картинки, нулевым для точек, расположенных на плоскости картинки, и положительным для точек, находящихся перед плоскостью картинки.
Подведем итоги нашему вводному обсуждению перспективных преобразований. Матрица Р, заданная формулой (3), переводит точку объекта в соответствующую ей точку изображения; при этом обе точки представлены в однородных координатах. Настоящие координаты изображения задаются первой и третьей компонентами формулы (5). Матрица Р-' переводит точку изображения (представленную в однородных координатах) в точку объекта (также представленную в однородных координатах), которая пробегает по проектирующему лучу прв изменении свободной переменной ур.
Уравнение этого луча представлено в параметрической форме вйражением (2). Другой способ задания параметра, иногда более удобный, представлен в уравнении (10). В следующем разделе мы распространим эти результаты на случай, представляющий гораздо больший практический интерес. 10.4. Перспективные лреобрвзоваиия о двумя системами отсчета 413 10.4. ПЕРСПЕКТИВНЫЕ ПРЕОБРАЗОВАНИЯ С ДВУМЯ СИСТЕМАМИ ОТСЧЕТА Преобразования, рассмотренные в предыдущем разделе, трудно использовать на практике из-за неприспособленности систем координат. Правда, одна система отсчета, изображенная на рис.
10,2, очень удобна для определения положений точек картинки; кроме мар тар Рис. !0.3. Перспективное преобразовзиие с двумя коордииатиыми системами. того, она центрирована в центре плоскости изображения. В то же время, однако, единственная система координат весьма неудобна для определения положений точек объекта, так как оиа вынуждает нас измерять расстояние до ряда осей, расположение которых определяется камерой '). Другими словами, система, использованная в предыдущем разделе, является «камероцентрической», а это часто оказывается неестественным и неудобным. Для того чтобы исправить ситуацию, в идеальном случае нам необходимы две системы х) Заметим, что, хотя в предыдупгем обсуждении длп упрошеиии математических операпий использовались однородные координаты, все точки были физически представлены в единой еветеме декартовых коордииат.
Го. 10. Пероввкяивяие яреоброооваяия координат: система координат изображения, в которой можно расположить точки картинки, и глобальная, или мировая, система координат для размещения всего остального. Рис. 10.3 иллюстрирует один из вариантов координатных систем, которые мы имеем в виду. Глобальная система отсчета, которая на рисунке обозначается буквами без штриха, используется для указания как положения камеры, так и точки объекта ч. Камера перенесена относительно начала координат, повернута на угол 8 и наклонена под углом ф.
Точка изображения задается в системе координат изображения, помеченных штрихом на рис. 10.3; эта система совпадает с единственной системой отсчета, использованной в предыдущем разделе. В данном разделе мы будем использовать замену координат с тем, чтобы обобщить полученные ранее результаты на случай с двумя системами отсчета, показанный на рис. 10.3. Нашим окончательным результатом будет пара преобразований, в которых все величины заданы в системе координат, наиболее подходящей для их представления. Прежде чем приступить к формальным операциям, мы хотели бы сделать одно замечание вспомогательного характера.
Замена координат — это одна из таких процедур, которые, как известно, всегда можно выполнить, но мало кому нравится это делать. Поэтому нетерпеливый читатель может захотеть перейти сразу же к результатам, полученным в виде формул (18) и (26), убедившись сначала, что он понимает смысл геометрических параметров, описанных в следующем разделе. Для тех, кто интересуется подробностями, мы попытаемся свести до минимума путаницу, твердо придерживаясь следующих условий. Пусть символы со штрихом и без штриха будут представлять одну и ту же физическую точку, записанную со штрихом в системе координат изображения и без штриха в глобальной системе координат.
Таким образом, оба символа ч и и' относятся к одной точке. Далее, с каждой из декартовых систем отсчета связано представление в однородных координатах, получаемое описанным выше стандартным образом. Мы по-прежнему будем использовать для обозначения тильду ( ), так что оба символа ч и ч' относятся в конечном счете к одной и той же физической точке, а именно к точке, декартовы координаты которой суть ч в глобальной системе (без штриха) и ч' в системе координат изображения.
1Оой1. ПРЯМОЕ ПЕРСПЕКТИВНОЕ ПРЕОБРАЗОВАНИЕ: ДВЕ СИСТЕМЫ ОТСЧЕТА Полное преобразование координат, которое мы хотим получить, представляет собой соответствие между глобальной системой координат (без штриха) и системой координат изображения (со штрихом). Для того чтобы определить это соответствие, мы должны оп- т0.4. Перспекгпивнвм преобразования с двумя сиспммами опичвша 415 ределить положение и ориентацию системы координат изображения по отношению к глобальной системе. Это может быть сделано с помощью следующих трех шагов.
Сначала мы переносим глобальную систему в центр вращения камеры (который можно назвать центром карданова шарнира). Затем мы поворачиваем и наклоняем оси так, чтобы ось 1' стада параллельной оптической оси камеры. (Полученная в результате этого система отсчета будет называться кардановой системой координат.) И наконец, мы смещаем кардаиову аистему отсчета из центра карданова шарнира в центр плоскости изображения. Введем несколько обозначений, Пусть уз=(х„у„гв)г будет вектор, проведенный нз начала координат глобальной системы к центру карданова шарнира.
Пусть Π— угол поворота камеры, измеряемый против часовой стрелки от оси )г, и пусть р — угол наклона камеры, положительное значение которого отсчитывается вверх. Пусть вектор 1 изображает постоянное смещение между центром карданова шарнира и центром плоскости изображения, причем 1 измеряется в системе координат карданова шарнира '). Удобно записывать смещение 1 в виде 1= (1„ 1,+у, 1,)', чтобы при совмещении центра карданова шарнира с центром объектива получалось 1,=1,=1,=0 и постоянное смещение величины ! вдоль оптической оси. Для иллюстрации этих обозначений на рис.
10.3 схематически показаны вектор переноса ув со всеми положительными компонентами, положительные углы поворота и наклона и вектор смещения, первая компонента которого равна нулю. Для получения нужных нам результатов преобразование координат может быть реально осуществлено обычным способом. Однако преобразование будет особенно изящным, если обратиться к однородным координатам; при этом чистый перенос, который является нелинейной операцией в обычных декартовых координатах, становится линейным. В частности, легко проверить, что матрица 0 0 — х,1 1 Π— д, 0 1 — г, о о (! й) переводит однородное представление вектора (х, у, г)г в однородное представление вектора (х — х„у — у„г — яв)'. Более того, операция чистого вращения, являющаяся линейным преобразованием в трехмерных декартовых координатах, остается линейной и в однород- х) Строго говоря, следует использовать что-нибудь наподобие двух штрихов для того, чтобы указать, что вектор смещения измеряется в системе координат карданова шарннра.
Гя. 10. Лерепеятавныв ареайраяавания 416 ных координатах, Нетрудно проверить, что матрица созО з(п О 0 0 Я= — созфзшО созфсозО з!п<р 0 з1 рз(пв — ьпр Е .р О 0 0 0 1 (13) действительно является оператором вращения, который поворачивает на угол О и наклоняет на угол ф. Другими словами, если даны однородные координаты т некоторой точки в глобальной системе отсчета, то произведение Яч дает однородные координаты той же самой точки в системе координат изображения, повернутой на угол О и наклоненной на угол ер. Наконец, матрица О для реализации смещения относительно карданова шарнира определяется аналогично выражению (12) следующим образом: 1 0 Π— 1, О 1 Π— (1,+0 (14) 0 0 1 — 1, 0 0 0 1 Следовательно, полное изменение системы отсчета, представленное в однородных координатах, выражается произведением матриц ееес Т. Придерживаясь договоренности о тильдах и штрихах, мы на- пишем т' = бйТч.
(15) Здесь мы уже близки к конечной цели. Когда все точки представлены в координатах изображения, перспективное преобразование само по себе не вызывает никаких трудностей, как мы это видели в предыдущем разделе. Переписав формулу (4) со штрихами для того, чтобы обозначить координаты изображения, получим чр = Рч'.