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

Ляхов Александр Фёдорович

ВЕРОЯТНОСТНЫЕ МЕТОДЫ ОЦЕНКИ ПАРАМЕТРОВ ИЗОБРАЖЕНИЯ ПО СУЩЕСТВОВАНИЮ РЕГУЛЯРНЫХ СТРУКТУР

ИЗ ПИКСЕЛЕЙ

Аннотация

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

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

Ключевые слова: автоматическое распознавание изображений, мера информативности.

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

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

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

© А.Ф. Ляхов, 2009

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

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

При таком подходе предполагается, что на исследуемом изображении объект поиска присутствует. Однако при автоматическом распознавании изображения на первом

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

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

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

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

ПОСТАНОВКА ЗАДАЧИ

Дано цветное изображение. Требуется определить меру его близости к «случайному» изображению (то есть к такому, на котором координаты точек разных цветов являются случайными величинами с равномерным распределением). Если численные характеристики данного изображения лежат в пределах, характерных для случайных изображений, то оно, вероятнее всего, является случайным набором цветных то-

Рис. 1

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

В дальнейшем для простоты изложения предлагаемого метода анализа будем рассматривать только двухцветные чёрно-белые изображения. Для работы с отдельными пикселями изображения необходимо использовать специальные программы, например программы, входящие в пакет Ма1;ЬаЪ, и матрицы больших размерностей. Поэтому для упрощения процедуры исследования изображение масштабировалось на сетку размером 10 X 10 клеток. Клетка изображения, более чем на 50 % заполненная чёрным цветом, заменялась чёрной клеткой. Клетка полученного изображения фактически является пикселем изображения в заданном масштабе.

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

Может быть поставлен следующий вопрос: какова вероятность возникновения данного кластера из чёрных пикселей при заданной плотности пикселей (р = п /М, п -количество чёрных пикселей, М - полное число пикселей изображения), если чёрные пиксели ставились на поле изображения случайным образом?

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

В качестве элементарного кластера из «чёрных» пикселей была выбрана линейная структура из трёх пикселей (рис. 1).

При анализе покрытия изображения кластерами из трех клеток возникает классическая математическая задача о покрытии плоскости некоторым «паркетом». Рассмот-

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

НЕКОТОРЫЕ МАТЕМАТИЧЕСКИЕ ВОПРОСЫ ПОКРЫТИЯ ИЗОБРАЖЕНИЯ КЛАСТЕРАМИ ЛИНЕЙНОЙ СТРУКТУРЫ

Любую сложную графическую фигуру можно разбить на простейшие элементарные части. На первом этапе исследования рассмотрим полностью закрашенный прямоугольник т X п клеток. Определим количество горизонтальных и вертикальных кластеров в данном изображении (рис. 2).

Можно видеть, что на рисунке т  (п - 2) горизонтальных кластеров и п  (т - 2) вертикальных кластеров. Общее число кластеров будет равно N = т  (п - 2) + п  (т - 2). Это выражение можно представить в виде

N = 28 - Р ,

где Б = т  п - площадь, а Р = 2  (т + п) -периметр прямоугольника.

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

Данный результат легко обобщается на кластер длины I. Если предположить, что т > I, п > I , то в этом случае количество горизонтальных и вертикальных кластеров равно

N = т  (п -1 + 1 ) + п  (т -1 + 1) ,

и формула (1) приобретает вид:

N = 28 -

I -1 2

Р.

Формулы (1) и (2) позволяют получить число кластеров при изменении масштаба изображения. Например, если масштаб изменится в к раз, то количество кластеров изменится следующим образом:

I -1

-кР

N = 2к2Б - кР , N. = 2к Б 1 2 2

Рассмотрим более сложную область изображения, состоящую из двух соприкасающихся прямоугольников (рис. 3).

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

N = 1  (п + к - 2) + (т -1)  (п - 2) +

+ п  (т - 2) + к  (I - 2).

Раскрывая скобки, вновь получим N = 2Б - Р , где Б = т  п + к  I - площадь фигуры, Р1 = 2  (т + п + к) - периметр. В случае кластера длины г получим

N = 1  (п + к - г +1) + (т -1)  (п - 2 +1) +

+ п  (т - 2 +1) + к  (I - г +1), или после преобразований г -1

N = 2Б-

2

Р

Для оценки близости некоторого данного изображения к случайному изображению введём коэффициент информативнос-

N

ти х = — , где N - число кластеров, М -М

количество чёрных пикселей.

Рис. 2

Рис. 3

В случае прямоугольных областей, полностью заполненных чёрными пикселями,

М = т  п (М = Б - площадь прямоугольника), и при длине кластера 1 = 3 коэффициент равен

Р

X = 2--р.

Это значение является верхней границей значения коэффициента х для любого изображения из М пикселей.

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

АЛГОРИТМ ОПРЕДЕЛЕНИЯ КОЛИЧЕСТВА КЛАСТЕРОВ ИЗОБРАЖЕНИЯ

Для оценки информативности изображения был разработан следующий алгоритм. Исходное изображение приводится к простейшему чёрно-белому виду. На предварительном этапе исследования проводится бинаризация изображения. Клетка изображения более чем на 50 % заполненная чёрным цветом заменялась чёрной клеткой.

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

Рис. 4

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

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

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

Программа, реализующая вышеописанную процедуру, написана на языке Delphi. Алгоритм программы «Вероятность» и её текст приведены в приложении.

Вид основного окна программы показан на рис. 4.

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

Кнопка «Авт. счет»

Запускает программу при заданном числе черных клеток и количестве экспериментов (n < 100). В окне результатов организована прокрутка отчётов о каждом опыте и выводится итоговое среднее значение коэффициента /0 и среднеквадратичное отклонение s

Кнопка «Руч. счёт»

Исследуемое изображение в ручном режиме вносится в окно изображения. Для этого достаточно щёлкнуть кнопкой мыши (либо левой, либо правой) по клетке, и цвет клетки изменится на противоположный, с белого на чёрный или с чёрного на белый. После ввода изображения нажимается кнопка «Руч. счёт». При этом будет вычислено значение коэффициента для данного изображения.

Кнопки «Авторы», «Помощь» и «Выход» имеют обычное содержание и не требуют отдельного описания.

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

Ниже приведена таблица зависимостти X для изображения чёрного квадрата соответствующего размера и среднего значения х0 при случайном расположении клеток (табл. 1).

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

1,60 -1,40  1,20  1,00  0,00 0,60 • 0,40  0,20  0

- Г

г / /

4 V

) / -Ф- Ха -- X

г

) у

VW

i и • xsr

20 40 60 S0 100

Рис. 5

ЭКСПЕРИМЕНТАЛЬНОЕ

ИССЛЕДОВАНИЕ ИЗОБРАЖЕНИЙ

Были проведены следующие эксперименты с изображениями объектов.

1. В качестве изображения была взята фотография собаки (рис. 6 а).

На первом этапе исследования проводилась бинаризация изображения. Клетка изображения, более чем на 50 % заполненная чёрным цветом, заменялась чёрной клеткой. В результате было получено изображение, показанное на рисунке 6 б1, которое содержит 48 чёрных клеток.

С помощью программы «Вероятность» определяем коэффициенты х = 0,96 (46 кластеров по три клетки), при случайной расстановке клеток х0 = 0,35 (а = 0,07). Из таблицы 1 можно видеть, что для чёрного квадрата, содержащего 49 клеток, х = 1,43 .

Табл. 1

Количество черных клеток Плотность р Изображение квадрат х Случайное изображение

9 0,09 0,67 0,01

16 0,16 1 0,04

25 0,25 1,2 0,09

36 0,36 1,33 0,20

49 0,49 1,43 0,37

64 0,64 1,5 0,64

81 0,81 1,56 1,05

100 1,00 1,6 1,6

1 Заметим, что процедура бинаризации может быть автоматизирована.

а)

,

б)

•а

1С:]]

~н  т

Рис. 6

Следовательно, исследуемое изображение далеко как от случайного изображения, так и от максимально плотного изображения квадрата. Можно сделать вывод, что изображение содержит некоторые достаточно большие области, заполненные чёрными клетками.

Количество информации изображения также характеризуется величиной соответствующего графического файла. В табл. 2 приведены значения объёмов файлов в формате jpeg и объёмов заархивированных файлов.

а)

б)

ТМИ

щи

на

и«

I II И

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

2. В качестве второго примера возьмём фотографию аллеи парка (рис. 7 а). С помощью программы «Вероятность» определяем коэффициенты X = 0,8 (55 кластеров по три клетки), при случайной расстановке клеток / = 0,74 (а = 0,07), для чёрного квадрата, содержащего 64 клетки плюс 5 клеток, X = 1,51. Следовательно, исследуемое изображение близко к случайному изображению.

В таблице 3 приведены размеры соответствующих графических и архивированных файлов. Исходное изображение (рис. 7 а) имеет сложную структуру, поэтому соответствующий файл имеет большой объем и плохо сжимается программой '^пЯаг. Его бинаризированный образ занимает гораздо меньший объём и проведённые вычисления показывают, что изображение близко к случайному набору пикселей.

3. Предложенный подход удобен для анализа географических карт. В качестве изображения был взят фрагмент карты полуострова Крым (рис. 8).

Для изображения получены следующие значения коэффициентов х = 0,95 , Х0 = 0,23, а = 0,08.

Всего изображение содержит 38 клеток, то есть может быть образовано из квадрата 6 X 6 и ещё двух клеток. Для

Рис. 7

такого квадрата хтеор = 1,33 .

Близость коэффициента изображения к коэффициенту плотного изображения

Табл. 2

Размер файла jpeg

Собака (рис. 6 а) 22 21

Бинаризированное изображение собаки (рис. 6 б) 21 18

Случайное изображение 48 чёрных клеток 23 6

Чёрный квадрат 7x7 чёрных клеток 24 5

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

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

Действительно, для прямой линии коэффициент

I -1

а)

б)

1-

а)

хтеор п

где п - длина линии, а I - длина кластера. Сравнивая эту величину с практически вычисленной, можно сделать вывод о степени изрезанности границы.

На рис. 9 а показана граница ранее исследуемой области. Граница содержит 14 чёрных клеток. Если бы граница области была прямой линией, то г = 0,85.

прямая '

При случайной расстановке клеток на всём поле -значение коэффициента х0 = 0,03 . Значение коэффициента для реальной кривой с = 0,21 существенно отличается от х0 , что говорит о связности клеток границы, а отличие от хпрямая говорит об изрезанности границы.

На рис. 9 б показана ломанная из 14 клеток, для

Рис. 8

которой с = 0,36. Можно видеть, что степень её изломанности существенно уменьшилась.

б)

Рис. 9

Табл. 3

Размер файла jpeg

Пейзаж (рис. 7 а) 53 52

Бинаризированное изображение пейзажа (рис. 7 б) 22 8

Случайное изображение 69 чёрных клеток 26 6

Чёрный квадрат 8 х 8 + 5 чёрных клеток 26 6

ЗАКЛЮЧЕНИЕ

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

Полученные результаты могут быть использованы для оценки возможности архи-

вации изображения и дальнейшего исследования на предмет более точного распознавания.

Автор выражает благодарность Лариной Елене Сергеевне, студентке 2-го курса механико-математического факультета ННГУ, принявшей активное участие в обсуждении идей работы и в разработке программы.

Листинг программы Veroatnost. unit Main;

interface uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Math, Buttons, XPMan, Spin; type

TForml = class(TForm) PaintBoxl: TPaintBox; Labell: TLabel; SpeedButtonl: TSpeedButton; SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton; XPManifestl: TXPManifest; SpinEditl: TSpinEdit; Label6: TLabel; SpinEdit2: TSpinEdit; Label2: TLabel; ListBoxl: TListBox;

Приложение

АЛГОРИТМ ПРОГРАММЫ «ВЕРОЯТНОСТЬ» Определение коэффициента х0 .

1. Ввод данных (количество случайных генераций изображения с заданной плотностью чёрных клеток, количество черных клеток).

2. Заполнение массива черных и белых клеток размерностью 10 X 10 случайным образом. Клетки черного цвета обозначаем 1, белого - 0.

3. Подсчет количества трех рядом стоящих черных клеток по горизонтали и по вертикали. Если сумма трех рядом стоящих элементов равна 3, следовательно, все они черные, и, значит, увеличиваем количество кластеров на единицу. Количество кластеров при каждой попытке заносим в массив.

4. Подсчет плотности. Считаем плотность черных клеток в каждой попытке как отношение количества кластеров ко всему количеству черных клеток. Суммируем плотности. Среднюю плотность считаем как отношение суммарной плотности к количеству попыток.

5. Подсчет разброса значений и вывод результатов. Разброс значений считаем по формуле

гп

а = ^В(к) = ¡£(к -т(к))2 /п , где п - количество кластеров в каждой попытке, т(к) - средняя

V = 1

плотность.

Ручной ввод исследуемого изображения.

1. Ввод данных. Ввод изображения осуществляется нажатием левой кнопки мыши на клетку.

2. Подсчет количества трех рядом стоящих черных клеток по-горизонтали и по-вертикали.

3. Подсчет плотности как отношения количества черных триад ко все черным клеткам.

4. Вывод результатов.

procedure FormCreate(Sender: TObject); procedure PaintBox1Paint(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); private public

A: Array [0..9, 0..9] of Byte; end; var

Forml: TForml; implementation {$R *.dfm}

procedure TForml.FormCreate(Sender: TObject); begin

SpeedButtonl.Click; end;

procedure TForml.PaintBoxlPaint(Sender: TObject); var

X, Y: Integer; begin

for X := 0 to 9 do begin for Y := 0 to 9 do begin

PaintBoxl.Canvas.Pen.Color := clBlack; if A[X, Y] = 0 then begin

PaintBoxl.Canvas.Brush.Color := clWhite; end else begin

PaintBoxl.Canvas.Brush.Color := clGray; end;

PaintBoxl. Canvas. Rectangle (X * 20, Y * 20, X * 20 + 20, Y * 20 + 20); end; end; end;

procedure TForml.SpeedButtonlClick(Sender: TObject); var

I, X, Y, C, T: Integer; R, sR: Extended; begin

Randomize;

ListBoxl.Items.Clear; sR := 0;

for I := l to SpinEdit2.Value do begin

// Заполнение массива и подсчет кол-ва черных клеток for X := 0 to 9 do begin for Y := 0 to 9 do begin

A[X, Y] := 0; end; end; C := 0; repeat

X := Random(l0); Y := Random(l0); if A[X, Y] = 0 then begin A[X, Y] := l; C := C + l; end;

until C = SpinEditl.Value; // Триад по горизонтали T := 0;

for X := l to 8 do begin for Y := 0 to 9 do begin

if A[X - l, Y] + A[X, Y] + A[X + l, Y] = 3 then begin

T := T + l; end; end; end;

// Триад по вертикали for X := 0 to 9 do begin for Y := l to 8 do begin

if A [X, Y - l] + A[X, Y] + A[X, Y + l] = 3 then begin

T := T + l; end; end; end;

// Подсчет плотности R := T / C; sR := sR + R; / / Вытод

ListBox1.Items.Add("Эксперимент №" + IntToStr(I)); ListBox1.Items.Add(" Количество триад: " + IntToStr(T)); ListBox1.Items.Add(" Плотность: " + Format("%.2f", [R])); ListBoxl.ItemIndex := ListBoxl.Items.Count - 1; PaintBoxl.Repaint; Application.ProcessMessages; //Sleep(l00); end;

// Вывод средней плотности sR := sR / SpinEdit2.Value;

ListBoxl.Items.Add("Средняя плотность: " + Format("%.2f", [sR])); ListBoxl.ItemIndex := ListBoxl.Items.Count - l; end;

procedure TForml.SpeedButton3Click(Sender: TObject); begin

Close; end;

procedure TForml.SpeedButton2Click(Sender: TObject); begin

ShowMessage("© Ларина Лена"#13#10"2007 Нижний Новгород'); end; end.

Литература

1. Новейшие методы обработки информации / под ред. Потапова А.А. М.: ФИЗМАТЛИТ, 2008. 496 с.

2. Ш.-К. Чэн. Принципы проектирования систем визуальной информации. М.: Мир, 1994. 408с.

Abstract

Some conclusions about the structure of the image can be drawn from comparing one of two images - the one under consideration and the most ordered one both having the same quantity of 3-pixel clusters.

Comparing quantity of such clusters on the investigated image with the quantity on the most ordered image having the same amount of pixels, conclusions can be drawn about the structure of the image. This information can be used for choosing a search strategy of an object i.e. necessary patterns and also for choosing optimal archiving method for the image.

© Наши авторы, 2009. Our authors, 2009.

Ляхов Александр Федорович, кандидат физико-математических наук, доцент кафедры теоретической механики механико математического факультета НГУ им. Н.И. Лобачевского, Lyakhov@mm.unn.ru