Дуда Р., Харт П. - Распознование образов и анализ сцен (1033979), страница 82
Текст из файла (страница 82)
На рис. 10.2 показайа также система координат, удобная для процесса центрального проектирования. Мы совместили ось У с оптической осью или глаенезм лучом камеры. Главным лучом называется луч, идущий от объектива перпендикулярно к з) Реальный объектив в настоящей фотографической или телевизионной камере всегда может быть заменен математически эквивалентным объективом с точечным отверстием, расположенным иа соответствующем расстоянии от плоскости изображения.
г0.2. Мооелироеание ирояесса сзеиии изображения 407 плоскости изображения. Началом координат является пересечение главного луча с плоскостью изображения. Процесс центрального проектирования отображает много точек в одну. Как показано на рис. 10.2, несмотря на то что каждой точке объекта соответствует одна четко определенная точка изображения, асе точки объекта, расположенные на линии, которая проходит через центр объектива, имеют один и тот же образ.
Таким образом, для каждой точки изображения существует в пространстве линия, определенная этой точкой изображения и центром объектива, и на этой линии должна лежать соответствующая точка объекта. Следо- Рис. 10.2. Модель камеры с передней плоскостью изображения. вательно, перед нами возникают два вопроса фундаментальной важности, связанные с процессом съемки изображения: для данной произвольной точки объекта определить местоположение ее образа и для данной произвольной точки изображения определить, где расположена прямая линия, на которой должна лежать соответствующая точка объекта. Ответы на эти вопросы могут быть даны с помощью прямого и обратного перспективных преобразований. Выведем, опираясь на интуицию, формулы прямого перспективного преобразования для простого случая, изображенного на рис. 10.2.
Оказывается, что для ответа достаточно лишь рассмотреть подобие треугольников. Если принять, что и=(х, у, г)' и чр= = (хр, ур, гр)', тогда очевидно, что х х Т 1+к у =0 г г 1 1+к' Ги 10. Перснекаивные нреаораэаеаноз или (х х = —, 1+' у,=О, 1г г 1+э' Эти формулы особенно очевидны, если выбрать точку объекта или на плоскости (Х, 'г'), или на плоскости (У, Я), так как в этом случае легко обнаружить подобные треугольники. Заметим также, что выражения (1) могут быть переведены в форму х= — (у+1) = — г, хр хр (2) гр которая является уравнением прямой линии, проходящей через точку объектива (О, — 1, 0)' и точку картинки (х, О, гр)'.
Таким образом, выражение (2) — это одна из форм обратного перспективного преобразования, так как для данной точки изображения (х,„О, гр)' оно задает уравнение соответствующей линии в пространстве. В оставшейся части главы мы тщательно исследуем эти простые уравнения и получим некоторые результаты общего характера, полезные в анализе сцен.
10.3. ПЕРСПЕКТИВНОЕ ПРЕОБРАЗОВАНИЕ В ОДНОРОДНЫХ КООРДИНАТАХ Ю.ЗЛ. ПРЯМОЕ ПЕРСПЕКТИВНОЕ ПРЕОБРАЗОВАНИЕ Математические соотношения для перспективных преобразований могут быть записаны в другой полезной форме, если мы сначала займемся вопросом представления векторов в однородных координаеак. Основная идея заключается в том, чтобы превратить нелинейные преобразования формул (1) и (2) в линейные в другой системе координат. Заметим, что преобразование (1) не может быть линейным, так как координата г' точки объекта появляется в знаменателе.
Имея это в виду, определим однородные координаты ч точки ч= (х, у, г)' с помощью формулы ч= (ах, шу, шг, в)', где 1о — произвольная константа. Ясно, что действительные декартовы координаты точки ч могут быть получены из ее однородных координат путем деления каждой из первых трех компонент однородного вектора на четвертую компоненту. Однородные координаты, как можно видеть, являются искусственным приемом для выполнения операции деления ценой увеличения размерности пространства на единицу.
Заметим, что однородные векторы, различающиеся только масштабным множителем, представляют одну и ту же физи- 10.3. Перспективное иреодраэование в однородник координаток 409 ческую точку. Таким образом, оба однородных вектора и= (еах, еиу, еэг, еи)е и яч= (яоих, Ыу, яеиг, яеи)' представляют одну и ту же физическую точку ч=- (х, у, г)'. Чтобы--обозначать представление произвольного вектора в однородных координатах, мы будем всегда использовать тильду ( ). Выше мы предположили, что прямое перспективное преобразование, заданное формулами (1), является линейным, когда оно записано в однородных координатах.
Теперь мы утверждаем, что при соответствующей интерпретации матрица '1 О О О' О 1 О О Р= О О 1 О ь 1 я Π— О 1 является действительно линейным преобразованием, которое переводит точку объекта (записанную в однородных координатах) в точку изображения (также записанную в однородных координатах); другими словами, мы утверждаем, что и =Рке. Чтобы проверить правильность этого утверждения, выполйим указанные вычисления. Мы получим, что для данной точки объекта ч= (оих, еиу, евг, еи)е соответствующая точка изображения (в однородных координатах) определяется формулой еах еиу еиз Ир — +ш 1 чр — — Р» (4) Разделив каждую из первых трех компонент на четвертую, получаем декартовы координаты точки изображения в следующем виде: Заметим, что вторая компонента в формуле (5) не равна нулю во всех случаях, когда не равна нулю компонента г' точки объекта, и это не согласуется с физической реальностью, отображенной на рис.
10.2. Мы вскоре увидим, что вторая компонента точки иэображения в математическом плане является свободной переменной в обратном перспективном преобразовании. В данный момент мы отло- 4!0 Гя. !О. Перепенепиение преабраеееания жим обсуждение роли второй компоненты и подчеркнем, что первая и третья компоненты в формуле (5) согласуются с результатами, полученными из подобия треугольников в выражении (1).
!О.знь ОБРАТНОЕ ПЕРСПЕКТИВНОЕ ПРЕОБРАЗОВАНИЕ Обратимся теперь к обратному перспективному преобразованию. Вспомним, что, согласно нашему предположению, обратное преобразование определяет прямую линию, на которой должна лежать точка объекта, соответствующая данной точке изображения. Так как мы приняли, что прямое преобразование определено с помощью матрицы Р, обратное преобразование формально определяется матрицей Р ', т. е. из равенства (4) следует (6) т = Р-'тр, где Р-', как легко убедиться, имеет вид 1 0 0 О! 0 1 0 0 Р = 0 0 1 0 Е 0 — 0 1 Предположим, что мы производим вычисления по формуле (6). Что нам следует использовать в качестве точки изображения тр (и, следовательно, в качестве тр)? Из основной модели рис.
10. 2 мы знаем, что компонента У точки изображения равна нулю. Однако, если принять ур — — 0 и подставить (юхр, О, игр, и)' в формулу (6), мы найдем (после преобразования в обйчные декартовы координаты), что т=(хр, О, гр)'. Это вряд ли подойдет, поскольку мы хотим получить преобразование, которое переводит точку изображения в прямую линию, а не в одну точку. Выход из этого затруднения подсказывает выражение (5); из него следует, что вторая компонента точки изображения хотя и равна нулю физически, но математически она лежит в пределах интервала на оптической оси между плоскостью изображения и точкой объекта.
Используя это наблюдение как подсказку, примем, что ур — это свободная переменная, возьмем тр= (хр, ур, гр)' и подставим в выражение (6) соответствующее однородное представление яр=(пехр, мур, шгр, ю)'. После вычислений по формуле (6) и перехода от одйородных йоординат к обыкновенным с помощью обычного процесса деления мы по- 1д.д.
Персоекогивнсе ареобравовакие в однородных координагнах 411 лучим Г ~х,, 1 — У, Ьр Ч= 1 Ур ггр 1Г Ур 1 (8) (9) Мы знаем, что поскольку рр — свободная переменная, для данных координат изображения хр и г точка объекта ч вычерчивает некотоРУю кРивУю в пРостРанстве по меРе изменениЯ Ур. ФоРмУ этой кривой проще всего найти, исключив параметр ур из трех уравнений в выражении (8) 1У, Ур Г Ур ! Ур После того как это сделано, получим х= ~ (у+1)= — г, (2) гр ' что в точности соответствует уравнению (2), выведенному раньше.
Следовательно, мы теперь знаем, что, если считать ур свободной переменной, обратное перспективное преобразование в формуле (б) действительно переводит точку изображения в соответствующую прямую линию. Анализируя уравнения (9), мы видим, что при отрицательных значениях ур точка объекта находится между объективом и плоскостью изображения; когда ур=О, точка объекта совпадает с точкой изображения, и, наконец, если ур приближается к величине г, точка объекта удаляется вдоль проектирующего луча в бесконечность. Заметим попутно, что представление перспективного преобразования в однородных координатах имеет как свои преимущества, так и недостатки.
С одной стороны, оно позволяет нам выразить нелинейное преобразование в линейном виде, а это обстоятельство имеет некоторые приятные последствия в дальнейших исследованиях. С другой стороны, результатом этой операции является потеря математической чистоты; матрица Р-', конечно, переводит точку изображения в соответствующую прямую линию (при использовании ур в качестве свободной переменной), но матрица Р переводит точку объекта в точку изображения только в том случае, если игнорировать вторую компоненту вектора.