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

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид дипломная работа
Язык русский
Дата добавления 07.08.2018
Размер файла 1,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

При этом считается, что "в действительности все устроено именно так, как это предполагается в содержательной модели". Это очень сильная и ответственная операция придания абстрактной модели онтологического статуса называется гипостазированием. В результате выполнения этой и чаще всего неоправданной операции люди начинают считать, что мир устроен определенным образом, хотя в действительности так устроена лишь их модель этого мира. К вопросу об истинности содержательных моделей нужно относиться крайне осторожно, так как, по-видимому, можно создать неограниченное количество различных содержательных моделей, верно объясняющих одну и ту же феноменологическую картину (альтернативные модели).

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

Математические модели обладают различной степенью общности:

наиболее общими являются статистические (матричные) модели, частным случаем которых являются информационные модели, которые позволяют отобразить и детерминистские, и статистические системы очень большой размерности;

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

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

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

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

Таким образом, модель некоторого объекта или явления есть и средство, и результат его познания.

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

2.1.2 Общие принципы построения математических моделей

Рассмотрим этапы построения, вопросы алгоритмизации и программной реализации моделей сложных систем.

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

прежде всего должна быть определена цель создания модели, так как модель отображает оригинал не во всей его полноте (это невозможно, так как модель конечна, а любой объект неисчерпаем), а лишь те аспекты оригинала, которые связаны с достижением поставленной цели;

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

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

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

Модель должна обеспечивать выявление наиболее существенного в объекте с точки зрения достижения цели управления.

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

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

Таким образом, при создании модели явления нужно стремиться не только к тому, чтобы она адекватно отражала все наиболее существенные стороны моделируемого явления (с точки зрения достижения цели управления), но и соответствовала требованиям "простоты" и "красоты".

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

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

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

Часто бывает сложным явно исследовать выборку на нормальность. В этом случае косвенным свидетельством в пользу ее нормальности может служить согласованность результатов ее анализа параметрическими и непараметрическими методами. Поэтому рекомендуется не ограничиваться каким-либо одним, пусть даже, по-видимому, адекватным задаче методом, а применять несколько различных методов и затем сопоставлять их результаты друг с другом. Это существенно увеличивает надежность выводов.

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

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

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

2.1.3 Общие требования к модели

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

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

Необходимо отметить, что само понятие "ошибка классификации" предполагает, что существует независимый от алгоритма распознавания способ, позволяющий достоверно определить, к какому классу относится каждый распознаваемый объект. Обычно (но не всегда) считается, что таким способом является экспертная оценка. На этой основе может быть сформулирован соответствующий критерий качества алгоритмов распознавания, который можно было бы назвать "степень соответствия экспертным оценкам", или более пространно: "очевидность и естественность результатов автоматизированной классификации для человека-специалиста". Дело в том, что, к сожалению, слишком часто результаты автоматизированной классификации плохо интерпретируются, т.е., проще говоря, малопонятны или совсем непонятны людям, несмотря на то, что при этом они являются правильными с точки зрения определенных формальных критериев.

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

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

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

Следующим критерием качества модели является ее "логическая сложность". Часто алгоритмы с более высокой достоверностью распознавания являются и более сложными.

Например, такие развитые и качественные с точки зрения высокой достоверности распознавания методы, как комплексные методы: "алгоритмы вычисления оценок" (АВО) и "коллективы решающих правил" (КРП) [32, 118] имеют очень высокую сложность. Отсюда следует высокая сложность их программной реализации, а также низкое быстродействие, сложность интерпретации результатов их работы.

Косвенным критерием качества распознающего алгоритма является "наличие коммерческой программной реализации", а также популярность у пользователей соответствующей программной системы.

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

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

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

- выборка используется одновременно как обучающая и контрольная;

- выборка разбивается на две части - обучающую и контрольную;

- из всей выборки случайным образом извлекается один объект, а по оставшимся синтезируется решающее правило и производится распознавание извлеченного объекта, эта процедура повторяется заданное число раз (например, до полного перебора).

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

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

Модель должна обеспечивать:

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

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

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

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

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

2.2 Исследование законов распределения значений признаков

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

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

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

(2.1)

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

Можно легко показать, что параметры mx и уx, входящие в плотность распределения являются соответственно математическим ожиданием и средним квадратическим отклонением случайной величины Х. Функция распределения представлена в формуле 2.2.

(2.2)

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

Нормальная кривая обладает следующими свойствами:

1 Функция определена на всей числовой оси.

2 При всех x функция распределения принимает только положительные значения.

3 Ось ОХ является горизонтальной асимптотой графика плотности вероятности, т.к. при неограниченном возрастании по абсолютной величине аргумента х, значение функции стремится к нулю.

4 Найдем экстремум функции по формуле 2.3:

(2.3)

Т.к. при y' > 0 при x < m и y' < 0 при x > m , то в точке х = т функция имеет максимум, равный

.

5 Функция является симметричной относительно прямой х = а, т.к. разность (х - а) входит в функцию плотности распределения в квадрате.

6 Для нахождения точек перегиба графика найдем вторую производную функции плотности по формуле 2.4.

(2.4)

При x = m + s и x = m - s вторая производная равна нулю, а при переходе через эти точки меняет знак, т.е. в этих точках функция имеет перегиб.

В этих точках значение функции равно

.

Рисунок 2.1 - График плотности распределения для нормального закона

На рисунке 2.1 представлены графики при т =0 и трех возможных значениях среднего квадратичного отклонения s = 1, s = 2 и s = 7. Как видно, при увеличении значения среднего квадратичного отклонения график становится более пологим, а максимальное значение уменьшается..

Если а > 0, то график сместится в положительном направлении, если а < 0 - в отрицательном.

При а = 0 и s = 1 кривая называется нормированной и определяется по формуле 2.5.

(2.5)

Непрерывная случайная величина имеет равномерное распределение на отрезке [a, b], если на этом отрезке плотность распределения случайной величины постоянна, а вне его равна нулю и представляется по формуле 2.6

(2.6)

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

Размещено на http://www.allbest.ru/

f(x)

0 a b x

Рисунок 2.2 - График плотности распределения равномерного закона

Получаем С=1/(b-a).

Найдем функцию распределения F(x) на отрезке [a,b] по формулам 2.7. График функции распределения представлен на рисунке 2.3.

(2.7)

Размещено на http://www.allbest.ru/

F(x) 0 a b x

Рисунок 2.3 - График функции распределения

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

На рисунке 2.4 представлены варианты возможных распределений значений признаков, верхние графики характеризуют равномерное распределение признака x для пяти пользователей Q1-Q5, нижние графики, соответственно, нормальное распределение.

(2.8)

В общем случае, как это видно из рисунка, диапазоны изменения признака для различных пользователей пересекаются, причем размеры областей пересечения случайны. Вероятности принадлежности некоторого значения признака x* образам Q1,Q2,Q5,Q6 соответствуют точкам P1(x,Q1), P1(x,Q2), P2(x,Q5), P2(x,Q6) и определяются по соответствующим формулам 2.9 для равномерного и нормального распределения:

(2.9)

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

Рисунок 2.4 - Графики плотностей распределения вероятности значений признака для пяти пользователей: верхние графики для равномерного распределения, нижние - для нормального распределения

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

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

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

а - вероятность принадлежности значения x* пользователям Q1-Q2,Q5-Q6;

б - области погрешностей распознавания пользователей Q2-Q3, Q7-Q8

Рисунок 2.5 - Графики плотностей распределения вероятностей одного признака для двух пользователей

2.3 Обзор методов и средств построения программных приложений

2.3.1 Выбор метода разработки

Метод восходящей разработки заключается в следующем. Сначала строится модульная структура программы в виде дерева. Затем поочередно программируются модули программы, начиная с модулей самого нижнего уровня (листья дерева модульной структуры программы), в таком порядке, чтобы для каждого программируемого модуля были уже запрограммированы все модули, к которым он может обращаться. После того, как все модули программы запрограммированы, производится их поочередное тестирование и отладка в принципе в таком же (восходящем) порядке, в каком велось их программирование. На первый взгляд такой порядок разработки программы кажется вполне естественным: каждый модуль при программировании выражается через уже запрограммированные непосредственно подчиненные модули, а при тестировании использует уже отлаженные модули [11]

Метод нисходящей разработки заключается в следующем. Как и в предыдущем методе сначала строится модульная структура программы в виде дерева. Затем поочередно программируются модули программы, начиная с модуля самого верхнего уровня (головного), переходя к программированию какого-либо другого модуля только в том случае, если уже запрограммирован модуль, который к нему обращается. После того, как все модули программы запрограммированы, производится их поочередное тестирование и отладка в таком же (нисходящем) порядке. При таком порядке разработки программы вся необходимая глобальная информация формируется своевременно, т.е. ликвидируется весьма неприятный источник просчетов при программировании модулей. Существенно облегчается и тестирование модулей, производимое при нисходящем тестировании программы. Первым тестируется головной модуль программы, который представляет всю тестируемую программу и поэтому тестируется при "естественном" состоянии информационной среды, при котором начинает выполняться эта программа. При этом все модули, к которым может обращаться головной, заменяются на их имитаторы (так называемые заглушки [10]). Каждый имитатор модуля представляется весьма простым программным фрагментом, сигнализирующим, в основном, о самом факте обращения к имитируемому модулю с необходимой для правильной работы программы обработкой значений его входных параметров (иногда с их распечаткой) и с выдачей, если это необходимо, заранее запасенного подходящего результата. После завершения тестирования и отладки головного и любого последующего модуля производится переход к тестированию одного из модулей, которые в данный момент представлены имитаторами, если таковые имеются. Для этого имитатор выбранного для тестирования модуля заменяется на сам этот модуль и добавляются имитаторы тех модулей, к которым может обращаться выбранный для тестирования модуль. При этом каждый такой модуль будет тестироваться при "естественных" состояниях информационной среды, возникающих к моменту обращения к этому модулю при выполнении тестируемой программы. Таким образом большой объем "отладочного" программирования заменяется программированием достаточно простых имитаторов используемых в программе модулей. Кроме того, имитаторы удобно использовать для подыгрывания процессу подбора тестов путем задания нужных результатов, выдаваемых имитаторами [12].

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

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

2.3.2 Обзор языков программирования

Среди всех языков программирования наиболее популярными для разработки прикладных программ являются: Pascal, C, C++, Object Pascal, Delphi. Также на базе некоторых из них построены более сложные системы, называемые средой разработки.

Интегрированная среда разработки программного обеспечения (англ. IDE, Integrated development environment) - система программных средств, используемая программистами для разработки программного обеспечения.

Обычно среда разработки (СР) включает в себя текстовый редактор, компилятор и (или) интерпретатор, средства автоматизации сборки и отладчик. Иногда также содержит систему управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные СР также включают браузер классов, инспектор объектов и диаграмму иерархии классов - для использования при объектно-ориентированной разработке ПО. Все это позволяет ускорить процесс создания программных продуктов, используя СР. Примеры сред разработки - Turbo Pascal, Borland C++, Borland Delphi, Dev-C++. В силу своей популярности все они хорошо документированы, описаны различные примеры программирования в каждой из них, но у каждой есть свои особенности, преимущества и недостатки, поэтому для выбора необходимо определить требования к СР.

При выборе СР, к ней были предъявлены следующие требования:

объектно-ориентированная технология программирования;

высокая скорость разработки приложения;

простота написания и отладки программы;

возможность написания приложения работающего с БД;

возможность создания DLL модулей;

наличие системы помощи.

Microsoft Visual Basic является одним из наиболее эффективных средств для создания высокопроизводительных приложений, обладающих масштабируемостью до уровня предприятия и возможностью работы в Интернет. Недостатками являются частичная поддержка объектно-ориентированного программирования, скрытая от программиста работа с оперативной памятью и слабо развитая визуальная среда разработки, что замедляет процесс проектирования. Также невозможно создавать DLL модули.

Microsoft Visual Basic содержит интегрированные средства визуальной работы с базами данных, поддерживающие проектирование и доступ к базам данных SQL Server, Oracle и другим. К этим средствам относятся Visual Database Tools, ADO/OLE DB, Data Environment Designer, Report Designer и ряд других.

Продукт поддерживает создание серверных Web-приложений, работающих с любым средством просмотра на базе новых Web-классов. В новой версии также обеспечивается отладка приложений для IIS. В Microsoft Visual Basic возможно создание интерактивных Web-страниц - оно подобно созданию обычной формы в VB. Для этого используется DHTML Page Designer.

Microsoft Visual Basic обеспечивает простое создание приложений, ориентированных на данные. Продукт позволяет создавать клиент-серверные приложения, которые могут работать с любыми базами данных. Теперь Visual Basic поддерживает универсальный интерфейс доступа к данным Microsoft при помощи технологии ActiveX Data Objects (ADO).

Visual Basic обеспечивает просмотр таблиц, изменение данных, создание запросов SQL из среды разработки для любой совместимой с ODBC или OLE DB базы данных. В систему интегрированы мастера создания баз данных Microsoft SQL Server и Oracle . Используя мастер запросов, вы сможете визуально проектировать запросы и выполнять сложные операции с данными без необходимости изучения языка SQL.

Создание, правка и интерактивная отладка хранимых процедур - все это выполняется прямо из среды Visual Basic. Так же, как и в редакторе Visual Basic, синтаксис SQL выделяется цветом и незамедлительно проверяется на наличие ошибок. Это делает код SQL более легко читаемым и менее подверженным случайным ошибкам.

Новая версия продукта поддерживает коллективную разработку, масштабируемость, создание компонентов промежуточного слоя, пригодных к многократному использованию в любом COM-совместимом продукте (например, Visual SourceSafe, Visual Modeler, BackOffice, Windows NT Option Paсk).

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

Таким образом Microsoft Visual Basic не удовлетворяет всем поставленным требованиям и не может быть использована для дипломного проектирования.

Borland Delphi - поддерживает несколько важнейших технологий, а также в установочный пакет включен сервер СУБД InterBase:

высокопроизводительный компилятор в машинный код;

объектно-ориентированная модель компонент;

визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов;

масштабируемые средства для построения баз данных;

удобная визуальная среда разработки.

Компилятор, встроенный в Borland Delphi , обеспечивает высокую производительность, необходимую для построения приложений в архитектуре “клиент-сервер”. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL. Кроме того, эта СР обеспечивает быструю разработку без необходимости писать вставки на С или ручного написания кода (хотя это возможно). В процессе построения приложения из палитры компонент выбираются готовые компоненты. Еще до компиляции можно видеть результат - после подключения к источнику данных, их можно видеть отображенными на форме, можно перемещаться по данным, представлять их в том или ином виде. В этом смысле проектирование в Borland Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10-20 раз быстрее, чем тоже самое, сделанное при помощи интерпретатора. Кроме того компиляция производится непосредственно в родной машинный код, в то время как существуют компиляторы, превращающие программу в так называемый p-код, который затем интерпретируется виртуальной p-машиной. Это не может не сказаться на фактическом быстродействии готового приложения.

Основной упор этой модели делается на максимальном повторном использовании кода. Это позволяет строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует. Действительно, все в Borland Delphi написано на нем же, поэтому разработчики имеют доступ к тем же объектам и инструментам, которые использовались для создания среды разработки. В результате нет никакой разницы между объектами, поставляемыми Borland или третьими фирмами, и объектами, которые вы можете создать. В стандартную поставку входят основные объекты, которые образуют удачно подобранную иерархию из 270 базовых классов. На Delphi можно одинаково хорошо писать как приложения к корпоративным базам данных, так и, к примеру, игровые программы.

Среда Borland Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений (RAD - rapid application development), поддерживающей разработку пользовательского интерфейса и подключение к корпоративным базам данных. VCL - библиотека визуальных компонент, включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE. В дополнении к стандартному набору компонент можно приобрести разработки других фирм, а также свободно распространяемые программистами freeware-компоненты. Визуальные компоненты обладают большой гибкостью и получаются открытыми для надстройки и переписывания.

Объекты БД в Delphi основаны на SQL и включают в себя полную мощь Borland Database Engine. В состав Borland Delphi также включен Borland SQL Link, поэтому доступ к СУБД Oracle, Sybase, Informix и InterBase происходит с высокой эффективностью. Кроме того, Borland Delphi 7.0 включает в себя локальный сервер Interbase для того, чтобы можно было разработать расширяемые на любые внешние SQL-сервера приложения в оффлайновом режиме. Библиотека объектов содержит набор визуальных компонент, значительно упрощающих разработку приложений для СУБД с архитектурой клиент-сервер. Предусмотрены специальные наборы компонент, отвечающих за доступ к данным, и компонент, отображающих данные. Компоненты доступа к данным позволяют осуществлять соединения с БД, производить выборку, копирование данных, и т.п. Компоненты визуализации данных позволяют отображать данные виде таблиц, полей, списков. Отображаемые данные могут быть текстового, графического или произвольного формата. В СР для хранения информации можно использовать файлы формата .dbf (как в dBase или Clipper) или .db (Paradox). Если использовать локальный SQL-сервер, входящий в поставку, то приложение безо всяких изменений будет работать и в составе большой системы с архитектурой клиент-сервер.

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

Инспектор объектов представляет собой отдельное окно, где вы можете в период проектирования программы устанавливать значения свойств и событий объектов (Properties & Events).

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

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

Дизайнер меню позволяет создать меню, сохранить созданные в виде шаблонов и затем использовать в их в любом приложении.

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

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

эксперт форм, работающих с базами данных;

эксперт стилей и шаблонов приложений;

эксперт шаблонов форм;

эксперт построения DLL;

эксперт создания собственных экспертов.

Интерактивная обучающая система позволяет более полно освоить программирование в этой СР. Она является не просто системой подсказок, а показывает возможности Delphi на самой среде разработчика.

Таким образом, Borland Delphi позволяет быстро и качественно создавать приложения, используя уже готовые компоненты, реализуя различные современные технологии программирования, при этом включает в себя СУБД и средства разработки клиент-серверных приложений.

Borland C++ Builder client\server suite - еще одна из наиболее популярных СР от фирмы Borland. В ее состав входят следующие наиболее важные технологии:

высокопроизводительный компилятор в машинный код;

объектно-ориентированная модель компонент;

визуальное построение приложений из программных прототипов;

масштабируемые средства для построения баз данных;

удобная визуальная среда разработки.

Borland C++ Builder client\server suite использует аналогичный высокопроизводительный компилятор как и в Borland Delphi что обеспечивает быструю и качественную компиляцию, создание исполняемых файлов минимального размера.

Данная СР также содержит полный набор визуальных инструментов для скоростной разработки приложений (RAD), поддерживающей разработку пользовательского интерфейса и подключение к корпоративным базам данных. VCL - библиотека визуальных компонент, включает в себя более 100 стандартных объектов построения пользовательского интерфейса, объектов управления данными, графических объектов, объектов мультимедиа, диалогов и объектов управления файлами, управления DDE и OLE. Объектно-ориентированная модель программирования позволяет, используя базовые объекты, создавать свои объекты, специализированные под конкретную задачу или более унифицированные. В дополнении к этому набору компонент также можно приобрести разработки других фирм и свободно распространяемые программистами freeware-компоненты.

В C++Builder есть все средства для работы с БД. Для автоматической настройки средств отображения и редактирования, применительно к специфике вашей информации, можно использовать проводник баз данных (Database Explorer) и масштабируемый словарь данных (Data Dictionary). Компоненты отображения информации позволяют, еще на этапе визуального проектирования приложения, видеть как будет выглядеть экранная форма. Это позволяет сэкономить время на многократном перекомпилировании приложения для оценки и корректировки интерфейса. Механизм BDE (Borland Database Engine) поддерживает высокопроизводительный 32-разрядный доступ к базам данных dBASE, Paradox, Sybase, Oracle, DB2, Microsoft SQL Server, Informix, InterBase и Local InterBase, посредством Borland SQL Link. C++Builder использует контроллер ODBC (Open Database Connectivity) производства Microsoft для связи с серверами баз данных Excel, Access и FoxPro. Являясь фундаментом любого приложения базы данных, BDE тесно связан с хранилищем объектов и модулями данных. Также в комплект поставки входит локальный сервер InterBase, что позволяет спроектировать и отладить работу приложения с БД для любых SQL-серверов, а затем без каких-либо изменений внедрить его для сетевого использования. Визуальная среда разработки C++Builder практически идентична со средой разработки Borland Delphi, поэтому преимуществ перед ней не имеет.

C++Builder имеет более мощный язык программирования и поддерживает технологию быстрой разработки приложений RAD, но все же Borland Delphi предоставляет более гибкую, быструю и легкую систему разработки приложения.

СР Borland Delphi подходит более других СР по всем выдвинутым требованиям и будет использована в качестве средства разработки приложения.

2.4 Разработка алгоритма сокращения признакового пространства

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

число пользователей n;

число признаков m;

множество диапазонов D={d11,d12,...,d1n,d21,d22,...,d2,n,...,dm1, dm2,...,dmn} для каждого признака из m, и для каждого пользователя из n;

множество центров диапазонов C={с11,с12,…,с1n,с21,с22,…,с2,n,…,сm1, сm2,…,сmn};

закон распределения плотностей вероятности признаков.

Данная задача является характерной в теории распознавания образов и решается различными методами, например, на основе факторного анализа, методом выбора главных компонент, методом группового учета аргументов. Следует отметить, что решению задачи при числе распознаваемых классов более 100 в перечисленных задачах уделено мало внимания. В частности, в современной научно-технической литературе практически отсутствуют высокопроизводительные алгоритмы выбора признаков для большого множества классов с пересекающимися диапазонами изменения признаков при различных законах их изменения.

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

(2.10)

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

, (2.11)

Если минимальный диапазон из множества D превышает или равен м, то критерий может иметь следующий вид, представленный в формуле 2.12.

, (2.12)

Это упростит процедуру ранжирования признаков за счет исключения операций вычисления межцентровых расстояний Дij.

На рисунке 2.6 представлена схема алгоритма сокращения признакового пространства с использованием описанных критериев.

Размещено на http://www.allbest.ru/

Рисунок 2.6 - Схема алгоритма сокращения признакового пространства

В блоке 2 производится ввод исходных данных. В блоке 3 производится расчет м и у2. В блоке 4 на основе описанных выше критериев и генератора случайных чисел формируется признаковое пространство R с заданным количеством пользователей и количеством признаков для каждого пользователя. В блоке 5 производится расчет межцентровых расстояний для всех признаков. В блоке 6 производится расчет дисперсий для всех признаков. В блоке 7 из множества дисперсий признаков производится выборка массива по критерию минимальной дисперсии. В блоке 8 расчет площади пересечения S для каждого признака выбранного по критерию минимальной дисперсии. В блоке 9 вывод новой совокупности признаков и массивов значений дисперсии и площадей пересечения, соответствующие этой совокупности.

2.5 Разработка программы для сокращения признакового пространства

На основании рассмотренных выше методов выбора информативных признаков и на разработанном алгоритме предлагаем программу выбора информативных признаков.

При разработке программы выбора информативных признаков определить входные данные, которые были приняты за основу:

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

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

число пользователей примем равным пяти.

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

диапазон изменения признака для каждого пользователя примем равным двадцати.

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

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

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

Таблица 2.1 - Процедуры программы сокращения признакового пространства

Наименование

Назначение

main

Содержит главную форму программы. Обеспечивает взаимодействие остальных модулей.

vvod

Обеспечивает ввод первоначальных данных для работы и расчет значений.

massive

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

dispers

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

dispersmin

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

peresechenie

Выполняет подсчет площадей пересечений диапазонов пользователей для нового пространства.

vivod

Обеспечивает вывод результатов работы программы

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

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

Разрабатываемая программная система ориентирована на индивидуальное использование, поэтому разрабатываемая система - локальная.

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

Краткое описание модулей представлено в таблице 2.1. На рисунке 2.7 представлена архитектура и взаимодействие процедур программного средства.

Размещено на http://www.allbest.ru/

Рисунок 2.7 - Структурная схема взаимодействия процедур

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

В верхней части главного окна располагаются следующие поля:

поле «Количество признаков» определяет размерность начального признакового пространства;

поле «Количество пользователей» определяет количество пользователей;

поле «Диапазон признака» определяет размерность диапазона каждого признака для каждого пользователя.

Рисунок 2.8 - Главное окно программы

Рисунок 2.9 - Результат работы программы

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

поле «Признаковое пространство» содержит начальное признаковое пространство сформированное генератором случайных чисел;

поле «Дисперсии массива» содержит массив дисперсий для сформированного признакового пространства;

поле «10 минимальных дисперсий» содержит массив минимальных дисперсий и соответствующие этому массиву признаковое пространство;

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

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

Размещено на http://www.allbest.ru/

Рисунок 2.10 - График плотности распределения вероятности признака для пяти пользователей

3. Решение задач распознавания образов

3.1 Разработка методологической части для решения задач распознавания образов

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

По сравнению с традиционными биометрические методы имеют следующие основные достоинства:

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

неотделимость биометрических признаков от дееспособности личности;

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

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

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.