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

ОБРАБОТКА ИНФОРМАЦИИ И УПРАВЛЕНИЕ X

УДК 004.352.22; 004.932

исследование погрешностей определения координаты глубины при 3D-CKAHИPOBAHИИ мЕТОДом, основанном на диффузном отражении света

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

доктор техн. наук, профессор О. И. Красильникова,

канд. техн. наук, доцент

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

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

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

Введение

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

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

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

Определение углового положения нормали к диффузно отражающей поверхности

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

1отр = IK cos 0,

где I — интенсивность падающего на поверхность объекта света от источника; K — коэффициент отражения поверхности; 0 — угол между нормалью к отражающей поверхности и вектором, направленным на источник света.

В данной статье оценивается погрешность измерения координаты глубины, измеренной этим методом.

Переходя к рассмотрению проблемы, выберем правую систему координат x, y, z и определим на-

правление единичного вектора нормали N к отражающей поверхности посредством направляющих косинусов cosa^, cosp^, cosg^ (рис. 1). Поскольку направление вектора в трехмерном пространстве полностью определяется двумя углами, то такое представление является избыточным, так как значения этих углов удовлетворяют 2 2 2 равенству cos aN +cos bn +cos =!•

Подобным образом посредством направляющих косинусов может быть представлено направление единичного вектора S, указывающего на источник света: cosas, cosbs, cosgs. При этом имеем аналогично cos2 as + cos2 bs + cos2 gs = i.

Косинус угла 0 между двумя единичными векторами, в рассматриваемом случае векторами N и S, равен

cos 0 = cos a N cos as + cosbN cos bs + cos gN cos gs.

Делая подстановку данного выражения для cos0 в формулу (1), имеем

1отр = IK (cosaN cos as +

+ cosbn cosbs + cosgn cosgs)•

Поместим камеру, измеряющую интенсивность диффузно отраженного света, на ось z и направим ее в начало координат.

В дальнейших расчетах направление единичного вектора N удобнее выражать через азимут Фдт, представляющий собой угол между вектором и плоскостью yz, и угол места |а№ представляющий собой угол между вектором и плоскостью xz. Установим связь между углами ф№ |% и углами

aN, bN, gN.

Длина проекции единичного вектора N на ось x равна cosa№ Если вектор N спроецировать на плоскость xz, получим отрезок OA длиной cos |n>

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

если затем результат спроецировать на ось x, получим вектор длиной cos^N sinjN Из этого следует, что cos a N = cos |n sin jN •

Значение cosbN находим аналогичным путем. Длина проекции единичного вектора N на ось y равна cosbN. Если вектор N спроецировать последовательно сначала на плоскость xy, получим отрезок длиной sin| N, если затем результат спроецировать на ось у, получим отрезок длиной smmNcosjN. Откуда следует, что cosbN = sin|n cos jN•

Значение cosgN находим подобным же путем. Отрезок OB, представляющий собой проекцию вектора N на ось z, длина которого равна cosg№ можно получить двумя путями. Либо непосредственно проецируя вектор N на ось z, либо последовательно, проецируя его сначала на плоскость xz, получая отрезок ОА длиной cos^, а затем проецируя отрезок ОА на ось z, в результате чего получаем отрезок OB длиной cos^NcosjN- Откуда следует, что cos g n = cos |n cos jN •

Аналогично будем иметь для единичного вектора S, направленного на источник освещения:

cos as = cos is sin js;

cosbs = sin is cos js;

cos gs = cos |s cos js •

Делая подстановки cosa№ cosbN, cosg№ cosas, cosbs, cosgg в формулу (2), запишем

1отр = IK(cos |n sin jN cos is sin js +

+ sin |n cos jN sin is cos js +

+ cos |n cos jN cos is cos js )•

Полученное уравнение включает в себя параметры оболочки in, jN и K, которые являются неизвестными и которые нам необходимо найти, в то время как остальные величины, входящие в это уравнение, либо назначаются нами, как, например, I, is, js, либо могут быть измерены, как, например, 1отр. Для того чтобы найти все три параметра оболочки, нам необходимо располагать тремя уравнениями. Недостающие уравнения можно получить, если измерить интенсивности света, рассеянного диффузно отражающей оболочкой объекта, при трех различных угловых положениях источника света ^ ф^ isv ф^ ф«2:

1отр0 = IK (cos iN sin jN cos iso sin jso +

+ sin iN cos jN sin iso cos jso +

+ cos iN cos jN cos iso cos jso );

IOTp1 = IK(cos iN sin jN cos isi sin jsi +

+ sin iN cos jN sin isi cos jsi +

+ cos in cos jN cos isi cos jsi);

IOTp2 = IK(cosiN sin jN cosis2 sin js2 +

+ siniN cos jN sinis2 cos js2 +

+ cos !n cos jN cos is2 cos js2 )•

Совместное решение трех написанных трансцендентных уравнений позволяет получить значения iN, jN и K.

Проиллюстрируем сказанное конкретным примером, когда исходный для формирования 3D-изо-бражения материал получен при трех различных положениях источника света:

iso = 0, jso = 0 — источник света расположен на координатной оси z;

isi = 0, jsi ^ 0 — источник света расположен в координатной плоскости xz;

is2 ^ 0, js2 = 0 — источник света расположен в координатной плоскости yz.

В этом случае будем иметь

IoTpO = IK cos jN cos iN;

IoTpi = IK cos

IOTp2 = IK cos

Решая совместно уравнения (3) и (4), а также уравнения (3) и (5), получим выражения для тангенсов углов, определяющих положение нормали к диффузно отражающей поверхности относительно выбранной координатной системы:

, -^OTpi / IOTp0 cos jsi

tgjN =--------------------------------:-;

sin jsi

tgiN =

IOTp2 / IOTp0 cos M-s2

sin is 2

После того как найдены значения тангенсов, а следовательно, и сами углы ф^ и значения определяется коэффициент отражения оболочки объекта путем решения уравнения (3) относительно К:

K = -

I,

OTp0

I cos jN cos iN

Располагая полученными формулами, можно перейти к определению координаты глубины.

Определение координаты глубины оболочки 3D-объекта

В целях большей наглядности рассмотрим определение координаты глубины 2 на примере сканирования сферы, расположенной в начале координат. Выбор сферы обусловлен тем, что в ней представлены области поверхности (оболочки), ориентированные в пространстве под всеми возможными углами. Как и ранее, поместим камеру на координатной оси 2 и направим ее в на-

Рис. 2. Изображение сферы при различных расположениях освещения: а — освещение спереди; б — освещение слева; в — освещение сверху; г — карта глубины

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

Распределения яркости в этих изображениях представлены величинами /отр0, 1отр1 и 1отр2, по которым находятся значения ^ф^ и ^цдг, определяющие угловые положения нормалей к поверхности сканируемого объекта в точках, для которых могут быть последовательно измерены 1отр0, 1отр1 и 1отр2, а следовательно, и угловое положение касательной плоскости.

Обратимся к точкам 1 на этих изображениях. При смещении из точки 1 в произвольном направлении на бесконечно малую величину Дв координата глубины 2 получает приращение, равное Д2 = а8(х, у)Дв, где а8(х, у) — функция, представляющая собой тангенс угла между координатной плоскостью ху и прямой, определяющей направление смещения. Если направление, в котором происходит смещение, совпадает с координатной осью х, то а8(х, у) = tgфдr, если направление смещения совпадает с координатной осью у, то а8(х, у) = tgmдr. В общем случае значение функции а8(х, у) равняется сумме проекций tgфN и tgmN на направление смещения.

При смещении из точки 1 с координатами Хо, уо в точку с координатами Х1, у1 приращение координаты 2 составит

Дг = J а8 (х, y)ds.

Правая часть формулы представляет собой криволинейный интеграл первого типа. Замечательной особенностью криволинейного интеграла является то, что путь Ко, по которому выполняется интегрирование, т. е. путь из точки 1 с координатами Хо, уо в точку с координатами Х1, у^ не влияет на конечный результат Д2. В частности:

Дг = J а8 (х, y)ds =

х1 У1

= / ^ф^

хо Уо

В рассматриваемом случае вначале вычисляется приращение координаты глубины за счет перемещения в направлении координатной оси x, а затем к нему добавляется приращение координаты глубины за счет перемещения в направлении координаты у. Иногда при вычислениях Д2 оказывается удобным выбирать путь интегрирования так, чтобы он совпадал, например, с линией градиента яркости на изображении, показанном на рис. 2, а.

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

Поскольку в дальнейшем речь идет о дискретных изображениях, интегралы необходимо заменить суммами, а координаты x и у — номерами столбцов и строк, в которых расположены пиксели исходных двумерных изображений:

N L

м = ^tgфN

по 1о

Здесь l и п — текущие номера строк и столбцов изображения, полученного посредством камеры; 1о и По — номера строк и столбцов точки оболочки, для которой координата глубины принята равной нулю; L и N — номера строки и столбца пикселя, для которого определяется дискретная координата глубины M. Шаг дискретизации третьей координаты M выбирается равным шагу дискретизации исходных двумерных изображений.

Описанным способом находятся координаты глубины для каждого пикселя той части изображения (см. рис. 2, а), которая доступна освещению тремя источниками света (в рассматриваемом примере свет спереди, слева и сверху). Затем положение источников света изменяют, например, освещение объекта слева заменяют на его освещение справа, и снова проводят измерения. Так повторяют до тех пор, пока не будут получены координаты глубины для всех пикселей изображения видимой части объекта, с использованием которых строится так называемое .^изображение (карта глубины) (рис. 2, г). Яркость пикселей . -изображения представляет собой значение координаты глубины. Чем меньше значение этой яркости, тем более удален от зрителя данный элемент объекта. Поочередное получение

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

Погрешности измерения

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

Погрешности, обусловленные шумом квантования интенсивностей диффузно рассеянного света 1отро, 1отр1, проиллюстрируем на примере,

когда mN = ° М-£1 = °.

Рассмотрение начнем с определения погрешности, обусловленной шумом квантования 1отр1-Как известно, погрешность функции, обусловленная погрешностью аргумента, может быть оценена с помощью дифференциала этой функции. В данном случае смещение вдоль строки на один пиксель вызывает приращение координаты глубины, согласно формуле (Ю) равное М = tgфN. Поэтому погрешность, допущенная при измерении 1отр1, приводит к погрешности, с которой вычисляется tgфN, и, как следствие, к погрешности вычисления координаты глубины. Вначале примем, что изображения, показанные на рис. 2, дискретны в пространстве, но не квантованы по яркости, и напишем выражение для дифференциала dM:

ам=а^.

а1отр1

Поскольку погрешность dIотрl невелика, то от дифференциалов можно перейти к приращениям и записать

ДМ = d

dI,

OTpi

Делая подстановку выражения для 1отр0 из формулы (3) в формулу (6) и вычисляя производную, запишем

d(tgjN ) =______________i___________

dIOTpi IK cos jN cos iN sin jsi ’

что после подстановки в формулу (11) дает

дМ =-----------DI°Tpi---------------------•

IK cos jN cos in sin jsi

Реальные изображения являются цифровыми, поэтому значения интенсивностей света I и 1отр1 в формуле (12) выражаются количеством квантовых уровней, а значение ДМ после вычисления следует округлять до целого. На рис. 3 кривой 1 показана зависимость погрешности измерения координаты глубины в пикселях от угла ф№ выраженного в градусах, для частного случая, когда Д1отр1 = 1.

Формула, по которой рассчитывается погрешность определения координаты глубины, обусловленная шумом квантования 1отр2, выводится аналогично формуле (12) с тем отличием, что при выводе формулы вместо интенсивности 1отр1 используется 1отр2.

Рассмотрим теперь погрешность, обусловленную шумом квантования 1отро. Как и ранее, напишем выражение для дифференциала dM:

dM = d(tgjN dI

dI

OTp0

oтp0,

и поскольку погрешность dI 0 невелика, то от дифференциалов перейдем к приращениям

DM = d(tgjN di

dI,

OTp0

OTp0 •

Сделаем подстановку выражения 1отр1 из формулы (4) в формулу (6), вычислим производную, после чего подставим в получившееся выражение значение 1отр0 из формулы (3) и запишем

d

dIOTp0 IK cos iN (cos фn )2 sin jsi

Делая подстановку найденного значения производной в формулу (13) и отбрасывая знак ми-

AM

2,5

2,0

1,5

1,0

0,5

0,0

90

75

60

45

30

15 ф^, град

Рис. 3. Зависимости погрешностей измерения координаты глубины от угла фN для случая, когда = о, ф,§1 = 9о°, I = 255, К = 1

нус, получим выражение для абсолютного значения погрешности координаты глубины

дм = cos

IK cos iN (cos фn )2 sin Фsi

Здесь, как и ранее, значения интенсивностей света I и Д1отр0 в формуле (14) выражаются количеством квантовых уровней, а значение ДМ после вычисления следует округлять до целого.

На рис. 3 кривой 2 показана зависимость погрешности измерения координаты глубины в пикселях от угла jN, выраженного в градусах, для частного случая, когда Д1отр0 = 1. Сравнивая зависимости 1 и 2, видим, что погрешность измерения интенсивности рассеянного света 1отр1, обусловленная процессом квантования, приводит к существенно меньшей погрешности определения координаты глубины М, чем погрешность, вызванная квантованием интенсивности рассеянного света 1отр0. Другими словами, первой составляющей погрешности вполне можно пренебречь. Расчеты показывают, что если назначить максимальное допустимое значение погрешности 0,5 пикселя, то область сканирования, в которой это условие выполняется для 1отр0, составит от -85 до +85°. Объясняется это тем, что в областях сканирования объекта, где плоскость, касательная к оболочке объекта, ориентирована так, что свет от источника освещения падает на нее под углом, близким к нулю, диффузно отраженный ею свет также мал. При этом даже малая абсолютная погрешность при измерении его интенсивности приводит к большой погрешности в определении тангенса угла наклона нормали, что следует из формул (6) и (7), а следовательно, и в определении тангенса угла наклона касательной плоскости. В результате резко возрастает погрешность определения координаты глубины. В рассматриваемом примере это имеет место в области периметра большого круга сферы (см. рис. 2, а).

В результате проведенного эксперимента получено каркасное (сетчатое) изображение сферы (рис. 4). Эксперимент заключался в том, что вначале специальной программой были сгенерированы пять изображений сферы, подобные показанным на рис. 2. Эти изображения различались между собой расположением источников освещения (слева, справа, сверху, снизу и спереди). Радиус сферы составлял 105 пикселей, K = 1, I = 250. Далее, используя эти изображения в качестве исходных данных, в соответствии с описанным выше методом находилось Z-изображение, на основе которого строилось каркасное изображение сферы. При выполнении эксперимента в целях наиболее наглядной демонстрации рассматриваемого вида искажений исходные изо-

Рис. 4. Иллюстрация искажений, вызванных погрешностью измерения координаты глубины, обусловленной шумом квантования

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

В случае, когда погрешности измерения координаты глубины обусловлены воздействием флук-туационного шума, расчетные формулы имеют аналогичный вид, с той разницей, что вместо Д1отро и Д1отр1 в них подставляются среднеквадратичные значения флуктуационного шума в единицах квантовых уровней. При этом результатом расчета будет среднеквадратичное значение погрешности измерения координаты глубины.

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

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

На первом этапе следует выполнить сканирование, расположив источники света так, как это описано в разделе «Вычисление координаты глубины оболочки 3D-объекта», и получить карту глубины. После этого необходимо на карте глуби-

Рис. 5. Пример 3D-сканирования сложного объекта: а — .-изображение; б — каркасное изображение

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

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

Заключение

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

Принимая во внимание низкую стоимость используемой при этом аппаратуры (цифровых фо-

токамер, вэб-камер) по сравнению со стоимостью аппаратуры для традиционных методов сканирования, данный метод представляется весьма перспективным уже только по экономическим соображениям.

В настоящее время Интернет буквально переполнен всевозможными двумерными изображениями и видео, в том числе изображениями улиц, транспортных перекрестков, дорожных магистралей, получаемых посредством вэб-камер, количество которых лавинообразно возрастает. Учитывая сказанное, нетрудно видеть, что с небольшими дополнениями применение рассмотренных технологий преобразования 2Б-изобра-жения в 3Б-изображение открывает возможность

Литература

1. Красильников Н. Н. Метод получения 3Б-изобра-жений, основанный на диффузном отражении света сканируемыми объектами // Информационно-управляющие системы. 2оо9. № 6 (43). С. 7-11.

2. Красильников Н. Н., Красильникова О. И. Получение трехмерного изображения объекта путем измерения интенсивности диффузного отражения света различными точками его поверхности // Оптический журнал. 2о1о. Т. 77. № 6. С. 19-24.

3. Красильников Н. Н. Цифровая обработка 2Б и 3Б изображений. — СПб.: БХВ-Петербург, 2о11. — бо8 с.

создания 3Б-модели среды нашего обитания в самом широком смысле слова.

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

4. Красильников Н. Н., Красильникова О. И. Определение координаты глубины по 2D изображению // Оптический журнал. 2011. Т. 78. № 12. С. 30-33.

5. Berthold K. P. Horn Height and Gradient from Shading // International Journal of Computer Vision. 1990. Vol. 5. N 1. Р. 37-75.

6. Werner T., Zisserman A. New Techniques for Automated Architectural Reconstruction from Photographs // Proc. of the 7th European Conf. on Computer Vision, Copenhagen, Denmark, 2002. Vol. 2. Р. 541-555.