Hryapkina Alexandra Mikhailovna, master, [email protected], Russia, Tula, Tula State University,
Troshina Anna Gennad'evna, сandidate of technical sciences, docent, [email protected], Russia, Tula, Tula State University
УДК 681.5
РАЗРАБОТКА АЛГОРИТМА РАСПОЗНАВАНИЯ ЧАСТИ ОБЪЕКТОВ НА ИЗОБРАЖЕНИИ
М.Б. Цудиков, С.В. Балясный, Д.В. Чеховский
Представлен алгоритм решения задачи распознавания отдельных частей объектов при их фрагментном нахождении на отдельных кадрах. Определены основные этапы процесса распознавания. Рассмотрено проектирование фильтра для устранения шума, выравнивание яркости изображения, построение вектора признаков, построение классификатора по эталонам.
Ключевые слова: распознавание, вектор признаков, локализация, дерево, ключевая точка, классификация, эталон, скользящее окно.
1. Этапы решения задачи распознавания
Задача распознавания разделяется условно на несколько подзадач: предварительная обработка изображения для приведения его параметров к некоторой заранее заданной величине;
определение вектора признаков, характеризующего данное изображение;
получение вектора признаков, описывающего искомый объект на основании серии эталонных изображений;
построение классификатора, позволяющего определять принадлежность образа, представленного вектором признаков произвольной длины, к одному из эталонных объектов [1];
локализация искомого объекта или его части на исследуемом изображении, используя функцию скользящего окна;
для полученного вектора признаков для области, оказавшейся в пределах окна, проверка степени принадлежности к эталонным объектам, по результатам анализа принятие решения о наличии или отсутствии в исследуемой области искомого объекта.
320
Общая схема алгоритма представлена на рис. 1.
2. Предварительная обработка изображения
Предварительная обработка полученного изображения необходима для преобразования изображения в форму, позволяющую подчеркнуть важнейшие признаки, т.е. более удобную для извлечения из него информации. Чаще всего изображение, полученное в реальных условиях, содержит в своем составе компоненты шума, а также участки с различной степенью освещенности. В связи с этим возникают задачи расчета фильтров, позволяющих снизить шумовую составляющую без значительного ухудшения качества самого изображения, и приведения яркости изображения к заданным значениям. При этом следует учитывать, что реальные изображения не имеют статистических характеристик нормального типа.
Точки(с
Изображение признаками) Часть сцены в
Рис. 1. Этапы процесса распознавания изображения
3. Проектирование фильтра
При формировании оптического изображения неизвестное пространственное распределение энергетической яркости о(х,у), называемое объектом, создает изображение в виде распределения энергетической освещённости г(х9у)ш Для оценки о(х,у) на дискретном подмножестве точек используем соотношение
X Г
уУШ) = \ I У)^хп >Ут > + К*п>Ут> (1)
-Х-У
где п = т = - дискретное подмножество точек; з(хП9ут,х9у)
- функция рассеяния точки всей системы, формирующей изображение; кхп>ут) - шум. [4].
Вследствие того, что любой оптический прибор имеет ограниченное поле зрения, функция рассеяния точки з(хп,ут,х,у) = 0 для всех \х\>Х,\у\>¥_
Заменив интеграл (1) конечной аппроксимирующей суммой, получим
кхп ,ут ) = x x у)б(хп, ут, х, у) + , ^), (2)
N М
где у?п - веса входных значений, обеспечивающие получение необходимой точности аппроксимации.
При выборе модели фильтра будем исходить из предположения, что функция з{хП9уП19х9у) инвариантна относительно сдвига
5(х/7>Ут >Х>У) = 5(х/7 ~ Ут ~ У) • Тогда преобразование Фурье от (1)
>™у) = °(™х > ™у )х(™х > ™у ) + К(™х > ™у ) ■ (3)
Соответственно задача фильтрации сводится к умножению спектра /(м?х, м>у ) на функцию фильтрации У(ых, у)
д(п>х, ) = / Ог, )Г(ых ,Ыу) =
= У(м>х, м?у )0(уух, м^ )т(>х + , , ) (4)
с последующим переходом в пространственную область
I
где (? - граничная частота [3].
Решив (4) относительно <9(м>г,м>у), получим
К(м>х,м?у)
таточно мало, уравнение (5) можно представить в виде, обеспечивающем точную фильтрацию
322
0(уух,м?у) = ' •--• ' ■ при т(>х, ) * О. (5)
На частотах, где т(м>х,м>у) конечно, а отношение ——:-— дос-
0{™х,м>у) = ' ^ ■ при т(XV х , У>у) Ф 0. (6)
Функция фильтрации может быть представлена в виде
У , )
( Л ( \
wx wx
гес? гес?
1 Ор У р У
, Wy ) \
(7)
где гес?( х)
1, при |х| £ 1, 0, при |х| > 1.
Полная функция передачи системы, описывающая совместно шум на изображении и последующую фильтрацию, имеет вид
Чолн (™х, ) = геС
Г \
р
геС
Г \
^у
р У
(8)
Полная функция рассеяния, показывающая связь изображения на выходе фильтра с изображением на его входе,
81п(брх) $т((2рУ)
'полн
(х, у)-
(9)
хУ
где 2(р - полоса частот, в которой проводится фильтрация.
Качество изображения на выходе ограничивается полной функцией рассеяния точки [3].
При использовании данного фильтра с увеличением частоты w рас-
К , wy)
тет ошибка фильтра-. Для решения этой проблемы необходимо
^х, ^ )
выбрать оптимальную частоту ^. Ошибка е(х, у) между исходным и отфильтрованным изображениями составляет
¥ ¥ ч
е(х, у) = | |, wy У(х^ + УWУ )dwxdwy -
Ор Ор Г
I I
-Ор -Ор
, Wy ) +
к ^х, Wy )
t(wх, ^ )
;(^ + ^у .
(10)
Оптимальная Ор должна минимизировать среднеквадратичную ошибку (10)
8 2 = I I
е( x, уУ
dxdy.
(11)
Минимизация 82 достигается при = 0:
Щр
1(бр)
2 =
Ф0(°р )
оо —оо
оо оо
оо —оо
где (р0, Фд- - энергетические спектры изображения и шума соответственно. Принимая допущение, что соотношение сигнал/шум не зависит от частоты, получим [3, 4]
Qv=Q
1-
т
(12)
Фо
Таким образом, оптимальная полоса частот представляет собой полосу частот, на которой отношение сигнал/шум отлично от нуля.
4. Выравнивание яркости
Одним из наиболее распространенных и простых подходов к выравниванию яркости изображений в пространственной области является эквализация гистограммы [2].
Суть метода заключается в перераспределении гистограммы яркостей таким образом, чтобы максимально занять весь яркостный диапазон. Представив уровни яркости изображения в виде диапазона значений к = 0,1,...,255 до и после преобразования ^ = Т(г\) как случайные величины, можно определить плотности распределения случайных величин р^{г) и р¿(з). Необходимым условием является возрастание функции преобразования Г(г^) во всем диапазоне значений к. Тогда плотность распределения вероятности сигнала после преобразования можно выразить как
Р^) = Рг(Г)^-. (13)
При известной функции преобразования Г(г^) распределение Pj(s) являете я равномерным на всем диапазоне яркостей независимо от
плотности распределения р^г).
Вероятность появления пикселя с яркостью
= ^ к = ОД,2,...,1-1, (14)
где N - общее число пикселей на изображении; I - максимальный уровень яркости на изображении; п^ - количество пикселей, яркости г^. Соответственно преобразование примет вид
к = 0,1,2,...,¿-1. (15)
у"=0 Л
5. Построение вектора признаков
Определение вектора признаков объекта с использованием ключевых точек выполним в соответствии с представленным алгоритмом:
построение пирамиды гауссианов с разным радиусом размытия; построение пирамиды разностей гауссианов; определение особых точек как локальных максимумов;
324
уточнение особых точек;
определение признаков особых точек.
Особенность представленного метода заключается в определении среди множества точек, которые составляют объект, тех, которые максимально его характеризуют. Для обеспечения инвариантности к аффинным преобразованиям признак, характеризующий каждую найденную точку, рассчитывается по некоторой ее окрестности.
Для определения вектора признаков вначале необходимо построить масштабную пирамиду изображений, так как некоторые объекты, незаметные в одном масштабе, могут быть замечены в другом, где изображение на каждом последующем слое имеет вдвое меньший масштаб, чем на предыдущем [2].
На практике изображения с разрешением менее 12х12 точек не представляют интереса в силу почти полного отсутствия на них деталей, и число уровней в пирамиде оценивается как
'2 ^
С /олгЛЛ
P = min
ln
у 12 у ln(2)
(16)
Для изображения на каждом уровне пирамиды рассчитаем его свертку с ядром Гаусса с несколькими радиусами размытия
L(x, y, r) = G(x, y, r) * I(x, y), (17)
где L(x, y, r) - значение гауссиана в точке с координатами (x, y); г - радиус
-(x2 + У 2
1 —2""
размытия; G( x, y, r) =-- e 2r - гауссово ядро; I (x, y) - значение
2pr 2
пикселя изображения.
Преимущество свертки с гауссовым ядром в том, что оно может быть представлено в виде фильтра с бесконечной импульсной характеристикой (БИХ-фильтр) и, как следствие, скорость его вычисления не зависит от радиуса размытия) [7].
Вычитание элементов пирамиды гауссианов позволяет выявить наиболее характерные особенности для данного изображения: D(x, y, r) = (G(x, y,kr) - G(x, y, r)) * I(x, y); D(x, y, r) = L(x, y,kr) - L(x, y, r).
В полученной пирамиде разностей гауссианов D(x, y, r) определяются узловые точки. Узловыми точками считаются точки, являющиеся локальными экстремумами как для области 3х3 пикселя на текущей уровне пирамиды разности гауссианов, так и на ближайших соседних уровнях:
M = max (fi (x, y)), i = j -1, j, j +1, x, y = 1...N, (18)
где /¡(х,у) - значение яркости в точке с координатами х,у на ;-м уровне пирамиды в окне 3x3 пикселя.
Среди найденных узловых точек необходимо провести процедуру уточнения для исключения близко расположенных точек, а также для исключения ложных точек. Процедура уточнения заключается в определении уровня флуктуаций градиента в окрестности проверяемой точки, т.е. в определении обратной матрицы Гессе размерностью 3x3 в окрестности проверяемой точки с умножением полученного результата на частную производную в этой точке:
d = -Я-1 • dFxy , (19)
где н - матрица Гессе (в окрестности 3x3 проверяемой точки), dFxy = f(x — I,у-I)- f(x - l9y +1) - f(x +1,у -1) + /(x +1,у +1) - частная производная второго порядка, взятая в проверяемой точке.
Если все элементы полученной в результате матрицы размерностью 3x3 удовлетворяют условию
d(i9j)< 0.5, / = 0...2,7 =0...2, то гипотеза о подтверждении точки в качестве узловой подтверждается .
Признаки найденной ключевой точки должны обладать устойчивостью к аффинным преобразованиям (поворот, масштабирование) и в некоторой степени к искажения. Во многом подобными свойствами обладают признаки, получаемые при помощи метода SIFT, а именно ориентация
Osp(x,y)
+ l9y)-L(x-l9y)2 +(L(x9y + l)-L(x,y-l))2 и направле-
ние Qsp{x,y) = arctg
f L(x, у +1) - Z(x, у -1)л
ключевой точки[5]. Информа-
кЦх + 1,у)-Цх-1,у) ция о направлении, ориентации и радиусе размытия позволяет обеспечить устойчивость признака к основным видам искажений. В свою очередь, признак каждой точки определяется в окне, являющимся окрестностью ключевой точки. Окно, как правило, имеет размерность 32x32 пикселя. Для каждой точки в окне определяется её ориентация Оар (х9у) и направление
Оар (х, у). Ориентация каждой точки корректируется в соответствии с
ориентацией ключевой точки <2ар (х, у) = <2ар (х, у) + £>$р (х, у).
Полученные в результате значения приводятся к одному из ближайших фиксированных направлений, которые равномерно делят промежуток в 360 градусов на 8 частей:
Qap(x>y) =
п-
2к
если
2 к п
п--Q(
8 (
ар
(и + 1)
2п
если
2к
(n + \)--Qap(x9y)
о
>
2тс
(n + l )—-Qap(x,y)
w = 0.„7
За признак особой точки примем величину вектора, полученную в результате суммирования всех векторов в окне по направлениям:
31 ®
Н5р = X Оар (х, У)г,1 . (20)
г,]=0
6. Определение признаков эталона
Для повышения вероятности правильного распознавания объектов надо использовать несколько видов эталонного объекта, например, повернув его на некоторый угол.
Расчеты показали, что количество найденных ключевых точек для каждого вида различно. Исходя из этого необходимо определить некоторый диапазон значений признаков, который позволит максимально охарактеризовать эталонный объект. Типовое распределение признаков для ключевых точек имеет вид (рис 2).
Рис. 2. Распределение признаков точек (в виде проекций длин векторов на ось X)
Распределение признаков, представленное на рис. 2, показывает, что признаки эталонного объекта укладываются в нормальный закон распределения. Это характеризует устойчивость метода получения признаков к преобразованию поворота. Устойчивость к масштабированию объекта достигается за счет использования изображений в разных масштабах на этапе поиска точек. Таким образом, признаки объекта, полученные с использованием предложенного метода, удовлетворяют основным требованиям.
7. Построение классификатора по эталонам
В пространстве образов существует множество объектов распознавания Q, каждый из которых характеризуется набором признаков w: w е Q. Можно предположить, что существует некоторая неизвестная функция f (w): Q ® M, M = (1. ..m), разбивающая пространство объектов Q на m классов: Qi,Q2,...,Qm. В реальности доступно только некоторое количество наблюдаемых признаков, формирующих в свою очередь пространство наблюдений x , x(w) - вектор признаков образа w, воспринимаемых наблюдателем. Тогда можно сказать, что существует функция f (w):Q ® X, ставящая в соответствии каждому объекту w точку x(w) в пространстве признаков, являющаяся оценкой f (w) на основании x(w), т.е. f (w) = f (x(w)), Xj = x(wj), j = 1,2,...,N - доступная информация о функциях f (w) и x(w), тогда (Xj, fj) - множество прецедентов. Задачу
классификации можно свести к построению функции f(w) , минимизирующую количество ошибок распознавания [6].
Оценка качества классификации проводится на основании подмножества x , которая не использовалось в процессе построения классификатора.
Построение классификатора
Полученный вектор признаков эталонного объекта сортируется для обеспечения инвариантности относительно порядка получения признаков
max
->
x(w) = x(w) . Принятие гипотезы о нормальном распределение признаков (см. рис. 2) позволяет исключить величины, значительно отклоняющиеся от среднего значения, так как данные значения с высокой долей вероятности принадлежат к шумовой составляющей, и их учет при обучении классификатора может приводить к необходимости переобучения.
Структурно классификатор представляет собой направленный граф в виде дерева, каждая ветвь которого является вектором признаков [1]. Алгоритм построения дерева классификации представлен на рис. 3.
При построении классификатора необходимо учитывать, что значения в полученном векторе признаков не будут в большинстве своём точно совпадать со значениями эталонного вектора. Отчасти это можно компенсировать, используя для представления эталона вектор признаков большой длины, однако в общем случае этого недостаточно. Для правильного отнесения элемента вектора признаков исследуемого объекта к тому или иному эталону каждый узел дерева классификации рассматриваем не как конкретное значение, а как некоторый диапазон, который в простейшем случае определяется как половина расстояния до соседних узлов [1]. Необходимо отметить, что на данном этапе работы алгоритма предложенный
классификатор может дать ответ не о присутствии или отсутствии объекта на изображении, а только о мере сходства исследуемого вектора признаков с эталонными классами.
Для оценки степени принадлежности объекта к определенному классу необходимо задать стоимость ^ перехода из узла у^ к узлу у^+1
как
1, если "у] е ^ ® $уj е ^ : 0>п * Qj
d
1/m, если $yj е Qj ® yj е Qn : Qn Ф Qj,
(21)
где m - количество различных классов
При этом, если узел yj е Qj д yj е Qn : Qn Ф Qj, то
Vy : i = root...j ® yj е Qj д yj е Qn : Qn Ф Qj, т.е. если узел на отдельной
ветви дерева принадлежит нескольким классам, то все узлы выше его до корня также принадлежат этим классам.
Применение классификатора
Использование функции скользящего окна позволяет совместить этап локализации объекта и этап его классификации; так как при поиске объекта на изображении не известен его размер, то для максимальной вероятности перекрытия окном объекта следует использовать окна разного размера. Функция окна g(x, y) представляет собой локальную область двумерной функции f(x, y):
h( x, y) =
'ft w A < < A В < < B
f (x, y), для - - < x < -, - - < y < -, (22)
0, в остальных случаях
где А, В - текущий размер окна.
Каждому положению окна на изображении можно поставить в соответствие некоторый вектор признаков у(Н( х, у)), составленный из ключевых точек, попавших в окно. В общем случае, в окне может оказаться как часть объекта , так и часть фонового изображения Уфон, порядок
чередования точек в векторе признаков при этом неизвестен. Оценка степени принадлежности вектора у к классу (у), где t = 1,2,...,т, т - количество эталонных классов, проводится за счет определения ближайшего эталона. Каждый элемент вектора признаков может: принадлежать одному эталону; принадлежать нескольким эталонам; не принадлежать ни одному эталону.
Функция переходов g между узлами qj и qj+1 определяется текущим значением вектора признаков а^, g (q j, а^) = qj+1. При этом степень принадлежности признака 5(а}) определяется весом перехода dj j+1 и
рассчитывается на этапе проектирования классификатора. Степень принадлежности отдельного признака к каждому классу
St (ai) = X dj,j+1g(qj, ai). (23)
"tеqj
Таким образом, задача локализации и распознавания объекта на изображении сводится к отысканию размера и положения окна, обеспечивающего максимальный отклик на дереве классификации.
Список литературы
1. Балясный С.В. Цудиков М.Б. Построение классификатора при отсутствии части изображения на изображении // Известия Тульского государственного университета. Тула: Изд-во ТулГУ. 2015. Вып. 9. С. 5 - 52.
2. Гонсалес Р., Вудс Р. Цифровая обработка изображений М.: Техносфера, 2005. 1072 с.
3. Обработка изображений и цифровая фильтрация / под ред. Т.Хуанга. М.: Мир, 1979. 318 с.
4. Прэтт У. Цифровая обработка изображений: в 2 кн. Кн.1 / пер. с англ. под ред. Д. С. Лебедева. М.: Мир, 1982. 312 с.
5. C. Harris, M. Stephens. A Combined Corner and Edge Detector // Proceedings of the 4th Alvey Vision Conference. 1988. P. 147-151.
6. David G. Lowe. Distinctive Image Features from Scale-Invariant Keypoints / Computer Science Department University of British Columbia, 2004. 28 с.
7. Lucas J. van Vliet, Ian T. Young and Piet W. Verbeek. Recursive Gaussian Derivative Filters / Pattern Recognition Group of the Faculty of Applied Physics Delft University of Technology. 6 p.
Цудиков Михаил Борисович, канд. техн. наук, доц., tsudickov.mb@,yandex.ru, Россия, Тула, Тульский государственный университет,
Балясный Сергей Викторович, канд. техн. наук, нач. опытно-конструкторского отдела, [email protected], Россия, Тула, ООО «Алькор»,
Чеховский Дмитрий Валерьевич, канд. техн. наук, инженер АСУТП, dmi-chekhagmail.com, Россия, Тула, ООО "Росавтоматизация"
DEVELOPMENT OF PARTIAL OBJECTS RECOGNITION ALGORITHM M.B. Tsudickov, S. V. Balyasny, D. V. Chekhovsky
Setting task algorithm of object's parts recognition founded up on separate images is considered. Basics stages of recognition process is determined; designing of a filter for noise reduction, intensity histogram equalization, attribute vector building, qualifier building by models are considered.
Key words: recognition, attribute vector, localization, qualifier, model, sliding window.
Tsudickov Mikhail Borisovich, candidate of technical sciences, docent, tsudick-ov. mb@yandex. ru, Russia, Tula, Tula State University,
Balyasny Sergei Vicktorovich, candidate of technical sciences, chief of development departament, sergo120@gmail. com, Russia, Tula, LLC "Alkor",
Chekhovsky Dmitry Valerievich, candidate of technical science , PCS Engineer, dmi-chekhagmail.com, Russia, Tula, LLC "Rusautomation"
УДК 621.3
РЕШЕНИЕ ЗАДАЧИ ПОИСКА ОПТИМАЛЬНЫХ АЛГОРИТМОВ КОМПЬЮТЕРНЫХ СИСТЕМ ДЛЯ СИНТЕЗА ТРЕХМЕРНЫХ
ИЗОБРАЖЕНИЙ
И.Е. Первак
Рассмотрены преимущества использования алгоритмов быстрой визуализации для снижения временных и вычислительных затрат при одновременном достижении высокого качества синтезируемого изображения.
Ключевые слова: оптимизация задачи визуализации, трассировка лучей, кубическая интерполяция.
Быстрый прогресс вычислительных средств, расширение их возможностей являются главными факторами все более широкого внедрения их в различные сферы научной и практической деятельности. Исключительно интенсивное развитие получили в настоящий момент интерфейсы информационно-измерительных систем, построенные с применением средств машинной графики [1, 2].
Широкое применение подобных интерфейсов определяется высокой информативностью изображений. Информация, содержащаяся в изображении, представлена в наиболее концентрированной форме, для ее восприятия пользователю достаточно иметь относительно небольшой объем специальных знаний. Причем стремление визуализировать информацию в настоящее время наблюдается практически во всех сферах деятельности человека, и эта информация, как правило, более доступна для анализа. Существует большое число алгоритмов для рендеринга объектов. Поэтому задача сводится к поиску оптимального алгоритма, удовлетворяющего временным и качественным характеристикам построения изображения.
Алгоритм визуализации сложных поверхностей, основанный на трассировке лучей, позволяет напрямую визуализировать объекты, без разбиения их на кривые или многоугольники. Основной операцией алгоритма является нахождение пересечения луча с поверхностью. Представив уравнение луча в параметрическом виде
332