Программа адаптации распределенной структуры гибридной информационной системы идентификации объектов

Анализ существующих систем и подходов, обзор предметной области решения. Система Macroscop. Комплекс "Интеллектуальное видеонаблюдение Kipod". Системы видеонаблюдения VOCORD. Разработка математической модели минимизации структуры. Интерфейс программы.

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

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

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

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

Содержание

Введение

1. Анализ существующих систем и подходов, обзор предметной области решения

1.1 Обзор топологий существующих систем анализа объектов

1.1.1 Система Macroscop

1.1.2 Комплекс «Интеллектуальное видеонаблюдение Kipod»

1.1.3 Системы видеонаблюдения VOCORD (Вокорд)

1.1.4 Комплекс «Интеллектуальное видеонаблюдение ITV»

1.2 Распределенная обработка информации

1.2.1 Свойства систем распределенной обработки информации

1.2.2 Структура распределенной системы

2. Разработка технических требований и постановка задач квалификационной

работы

2.1 Основные технические условия

2.2 Требования к программно-аппаратному комплексу

3. Разработка математической модели минимизации структуры

3.1 Структура программы

3.2 Описание и назначение модулей

3.3 Описание выбранного метода - алгоритм поиска кратчайших покрытий

4. Разработка программного обеспечения комплекса

4.1 Построение контекстной диаграммы

4.2 Разработка алгоритма минимизации структуры вычислительного комплекса

4.3 Интерфейс программы

4.4 Результат работы программы

5. Разработка и оформление документации

5.1 Программная реализация алгоритма минимизации

5.2 Руководство программиста

5.3 Тестирование программного обеспечения

Заключение

Список использованных источников

Приложение

Введение

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

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

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

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

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

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

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

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

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

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

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

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

- разработка и апробация работы программного комплекса.

1. Анализ существующих систем и подходов, обзор предметной области решения

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

1.1 Обзор топологий существующих систем анализа объектов

В качестве примеров комплексов видеообработки, можно отметить следующие:

1.1.1 Система Macroscop

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

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

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

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

Для увеличения функциональности системы видеонаблюдения к программе Macroscop подключаются интеллектуальные функции видеоанализа:

- «суперпоиск» -- интерактивный поиск и перехват объектов;

- трекинг -- отслеживание движущихся объектов;

- обнаружение лиц;

- распознавание лиц;

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

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

- подсчет посетителей;

- подсчет людей в скоплениях;

- подсчет людей в очереди;

- детектор оставленных предметов.

Типы лицензий программного обеспечения Macroscop:

Macroscop ML. Программное обеспечение для создания небольшой системы IP-видеонаблюдения, содержащей до 20 IP-камер. Позволяет построить систему, содержащую 1 сервер и 2 рабочих места мониторинга. Версия ML не поддерживает работу интеллектуальных модулей, но при необходимости может быть расширена до версий LS или ST.

Macroscop LS. Версия-конструктор для построения систем IP-видеонаблюдения, содержащих до 400 IP-камер. Позволяет объединить в единую систему до 5 серверов, до 10 рабочих мест мониторинга, и подключить по выбору интеллектуальные модули (подсчета посетителей, обнаружения лиц, интерактивного поиска и перехвата объектов, трекинга, распознавания лиц, распознавания автономеров, контроля кассовых операций, обработки аудиопотоков, управления PTZ). Все модули идут за дополнительную плату. При необходимости может быть расширена до версии ST.

Macroscop ST. Самая мощная и функциональная версия программного обеспечения Macroscop. Позволяет построить систему IP-видеонаблюдения, содержащую неограниченное количество IP-камер, неограниченное количество серверов и рабочих мест. В версию уже включены модули обнаружения лиц, интерактивного поиска и «перехвата» похожих объектов, трекинга. За дополнительную плату возможно подключение других интеллектуальных модулей: подсчета посетителей, распознавания лиц, распознавания автономеров, контроля кассовых операций, обработки аудиопотоков, управления PTZ [4].

1.1.2 Комплекс «Интеллектуальное видеонаблюдение Kipod»

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

Kipod является готовым решением для удаленного мониторинга распределенных объектов с минимальной нагрузкой на каналы связи. Интеллектуальная система видеонаблюдения (ИСВН) автоматически назначает приоритет распознанного события и передает сообщение на пульт охраны и мобильные устройства. При этом не требуется постоянная передача видео по каналам связи.

Открытая архитектура системы видеонаблюдения Kipod на основе веб- сервисов и широкий ассортимент модулей видеоаналитики позволяют системным интегратором создавать новые решения для таких отраслей, как безопасность, транспорт, ритейл, логистика, добыча и производство [5].

1.1.3 Системы видеонаблюдения VOCORD (Вокорд)

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

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

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

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

1) VOCORD Traffic. Программно-аппаратный комплекс контроля дорожного движения, оснащенный камерам высокого разрешения, радарами, импульсными инфракрасными прожекторами. Основная задача, которую выполняет система видеонаблюдения - безопасность дорожного движения, распознает номера автомобилей, фиксирует нарушения ПДД, среди которых: превышение скорости, проезд на запрещающий сигнал светофора, выезд на встречную полосу движения и другие. Система безопасности и видеонаблюдения автоматически формирует штрафы, передает данные в АИС ГИБДД, а также обладает рядом дополнительных интеллектуальных функций, таких как: анализ плотности потока, детектирование аварий и пробок, сбор статистики движения.

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

3) VOCORD FaceControl. Распознавание лиц в местах массового пребывания людей или в людском потоке, в метро, на вокзалах, аэропортах, - важнейшей задачей современной системы безопасности. Позволяет распознавать лица людей без сотрудничества человека с системой (некооперативный режим). Система может использовать неограниченное количество баз данных и формировать собственные на основе собранной информации о лицах людей. Кроме обеспечения общественной безопасности, выявления злоумышленников, как на основе имеющихся данных, так и потенциальных, систему активно применяют в качестве элемента системы контроля и управления доступом (СКУД). Особенно удобно ее использовать на проходных крупных предприятий с большим потоком сотрудников.

4) VOCORD FaceControl 3D. Инновационная система распознавания лиц, которая обладает непревзойденной точностью распознавания лиц. Распознавание лиц в VOCORD FaceControl 3D устойчиво к таким негативным факторам, как: макияж, очки, борода и тому подобное. 3D-макеты лиц, используемые системой для распознавания, строятся в реальном времени (0, 5 до 0, 7 секунд), что позволяет использовать оборудование в местах с большой проходимостью.

Системы VOCORD - это законченные решения, все аппаратные и программные части которых созданы одним производителем. Разработка, программирование и проектирование ведется в московском офисе, а производство размещено на нескольких площадках. Единая аппаратно-программная платформа и использование открытых IT-стандартов позволяют легко внедрять, поддерживать и развивать системы [6].

1.1.4 Комплекс «Интеллектуальное видеонаблюдение ITV»

Компания ITV | AxxonSoft - это российский разработчик программного обеспечения для систем безопасности и видеонаблюдения.

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

Функции видеоаналитики программного комплекса «Интеллект»:

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

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

- кроме собственных функций видеоаналитики, «Интеллект» поддерживает встроенные видеодетекторы IP-камер, но и может работать со специализированными устройствами видеоаналитики [7].

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

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

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

1.2 Распределенная обработка информации

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

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

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

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

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

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

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

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

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

- совместная работа, при ней программой компьютерам отводятся роли, дополняющие друг друга.

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

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

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

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

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

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

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

1.2.1 Свойства систем распределенной обработки информации

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

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

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

Международная организация стандартизации ISO (International Standardization Organization) задает восемь «типов прозрачности», обеспечиваемых распределенной системой в своей «эталонной модели распределенной обработки информации в открытой системе». Это следующие типы:

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

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

3) прозрачность сбоев (failure transparency). Этот тип прозрачности является методом гарантирования отказоустойчивости распределенных систем. Например, случай, когда перестает функционировать какой-то из ресурсов или компьютер сети, для пользователя сети отражается только в некотором снижении быстродействия. Такая прозрачность обыкновенно обеспечивается посредством репликации (replication) ресурсов, либо путем фиксации состояния системы для создания некоторых контрольных точек, до которых в случае неполадки можно систему восстановить. Для репликации система производит дублирование ресурсов, которые обеспечивают одни и те же функции. При этом в случае, когда из всех дубликатов, сохранит работоспособность хотя бы один, сама система бесперебойно продолжит свое функционирование. В случае применения контрольных точек, система регулярно осуществляет сохранение сведений о состоянии критически важных объектов, например, процессов, используя которые можно будет их восстановить до работоспособного состояния, в ситуации возникновения сбоев в распределенной системе, ведущих к потере этих объектов;

4) прозрачность репликации (replication transparency), предоставляющая возможность «спрятать» от глаз пользователя факт сосуществования дубликатов какого-либо ресурса, существующего в системе. В подобной системе взаимодействие с набором ресурсов, подвергнутых репликации, производится так, как если бы существовал один единственный из них;

5) прозрачность постоянства (persistence transparency), данный тип служит обеспечению невидимости для пользователя сведений о месте размещения ресурса, например, в оперативной памяти или на дисковом накопитееле;

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

7) прозрачность миграции (migration transparency);

8) прозрачность изменения местоположения (relocation transparency).

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

Открытость - свойство стандартизации доступа к ресурсам системы.

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

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

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

- ни у кого нет полной информации о системе;

- все решения основываются на основе локальной информации;

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

- не требуется существование единого времени.

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

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

1.2.2 Структура распределенной системы

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

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

Распределенная система представляет собой некоторое количество независимых компьютеров, с точки зрения пользователя представляющихся целостной объединенной системой [10].

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

Данный уровень называется уровнем системной поддержки или службой промежуточного уровня (middleware). Схема распределенной системы представлена на рисунке 1.1.

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

Рисунок 1.1 - Распределенная система

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

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

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

Еще одним примером служит служба World Wide Web(WWW). Web предоставляет простой, целостный единообразный стандарт распределенных документов. Для того, чтобы отобразить на экране документ, пользователь должен лишь нажать на ссылку. Вслед за этим документ появляется на мониторе. Самому пользователю нет нужды знать, с какого сервера происходит доставка документа, достаточно лишь информации о том, где он расположен. Публикация документа также крайне проста: достаточно задать ему уникальное имя соответствующее форме унифицированного указателя ресурса (Uniform Resource Locator, URL), который ссылается на локальный файл содержащим нужные данные. Если бы World Wide Web представлялась своим пользователям огромной централизованной системой документооборота, то она также могла бы считаться распределенной системой. Очевидно, что документы физически хранятся в различных местах и распределены на разных серверах.

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

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

видеонаблюдение математический программа интерфейс

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

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

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

Прикладное программное обеспечение (ПО) можно рассматривать, как соединение трех элементов, называемых слоями (уровнями):

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

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

3) слой (уровень) логики доступа к данным, или слой управления ресурсами.

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

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

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

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

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

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

2.1 Основные технические условия

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

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

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

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

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

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

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

Рисунок 2.1. Структура распределенного децентрализованного комплекса

2.2 Требования к программному комплексу

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

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

Рисунок 2.2 - Схема адаптивной системы управления информацией в составе информационно-измерительного комплекса

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

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

Узлы осуществляют преобразование сигналов датчиков и формируют потоковый контент, например, видеопоток, в реальном времени, передаваемый по информационным каналам. Такие узлы могут быть географически разнесены на значительные расстояния. Однако с использованием коммуникационных средств связи, например, локальной сети или Интернет, данные стекаются в адаптивную систему управления потоковой информацией (АдСУПИ) [13]. Эта система осуществляет окончательное преобразование массивов данных, их анализ и может содержать блок функций экспертной системы, чтобы осуществлять поддержку принятия решений, например, для задач технической диагностики.

Рисунок 2.3 - Схема адаптивной системы сбора и анализа информации

3. Разработка математической модели минимизации структуры

3.1 Структура программы

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

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

Рисунок 3.1 - Функциональная структура программы

3.2 Описание и назначение модулей

Описание и назначение модулей программы представлено в таблице 3.1.

Таблица 3.1 - Описание модулей программы

Модули

Название модуля

Назначение модуля

Модуль А1

Модуль ввода параметров матрицы

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

Модуль А2

Модуль минимизации

Модуль, в котором происходят основные процессы минимизации

Модуль А3

Модуль вывода результатов

Служит для вывода итоговых результатов обработки

3.3 Описание выбранного метода - алгоритм поиска кратчайших покрытий

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

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

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

Говорят, что i-я строка покрывает j-й столбец, если на их пересечении стоит единица, то есть =1. Причем каждая строка обязательно покрывает некоторое подмножество столбцов, а каждый столбец покрывается хотя бы одной строкой.

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

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

Покрытие, содержащее минимальное число строк (столбцов) матрицы B, называется кратчайшим покрытием матрицы B:

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

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

3. все столбцы, покрываемые этой строкой, из матрицы удаляем.

Действия продолжаем до тех пор, пока не удалится вся матрица. Кратчайшее строчное покрытие матрицы В:

1. столбец 6 содержит минимальное число единиц - 1;

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

3. удаляются столбцы 3, 5, 6.

Рисунок 3.2 - Матрица B отношения

Получаем матрицу:

Рисунок 3.3 - Матрица B отношения

Затем выполним с матрицей В аналогичные действия:

1. столбец 1 (крайний слева) содержит только две единицы;

2. строка д, покрывающая этот столбец, покрывает два столбца, строку заносим в покрытие и удаляем из матрицы;

3. удаляем столбцы 1 и 2;

4. остается лишь один столбец матрицы - 4;

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

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

Алгоритм определения столбцового покрытия методом Патрика:

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

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

3. все строки, покрываемые полученным столбцом, удаляем.

Эти операции повторяются, покуда не окажется удаленной вся матрица. Результатом получаем {3, 4} - столбцовое покрытие рассматриваемой матрицы.

4. Разработка программного обеспечения комплекса

4.1 Построение контекстной диаграммы

Для визуализации требований к информационной системе зачастую используется графическое моделирование. Разработка модели производилась с использованием программы ALLFusiona Process Modeler (Computer Associates BPwin), в нотациях IDEF0 (SADT - Structured Analysis and Design Technique) и IDEF3. Визуальное представление дополнено текстовым описанием.

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

IDEF0 основывается на трех базовых принципах:

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

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

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

Контекстная диаграмма представлена на рисунке 4.1.

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

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

Процесс проектирования комплекса, представлен на рисунке 4.2, состоит из трех этапов:

1. выделение объекта;

2. выбор сервера для обработки;

3. представление обработанной информации.

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

Этап «Выбор сервера для обработки», представлен на рисунке 4.3, разбивается на четыре функциональных блока:

1. информация поступает на обработку;

2. выбор сервера;

3. анализ степени загруженности сервера;

4. сервер удовлетворяет требованиям.

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

4.2 Разработка алгоритма программного обеспечения минимизации структуры вычислительного комплекса

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

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

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

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


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

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