38
1 Дисциплина: Методы и средства распознавания образов и визуализации Тема № 2: Основы распознавания объектов

Дисциплина: Методы и средства распознавания образов и визуализации

  • Upload
    jalia

  • View
    88

  • Download
    0

Embed Size (px)

DESCRIPTION

Дисциплина: Методы и средства распознавания образов и визуализации. Тема № 2 : Основы распознавания объектов. Распознавание. - PowerPoint PPT Presentation

Citation preview

Page 1: Дисциплина: Методы и средства распознавания образов и визуализации

1

Дисциплина: Методы и средства распознавания образов и

визуализации

Тема № 2: Основы распознавания объектов

Page 2: Дисциплина: Методы и средства распознавания образов и визуализации

2

Распознавание

Под распознаванием мы понимаем «отнесение исследуемого объекта, задаваемого в виде совокупности наблюдений, к одному из взаимоисключающих классов». В таком смысле «распознавание образов является одной из разновидностей классификации» [Верхаген К., Дёйн Р., Грун Ф. Распознавание образов: состояние и перспективы . М.: РиС, 1985.], а «в тех случаях, когда каждый класс содержит только один объект, классификация эквивалентна идентификации».

Идентификацией в данном случае понимается «присвоение рассматриваемому объекту однозначного названия». То есть получение характерных точек на изображении позволит в дальнейшем классифицировать рассматриваемый объект (распознать).

Идентификацией в данном случае понимается «присвоение рассматриваемому объекту однозначного названия». То есть получение характерных точек на изображении позволит в дальнейшем классифицировать рассматриваемый объект (распознать).

Page 3: Дисциплина: Методы и средства распознавания образов и визуализации

3

Направления в области распознавания

В настоящий момент существуют три основных направления в области распознавания:

Распознавание с помощью нейронных сетей;Сопоставление изображения с эталоном;Распознавание изображения по характерным точкам (при этом способ

получения характерных точек может отличаться).В зависимости от объекта распознавания тип и количество методов могут

изменяться (например, для распознавания лиц наряду с перечисленными методами применяют: распознавание путем эластичного графа, анализ оптических потоков изображений, метод главных компонент [Самаль Д. И. Алгоритмы идентификации человека по фотопортрету на основе геометрических преобразований// Диссертация на соискание ученной степени кандидата наук. Ин-т техн. киберн. НАН Беларуси; Рук. С.В. Абламейко. Мн., 2002]).

Page 4: Дисциплина: Методы и средства распознавания образов и визуализации

4

Выявление характерных точек

Как правило, выявление характерных точек на изображении включает следующие основные этапы:

1. Получение нормализованного полутонового изображения;2. Поиск исследуемых областей;3. Выделения краев на исследуемой области (методы Собеля, Лапласса,

Кани и т. д.);4. Преобразование рассматриваемого участка в монохромное изображение;5. Анализ полученного монохромного и полутонового изображения в

исследуемой области.

Для получения полутонового черно – белого изображения используются следующая классическая формула:

)(11,0)(59,0)(3,0)( CBCGCRCI

I – интенсивность в точке полутонового изображения, R, G и B (значения 0..255) – красная, зеленная и синяя компонента цвета С.

Page 5: Дисциплина: Методы и средства распознавания образов и визуализации

5

Выделение контуров методом Собеля

Для выделения краев на изображении было предложено применять метод Собеля, использующий для вычисления градиента первого порядка функции интенсивности специальные ядра, известные как «операторы Собеля».

101

202

101

xS

121

000

121

yS

X оператор Собеля;

Y оператор Собеля;

mnmm

n

n

III

II

III

I

21

221

11211

матрица исходного изображения, где значения интенсивности в точке.

ijI

Page 6: Дисциплина: Методы и средства распознавания образов и визуализации

6

Операторы Собеля

Ядра применяются к каждому пикселю изображения: он помещается в центр ядра, и значения интенсивности в соседних точках умножаются на соответствующие коэффициенты ядра, после чего полученные значения суммируются. Следует отметить, что для крайних элементов (точек) исходной матрицы изображения I операторы Собеля не применяются. Х - оператор Собеля, примененный к 3х3 матрице исходного изображения, дает величину горизонтальной составляющей градиента интенсивности в центральной точке этой матрицы, а Y - оператор Собеля дает величину вертикальной составляющей градиента.

Page 7: Дисциплина: Методы и средства распознавания образов и визуализации

7

Операторы Собеля

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

22 ISISI yx

характеризующих изменения яркости в различных точках изображения.

Page 8: Дисциплина: Методы и средства распознавания образов и визуализации

8

Инвертирование изображения

После применения оператора Собеля изображение подвергается инвертированию

В результате применения оператора Собеля получается изображение (рис. а) с выделенными краями. Применив инверсию к получим изображение (рис. б)

IGI G – константа равная числу уровней яркости изображения (в данном случае 255.

II

Page 9: Дисциплина: Методы и средства распознавания образов и визуализации

9

Бинаризация изображения

Изображение бинаризируется (преобразуется в монохромное) в соответствии с методом Отсу

;,1

;,0)(

optij

optij

TI

TIIOtI

где - оптимальный для порог бинаризации.optT I

Page 10: Дисциплина: Методы и средства распознавания образов и визуализации

10

Применение фильтров Габора

В 1946 г. Д. Габор предложил подход, описывающий некоторую временную функцию, с одновременным учётом частоты сигнала, который впоследствии стал носить его имя. На основе этого подхода Дагманн в 1988 году сформулировал двумерное преобразование Габора [Jain A.K., Ratha N.K. and Lakshmanan S. Object detection using Gabor filters// Pattern recognition. . 1997. . Vol.30. . N.2. . P.295 . 309.], которое применил для идентификации человека по изображению радужной оболочки глаза. За последние 5-10 лет фильтры Габора компактная форма упомянутого преобразования стали широко используемым инструментом разработчиков систем обработки изображений. Так, например, они применяются для оценки симметричности текстур и их классификации, обнаружения движения на видеопоследовательностях [Фомин Я.А., Тарловский Г.Р. Статистическая теория распознавания образов . М.: РиС, 1986. . 264с., Quan Sh. and Chen D. Discrete Gabor transform// IEEE Trans. On Signal Processing.- 1993.-Vol.41.- No.7.- P.2429-2438.].

Page 11: Дисциплина: Методы и средства распознавания образов и визуализации

11

Применение фильтров Габора

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

Page 12: Дисциплина: Методы и средства распознавания образов и визуализации

12

Общий вид фильтра

)sincos(exp),( 0000 yxiyxgh oo

2

200

2

200

2

)sincos(

2

)coscos(exp

1),(

0

yxyx

o

yxyxyxg

),(0

yxgo является двумерным гауссином с отклонениями

повернутым на угол .

yx ,

0

Page 13: Дисциплина: Методы и средства распознавания образов и визуализации

13

Характеристики фильтра

Из анализа выражений следует, что фильтр характеризуется следующими параметрами. Радиусами эллипса σx и σy, углом ориентации θ. В зависимости от периода cos и sin у фильтров может быть различное количество пиков (локальных максимумов). Результатом свёртки фильтра с изображением в некоторой точке (x,y) является комплексное число. В настоящее время, судя по количеству появляющихся публикаций, фильтры Габора являются одним из наиболее исследуемых и обещающих подходов в области распознавания образов и обработки изображений.

В ряде случаев они применялись и для идентификации человека по фотопортрету [Smeraldi F., Carmona O. and Bigun J. Saccadic search with Gabor features applied to eye detection and real-time head tracking// Image and Vision Computing. - 2000. - No 18. - P. 323-329.].

Page 14: Дисциплина: Методы и средства распознавания образов и визуализации

14

Вычисление коэффициента корреляции

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

Исходное изображение, содержащее набор букв.

function [] = r01()L=imread('a.png');figure, imshow(L);

Page 15: Дисциплина: Методы и средства распознавания образов и визуализации

15

Эталонные изображения

Также нам необходимо иметь эталонные изображения объектов (букв), которые необходимо распознать.

L1=imread('b.png');L2=imread('c.png');

Page 16: Дисциплина: Методы и средства распознавания образов и визуализации

16

Коэффициент корреляции

Следующий шаг заключается в вычислении коэффициента корреляции между матрицами исходного изображения и соответствующего эталона. Для этого используется функция corr2.Функция r = corr2(A,B) возвращает коэффициент корреляции между двумя матрицами или векторами A и B. Коэффициент корреляции вычисляются по формуле:

m n m nmnmn

m nmnmn

BBAA

BBAAr

22 )()(

))((

)(2),(2 BmeanBAmeanA

A=[1 2; 3 4];B=[3 4; 5 6];r=corr2(A,B);rr = 1>>

A=[1 2; 3 4];B=[6 5; 4 3];r=corr2(A,B);rr = -1>>

Page 17: Дисциплина: Методы и средства распознавания образов и визуализации

17

Выделение части изображения

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

Page 18: Дисциплина: Методы и средства распознавания образов и визуализации

18

Коэффициент корреляции

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

for p=1:3;L_t=L(:,SH*(p-1)+1:SH*p);k(p)=corr2(L1,L_t);

end;

Значения коэффициентов корреляции для первого эталона (буква А) и трех частей исходного изображения представлены на графике

figure, plot(k);

Page 19: Дисциплина: Методы и средства распознавания образов и визуализации

19

Коэффициент корреляции

Расположение максимума коэффициента корреляции свидетельствует о том, что эта часть исходного изображения максимально похожа на эталон. Определим, расположение максимального значения коэффициента корреляции.

R=find(k==max(k))

R = 1

Page 20: Дисциплина: Методы и средства распознавания образов и визуализации

20

Распознавание номерных знаков автомобилей

При решении задачи распознавания номерных знаков автомобилей можно выделить два этапа:

1. локализация номерного знака на изображении2. распознавание символов на знаке.

Page 21: Дисциплина: Методы и средства распознавания образов и визуализации

21

Преобразование изображения в оттенки серого

I=imread('inputimage.bmp');

figure,imshow(I);

I=rgb2gray(I);figure,

imshow(I);

Page 22: Дисциплина: Методы и средства распознавания образов и визуализации

22

Фильтрация шумов

Для устранения импульсных выбросов используется медианная фильтрация.

for i=1:N;

for j=1:M-2; I(i,j)=median(median(I(i,j:j+2)));

end;

end;

figure, imshow(I);

Page 23: Дисциплина: Методы и средства распознавания образов и визуализации

23

Фильтр повышения резкости 'unsharp'

Фильтр, повышающий резкость изображения, имеет маску, определяемую следующим выражением:

aaa

aaa

aaa

ah

1

151

1

1

1

где параметр a выбирается в пределах от 0 до 1.

I=imread('z_2e75354a.jpg');I=rgb2gray(I);h=fspecial('unsharp', 0.2);I2 = filter2(h,I)/255;figuresubplot(1,2,1);imshow(I);subplot(1,2,2);imshow(I2);

Page 24: Дисциплина: Методы и средства распознавания образов и визуализации

24

Выравнивание гистограммы

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

Page 25: Дисциплина: Методы и средства распознавания образов и визуализации

25

Определение расположения номерного знака на изображении

После проведения предварительной обработки изображения необходимо определить расположение номерного знака. Для этого на изображении ищутся так называемые связанные области пикселей. Для этого воспользуемся функцией BWLABEL – поиск объектов, входящей в группу функций Поиск объектов и вычисление их признаков, библиотеки Image Processing Toolbox.

Функция L=bwlabel(BW, n) ищет на бинарном изображении BW связные области пикселов объектов и создает матрицу L, каждый элемент которой равен номеру объекта, которому принадлежит соответствующий пиксел изображения BW. Размер матрицы номеров объектов L равен размеру BW. Объекты нумеруются по порядку начиная с 1. Элементы, имеющие значение 1, относятся к первому объекту, имеющие значение 2 относятся ко второму объекту и т. д. Если элемент в матрице L равен 0, то это означает, что соответствующий пиксел исходного изображения относится к фону.

Page 26: Дисциплина: Методы и средства распознавания образов и визуализации

26

Функция BWLABEL

Функция [L, num]=bwlabel(BW, n) дополнительно в параметр num возвращает количество объектов, найденных на изображении BW.

Матрица L имеет формат представления данных double.

I=imread('text1.png');I =rgb2gray(I);bw = im2bw(I,0.9);imshow(bw)L = bwlabel(bw);%Lfigure,imshow(L == 1)

Page 27: Дисциплина: Методы и средства распознавания образов и визуализации

27

Визуализация найденного массива координат объектов

feats=imfeature(L,'Centroid','Extent',8);Extent=zeros(num);CentX=zeros(num);CentY=zeros(num);for i=1:1:num; Extent(i)=feats(i).Extent; CentX(i)=feats(i).Centroid(1); CentY(i)=feats(i).Centroid(2); %text(CentX(i),CentY(i),'x','Color',[1 0 0]) text(CentX(i),CentY(i),num2str(i),'Color',[1 0 0])end;

Page 28: Дисциплина: Методы и средства распознавания образов и визуализации

28

Выделение номерного знака на изображении

I=imread('217670.jpg');I =rgb2gray(I);bw = im2bw(I,0.6);imshow(bw)L = bwlabel(bw);%Lfigure,imshow(L == 4)

Page 29: Дисциплина: Методы и средства распознавания образов и визуализации

29

Распознавание символов

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

function [] = m01()L=imread('FIN.png');figure, imshow(L); %LR = imrotate(L,1,'crop'); p=2;SH=100;L_t=L(1:100,1:200);figure, imshow(L_t);

Page 30: Дисциплина: Методы и средства распознавания образов и визуализации

30

Поиск по эталону

89x135Эталонное изображение

Исследуемое изображение800x219

Page 31: Дисциплина: Методы и средства распознавания образов и визуализации

31

Поиск по эталонуL=imread('FIN.png');figure, imshow(L);N8=imread('M.png');figure, imshow(n8); w=89; % ширинаh = 135; % высотаfor x=1:800;L_t=L(y:y+h-1,x:x+w-1);n8 = rgb2gray(N8);k(x)=corr2(L_t,n8);%kend;figure, plot(k);title('\bfКоэффициент корреляции')xlabel('x'), ylabel('k(x)') % метки осейR=find(k==max(k));R

Функция, в которой происходит перемещение эталона по исходному изображению с шагом 1px. На каждом шаге, с помощью функции CORR2 определяется коэффициент корреляции.

Page 32: Дисциплина: Методы и средства распознавания образов и визуализации

32

Поиск по эталону

Коэффициента корреляции между матрицами исследуемого изображения и соответствующего эталона

89x135Эталонное изображение

Исследуемое изображение800x219

Page 33: Дисциплина: Методы и средства распознавания образов и визуализации

33

Обнаружение лиц на изображении

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

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

Page 34: Дисциплина: Методы и средства распознавания образов и визуализации

34

Методы обнаружения лиц на изображениях

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

Методы, основанные на знаниях

Методы на основе инвариантных свойств

Методы на основе сравнения с шаблоном

Методы на основе обучения

Page 35: Дисциплина: Методы и средства распознавания образов и визуализации

35

Библиотека компьютерного зрения OpenCV

OpenCV (англ. Open Source Computer Vision Library, библиотека компьютерного зрения с открытым исходным кодом) — библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом. Реализована на C/C++, также разрабатывается для Python, Ruby, Matlab, Lua и других языков. Может свободно использоваться в академических и коммерческих целях — распространяется в условиях лицензии BSD.

Для использования библиотеки в среде .NET разработана кроссплатформенная оболочка Emgu CV.

Page 36: Дисциплина: Методы и средства распознавания образов и визуализации

36

Код программы

using (Image<Bgr, Byte> image = new Image<Bgr, byte>("faces.jpg")) //Read the image as a Bgr 8-bit image using (Image<Gray, Byte> gray = image.Convert<Gray, Byte>()) //Convert it to Grayscale { //Read the HaarCascade object HaarCascade face = new HaarCascade("haarcascade_frontalface_alt2.xml"); //Detect the faces and store the locations as rectangle Emgu.CV.Rectangle<double>[][] facesDetected = image.DetectHaarCascade(face);

Page 37: Дисциплина: Методы и средства распознавания образов и визуализации

37

Результат выполнения программы

Page 38: Дисциплина: Методы и средства распознавания образов и визуализации

38

Литература1. Сравнение алгоритмов выделения лиц http://dic.academic.ru/dic.nsf/ruwiki

/6866032. Вежневец В., Дегтярева А. Обнаружение и локализация лица на

изображении http://masters.donntu.edu.ua/2005/kita/kompanets/library/int5.htm3. Face Detection: Henry Chang and Ulises Robles

http://www-cs-students.stanford.edu/~robles/ee368/main.html 4. OpenCV – Википедия. – URL: http://ru.wikipedia.org/wiki/OpenCV 5. Main Page - Emgu CV: OpenCV in .NET (C#, VB, C++ and more). – URL:

http://www.emgu.com/wiki/index.php/Main_Page 6. Face Detection: Henry Chang and Ulises Robles. – URL:

http://www-cs-students.stanford.edu/~robles/ee368/main.html 7. Лекции МГУ. – URL: http://www.compvision.ru/index.php/%D0%9B%D0%B5%

D0%BA%D1%86%D0%B8%D0%B8_%D0%9C%D0%93%D0%A3 8. www.cse.iitk.ac.in/users/vision/.../OReilly%20Learning%20OpenCV.pdf 9. Welcome to the homepage of Computer Vision and Video Processing SIG , IIT

Kanpur. – URL: http://www.cse.iitk.ac.in/users/vision/