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

Условия применения и технические требования для работы программно-аппаратной платформы. Система распознавания лиц VOCORD Face Control. Система распознавания текста ABBYY FineReader. Алгоритмы и методы, применяемые в программе. Алгоритм хеширования MD5.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 19.01.2017
Размер файла 1,8 M

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

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

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

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. ПОСТАНОВКА ЗАДАЧИ И ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

1.1 Постановка задачи распознавания

1.2 Предметная область автоматизации процессов

1.3 Условия применения и технические требования для работы программно-аппаратной платформы

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

2. ОБЗОР СИСТЕМ РАСПОЗНАВАНИЯ

2.1 Системы технического зрения Omron

2.2 Система распознавания лиц VOCORD Face Control

2.3 Система распознавания текста ABBYY FineReader

2.4 Система распознавания номеров автотранспортных средств AutoTRASSIR

3. МЕТОДЫ И СРЕДСТВА АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ

3.1 Контекстная диаграмма

3.2 Диаграмма IDEF0

3.3 Диаграмма IDEF3

4. АЛГОРИТМЫ И СТРУКТУРА ФУНКЦИОНИРОВАНИЯ ПРОГРАММНО - АППАРАТНОЙ ПЛАТФОРМЫ

4.1 Распознавание изображений

4.2 Алгоритмы и методы, применяемые в программе

4.2.1 Нахождение границ объекта

4.2.2 Выявление признаков объектов

4.2.3 Алгоритм хеширования MD5

4.3 Построение общего алгоритма работы

5. НАДЕЖНОСТЬ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

5.1 Понятие надежности

6. ОБЗОР ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

6.1 Панель администрирования

6.2 Редактирование кода программы

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЕ А Функциональная схема программно - аппаратной платформы

ПРИЛОЖЕНИЕ Б Структурная схема программно - аппаратной платформы

ПРИЛОЖЕНИЕ В Листинг программы

ВВЕДЕНИЕ

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

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

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

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

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

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

Выпускная квалификационная работа состоит из шести разделов.

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

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

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

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

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

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

1. ПОСТАНОВКА ЗАДАЧИ И ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

1.1 Постановка задачи распознавания

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

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

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

Данную задачу можно распределить на две части: обучение и распознавание. Обучение будет выполняться с помощью демонстрации отдельных объектов, с указанием их принадлежности к конкретному классу [5].

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

Система распознавания при поступлении объекта обрабатывает его изображение, далее она выделяет характерные признаки данного объекта, качественные или количественные. Одной из проблем распознавания объекта является выбор исходного описания: структурный или геометрический подход. Геометрический подход основывается на различии форм объектов. Структурный же основан на анализе элементов объектов. В этом случае в первую очередь выделяют части всех объектов, а так же характеристики их расположения относительно друг друга. Полученные данные составляют исходную базу данных, на ее основе можно строить разные гипотезы. Из них выбирают наиболее подходящие для конкретного случая, далее идет описание общего образа данных объектов, он применяется для идентификации других объектов [4, 12].

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

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

Задачи для данной работы:

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

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

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

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

1.2 Предметная область автоматизации процессов

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

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

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

- освобождение человека от однотипных монотонных действий;

- увеличение скорости принимаемых решений;

- уменьшение количества ошибок в поставленных задачах.

Для успешного решения задачи распознавания объектов и проектирования систем анализа образов требуется исследовать психологию машинного зрения. Изучить структуру восприятия зрения человека и перенос ее на машины с использованием алгоритмов.

Кибернетика дает возможности в исследование вопроса распознавания объектов ввести количественные методы, то есть представить процесс распознавания математическими методами.

На сегодняшний день большие перспективы имеет система технического зрения (СТЗ). Она предназначена для автоматического распознавания, определения координат, контроля внешнего вида объектов произвольной формы и может быть использована во многих видах деятельности от производства до научных исследований. На производстве, каких либо изделий, система технического зрения может входить в состав роботизированных комплексов помимо технологического оборудования и систем управления. Например, при выполнении технологических операций на конвейерах система технического зрения позволяет осуществлять операции сортировки деталей, определять их положение и ориентацию [3,4]. Кроме того при разработке алгоритмов обработки данных в системе технического зрения сортировка деталей определяется как задача распознавания объектов, регистрируемых аппаратными средствами системы технического зрения, а определение положения объекта определяется как задача оценки соответствующих параметров изображений этих деталей.

1.3 Условия применения и технические требования для работы программно - аппаратной платформы

Для работы программно - аппаратной платформы анализа образов объектов распознавания необходим персональный компьютер с минимальными системными требованиями:

- процессор Intel Core i3 с тактовой частотой 3.0 ГГц и более, для выполнения расчетов;

- оперативная память объемом от 4 Гб;

- достаточное количество свободного дискового пространства;

- 1 Гб видеопамяти или более;

- монитор с разрешением 1366x768;

- мышь/клавиатура

На ПК должна быть установлена операционная система от Windows 7 до Windows 10. Данная система должна обеспечивать бесперебойную работу длительное время, сбои в работе компьютера должны быть исключены или хотя бы сведены к минимуму.

При выборе ОС определяющими факторами являются:

- поддержка сетевых технологий;

- возможность использования различных устройств ввода-вывода;

- быстродействие;

- быстрая настройка новых аппаратных средств;

- поддержка операционной системы производителем;

- наличие справочной службы для пользователей;

- наличие дружественного интерфейса;

- совместимость с другими операционными системами;

- поддержка новых информационных технологий.

К программно - аппаратной платформе с функцией распознавания образов объектов и их анализа предъявляется ряд требований:

а) простота использования;

б) поддержка функций анализа и обработки изображений, последующее накопление и хранение в программе необходимой информации;

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

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

д) предотвращение несанкционированной деятельности с системой, изменения настроек.

Данная платформа обеспечит реализацию следующих функций:

- обработка изображений и преобразование их в бинарный код;

- разработка метода распознавания и анализа плоских изображений;

- генерация случайных изображений;

- создание базы данных эталонов для идентификации изображений при помощи сравнения с эталонами;

- вывод результатов обработки и сортировки изображений.

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

программа распознавание текст лицо

Система программнно-аппаратной платформы анализа образов объектов распознавания разработана в среде программирования Borland Delphi 7 и СУБД MySQL.

Borland Delphi представляет собой среду быстрой разработки приложений, в которой в качестве языка программирования используется язык Delphi. Delphi - строго типизированный объектно-ориентированный язык, в основе которого лежит Object Pascal. Delphi является мощным и простым в использовании инструментом для создания автономных программ, обладающих графическим интерфейсом (GUI) или консольных приложений (программ без графического интерфейса)[16].

Delphi соединяет в себе компилятор языка программирования Object Pascal, интегрированную среду разработки (IDE), библиотеку визуальных компонентов VCL, средства для работы с базами данных (BDE) и многое другое. С его помощью можно решить практически любую программистскую задачу, включая работу с базами данных, написание web - приложений, экранных заставок, системных утилит и прочего.

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

MySQL - это одна из самых популярных и самых распространенных СУБД (система управления базами данных). Она может обрабатывать большой объем информации, но наиболее часто ее используют для работы в малых и средних приложениях[12, 13].

MySQL отличатся хорошей скоростью работы, надежностью и гибкостью. Работа с ней не вызывает больших трудностей. Чаще эта СУБД используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, но в дистрибутив так же входит библиотека внутреннего сервера, которая позволяет подключать MySQL к автономным программам. Кроме того она является бесплатной и распространяется на условиях общей лицензии GNU (GPL, GNU Public License).

Основные преимущества СУБД MySQL:

- простота в работе - установка и администрирование MySQL довольно просты, дополнительные приложения, например GUI, позволяет легко работать с БД;

- богатый функционал - MySQL поддерживает большинство функционала SQL, языка запросов, который применяется во всех современных СУБД;

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

- масштабируемость - MySQL легко работает с большими объемами данных и легко масштабируется;

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

- аппаратная совместимость - MySQL функционирует под управлением различных версий UNIX систем, а так же под управлением систем Windows и OS/2.

Для общения с данной СУБД используется язык SQL (Stuctured Query Language - язык структурированных запросов). Он содержит множество операторов, целью которых является взаимодействие с базами данных. MySQL содержит API (Application programming interface) - набор готовых классов, функций, процедур, структур и констант, для использования во внешних программных продуктах, для языков Delphi, C, C++, PHP, Ruby, Smaltalk, Python, Лисп, Эйфель, Компонентный паскаль и Tcl, библиотеки для языков платформы .NET.

2. ОБЗОР СИСТЕМ РАСПОЗНАВАНИЯ

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

2.1 Системы технического зрения Omron

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

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

Основные преимущества системы Omron:

- высокое быстродействие- 3,6 мс;

- сравнение по всей площади;

- различные модели источников света;

- функция обучения;

- модели с RS232C и RS422;

Датчик F400 является более продвинутым решением в данной системе:

- недорогая цветная видео система;

- распознает цвет объекта, яркость и контраст цветовой гаммы;

- до 11 входов и 21 выходов (возможно PNP или NPN);

- функция обучения.

2.2 Система распознавания лиц VOCORD Face Control

Данная система предназначена для некооперативного распознавания лиц.

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

Система распознавания лиц VOCORD Face Control:

- Выделяет лица людей в видеопотоке;

- Сравнивает выделенные лица с лицами в эталонных базах и распознает их в реальном времени;

- Предупреждает оператора о совпадении;

- Сохраняет в архиве фотографии выделенных лиц;

- Позволяет вести поиск в архиве по базе сохраненных лиц;

- Распознает пол, возраст, считает частоту посещений и предоставляет отчеты.

2.3 Система распознавания текста ABBYY Fine Reader

ABBYY Fine Reader - программа оптического распознавания текста. Она позволяет быстро и точно конвертировать изображения документов и PDF - файлы в электронные редактируемые форматы (редактор Microsoft Word, таблицы Excel, PDF-документы с возможностью поиска и др).

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

В основе программы - технология оптического распознавания текста ABBYY OCR (Optical Character Recognition) и технология адаптивного распознавания документов ADRT (Adaptive Document Recognition Technology), позволяющие в точности воспроизводить документ в его электронной копии, включая структуру и форматирование.

2.4 Система распознавания AutoTRASSIR

AutoTRASSIR - система, предназначенная для автоматической идентификации номеров автотранспортных средств, попавших в поле зрения видеокамеры. Модуль распознает все шаблоны номерных знаков России, Украины, Белоруссии, Казахстана, Грузии и Тайваня с показателем до 99%. Фиксация номеров автотранспортных средств осуществляется одновременно для неограниченного количества автомобилей, на нескольких полосах движения, включая противоположно направленный трафик. Данная система позволяет отслеживать проезд интересующего автомобиля из архива на скриншотах и фрагментах видео. Имеются возможности ведения журнала, формирования отчетов, классифицирования распознанных номеров по группам, интеграция с приборами измерения скорости и комплексными системами безопасности, включающими СКУД и ОПС оборудование (шлагбаумы, ворота).

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

Основные преимущества AutoTRASSIR:

- распознавание номеров различных стран и определение направления движения;

- интеграция с различным оборудованием;

- высокое быстродействие и простота установки;

- ведение журнала проезда и формирование отчетов;

- поддержка множества видеокамер;

- работа под управлением масштабируемой открытой платформы;

- надежность, достигаемая TRASSIR OS на базе Linux.

3. МЕТОДЫ И СРЕДСТВА АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ

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

При проектировании данной программно-аппаратной платформы применялось CASE-средство «BPWin» - оно является средством функционального моделирования и реализует методологию IDEF[9].

IDEF - методология семейства ICAM (Integrated Computer-Aided Manufacturing), используется для решения задач моделирования сложных систем, дает возможность анализировать и отображать модели деятельности широкого спектра сложных систем в различных разрезах. При этом широта и глубина обследования необходимых процессов определяется разработчиком, это позволяет не перегружать создаваемую модель излишней информацией.

3.1 Контекстная диаграмма

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

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

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

- вход является потребляемой или изменяемой работой информацией;

- выход - это информация, которая производится работой;

- управление - это правила, процедуры, стандарты и стратегии, которыми руководствуется работа;

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

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

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

Рисунок 3.1 - Контекстная диаграмма программно-аппаратной платформы анализа бинарных образов объектов распознавания.

3.2 Диаграмма IDEF0

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

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

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

Рисунок 3.2 - Диаграмма декомпозиции первого уровня

3.3 Диаграмма IDEF3

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

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

На диаграмме, отображенной на рисунке ниже, представлен процесс анализа и обработки образа.

Рисунок 3.3 - Диаграмма IDEF3

4. АЛГОРИТМЫ И СТРУКТУРА ФУНКЦИОНИРОВАНИЯ ПРОГРАММНО - АППАРАТНОЙ ПЛАТФОРМЫ

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

4.1 Распознавание изображений

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

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

Для любого распознавания изображения необходимы эталоны или модели классов объектов распознавания. Классификация методов возможна по типам используемых эталонов или по способу представления объектов на входе системы распознавания. Большинство систем распознавания применяют растровый, структурный или признаковый методы[6].

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

Каждый пиксель бинарного изображения определяется значением 0 или 1. Классический способ распознавания объектов состоит из трёх частей:

- преобразование входного изображения в первоначальное представление (включает в себя предобработку и математические преобразования);

- выделение главных характеристик распознаваемого объекта;

- построение алгоритма классификации объекта.

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

4.2 Алгоритмы и методы, применяемые в программе

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

4.2.1 Нахождение границ объекта

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

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

Наиболее часто применяются методы сокращения избыточности. Они опираются на различные специфичные особенности зрительного восприятия изображений. Субъективное восприятие рассматриваемого изображения происходит через представление его в виде отдельных областей и выделение контурных линий. Контурные линии делят изображение на участки с различными свойствами, в счет этого выделение контуров может рассматривается как предварительная обработка, направленная на дальнейшее выполнение сегментации[6,7]. Препарат, образующийся в некоторых случаях, может самостоятельно использоваться для распознавания изображений, так как информация, содержащаяся в нем с позиции зрительного восприятия, вполне достаточна для решения многих задач.

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

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

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

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

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

4.2.2 Выявление признаков объектов

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

- периметр и площадь изображения;

- число и взаимное расположение углов;

- размеры вписанных простейших геометрических фигур

- моменты инерции изображений исследуемых объектов.

Важной особенностью множества геометрических признаков является инвариантность относительно разворота изображения объекта. Кроме того при нормировании геометрических признаков относительно друг друга достигается неизменность относительно масштаба изображения. [8].

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

; , (4.1)

где L - множество координат массива , относящихся к выбранному объекту.

Далее находим периметр изображения объекта «Р». Он вычисляется после нахождения границ объекта суммированием контурных точек изображения:

; , (4.2)

где - множество граничных контурных точек изображения объекта.

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

, либо (4.3)

(4.4)

где P - периметр изображения объекта,

A - площадь изображения объекта.

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

Более простой алгоритм, с практической точки зрения, является более предпочтительным. Он основывается на оценке расстояний между начальной и конечной точками части контура. К примеру, между частями контура с порядковыми номерами k - 2 и k + 2.

Абсциссой и ординатой контурных элементов являются x(k) и y(k). Решающее правило в таком случае будет выглядеть следующим образом:

, (4.5)

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

В случае выполнения условий, расчетная точка контура принадлежит множеству угловых точек L.

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

, (4.6)

, (4.7)

где - максимальное значение абсциссы,

- минимальное значение абсциссы,

- максимальное значение ординаты,

- минимальное значение ординаты.

Данный признак не инвариантен к развороту изображения объекта, то есть он может измениться.

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

В начале находят координаты геометрического центра изображения:

, (4.8)

(4.9)

где x и y - номера столбцов и строк пикселей , входящих в объект.

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

(4.10)

, (4.11)

, (4.12)

где x, y ? P (точки периметра).

Нормированный признак = инвариантен к масштабу изображения объекта.

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

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

В начале находятся координаты центра тяжести изображения объекта.

, (4.13)

. (4.14)

Далее находятся промежуточные моменты .

, (4.15)

, (4.16)

. (4.17)

В итоге вычисляются главные моменты.

(4.18)

где - главные искомые моменты инерции изображения объекта,

- моменты инерции относительно вертикальной и горизонтальной осей системы координат,

- смешанный момент.

4.2.3 Алгоритм хеширования MD5

MD5 (англ. Message Digest 5) - 128-битный алгоритм хеширования, разработанный профессором Рональдом Л. Ривестом из Массачусетского технологического института в 1991 году. Предназначен для создания «отпечатков» или дайджестов сообщений произвольной длины и последующей проверки их подлинности. Широко применятся для проверки целостности информации и хранения паролей в закрытом виде.

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

Для обработки MD5 получает некоторую строку (данные). Далее она преобразуется в последовательность из нулей и единиц. Это происходит следующим образом: у каждого символа есть свой номер, их можно записать в двоичной системе счисления, то есть получается, что каждый отдельный символ записывается как последовательность нулей и единиц.Воспользовавшись этим, получим из входящей строки последовательность нулей и единиц. Примем «q» за длину получившейся последовательности (ровно 64 бита). К данной последовательности приписывается 1, то есть ее длина увеличивается на 1. Затем к этой же последовательности приписываются нули, пока длина не станет по модулю 512 равна 448. Далее дописываются младшие 32 бита числа q, затем - старшие. После всех операций длина становится кратной 512. Полученную последовательность назовем «S». Для подсчета результата используются четыре двойных слова (32 бита). Эти слова инициализируются следующими шестнадцатеричными значениями, где первым следует самый младший байт:

A: 01 23 45 67

B: 89 ab cd ef

C: fe dc ba 98

D: 76 54 32 10

Кроме того для подсчета результата применяются следующие функции:

F(X,Y,Z) = XY v not(X) Z

G(X,Y,Z) = XZ v Y not(Z)

H(X,Y,Z) = X xor Y xor Z

I(X,Y,Z) = Y xor (X v not(Z))

где X,Y,Z - это двойные слова. Результаты функций, то же являются двойными словами. Для подсчета используется еще одна функция, обозначим ее «W». Она обрабатывает данные и возвращает результат. Обработка данных происходит с использованием функций F, G, H, I.

Рисунок 4.2 - Функция «W»

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

Просчет результата происходит по следующим принцмпам:

1. запоминаются первые 512 бит последовательности S;

2. удаляются первые 512 бит последовательности S;

3. вызывается функция W.

Параметры A,B,C,D являются текущими значениями соответствующих двойных слов. Параметр T - это запомненные 512 бит.

4. Суммируются результаты вычислений:

A=A+A0.

B=B+B0.

C=C+C0.

D=D+D0.

5. Если длина последовательности равна нулю, то выходим, в противном случае переходим к шагу 1.

После выполнения данного алгоритма A,B,C,D - это результат (его длина будет 128 бит). Так же результат MD5может быть записан как последовательность из 32 символов 0..f. Это означает, что результат записан не в двоичной системе счисления, а в шестнадцатеричной.

4.3 Построение общего алгоритма работы

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

- обработка и анализ образа исследуемого объекта;

- сравнение образа с загруженными эталонами;

- визуализация результатов обработки.

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

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

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

Данный подход решения задач обработки и анализа образов следует отнести к комплексному методу распознавания объектов, так как при анализе учитываются множество различных характеристик. Функциональная и структурная схемы представлены в приложениях на страницах 55 и 56 данной работы. Код программы представлен в приложении «Листинг программы», страница 57.

Рисунок 4.3 - Обобщенная блок-схема системы распознавания

5. НАДЕЖНОСТЬ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

5.1 Понятие надежности

Надежность программного обеспечения есть вероятность его работы без отказов в течение определенного периода времени, рассчитанная с учетом стоимости для пользователя каждого отказа[10].

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

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

Одним из параметров надежности является интенсивность отказов - количество отказов в единицу времени. Так же величина обратная интенсивности отказов - наработка на отказ, математическое ожидание времени между отказами.

Наиболее частыми причинами ошибок являются:

- большая сложность программного обеспечения, например, по сравнению с аппаратной частью;

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

Чаще всего ошибки в программном обеспечении случаются из - за:

- внутренних ошибок (ошибки проектирования, программирования, алгоритмизации, недостаток средств защиты, ошибки в документации);

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

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

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

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

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

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

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

5.2 Оценка надежности

При оценке надежности применяют три основные группы показателей: количественные, качественные и порядковые[11].

Количественными показателями надежности программного обеспечения являются:

- вероятность безотказной работы P(t) - это вероятность того, что в пределах заданной наработки или заданном интервале времени отказ объекта не возникает;

Наработкой называют продолжительность или объем работ. Вероятность безотказной работы в течение наработки t определяется статистической оценкой:

, (5.1)

где - число объектов, работающих исправно в интервале [0,t];

- число объектов в начале испытания.

Возьмем число объектов в начале испытания равное 50. Допустим, что за время работы равное 168 часов отказало 4 объектов, тогда:

.

- вероятность отказа - вероятность того, что в пределах заданной наработки возникнет хотя бы один отказ;

Данный параметр находится по формуле:

, (5.2)

.

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

, (5.3)

где - интервал времени;

- число отказов за интервал времени ;

- число объектов в начале испытания.

.

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

Находится по формуле:

, (5.4)

где - число отказов за интервал времени .

, (5.5)

.

где - число работающих исправно объектов в начале интервала времени ;

- число работающих исправно объектов в конце интервала времени .

.

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

, (5.6)

где n - число отказов в системе;

- время исправной работы системы между (i-1) и i - м отказами системы.

Допустим, за весь период наблюдения произошло 2 отказа системы. Перед началом наблюдения система проработала 72 часа, в конце наблюдения наработка составила 336 часов. Используя эти данные получим:

5.3 Модели надежности

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

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

Аналитические модели, в свою очередь, представлены двумя группами: динамические и статические модели. В динамических моделях поведение программ, появление отказов, рассматривается во времени. Статические модели появление отказов не связывают со временем, они рассматривают только зависимость количества ошибок от числа тестовых прогонов или от характеристики входных данных.

5.3.1 Модель Муса

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

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

Общее число отказов M0 взаимосвязано с первоначальным числом ошибок N0 , соотношением:

, (5.7)

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

Модель Муса предусматривает два вида времени:

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

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


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

  • Необходимость в системах распознавания символов. Виды сканеров и их характеристики. Оптимальное разрешение при сканировании. Программы распознавания текста. Получение электронного документа. FineReader - система оптического распознавания текстов.

    презентация [469,2 K], добавлен 15.03.2015

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

    дипломная работа [887,3 K], добавлен 26.11.2013

  • Ход и порядок работы с пакетом ABBYY FineReader 9.0 Professional Edition. Сохранение во внешние редакторы и форматы. Первая система с открытым ключом - система Диффи-Хеллмана. Одностороння функция с "лазейкой" и шифр RSA. Элементы теории чисел.

    курсовая работа [1,9 M], добавлен 23.03.2012

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

    курсовая работа [638,6 K], добавлен 18.09.2014

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

    курсовая работа [2,7 M], добавлен 15.08.2011

  • Понятие системы распознавания образов. Классификация систем распознавания. Разработка системы распознавания формы микрообъектов. Алгоритм для создания системы распознавания микрообъектов на кристаллограмме, особенности его реализации в программной среде.

    курсовая работа [16,2 M], добавлен 21.06.2014

  • Функции текстового редактора как программы для работы с текстом. Использование редактора MS Word в научной деятельности исследователя-ономаста. Технология распознавания текста и организация работы с программой FineReader. Системы распознавания речи.

    реферат [979,3 K], добавлен 16.10.2013

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

    курсовая работа [215,2 K], добавлен 19.10.2010

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

    курсовая работа [462,2 K], добавлен 15.01.2014

  • Представление о системе оптического распознавания ABBYY FineReader и настройках BIOS. Виды систем управления вводом информации. Современные и перспективные носители энергии, особенности биоэнергетики. Преимущества и недостатки Li-Ion-аккумуляторов.

    контрольная работа [274,1 K], добавлен 10.06.2010

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