Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Теория признаков распознавания образов на основе стохастической геометрии и функционального анализа

..pdf
Скачиваний:
5
Добавлен:
12.11.2023
Размер:
12.16 Mб
Скачать

7.2. Система генерации триплетных признаков и её оптимизация 161

7.2.Система генерации триплетных признаков

иеё оптимизация

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

1) возможность вычисления очень большого числа признаков (де­ сятки тысяч);

2) возможность пакетной обработки множества изображений;

3) представление результата в форме, удобной для дальнейшей об­ работки.

Для выполнения первого и главного требования необходимо при­ менить алгоритм, позволяющий формировать триплетные признаки, используя множество известных системе функционалов. Опыт прак­ тического применения распознающих систем в разных сферах показал, что подавляющее число функционалов выполняют операцию линейной свёртки данных [48]. По этой причине можно применить механизм перегрузки функций базового класса (который существует в большин­ стве современных компиляторов, в том числе C # в составе Microsoft Visual Studio 2005, который использовался для написания системы), чтобы быстро создать классы, которые могут выступать в качестве лю­ бого из трех функционалов. Дополнительно необходимо предусмотреть механизм управления функционалами и возможность увеличения их количества.

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

1) использовать и/или не использовать в качестве определенного функционала следующий список;

2) не использовать список триплетных признаков (необходим для исключения признаков, всегда дающих в результате 0, NaN или беско­ нечность).

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

Для анализа полученных результатов удобно использовать хорошо структурированную форму. Учитывая большой объем данных эффек­ тивно применение СУБД (например, Microsoft SQL Server 2005), недо­ статком такого подхода является сложность передачи данных за преде­ лы локальной сети. Для решения данной задачи можно применить xml документ, сохраняющий структуру базы данных и удобный для записи на любой носитель. Сформировать его можно как с применением СУБД, так и без неё средствами ADO.NET.1

11 Федотов Н. Г.

162

Гл. 7. Генерация триплетных признаков

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

1)Func_id (int32);

2)Func_name (string).

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

1) Obj_id (int32);

2) Obj_name (string);

3) Obj_class (int32).

Используя описанные таблицы в качестве родительских, создается дочерняя таблица результатов:

1)Id (Int32);

2)O bjjd (Int32);

3)T_func_id (Int32);

4)P_func_id (Int32);

5)Q_func_id (Int32);

6)Result (float).

Таблица содержит все элементы, необходимые для дальнейшего

анализа.

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

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

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

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

7.2. Система генерации триплетных признаков и её оптимизация 163

По результатам профилирования, построенного для изображений размером 700 х 700 с деревом функционалов 1:60:60 (для каждого Т функционала вычисляется 60 Р функционала, для каждого Р функци­ онала вычисляется 60 © функционалов):

1)вычисление Т функционала « 92%,

2)вычисление Р функционала « 8 %,

3)вычисление © функционала < 1 %.

Из данных хорошо видно, что в первую очередь необходимо «уско­ рить» вычисление Т функционала.

Существуют три схемы параллельных вычислений:

1) симметричные потоки (все потоки выполняют одну и ту же функцию);

2) конвейерное вычисление (результат работы одного потока явля­ ется исходными данными для другого потока);

3) смешанная схема (применяется только при очень большом коли­ честве потоков).

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

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

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

кзначительному увеличению необходимого количества памяти.

Для реализации вычислений в параллельных потоках необходи­ мо разделить исходные данные на равные части, количество частей определит количество эффективных потоков. В задачах распознавания образов методом стохастической геометрии сканирующие прямые фор­ мируются для множества углов (определяется настройками системы и обычно составляет 0°-360° с шагом 10°). Множество сканирующих прямых, найденных для определенного угла, составляет исходные дан­ ные для потока, вычисляющего значение Т функционала.

Далее необходимо осуществить управление потоками. Количество порождаемых потоков не должно быть жестко детерминированным, так как это приведет к ухудшению производительности в случае несовпадения количества процессоров с количеством порожденных потоков. Все сканирующие прямые хранятся в одном объекте и их количество известно. Легко добавить в данный класс метод, возвраща­ ющий множество необработанных сканирующих прямых или null, если все сканирующие прямые переданы на обработку. Получение потоком вместо исходных данных null приведет к его удалению. Результаты вычисления передаются объекту класса t_result. Все результаты вычис­ лений хранят угол, для которого было сформировано данное множест­ во сканирующих прямых, поэтому в классе хранения результата не составляет сложности отсортировать полученные данные, определить

11*

164

Гл. 7. Генерация триплетных признаков

прогресс выполнения вычислений и сформировать событие окончания вычислений.

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

7.3 Селекция информативных триплетных признаков

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

1) уменьшение до минимума количества необходимых для описания классов признаков без существенного увеличения вероятности ошибки распознавания;

2) возможность использования относительно простых алгоритмов распознавания;

3) увеличение быстродействия распознающих систем за счет сокра­ щения избыточности входной информации.

Можно выделить два основных подхода к формированию эффек­ тивных признаков распознавания образов.

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

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

Рассмотрим эти подходы.

Работы, нацеленные на непосредственное отыскание малого числа «хороших» признаков, отличает отсутствие единой логической системы.

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

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

7.3 Селекция информативных триплетных признаков

165

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

Идея отбора информативных признаков из болвшой совокупности более или менее случайное возникла в тематике распознавания обра­ зов в середине 50-х годов. С развитием вычислительной техники и при­ влечением в информатику новых математических теорий в настоящее время разработаны разнообразные критерии эффективности признаков, основанные на методах математической статистики и теории информа­ ции.

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

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

2.В противоположность такому апостериорному взвешиванию, ис­ пользующему дополнительную информацию, получаемую при рассмот­ рении обучающей последовательности, возможно и «априорное», т. е.

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

Рассмотрим оба подхода подробнее.

В терминах теории информации мерой трудности распознавания служит энтропия Н распределений плотности вероятности образов.

 

С точки зрения математической статистики все знание о том,

к

какому образу относится распознаваемое изображение, сводится

к

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

к каждому из образов. Поскольку априорно известно, что конкретное изображение не может быть отнесено более чем к одному образу, распределение вероятности гипотез, отличное от 1,0, . . . , О, обуславли­ вает некоторую неопределенность решения (т. е. меньше информации получено при распознавании конкретного объекта).

Множество образов A,-, j = 1 , 2 с определенным на нем рас­ пределением вероятностей можно рассматривать как источник инфор-

мации с

исходной неопределенностью

N

P(Aj)\°gP(Aj),

Н{А) = — ^

где P(Aj)

безусловная вероятность

з=1

появления образа А,-; Н(А) —

энтропия множества образов.

 

 

Количество информации, получаемое при распознавании, можно

оценить разностью между энтропией образов Н(А)

и неопределенно­

166

Гл. 7. Генерация триплетных признаков

стью решения, усредненной по всем изображениям. Неопределенность решения определяется полной условной энтропией образов при усло­ вии, что системе предъявлено изображение x v:

N

Н(А) -Ер logP (

Xv

3= 1

Полная энтропия определяется по формуле:

Н

-

V = 1

(7.1)

С точки зрения надежности распознавания не все признаки равно­ правны: использование одних признаков позволяет получить меньшую вероятность ошибки распознавания, использование других — большую. Поэтому желательно оценивать информативность каждого признака в отдельности. Количественной мерой, определяющей информативность определенного признака Xi, может служить количество информации 1Х, определяемое выражением

1х = Н ( А ) - н ( ±

\

i

<72>

где Хщ — значения,

которые может принимать

признак ац при q =

= 1 , 2 .....р.

Выражения (7.1) и (7.2) дают полное представление об информа­ тивности описания. Но оценка по этим формулам затрудняется боль­ шим объемом вычислений. Так, предлагаемый модуль автоматической генерации признаков содержит порядка 100000 новых признаков. Оче­ видно, что задача определения набора информативных признаков за реальное время неразрешима в рамках энтропийного подхода. Кроме того, бывает вообще невозможно получить численные значения веро­ ятностей, входящих в эти формулы. Важно отметить, что концепция минимальной энтропии основывается на предложении о нормальности распределения образов, составляющих заданные классы.

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

7.3 Селекция информативных триплетных признаков

167

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

2) оно минимизирует функцию энтропии, выраженную через дис­ персии коэффициентов разложения.

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

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

Основанием применения дискретного разложения Карунена-Лоэва в качестве средства выбора признаков является наличие у него отме­ ченных выше оптимальных свойств. Имеем N образов или классов

распознавания А\, А 2, ... , Адг. Через ж* = < Хг^

>обозначим выбор-

ку значений п

признаков,

относящихся

, Xi(tn)

 

классов A;, i =

к одному из

= 1

вариант

обобщенного

разложения

Карунена-Лоэва

Дискретный

представляется

формулами: ж; =

П

 

матричной форме

cij<t>j и в

3=1

Xi = Фс», причем предполагается, что коэффициенты сц,- удовлетворяют условию M{cjj} = 0. Оператор математического ожидания вычисля­ ется по всем значениям Су. Корреляционная матрица определяется исходя из соотношения

N

 

R = ^р(А*)М {ж;ж'}

(7.3)

г=1

 

где p(Ai) — оценка вероятности появления «-класса. Коэффициенты этого разложения определяются по формулам:

Фс; = Xi => Ф'Фа = Ф'ж; =>• С; = Ф'ж»,

(7.4)

так как Ф'Ф = I в силу ортонормированности базисных векторов, со­ ставляющих матрицу Ф.

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

Пусть имеем N образов или классов распознавания Аь А2, ..., Адг и п признаков распознавания. Через ж5* обозначим выборку значений признака j ( j = 1 ,..., п) объекта класса A*, i = 1 ,..., N.

168 Гл. 7. Генерация триплетных признаков

1 этап. Построим матрицу матожиданий следующим образом (табл. 7.1).

 

 

 

Таблица 7.1

Признаки

1

2

п

Класс А\

М[т„]

м ы

м ы ]

Класс А2

м ы

м [ Ы

м ы ]

Класс AN

М[Жлц]

м ы 2]

м ы

Т.е. для всех реализаций признаков изображений существующих классов находятся средние значения j -го признака у г-го класса.

2 этап. Для системы из п признаков вычислим корреляционную матрицу по формуле (7.3). Применяя процедуру диагонализации мат­ рицы R, получим собственные значения Dj (j = 1,п). Полученные значения есть дисперсии новой системы признаков фj. Это позволяет определить коэффициенты разложения сц,- Карунена-Лоэва (7.4).

3 этап. На основании определённых коэффициентов Cij можно определить вклад в общую дисперсию системы как новых признаков

Фз, так и старых признаков ар. Значение коэффициента Cij определяет долю дисперсии i признака, сформированную под влиянием обобщён­

ного фактора фj. Так как Dj есть дисперсия новой системы признаков,

П

то cijDj = Ы определяет влияние ар в рассматриваемой системе.

з= 1

4 этап. Упорядочиваются значения hi (i= 1 ,...,« ) таким образом, чтобы выполнялись неравенства: hi > h%> ... > /iTO_1 ^ hm ^ ... .

В этом случае признаки упорядочиваются в порядке убывания наилучших разделительных качеств. Т.е., если для ар. и ар имеем соотношение hr > hi, то использование признака арвносит в систему распознавания больше информации, чем использование признака ар.

5 этап. Требуется, зная информативность каждого признака, ис­ ключить малоинформативные признаки. Для этого находится сумма всех hi

N

»=1

и в набор эффективных признаков включаются признаки до тех пор, пока не достигается значение kS. Таким образом, признаки, которые вошли в систему, считаются эффективными (обозначим число эффек­ тивных признаков через то), а те, которые не вошли, — малоинфор­ мативными. Экспериментальным путем установлено, что оптимальное значение к есть 0,8 ^ к < 0,95 в зависимости от требуемой точности решения задачи распознавания.

В дискретном случае принцип минимизации среднеквадратичной ошибки предполагает, что разложение Карунена-Лоэва минимизирует

7.4. Проектирование системы распознавания образов

169

ошибку аппроксимации при использовании в разложении Xi =

П

cij(l>

 

i = i

числа базисных векторов, меньше п. Эта ошибка определяется выраже-

П

нием е = Xi — J2 Cij4>j, где, вообще говоря, то < п, заметим, что е = О

J = I

при т = п.

Следует отметить, что процедура определения минимального набора эффективных признаков распознавания, основанная на разложении Карунена-Лоэва, имеет явную физическую интерпретацию. Согласно гипотезе компактности, реализация одного и того же класса образов отражается в признаковом пространстве в геометрически близкие точ­ ки, образующие компактные сгустки [14]. Признак считается эффек­ тивным, если он разделяет образы разных классов. В нашем случае, значения дисперсий — это показатели разделяющей силы признака, т. е. предлагается отбросить все те признаки, которые практически не разделяют классы (для которых значения признаков малы).

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

7.4.Проектирование системы распознавания образов

сприменением многопоточных вычислений

С появлением многоядерных процессоров появилась возможность значительно уменьшить время выполнения трудоемких программ, при­ менив в них многопоточные вычисления [27].

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

Рассмотрим процесс проектирования многопоточных систем.

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

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

В литературе встречаются следующие рекомендации по осуществ­ лению данной декомпозиции.

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

170Гл. 7. Генерация триплетных признаков

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

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

3.Подзадачи должны быть примерно одинакового размера, в этом случае легче обеспечить сбалансированную загрузку процессоров.

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

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

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

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

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

локальные — каждая подзадача связана с небольшим набором других подзадач;

глобальные — каждая подзадача связана с большим числом дру­ гих подзадач;

синхронные — отправитель и получатель данных координируют обмен;

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

Подзадачи должны иметь примерно одинаковое количество коммуни­ каций.

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

При укрупнении алгоритма решаются следующие задачи: 1) снижение затрат на коммуникации, 2) балансировка ресурсоемкости между процессорами, 3) снижение трудоемкости разработки.

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