книги / Теория признаков распознавания образов на основе стохастической геометрии и функционального анализа
..pdf7.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) снижение трудоемкости разработки.
На заключительном этапе осуществляется планирование вычис лений. Целью данного этапа является окончательная балансировка нагрузки на процессоры. Если на этапе укрупнения удалось достиг нуть достаточного уровня сбалансированности, например, реализовав