Робототехника.Фу, Ли, Гонсалес (962794), страница 58
Текст из файла (страница 58)
Хотя приведенное рассмотрение ограничивается преобразованиями одной точки, аналогичные приемы распространяются для одновременных преобразований группы из т точек с помощью одного преобразования. Пусть с учетом уравнения (7.4-5) чт, ..., ч представляют координаты лт точек. Если сформировать матрицу Ч размерностью 4 к',гп, столбцы которой являются вектор-столбцами, то одновременное преобразование всех этих Плаекаетб каабраакекия вращения хсв ' определяется как з!и( — 6) 0 0 сов( — 9) 0 0 0 1 0 ' (7'4 1о) 0 0 1 Аналогично обратная матрица соз ( — 6) — сбп ( — 6) !св х Х Хх (? А-16) (7.4-17) у У Л Х вЂ” Л Л вЂ” Х 344 345 точек с помощью матрицы преобразования А размерностью 4 Р',4 записывается в виде Ч' = АЧ.
(7.4-13) Полученная матрица Ч* имеет размерность 4 рс', т. Ее 1-й столбец у*, содержит координаты преобразованной точки, соответствующей у,. В заключение отметим, что из матриц многих рассмотренных преобразований легко получить обратные матрицы, используемые для выполнения обратных преобразований.
Например, матрица обратного смещения имеет вид ! ΠΠ— Х, 010 — у, Т = . (7. 4-14) — г, 0 0 0 1 Обращение более сложных матриц преобразования обычно производится численными методами. 7.4.2. Оптические преобразования Оптические преобразования, которые называются также преобразованиями изображений, проецируют точки трехмерного пространства на плоскость.
Оптические преобразования играют основную роль при получении изображения, поскольку они определяют способ отображения пространственных объектов. Хотя ниже в этом разделе оптические преобразования записываются в матричной форме размерностью 4 ре',4, они существенно отличаются от рассмотренных в предыдущем разделе, поскольку явля>отея нелинейными, так как включают операции деления координат. На рис. 7.13 приведена схема процесса формирования изображения.
Предположим, что система координат камеры (х, у, «) имеет плоскость изображения, совпадающую с плоскостью ху, а оптическая ось, установленная по центру линзы, направлена вдоль оси «. Таким образом, центр плоскости изображения является началом координат, а центр линзы имеет координаты (О,О,Л). Если камера сфокусирована на дистанционные объек- ты, то Л представляет собой фокусное расстояние линзы. Здесь предполагается, что система координат камеры совпадает с декартовой системой координат (Х, У, Я).
Это ограничение будет снято в следующем разделе. Пусть (Х, У, Х) — координаты произвольной точки трехмерного пространства (рис. 7.13). Предположим для последующих рассуждений, что Х ) Л, т. е. что все интересующие нас точки Рис 7 !З, Основная схема процесса получения напора>кения. Система координат камеры (х, р, в! совпадает с декартовой системой координат (Х, У, Х!. пространства находятся перед линзой. Сначала требуется установить взаимосвязь между точкой (Х, У, Х) и координатами (х, у) ее проекции иа плоскость изображения. Это легко сделать, рассмотрев соответствующие треугольники.
Из рис, 7,13 следует где минусы перед Х и У означают, что точки на изображении перевернуты. Спроецированные на плоскость изобра>кении точки трехмерного пространства определяются непосредственно из уравнений (7.4-16) и (7.4-17): к=Л Х ЛХ (7.4-!8) у== ЛУ (7.4-19) ,Важно отметить, что данные уравнения являются нелинейными, потому что они включают операцию делении иа перемен- иую Х. Хотя ими можно пользоваться в приведенном виде, часто удобно применять матричную форму записи, как это делалось в предыдущем разделе для описания процессов вращения, смещения и масштабирования. Такую запись легко получить с помощью однородных координат.
Однородные координаты точки с декартовыми координатами (Х, У, Л) определяются как (ЙХ, ЙУ, ЙХ, я), где й — произвольная ненулевая постоянная. Ясно, что обратное преобразование однородных координат в декартовые осуществляется путем деления трех однородных координат на четвертую. Точка в декартовой системе координат определяется в векторной форме следующим образом: (7.4-20) а соответствующая запись в однородных координатах будет иметь вид йХ йу йХ (7.4-21) Определим матрицу оптического преобразования в виде 1 0 О 0 0 0 0 1 0 0 (7.4-22 ) 1 0 0 0 — — 1 1 Х Тогда произведение Рвл дает вектор, который обозначим через сл.' йХ йу йХ вЂ” лх + х 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 — — 1 х (7.4-23) сл = Рлтл = нат камеры следующей векторной формой: Ал =[ ху х — г (7.4-24) 1 0 0 0 0 1 0 0 0 0 1 0 О О ~ 1 (7.4-26) Предположим, что заданная точка на изображении имеет координаты (х,, ум 0), где 0 по координате г отражает тот факт, что плоскость изображения находится на э=О.
Эта точка может быть записана в однородной форме вектором йхо йУо ел= 0 (7.4-27) й Используя уравнение (7.4-25), получим соответствующий вектор для однородных пространственных координат Два первых элемента вектора с являются координатами (х, у) спроецированной на плоскость изображения пространственной точки (Х, У, Х) в соответствии с уравнениями (7.4-18) н (7.4-19). Третий элемент для рассматриваемой схемы (рис. 7.13). не существен, Как показано ниже, этот элемент выступает в качестве свободной переменной в обратном оптическом преобразовании. Обратное оптическое преобразование переводит точку с плоскости изображения обратно в трехмерное пространство. Таким образом, из уравнения (7.4-23) получим -1 ттл=Р с„, где Р определяется в виде (7.4-28) 346 Элементы вектора сл являются координатами камеры в однородной форме.
Как было отмечено выше, эти координаты могут быть переведены в декартовые координаты путем деления каждого иэ трех элементов вектора сл на четвертый. Таким образом, декартовы координаты любой точки связаны с системой коорди- Ахо куо 0 или для декартовых координат (7.4-29) Уо Поскольку 2=0, данное выражение верно не только для одной точки пространства.
Это объясняется тем, что отображе- ние трехмерного пространства на плоскость изображения яв- ляется преобразованием многих точек в одну. Точка изображе- ния (х,, уо) соответствует ряду пространственных точек, лежа- Л.У ав щих на одной линии, которая проходит через (х, у 0) и (О, О, о, о, ). р внения этой линии в декартовой системе координат пол- чаются из уравнений (7.4-18) и (7.4-19) в виде У Х= Л (Л вЂ” Я) (7.4-30) и (7.4-31) Из этих уравнений видно, что если нет достаточной информации о пространственной точке (например, ее координаты 2), полученной из точки на изображении, то нельзя точно восстановить точку в трехмерном пространстве по ее изображению, Это вполне естественное соображение может быть использовано для определения обратного оптического преобразования путем простой подстановки элемента х в вектор с, вместо 0 в качестве свободной переменной.
Таким образом, получим После преобразования в декартовые координаты получим Лко Л+г ЛУо Л+х Лг Л+х (7.4-34) чу= у Выразив г в последнем уравнении через 2 и подставляя его в два первых уравнения, получим хо (Л (7.4-36) (7.4-37) у = — "' (Л вЂ” г), Л что согласуется с тем, что для восстановления точки в трехмер- ном пространстве путем обратного оптического преобразования требуется знание по крайней мере одной декартовой коорди- наты точки, Эта проблема обсуждается также в разд. 7.4.5. 7.4.3.
Модель камеры Другими созовами, используя г как свободную переменную, получим уравнения Х= —, Лх Л+х ' Л+г' (7.4-35) Лг Е= —, Л+х ухо яуо с„= йг (7.4-32) ухо йуо хг (7.4-33) 349 Теперь иа уравнения (7.4-25) имеем Уравнения (7.4-23) и (7.4-24) характеризуют формирование изображения путем проекции точки пространства на плоскость изображения. Таким образом, эти два уравнения представляют основную математическую модель воспроизводящей камеры.
Данная модель базируется на предположении, что система координат камеры и декартова система координат совмещены. В этом разделе рассмотрим более общий случай, при котором две системы координат могут быть разделены, Однако главная цель получения координат произвольной точки пространства на плоскости остается той же. В случае, изображенном на рис, 7.14, декартова система координат (Х, У, 2) используется для определения положения как камеры, так н точек пространства, обозначенных через эо. На этом рисунке также показаны система координат камеры (х, у, г) и точки изображения, обозначенные через с.