Распознавание глубины изображения по затенению и поляризации

РАСПОЗНАВАНИЕ ГЛУБИНЫ ИЗОБРАЖЕНИЯ ПО ЗАТЕНЕНИЮ

И ПОЛЯРИЗАЦИИ A.B. Пасяда

Научный руководитель - кандидат технических наук, доцент С.А. Алексеев

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

Введение

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

1. Распознавание формы по затенению

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

В исследованиях РФЗ модель представления определяется через карту отражательной способности Я(р,ч), где р-ёг/ёх и - частные производные высоты г по отношению к координатам изображения, названные градиентами поверхности на (х,у). С определением карты отражательной способности проблема распознавания становится проблемой нахождения наилучшего пути восстановления высоты поверхности ^(х,у), удовлетворяющего уравнению освещенности изображения

1

л/1 + Р + Ч Ч1 + Р* + ч*

р = — г',]+1 , Ч = — г'+1,] , где ц - альбедо (0 < ц < 1), которое описывает отклонение в отражательных свойствах из-за пигментации или отметин на поверхности; 1(х,у) - интенсивность на изображении в точке (х,у), п - нормаль к поверхности

п - ,

л/1 + р + Ч

где Ь - вектор падающего света, вычисляемый как

Ь -

л/1 + р*2 + Ч*2

Распознавание формы по затенению является полностью обратной задачей по отношению к проблеме тонирования (визуализации): дано изображение I(x,y), найти поверхность S, альбедо h и свет L, которые удовлетворяют равенству (1).

2. Получение карты отражательной способности и поляризации

При заданном нами характере освещения сцены поляризованным светом один и тот же материал поверхности будет давать одинаковую карту отражательной способности R(p,q) и, следовательно, отраженной интенсивности I (p,q). Но при известном значении градиента поверхности (p,q) мы можем определить относительное расстояние до поверхности z. С помощью известной зависимости I (z) материал поверхности можно представить как ее класс и определять произвольную форму z из этого материала. В данной работе к карте отражательной способности добавлена карта отраженной поляризации для улучшения возможности распознавания поверхностей. Т.е. перед распознаванием произвольных форм из данного материала мы получаем зависимость наклона (p,q) поверхности от отраженной интенсивности I и поляризации: азимута 0 и эллиптичности 8 эллипса поляризации отраженного света. Эти три параметра мы вычисляем в каждом пикселе фотометрическим методом по ряду положений анализатора.

Важно отметить, что при диффузном отражении в каждый пиксел приходит огромное число фотонов с различными эллипсами поляризации. Из-за деполяризации в пикселе отраженный эллипс поляризации размывается и усредняется. Тем не менее, параметры азимута 0 и псевдоэллиптичности 8 этого псевдоэллипса поляризации мы можем использовать для алгоритмов восстановления ориентаций поверхности. Зависимость поляризации и интенсивности от наклона поверхности подтверждается и в экспериментах.

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

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

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

(в) как в работе [2], получим зависимость интенсивности от ориентации I(p,q), азимута 0(p,q) и эллиптичности s(p,q); ее также можно выразить не в пространстве градиентов (p,q), а в углах (¥,Е), где ¥ - угол наклона и Е - угол направления наклона;

(г) проведем обучение нейросети как алгоритма для восстановления глубины изображения по известным I(¥,S), 0(¥,Е) и е(¥,Е). В работе [1] получена эффективная методика восстановления глубины изображения с помощью ячеистых нейросетей. За счет пространственного соседства и парадигмы распределения случайных марковских полей именно ячеистые нейросети являются эффективным алгоритмом для задачи распознавания. Так как мы получаем относительное расстояние z до поверхности, то глубину изображения z будем измерять в радиусах калибровочного шара гш (пусть гш = 1):

z = 1 - cos

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

3. Ячеистые нейросети

Наиболее общее определение ячеистых нейронных сетей состоит в том, что такие сети являются массивами идентичных динамических систем ячеек, которые связаны

только локально [3]. Любая ячейка соединена только со своими соседними ячейками, т.е. смежная ячейка прямо взаимодействует с каждой. На несоседние ячейки оказывается косвенное взаимодействие из-за распространяющегося эффекта динамики в сети. Ячейка, находящаяся в положении (/, ц) двумерного массива М х ^обозначена Сц, и ее г-окрестность N ц г определяется как

Nц г= {Си | тах{|£-/|,|/-7|} < г; 1< к <М, 1< / < Щ ,

где размер окрестности г - положительное целое число.

Каждая ячейка имеет состояние х, постоянное внешнее значение на входе и и значение на выходе ъ. Эквивалентная схема ячейки непрерывного действия по времени показана на рис. 1. Здесь хц - состояние ячейки Сц , а Б - независимое постоянное смещение. Из [3] 1ц({) = /активации (хц(0), гДе / может быть любой подходящей нелинейной функцией. Матрицы весовых коэффициентов А(.) и В(.) известны как клонирующие шаблоны. А(.) действует на выход соседних ячеек и рассматривается как оператор обратной связи. В(.), в свою очередь, воздействует на входные значения и соответствует контролирующему оператору. Конечно, А(.) и В(.) зависят от применения. Постоянное смещение Б и клонирующие шаблоны определяют временное поведение ячеистой нелинейной сети. В общем случае клонирующие шаблоны не обязательно должны быть пространственно инвариантны.

Рис. 1. Блок-схема одной ячейки нейрона ячеистой нейросети

Для определения глубины изображения был использован метод на основе ячеистых нейросетей. Возьмем ряд наблюдений на пиксельном уровне с зависимостью /(2), е(ъ) и 0(2). Как показано в работе [1], единственный путь вычислить ъ - это минимизация функции энергии Е, состоящей в нашем случае из 3 членов:

Е = £а

Энергия модели Еа(ъ) является членом регуляризации, похожим на ограничение гладкости, классически используемое для решения некорректно поставленных задач. Добавочная энергия Еь(ъ) - это энергия ошибки.

Конкретно в данной работе функция энергии переписана как

Е = ^ [ка-(Гц - г1+1ц)2+ ка-(Гц - Гу ^)2 + ка-(Гц - 2,-1,Ц)2+ ка (Гц - Z1,J.])2+

', 1

+ къ-\ хтекущее -^требуемое \],

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

^текущее

И

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

х-гребуемое МОЖНО ВЫЧИСЛИТЬ Ошибку.

Итак, мы строим нейросеть с таким количеством нейронов, сколько значений в выборке наблюдений /(ъ), е(ъ) и 0(ъ). Минимум энергии можно вычислить, используя

или алгоритмы стохастической релаксации типа имитации отжига, или детерминистическими алгоритмами наподобие итеративных условных моделей [4]. Здесь используется метод имитации отжига.

На начальном шаге параметр температуры, отвечающий за вероятность изменения весов, берется высоким Г0 = 10.

Весовые коэффициенты для входящих значений интенсивности представляют собой (одну для всех нейронов) матрицу 5*5 WI¡±2о±2 для нейрона Су - см. табл.:

^-2,1-2 ^-2,1-1 ^-2,1 ^1-2,1+1 ^1-2,1+2

^-1,1 ^{-1,1+1 ^1-1,1+2

^1,1+1 ^1,1+2

^+1,1-1 ^+1,1 ^1+1,1+1 ^1+1,1+2

^+2,1-1 ^+2,1 ^1+2,1+1 ^1+2,1+2

Таблица. Матрица весовых коэффициентов

Использованы еще две матрицы весовых коэффициентов 5*5 для входящих значений эллиптичности We и азимута эллипса поляризации We, а также смещение актива-ционной функции по оси абсцисс D. Подчеркнем, что размерность матриц 5*5 является особенностью данного эксперимента и в общем случае может быть другой. В качестве активационной функции нейронов выберем сигмоидную:

2 = 0,5

где у отвечает за крутизну сигмоидной функции и выбрано в эксперименте у=0,05. Перед обучением все весовые коэффициенты приравниваются к 0. Подаем на вход нейрона Cij значения выборки /(2), е(ъ) и е(ъ) и вычисляем выходное значение г^. Затем вычисляем энергию Е. Чтобы при этом вычислить Хтребуемое, стоящее в формуле энергии, необходимо подать на выход значение глубины изображения ¿требуемое. Обратная функция от функции активации:

хтребуемое f

Энергия получена. Теперь последовательно вычисляем весовые коэффициенты методом имитации отжига [5]:

(а) в зависимости от температуры Т веса случайно изменяются на шаг с вероятностью

Р = ехр

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

Р = ехр

(в) температура понижается в соответствии с формулой

^+1= -0,9999.

Шаги (а)-(в) повторяются до достижения «теплового равновесия» модели, а точнее, до достижения заданного порога Гё+1 < Гпредел..

4. Экспериментальные данные

Чтобы определить глубину изображения, в работе взят угол наклона поверхности калибровочного шара Расстояние ъ вычислялось по формуле (4).

На основе фотометрического метода определения поляризации в каждом пикселе было обработано изображение пластмассового шара и кубика-угла, покрашенных серой нитроэмалью, в созданном программном обеспечении [6]. Измерение поляризации про-

ходило по 4 положениям анализатора - 0°, 45°, 90° и 135°. Каждое положение анализатора составляло отдельный кадр.

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

Рис. 2. а) Изображение калибровочного шара, белый круг - граница шара; б) диаграмма распознанной глубины поверхности

Рис. 3. а) Изображение кубика-угла; б) распознанная поверхность кубика

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

Заключение

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

Литература

1. Milanova M., Almeida P.E.M., Okamoto J. and Simoes M.G. Applications of Cellular Neural Networks for Shape from Shading Problem. Lecture Notes in Artificial Intelligence. // Machine Learning and Data Mining in Pattern Recognition. 1999. P. 51-63

2. Алексеев С.А., Пасяда A.B. Распознавание ориентации поверхности по отраженной интенсивности и поляризации излучения. // Вестник II Межвузовской конференции молодых ученых Санкт-Петербургского государственного университета информационных технологий, механики и оптики. СПб. 2005. Т. 3, С. 7.

3. Chua L.O., Roska T. The CNN Paradigm. // IEEE Transactions on Circuits and Systems (Part I). CAS-40. 1993. № 3. P. 147-156.

4. Besag J. On the Statistical Analysis of Dirty Pictures. // J. R. Statist. Soc. B. 1986. Vol. 48. № 3. P. 259-302.

5. Заенцев H.B. Нейронные сети: основные модели. Учебное пособие к курсу «Нейронные сети» для студентов 5 курса магистратуры к. электроники физического ф-та Воронежского государственного университета. 2000. 30 с.

6. Пасяда A.B. Поляризация на калибровочном шаре. // http:\ralertmod.narod.ru\p.htm