Создание программного обеспечения регистрирующего и контролирующего системой fаce control

Создание программного обеспечения для распознавания и анализа лица человека с использованием системы face control. Разработка структуры и алгоритма работы адаптивного децентрализованного комплекса визуального определения объектов и их перемещения.

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

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

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

3.3 Математическая модель задачи

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

Просмотр таблицы маршрутизации происходит в три этапа:

- ищется соответствие адреса, записанного в IP-пакете, адресу места назначения в маршрутной таблице. В случае успеха пакет посылается соответствующему IP-маршрутизатору или непосредственно хост-ЭВМ. Связи “точка-точка” выявляются именно на этом этапе;

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

- ищется маршрут «по умолчанию», если таковой предусмотрен; дейтаграмма посылается в соответствующий маршрутизатор.

Существуют статические и динамические алгоритмы обновления таблицы.

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

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

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

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

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

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

Алгоритм Беллмана-Форда

Алгоритм Беллмана-Форда позволяет решить задачу о кратчайшем пути из одной вершины в общем случае, когда вес каждого из ребер может быть отрицательным. Для заданного взвешенного ориентированного графа G = (V, Е) с истоком s и весовой функцией w: Е -» R алгоритм Беллмана-Форда возвращает логическое значение, указывающее на то, содержится ли в графе цикл с отрицательным весом, достижимый из истока. Если такой цикл существует, в алгоритме указывается, что решения не существует. Если же таких циклов нет, алгоритм выдает кратчайшие пути и их вес.

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

Значение TRUE возвращается алгоритмом тогда и только тогда, когда граф не содержит циклов с отрицательным весом, достижимых из истока.

Формальное описание:

Bellman_Ford(G, w, s)

1. Initialize_Single_Source(G, s)

2. for i «- l to |V[G]|-1

3. do for (для) каждого ребра (u, v) є E[G]

4. do RELAX(u,v,w)

5. for (для) каждого ребра (u, v) є E[G]

6. do if d[v] > d[u] + w(u, v)

7. then return FALSE

8. return TRUE

После инициализации в строке 1 всех значений d и prev, алгоритм осуществляет |V| - 1 проходов по ребрам графа. Каждый проход соответствует одной итерации цикла for в строках 2-4 и состоит из однократного ослабления каждого ребра графа. После |V| - 1 проходов в строках 5-8 проверяется наличие цикла с отрицательным весом и возвращается соответствующее булево значение.

Алгоритм Беллмана-Форда завершает свою работу в течение времени O(V*E), поскольку инициализация в строке 1 занимает время O(V), на каждый из |V| - 1 проходов по ребрам в строках 2-4 требуется время в O(E), а на выполнение цикла for в строках 5-7 - время O(Е).

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

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

На основе полученной таблицы строится новый вектор длин кратчайших маршрутов - алгоритм Беллмана-Форда (DV - алгоритм Distance Vector).

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

программный адаптивный визуальный face control

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

Алгоритм, нахождения кратчайшего пути графа позволяет программно реализовать процедуры определения оптимальной (в указанном смысле) топологии информационной взаимосвязи видеосерверов - обработчиков видеоконтента. И тем самым, оптимизировать использование вычислительных ресурсов общей распределенной сети видеоанализа объектов, их сцен и ситуаций посредством поиска покрытий получаемой сети. В качестве средства программирования выбрана интегрированная среда разработки Borland Delphi 7. в операционной системе Windows 7 Pro SP1. Скомпилированная и отлаженная программа (road.exe) с аппаратно системными требованиями Pentium-4 ~2.3 Gh.

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

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

Рисунок 3.4 - Меню программы и задание параметров построения графа

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

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

Если построен граф А, представленный на рисунке 3.5, и выбрана начальная вершина R1 и конечная R8:

Рисунок 3.5 - Граф А

Тогда кратчайший путь будет выведен в результате, представленный на рисунке 3.6:

Рисунок 3.6 - Кратчайший путь от вершины R1 до R8 в графе А

Разработанная на языке программирования Delphi в среде программирования Borland Delphi 7 и апробированная на ряде контрольных примеров программа позволяет находить кратчайшие покрытия графов, в том числе с большим количеством вершин методом Беллмана-Форда.

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

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

Вывод

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

Глава 4. Безопасность жизнедеятельности

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

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

СОТ позволяет значительно повысить эффективность охраны на объекте и сократить время принятия решения при возникновении внештатной ситуации.

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

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

4.1 Проектирование мер безопасности при эксплуатации систем видеонаблюдения

Меры предосторожности:

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

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

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

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

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

- не создавайте короткого замыкания у сетевых адаптеров, это приведет к выходу их из строя;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Расчет мер безопасности (защитное заземление)

Заземление следует выполнять:

а) при напряжениях переменного тока 380В и выше и постоянного тока 440В и выше во всех электроустановках;

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

в) при любом напряжении переменного тока и постоянного тока во взрывоопасных установках;

Заземлители могут быть использованы как естественные, так и искусственные. Причём, если естественные заземлители имеют сопротивление растеканию, удовлетворяющие требованиям ПУЭ, то устройство искусственным заземлителями не требуется.

В качестве естественных заземлителей могут быть использованы:

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

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

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

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

Стержни длиной 2,5...3м погружаются (забиваются) в грунт вертикально в специально подготовленной траншее.

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

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

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

Uпр = Uз

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

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

Рисунок 4.1 - Схема выносного заземления: 1 - заземляемое оборудование; 2 - заземлители

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

Uпр = Uз - ?осн ,

где ?осн - потенциал земли

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

Рисунок 4.2 - Схема контурного заземления

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

Uпр ? U пр.д.д.

Uш ? U ш.д.д.

В ПУЭ нормируются сопротивления заземления в зависимости от напряжения электроустановок.

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

В электроустановках Uпр>1000 В с током замыкания Jз<500А допускается сопротивление заземления Rз? 250/ Jз , но не более 10 Ом.

Если заземляющее устройство используется одновременно для электроустановок напряжением до 1000 В и выше 1000 В, то Rз? 125/ Jз но не выше нормы электроустановки (4 или 10Ом). В электроустановках с токами замыкания Jз> 500 A, Rз ? 0,5 Ом.

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

Таблица 4.3

Исходные данные

Показатель

Значение

Вид заземления

выносное

Длина заземлителя l, м

2,7

Глубина заложения заземлителя в грунт h, м

0,65

Коэффициент сезонности Kc

2,0

Удельное сопротивление грунта с, Ом•м

70

Диаметр заземлителя d, м

55

Ширина соединительное полосы b, м

50

Допускаемое сопротивление системы заземления по ПУЭ RЭ.Н., Ом

4

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

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

Определяем значение электрического сопротивления растеканию тока в землю с одиночного заземлителя

где - удельное сопротивление грунта,

- коэффициент сезонности,

- длина заземлителя,

- диаметр заземлителя,

- расстояние от поверхности грунта до середины заземлителя.

Рассчитываем число заземлителей без учета взаимных помех, оказываемых заземлителями друг на друга, так называемого явления взаимного “экранирования”

? 10

Рассчитываем число заземлителей с учетом коэффициента экранирования

? 18

где - коэффициент экранирования.

Принимаем расстояние между заземлителями

Определяем длину соединительной полосы

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

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

где = 0.51 - коэффициент экранирования полосы

4.2 Система видеонаблюдения в условиях ЧС

Данная система будет полезна в условиях чрезвычайных ситуаций для оценки положения и разрушений (если таковые имеются). Она же поможет избежать случаев мародёрства и иных противозаконных действий

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

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

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

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

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

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

- обеспечение безопасности жизнедеятельности людей.

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

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

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

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

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

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

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

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

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

1. Официальный сайт компании DSSL.

2. Буков В.Н. Вложение систем. Аналитический подход к анализу и синтезу матричных систем / В.Н. Буков. - Издательство научной литературы Н.Ф. Бочкаревой, 2006.- 800 с.

3. Инженерно-техническая укрепленность. Технические средства охраны. Требования и нормы проектирования (РД 78.36.003-2002). - М., 2002.- 433с.

4. Системы технического зрения / А.Н. Писаревский, А.Ф. Чернявский, Г.К. Афанасьев [и др.]; под ред. А.Н. Писаревский. - СПб.: Машиностроение, 2008.- 424 с.

5. Очин Е.Ф. Вычислительные системы обработки изображений / Е.Ф. Очин. - СПб.: Энергоатомиздат, 2009.- 136 с.

6. Мороз В.А. Трансформирование снимков / В.А. Мороз, Л.И. Яблонский. - М.: Недра, 1991.-244 с.

7. Терехов C.A. Нейронные сети и их приложения / С.А. Терехов. - М.: alife, 2006.-49 с.

8. Старовойтов В.В. Модель Распознавание человека по изображению объектов и нейросетевые методы / В.В. Старовойтов. - М.: neuroface, 2007.- 342 с.

9. Котов И.И. Алгоритмы машинной графики / И.И. Котов, B.C. Полозов, Л.В. Широкова. - М.: Машиностроение, 2007.- 231 с.

10. Гриб С.М. Модель мышления / С.М. Гриб. - М.: neural, 2003.- 175с.

11. Официальный сайт компании ISS

12. Скороходов А.П. «Face-Интеллект» - идентификация личности по изображению / А.П. Скороходов. - М.: ITV, 2006.- 75 с.

13. Маклаков С.В. BPWin и ERWin. CASE-средства разработки информационных систем. / С.В. Маклаков - М.: Диалог МИФИ, 1999. - 255с.

14. Справочник по СКУД

15. Справочник по энергобезопасности

16. Инструкция по охране труда для операторов ПК

17. Маньков В.Д. Защитное заземление и зануление электроустановок: Справочник. / В.Д. Мньков, С.Ф. Заграничный. - СПб.: Политехника, 2005.- 266 с.

ПРИЛОЖЕНИЕ A

Алгоритмы модулей распознавания объектов

А.1 Алгоритм модуля выделения объектов

Модуль выделения объектов - первый модуль, который должен выполняться при начале работы комплекса. Его блок-схема представлена на рис А.1.

Сначала перехватывается опорный кадр (первый кадр в видеопотоке), на котором отсутствуют появившиеся объекты. Их изображение преобразуется в полутоновое по следующему алгоритму: цветность изображения каждой точки отражают значения RGB. С помощью функций getrvalue, getbvalue и getgvalue для каждой точки изображения определяются красная (red), синяя (blue) и зеленая (green) составляющая соответственно, находится среднее значение этих трех величин и значение каждой цветовой составляющей изменяется на полученное среднее.

Преобразование изображения в полутоновое необходимо для более точного выделения объекта и для минимизации проявления возможных помех. Через определенный промежуток времени t по таймеру перехватывается второй кадр, который так же преобразуется в полутоновое изображение. Полутоновое изображение характеризуется одной компонентой на каждый пиксель изображения, отражающей градации серого цвета. Значение компоненты каждой точки полученного кадра сравниваются со значением компоненты соответствующей точки на опорном кадре. Если значения совпадают или отличаются совсем незначительно, то точка с данными координатами закрашивается белым, иначе точка остается неизменной. Для более точного выделения объектов на кадре после сравнения с опорным изображение необходимо очистить от шумов, т.е. отдельно расположенных точек. Эти точки так же закрашиваются белым. Процедура выделения объектов связана с обработкой большого объема данных, поэтому данная процедура выполняется четырьмя параллельно запущенными процессами для того чтобы гарантировать выполнение операций в реальном времени без задержки вывода информации о появившемся объекте, как показывает блок-схема на рисунке А.1.

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

Рисунок А.1 - Блок-схема функционирования модуля выделения объектов

А.2 Алгоритм модуля выделения контура объектов

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

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

А.З Алгоритм модуля выделения контура

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

Координаты записываются в линейные массивы «KontX» и «KontY». В массив «KontX» записывается координата по оси X, в массив «KontY» координата по Y. По значениям, хранящимся в этих массивах, рассчитываются геометрические признаки распознаваемого объектов, а по координатам формируется контур объектов. Данный алгоритм представлен на рисунке А.2.

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

Рисунок А.2 - Блок-схема модуля выделения контуров объектов

А.3 Алгоритм модуля выделения элементов объектов

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

Выделение элементов объектов происходит по алгоритму, в котором изображение сканируется по строкам, в каждой строке выделяются отрезки, по цвету отличные от белого; если точка не белая, а слева точка белая, то эта точка является началом отрезка, её координаты записываются в линейные массивы х1 и yl; если точка не белая и точка справа белая, то эта точка является концом отрезка, её координаты записываются в линейные массивы х2 и у2; для каждого найденного отрезка находятся координаты его середины; точки с координатами середин отрезков образуют элементы объектов. Данный алгоритм, на рисунке А.3 позволяет выделить так называемые средние линии частей элементов объектов, что является достаточным для расчетов, производимых системой.

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

Рисунок А.З - Блок-схема модуля выделения элементов объектов

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

В процессе работы программы измеряются абсолютные характеристики объекта: высота; ширина; площадь; периметр.

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

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

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

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

Рисунок А.4 - Блок-схема функционирования модуля распознавания объектов

ПРИЛОЖЕНИЕ Б

Б.1 Листинг программы поиска кратчайшего пути по алгоритму Беллмана-Форда

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Buttons, ExtCtrls, StdCtrls, XPMan, Menus;

type

TForm1 = class(TForm)

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

SpeedButton3: TSpeedButton;

SpeedButton4: TSpeedButton;

SpeedButton5: TSpeedButton;

SpeedButton6: TSpeedButton;

Memo1: TMemo;

Label1: TLabel;

Label3: TLabel;

Edit2: TEdit;

Edit3: TEdit;

Label4: TLabel;

XPManifest1: TXPManifest;

Image: TImage;

Label5: TLabel;

SpeedButton7: TSpeedButton;

procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y:

Integer);

procedure SpeedButton1Click(Sender: TObject);

procedure ImageMouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure ImageMouseMove(Sender: TObject; Shift: TShiftState; X, Y:

Integer);

procedure ImageMouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure SpeedButton2Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure SpeedButton3Click(Sender: TObject);

procedure SpeedButton4Click(Sender: TObject);

procedure SpeedButton5Click(Sender: TObject);

procedure SpeedButton6Click(Sender: TObject);

procedure Quitter1Click(Sender: TObject);

procedure APropos2Click(Sender: TObject);

procedure FormCenter;

procedure SpeedButton7Click(Sender: TObject);

private

Drawing: Boolean;

Origin, MovePt: TPoint;

DrawingTool: byte;

{Private declarations}

public

procedure DrawShape(TopLeft, BottomRight: TPoint; AMode: TPenMode);

{Public declarations}

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

uses disktrat, Unit2;

const max = 30;

type Vertek = record

posx,posy: Integer;

end;

AVertek = Array [1..max] of Vertek;

var count: byte;

awal,akhir: byte;

Node: AVertek;

bool_awal,bool_akhir: Boolean;

node1,node2: byte;

Data: TJarak;

Closed: TPath;

procedure TForm1.DrawShape(TopLeft, BottomRight: TPoint; AMode:

TPenMode);

begin

with Image.Canvas do

begin

Pen.Mode:= AMode;

case DrawingTool of

2: {LINE}

begin

Image.Canvas.MoveTo(TopLeft.X, TopLeft.Y);

Image.Canvas.LineTo(BottomRight.X, BottomRight.Y);

end;

end;

end;

end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState;

X, Y: Integer);

begin

if Drawing then

begin

DrawShape(Origin, MovePt, pmNotXor);

MovePt:= Point(X, Y);

DrawShape(Origin, MovePt, pmNotXor);

end;

end;

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin

Drawingtool:= 1;

Image.Canvas.Pen.Mode:= pmcopy;

end;

procedure TForm1.ImageMouseUp(Sender: TObject; Button:

TMouseButton;

Shift: TShiftState; X, Y: Integer);

var XX,YY,i: byte;

begin

if Drawing then

begin

DrawShape(Origin, MovePt, pmNotXor); //afficher;

if drawingtool=2 then

begin

bool_akhir:= False;

for i:= 1 to count do

if (X>Node[i].posX-10) and (Y>Node[i].posY-10) and

(X<Node[i].posX+10) and (Y<Node[i].posY+10) then

begin

bool_akhir:= True;

node2:= i;

break;

end;

if (node1<>0) and (node2<>0) and bool_awal and bool_akhir then

begin

DrawShape(Point(Node[node1].posx,Node[node1].posy),

Point(Node[node2].posx,Node[node2].posy), pmCopy);

Data[node1,node2]:=round(sqrt(sqr(abs(Node[node2].posy-

Node[node1].posy)/9) + sqr(abs(Node[node2].posx-Node[node1].posx)/9)));

Data[node2,node1]:= Data[node1,node2];

XX:= Node[node1].posx;

YY:= Node[node1].posy;

XX:= Node[node2].posx;

YY:= Node[node2].posy;

end;

end; //if

Drawing:= False;

if drawingtool=1 then

begin

count:= count + 1;

with Node[count] do

begin

posx:= x;

posy:= y;

end;

with Image.Canvas do

begin

Image.Canvas.Pen.Mode:= pmcopy;

Ellipse(X-15,Y-15,X+15,Y+15);

if count div 10 > 0 then

Textout(x-12,y-6,'R'+IntToStr(count))

else

Textout(x-5,y-6,'R'+IntToStr(count));

end;

end;

end;

end;

procedure TForm1.ImageMouseMove(Sender: TObject; Shift: TShiftState;

X, Y: Integer);

begin

if Drawing then

begin

DrawShape(Origin, MovePt, pmNotXor);

MovePt:= Point(X, Y);

DrawShape(Origin, MovePt, pmNotXor);

end;

end;

procedure TForm1.ImageMouseDown(Sender: TObject; Button:

TMouseButton;

Shift: TShiftState; X, Y: Integer);

var i: byte;

begin

Drawing:= True;

Image.Canvas.MoveTo(X, Y);

Origin:= Point(X, Y);

MovePt:= Origin;

if drawingtool=2 then

begin

bool_awal:= False;

for i:= 1 to count do

if (X>Node[i].posX-10) and (Y>Node[i].posY-10) and

(X<Node[i].posX+10) and (Y<Node[i].posY+10) then

begin

bool_awal:= True;

node1:= i;

break;

end;

end

else

if drawingtool in [3,4] then

begin

for i:= 1 to count do

if (X>Node[i].posX-10) and (Y>Node[i].posY-10) and

(X<Node[i].posX+10) and (Y<Node[i].posY+10) then

begin

case drawingtool of

3: begin

awal:= i;

edit2.Text:= IntToStr(i);

end;

4: begin

akhir:= i;

edit3.Text:= IntToStr(i);

end;

end; //case

break;

end; //if

end;

end;

procedure TForm1.SpeedButton2Click(Sender: TObject);

begin

Drawingtool:= 2;

end;

procedure TForm1.FormCreate(Sender: TObject);

var

Bitmap: TBitmap;

xx,yy: byte;

begin

Form1.Left:= Screen.Width div 2 - Width div 2;

Form1.Top:= Screen.Height div 2 - Height div 2;

{ Application de la fonction: AnimateWindow }

AnimateWindow(Handle, 500{Vitesse}, AW_CENTER);

Show;

DoubleBuffered:= True;

Bitmap:= nil;

try

Bitmap:= TBitmap.Create;

Bitmap.Width:= 350;

Bitmap.Height:= 300;

Image.Picture.Graphic:= Bitmap;

finally

Bitmap.Free;

end;

Memo1.Clear;

Drawingtool:= 1;

count:= 0;

awal:= 0;

akhir:= 0;

edit2.Text:= '';

edit3.Text:= '';

for xx:= 1 to max do

for yy:= 1 to max do

begin

if xx=yy then

Data[xx,yy]:= 0

else

Data[xx,yy]:= 999;

end;

end;

procedure TForm1.SpeedButton3Click(Sender: TObject);

begin

Drawingtool:= 3;

end;

procedure TForm1.SpeedButton4Click(Sender: TObject);

begin

Drawingtool:= 4;

end;

procedure TForm1.SpeedButton5Click(Sender: TObject);

var i: byte;

XX,YY: byte;

begin

memo1.Clear;

Drawingtool:= 2;

RuteTerpendek(Data,Closed,awal,akhir,count);

if (awal<>0) and (akhir<>0) and (closed.jarak<>0) and (closed.jarak<>999)

then

begin

Drawing:= True;

for i:= 1 to closed.nodeke-1 do

begin

memo1.Text:= memo1.Text + IntToStr(closed.arraypath[i]) + '-';

image.Canvas.Pen.Color:= clred;

DrawShape(Point(Node[closed.arraypath[i]].posx,Node[closed.arraypath[i]].

posy),

Point(Node[closed.arraypath[i+1]].posx,Node[closed.arraypath[i+1]].posy),

pmCopy);

XX:= Node[closed.arraypath[i]].posx;

YY:= Node[closed.arraypath[i]].posy;

with Image.Canvas do

begin

Image.Canvas.Pen.Mode:= pmcopy;

Ellipse(XX-15,YY-15,XX+15,YY+15);

if node2 div 10 > 0 then

Textout(xX-12,Yy-6,'R'+IntToStr(closed.arraypath[i]))

else

Textout(Xx-5,Yy-6,'R'+IntToStr(closed.arraypath[i]));

end;

end;

XX:= Node[closed.arraypath[closed.nodeke]].posx;

YY:= Node[closed.arraypath[closed.nodeke]].posy;

with Image.Canvas do

begin

Image.Canvas.Pen.Mode:= pmcopy;

Ellipse(XX-15,YY-15,XX+15,YY+15);

if closed.nodeke div 10 > 0 then

Textout(xX-12,Yy-6,'R'+IntToStr(closed.arraypath[closed.nodeke]))

else

Textout(Xx-5,Yy-6,'R'+IntToStr(closed.arraypath[closed.nodeke]));

end;

image.Canvas.Pen.Color:= clblack;

memo1.Text:= memo1.Text + IntToStr(closed.arraypath[closed.nodeke]);

Drawing:= False;

end

else

begin

memo1.Text:= 'iln''ya pas de connections';

end;

Drawingtool:= 5;

end;

procedure TForm1.SpeedButton6Click(Sender: TObject);

begin

Drawingtool:= 6;

FormCreate(Sender);

SpeedButton1Click(Sender);

//edit1.Clear;

end;

procedure TForm1.Quitter1Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.FormCenter;

begin

with Form2 do begin

Left:= Screen.Width div 2 - Width div 2;

Top:= Screen.Height div 2 - Height div 2;

end;

end;

procedure TForm1.APropos2Click(Sender: TObject);

begin

with Form2 do begin

Form2:= TForm2.Create(Application);

{Centre la fiche}

FormCenter;

{Application de la fonction: AnimateWindow}

AnimateWindow(Handle, 250{Vitesse}, AW_CENTER);

Show;

end;

end;

procedure TForm1.SpeedButton7Click(Sender: TObject);

begin

Form1.Close;

Form2.Close;

end;

end.

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,

Dialogs, Buttons, ExtCtrls, StdCtrls;

type

TForm2 = class(TForm)

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

Label8: TLabel;

Label1: TLabel;

procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

private

{Dйclarations privйes}

public

{Dйclarations publiques}

end;

var

Form2: TForm2;

implementation

{$R *.DFM}

uses disktrat, Unit1;

procedure TForm2.SpeedButton1Click(Sender: TObject);

begin

Form1.Show;

end;

procedure TForm2.SpeedButton2Click(Sender: TObject);

begin

Application.Terminate;

end;

end.

Размещено на Allbest.ru


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

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