Метод получения 3D-изображений, основанный на диффузном отражении света сканируемыми объектами

V обработка информации и управление V

УДК 612.8

метод получения 3D-И30БPAЖEHИЙ, основанный на диффузном отражении света сканируемыми объектами

Н. Н. Красильников,

доктор техн. наук, профессор Санкт-Петербургский государственный университет аэрокосмического приборостроения

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

Ключевые слова — 3D-изображения, 3D-сканирование, диффузное отражение.

Введение

На пути создания реалистичных трехмерных изображений сцен среди прочих можно выделить проблему трехмерного сканирования. В настоящее время наиболее популярными технологиями бесконтактного трехмерного сканирования являются:

1) технология, основанная на использовании стереоизображений;

2) технология, использующая структурированный свет;

3) лазерная технология.

Первая технология заключается в фотографировании объекта сканирования с различных точек и воссоздании на основе полученных изображений его трехмерной модели [1]. Основной недостаток этой технологии состоит в том, что, используя ее, трудно обеспечить точное соответствие для пикселей на изображениях, полученных с двух камер, в бесструктурных областях объекта, вследствие чего точность получаемых 3D-изображений недостаточна.

При второй технологии на сканируемый объект проецируется решетка из линий (реже из точек), образующих на нем узор, состоящий из отдельных полос [2, 3]. Объект, на который спроецирована решетка, фотографируется камерами, расположенными таким образом, что их оптические оси образуют с оптической осью проектора значительные углы. Полученные фотографии вводятся в компьютер. Поскольку различные ча-

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

Несмотря на кажущуюся простоту описанной технологии и рекламируемую изготовителями сканеров автоматичность режима, процесс получения 3D-изображений оказывается весьма трудоемким и требует больших затрат ручного труда. В настоящее время полностью автоматических систем общего назначения не существует. При получении 3D-изображения объекта по нескольким проекциям необходимо производить сшивание этих изображений, а для этого нужно предварительно произвести калибровку камер, т. е. определить их взаимное расположение. Кроме того, при работе с объектами, различные части которых имеют сильно различающуюся детализацию, необходимо вручную добавлять точки в создаваемую модель, в областях высокой детальности [1-4].

При лазерной технологии применяют как лазерные датчики, так и цифровую фототехнику. Использование лазеров позволяет непосредственно получать третью координату путем измерения времени задержки светового сигнала, отражен-

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

Рассмотрим метод трехмерного сканирования, в значительной степени свободный от указанных недостатков.

Исследование метода 3D-сканирования, основанного на диффузном рассеянии света

Как известно, информацию о глубине наблюдаемой сцены зрительная система получает целым рядом путей. К ним относятся не только стереоскопический, но и другие эффекты, в частности, наличие перспективных искажений в проекции этой сцены на сетчатке глаз, а главным образом — распределение светотеней на изображениях объектов. Эта особенность проекций объектов (изображений) была давно замечена и широко используется в живописи. Так, наличие на изображении объекта светотеней, обусловленных тем, что количество света, попадающего в глаза зрителя, наблюдающего объект, зависит от интенсивности света, падающего на диффузно отражающую поверхность объекта, угла между нормалью к отражающей поверхности и направлением на источник света, а также от коэффициента отражения этой поверхности, позволяет судить о рельефности объекта. Благодаря этому на двумерной фотографии мы легко отличаем цилиндрическую колонну от колонны, имеющей квадратное сечение.

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

Вначале рассмотрим простой случай, когда диффузно отражающая свет поверхность, представляющая оболочку объекта, параллельна оси 2 (рис. 1). Поместим источник, создающий пучок параллельных лучей света, на координатной оси у, а камеру, посредством которой получается изображение этой поверхности, — на координатной оси х, на достаточно большом расстоянии от фотографируемой поверхности, так, чтобы можно было пренебречь перспективными искажениями изображения. Поскольку, по принятому условию, поверхность объекта диффузно отражает падающий на нее свет, то, согласно закону Ламберта, сила света, отраженная этой поверхностью, будет одинакова во всех направлениях. Сила света /1, диффузно отраженная поверхностью, как известно, определяется не только силой падающего света I и коэффициентом отражения поверхности K (0 < K < 1), но и косинусом угла 01 между нормалью N к диффузно отражающей поверхности и направлением на источник света:

I = IK cos %.

Если известны сила падающего света и коэффициент отражения, то по формуле (1) можно определить угол 01 между нормалью к отражающей поверхности, которая (нормаль) будет лежать в плоскости, параллельной координатной плоскости х, у, и направлением на источник света. Определив углы 01 для каждой точки отражающей поверхности, можно построить саму поверхность, т. е. трехмерное изображение освещенной части оболочки объекта, обращенной в сторону камеры. При этом расстояние от построенной таким образом поверхности до начала системы координат остается неопределенным, но это и неважно, поскольку, в конечном итоге, интерес представляет не расположение сканируемого объекта в пространстве, а его форма (оболочка).

Усложним задачу. Будем теперь считать, что коэффициент отражения оболочки объекта неиз-

Рис. 1. Диффузно отражающая свет поверхность, параллельная оси г

вестен и может изменяться от точки к точке. В данном случае формулы (1) будет уже недостаточно для определения угла 01, поскольку неизвестных величин две — угол 01 и коэффициент отражения К, а уравнение одно. Однако эта трудность легко обходится. Для этого достаточно воспользоваться вторым источником света, идентичным первому, но помещенным, например, на оси х, и измерить силу света, отраженного этой же точкой поверхности от второго источника света:

12 = 1К СОВ 02,

где 02 — угол между нормалью к диффузно отражающей поверхности и направлением на второй источник света. В этом случае, как нетрудно видеть, углы 01 и 02 будут находиться в соотношении 02 = п/2 - 01. Взяв отношение 1/2 и выражая

02 через 01, запишем

1= 1К 008 0!

12 = 1К 008(п / 2 - 0Х)’

что после очевидных преобразований дает

ctg0l = 12.

Далее, используя формулы (1) и (2), можно определить коэффициент отражения поверхности объекта для каждой ее точки.

Перейдем теперь к рассмотрению еще более сложного случая, когда рассеивающая поверхность произвольно ориентирована в пространстве (рис. 2). Как и ранее, поместим источник параллельных лучей света на оси координат у. Введем обозначения. Угол, заключенный между нормалью к отражающей поверхности и координатной плоскостью у, х (угол места), обозначим через р, а угол, заключенный межу осью координат у и проекцией нормали к отражающей поверхности на координатную плоскость у, х (азимут), обозначим через а. При этом косинус угла между нормалью к отражающей поверхности и направлением на источник равен cos0 = cosаcosp, и, следовательно:

Рис. 2. Диффузно отражающая поверхность, произвольно ориентированная в пространстве

I = IK cos a cos р.

Целью дальнейшего анализа является определение углов а и р, а также коэффициента отражения поверхности K, т. е. трех неизвестных, для чего необходимо иметь три уравнения (значение I можно задать при выполнении эксперимента). Недостающие два уравнения получим следующим образом. Вначале поместим источник света так, чтобы он оказался на оси х, и проведем измерения, а затем поместим его на оси 2 и тоже проведем измерения. В результате этих измерений будут получены два недостающих уравнения:

12 = IK cos(nf2 — a)cos Р;

13 = IK cos a cos(n/2 —P),

где I2 и I3 — интенсивности отраженных лучей второго и третьего источников света. Значения котангенсов углов а и Р при этом определятся следующим образом:

I IK cos a cos в cos а

— =------------;------ ----=--------= ctga;

I2 IK cos(n/2 — a)cosP sin a

- = ctgp.

I IK cosP cos a cosP

I3 IK cos(n/2 —P)cos a sin P

Таким образом, для каждой точки поверхности сканируемого объекта, видимой для камеры, определяется поле направлений нормали к этой поверхности, т. е. углы а и р, что дает возможность построить видимую часть этой поверхности. Процедура построения поверхности видимой части объекта заключается в следующем. Вначале для произвольной точки его поверхности с координатами у0 и 20 задается произвольное значение координаты х0, которое удобно принять равным нулю. После этого, перемещаясь по произвольному пути из точки с координатами у0 и 20 в точку, для которой определяется координата глубины х1, координаты которой у1 и 21, производится наращивание координаты х на каждом шаге. При этом результирующее значение координаты глубины определится по формуле У1 zi

xi = f ctga

У0 z0

При работе с дискретными изображениями, что и имеет место на практике, интегралы в формуле (6) заменяются суммами, а координаты у и 2 заменяются номерами столбцов и строк, в которых расположены пиксели исходных двумерных изображений:

N L

M = £ctga

n0 l0

В этой формуле введены следующие обозначения: I и п — соответственно текущие номера строки и столбца изображения, полученного посредством камеры; 10 и п0 — номера строки и столбца произвольной точки поверхности, для которой координата глубины принята равной нулю, а L и N — номера строки и столбца пикселя, для которого измеряется третья дискретная координата М, шаг дискретизации которой равен шагу дискретизации исходных двумерных изображений.

Далее, зная котангенсы углов а и в, найдем их косинусы сова и совв, а затем из уравнения (3) вычислим значение коэффициента отражения К по формуле

K =

I cos a cos в

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

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

Недостатком рассмотренного метода, как, впрочем, и других известных методов 3D-сканиро-вания, использующих свет, является то, что он ориентирован на работу с объектами, диффузно отражающими свет. Для сканирования объектов, имеющих блестящие поверхности, таких

как, например, окрашенный кузов автомобиля, их необходимо предварительно покрывать антибликовым составом (распыляя из баллончика), создающим белую матовую поверхность, так, как это принято делать при известных методах, использующих структурированный свет.

Экспериментальная проверка

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

С учетом сказанного, поскольку второе слагаемое формулы (7) всегда равно нулю, координата глубины М может быть найдена следующим образом:

N

M = ^ ctga(L, n).

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

Рис. 3. Изображения пирамиды, полученные при неизменном положении камеры и объекта, различающиеся между собой только направлением освещения: а — боковое освещение слева; б — боковое освещение справа; в — фронтальное освещение

n

0

Рис. 4. Результаты эксперимента: а — линии постоянной высоты; б — аксонометрическое изображение объекта

ром представлена пирамида, оставался не освещенным, поскольку пирамида освещалась сбоку. На рис. 3, в фон, на котором видна пирамида, светлый вследствие фронтального освещения. Далее, для каждой пары пикселей, представляющих одну и ту же часть объекта, показанного на рис. 3, а и в, измерялись интенсивности, величины которых прямо пропорциональны силам диффузно отраженного света. Аналогичные измерения производились с использованием изображе-

Литература

1.

2.

Kang S. B., Webb J. A., Zitnick C. L., Kanade T. A

multibaseline stereo system with active illumination and real-time image acquisition // Proc. Int. Conf. on Computer Vision. June 1995. P. 88-93.

Boyer K. L., Kak A. C. Color-encoded structured light for rapid active ranging // IEEE Trans. on Pattern Analysis and Machine Intelligence. 1987. Vol. 9(1). P. 14-28.

ний, показанных на рис. 3, б и в. После этого по формуле (4) определялся котангенс угла а. Далее находилось значение координаты M суммированием приращений координаты глубины, возникающих при движении вдоль каждой строки изображения. Результаты измерений третьей координаты объекта в виде линий постоянной высоты представляют собой, как и следовало ожидать, ломаные прямые (рис. 4, а). Аксонометрическое изображение пирамиды, построенное посредством функции mesh системы MATLAB, показано на рис. 4, б.

Заключение

Таким образом, рассмотренный метод 3Б-ска-нирования кратко можно сформулировать следующим образом. Вначале сканируемый объект фотографируется цифровой камерой таким образом, чтобы каждая его точка в общем случае была три раза снята при трех различных положениях источника света. Затем, используя описанную выше методику и полученные изображения объекта, определяют третью координату для каждого пикселя изображения, снятого при фронтальном освещении. Результаты сканирования легко могут быть представлены в одном из 3Б-форматов, а также выведены на экран посредством соответствующих функций MATLAB.

3. Morita H., Yajima K., Sakata S. Reconstruction of surfaces of 3d objects by m-array pattern projection method // Proc. Int. Conf. on Computer Vision. 1988. P. 468-473.

4. Scharstein D., Szeliski R. A taxonomy and evaluation of dense two-frame // IEEE Transactions on Computers. C — 23. 1974. P. 84-87.