Программно-аппаратный комплекс для анализа видеоизображения и управления видеокамерой
Обзор основных понятий компьютерного зрения. Основные алгоритмы детектирования объектов, движений в видеопотоке. Оборудование и аппаратная реализация. Разработка алгоритма детектирования лица. Модель принятия решений для управления движением камеры.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | магистерская работа |
Язык | русский |
Дата добавления | 21.09.2019 |
Размер файла | 3,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
САНКТ-ПЕТЕРБУРГСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ПЕТРА ВЕЛИКОГО
ИНСТИТУТ КОМПЬЮТЕРНЫХ НАУК И ТЕХНОЛОГИЙ
Кафедра «Системный анализ и управление»
ДИССЕРТАЦИЯ
на соискание степени МАГИСТРА
Тема: Программно-аппаратный комплекс для анализа видеоизображения и управления видеокамерой
Направление: 09.04.02 - Информационные системы и технологии
Магистерская программа: 09.04.02.04
«Системный анализ и оптимизация информационных систем и технологий»
Выполнил
студент гр. 63502/11
Ахметзянова Р.Р.
Руководитель, к.т.н., доцент
Хлопин С.В.
Санкт-Петербург
2016
Реферат
c.82 ,рис.21, таб.4 , черт.0.
Ключевые слова: КОМПЬЮТЕРНОЕ ЗРЕНИЕ, ДЕТЕКТОР ДВИЖЕНИЯ, УПРАВЛЕНИЕ, АНАЛИЗ ВИДЕОИЗОБРАЖЕНИЯ, ТРЕКИНГ, РАСПОЗНАВАНИЕ ОБРАЗОВ, OPENCV, ПОСЛЕДОВАТЕЛЬЕЫЙ ПОРТ ПЕРЕДАЧИ ДАННЫХ, АЛГОРИТМ ДЕТЕКТИРОВАНИЯ ЛИЦ, ОПТИЧЕСКИЙ ПОТОК, АЛГОРИТМ ВИОЛЫ-ДЖОНСА, АЛГОРИТМ ЛУКАСА-КАНАДЕ.
Настоящая работа посвящена разработке программно-аппаратного комплекса управления движением видеокамеры для слежения за лицом в режиме реального времени средствами языка C/C++ и библиотеки OpenCV в среде разработки QT Creator.
Работа состоит из введения, шести разделов, заключения.
Во введении отражена актуальность задачи и описаны основные требования к работе.
В первой главе проведен обзор основных понятий компьютерного зрения, а также рассмотрены основные алгоритмы детектирования объектов, движений в видеопотоке.
Во второй главе описаны используемое оборудование и аппаратная реализация системы.
В третьей главе описана разработка алгоритма детектирования лица.
В четвертой главе описана разработка алгоритма слежения за лицом человека.
В пятой главе описана модель принятия решений для управления движением камеры.
В шестой главе проведены исследования реализованной системы, проверка на соответствие поставленным требованиям и оценка погрешности.
Заключение включает основные выводы к работе.
- Оглавление
- детектирование лицо видеопоток камера
- Введение
- Постановка задачи
- 1. Аналитический обзор предметной области
- 1.1 Компьютерное зрение
- 1.2 Обзор методов детектирования объектов
- 1.2.1 Эмпирические методы
- 1.2.2 Методы характерных инвариантных признаков
- 1.2.3 Распознавание с помощью шаблонов, заданных разработчиком
- 1.2.4 Методы обнаружения лица по внешним признакам
- 1.2.5 Выбор алгоритма
- 1.3 Обзор методов детектирования движения
- 1.3.1 Межкадровая разность
- 1.3.2 Базовый кадр
- 1.3.3 Методы оптического потока
- 1.4 Обзор инструментальных средств для разработки программного продукта
- 1.4.1 Библиотека OpenCV
- 1.4.2 Среда разработки MathWorks MATLAB
- 1.5 Интерфейсы последовательной передачи данных
- 1.5.1 RS-232 (EIA-232)
- 1.5.2 RS-422 (EIA-422)
- 2. Оборудование и аппаратная реализация
- 2.1.1 Характеристики камеры
- 2.1.2 Передача команд по протоколу VISCA
- 2.1.3 Получение изображения с камеры
- 2.1.4 Работа с портом
- 3. Анализ видеоизображения. Детектор лица
- 3.1 Постановка задачи
- 3.2 Метод Виолы-Джонса
- 3.2.1 Описание алгоритма
- 3.2.2 Схема распознавания
- 3.2.3 Признаки класса
- 3.2.4 Схема обучения
- 3.2.5 Интегральное представление изображений
- 3.2.6 Обучение
- 3.2.7 Распознавание
- 3.3 Программная реализация
- 4. Анализ видеоизображения. Слежение за лицом
- 4.1 Постановка задачи
- 4.2 Метод Лукаса-Канаде
- 4.2.2 Одномерный случай
- 4.2.2 Двумерный случай
- 4.2.3 Недостатки метода
- 4.3 Выбор оптимальных параметров
- 4.4 Программная реализация алгоритма
- 5. Управление поворотом камеры
- 5.1 Постановка задачи
- 5.2 Перенацеливание на заданную точку поверхности
- 5.3 Модель принятия решений
- 6. Исследование системы
- 6.1 Оценка точности перенацеливания
- 6.2 Проверка на устойчивость к смене освещения
- 6.3 Время задержки
- 6.4 Устойчивость при частичном перекрытии объекта
- 6.5 Анализ влияния шумов
- Заключение
- Список литературы
- Приложение 1. Код программы
Введение
Данная работа посвящена разработке программно-аппаратного комплекса для анализа видеоизображения и управления движением роботизированной видеокамерой. Под анализом видеоизображения будем подразумевать обработку цифрового изображения, полученного с камеры с целью слежения (трекинга) за движением объекта.
На сегодняшний день задача трекинга объектов на видео является неотъемлемой частью многих прикладных областей, таких как построение систем видеонаблюдения, отслеживания дорожного трафика, создание интерфейсов человек-компьютер, различных программ и т.п. За последние годы было предложено множество успешных подходов к решению данной задачи. Тем не менее, многие из них накладывают определенные ограничения на обрабатываемые данные, как то статичный фон и фиксированный ракурс, знания о типе наблюдаемого объекта или даже наличие множества камер. Большая часть предлагаемых подходов уделяет мало внимания возможности проводить анализ в реальном времени, хотя и некоторые из них наоборот ориентированы на строгие ограничения по ресурсам.
Целью данной работы является разработка программно-аппаратного комплекса, особенностями которого можно считать способность обнаруживать и отслеживать объекты в режиме реального времени путем управления поворотом роботизированной камеры, которая находится в помещении. Система должна удовлетворять следующим требованиям: камера подвижна, возможен аддитивный шум при регистрации данных, скачки яркости входных растровых данных; высокая производительность при обработке в реальном времени. Программный комплекс будет реализовываться на языке C/C++ в среде разработки QT Creator с поддержкой библиотеки компьютерного зрения OpenCV. Для работы будем использовать роботизированную камеру Sony BRC H900P, которая будет передавать изображение на персональный компьютер, через который и будет осуществляться управление камерой.
Постановка задачи
Цель работы: создать программно-аппаратный комплекс для реализации слежения за человеком с помощью анализа видеоизображения и перемещением камеры в режиме реального времени.
На основе поставленной цели сформируем следующие задачи:
1) Выбор математических алгоритмов для анализа изображения
2) Построение технической системы
3) Реализация алгоритма поиска лица человека на изображении;
4) Отслеживание положения лица в режиме реального времени;
5) Реализация алгоритма смещения камеры в зависимости от положения объекта на изображении;
6) Оценка полученных результатов.
Требования к системе:
1) Работа в режиме реального времени
2) Устойчивость к смене освещения
3) Устойчивость алгоритма слежения при появлении других движущихся объектов
4) Устойчивость при частичном перекрытии объекта
5) Работа с изображением плохого качества, очень низкого или очень высокого разрешения
1. Аналитический обзор предметной области
1.1 Компьютерное зрение
Компьютерное зрение (машинное зрение, computer vision) -- совокупность программно-технических средств, обеспечивающих считывание в цифровой форме видеоизображений, их обработку и выдачу результата в форме, пригодной для его практического использования в реальном масштабе времени.
Система компьютерного зрения (computer vision system) -- комплекс программно-технических средств, обеспечивающий обработку данных, снимаемых на выходе оптико-электронных устройств, например, цифровой фотокамеры, телевизионной или видеокамеры и выдачу полученных результатов в форме, пригодной для практического применения. Важной составляющей частью является подсистема оптического распознавания образов. В 2002 году фирма Canesta продемонстрировала малогабаритную систему компьютерного зрения, работающую на принципах светового радара, способного измерять дальность до окружающих предметов и отслеживать их перемещение. В комплект входит 3D-камера со встроенной микросхемой датчика изображения (Equinox), работающего на излучение световых импульсов, прием и измерение времени возвращения отраженных сигналов; USB-интерфейс и программируемый модуль для Windows. Одной из предлагаемых разработчиками областей применения системы является дистанционное управление бытовой электроникой с помощью жестов.
Интерес к компьютерному зрению возник одним из первых в области искусственного интеллекта. Даже архитектура первой искусственной нейронной сети -- перцептрона -- была предложена Фрэнком Розенблаттом, исходя из аналогии с сетчаткой глаза, а ее исследование проводилось на примере задачи распознавания изображений символов.
Значимость проблемы компьютерного зрения никогда не вызывала сомнения, но одновременно ее сложность существенно недооценивалась. К примеру, легендарным по своей показательности стал случай, когда в 1966 г. один из основоположников области искусственного интеллекта, Марвин Минский, даже не сам собрался решить проблему искусственного зрения, а поручил это сделать одному студенту за ближайшее лето [11]. При этом на создание программы, играющей на уровне гроссмейстера в шахматы, отводилось значительно большее время. Однако сейчас очевидно, что создать программу, обыгрывающую человека в шахматы, проще, чем создать адаптивную систему управления с подсистемой компьютерного зрения, которая бы смогла просто переставлять шахматные фигуры на произвольной реальной доске.
Прогресс в области компьютерного зрения определяется двумя факторами: развитие теории, методов, и развитие аппаратного обеспечения. Долгое время теория и академические исследования опережали возможности практического использования систем компьютерного зрения. Условно можно выделить ряд этапов развития теории.
К 1970-м годам сформировался основной понятийный аппарат в области обработки изображений, являющийся основой для исследования проблем зрения. Также были выделены основные задачи, специфические для машинного зрения, связанные с оценкой физических параметров сцены (дальности, скоростей движения, отражательной способности поверхностей и т. д.) по изображениям, хотя ряд этих задач все еще рассматривался в весьма упрощенной постановке для «мира игрушечных кубиков».
К 80-м сформировалась теория уровней представления изображений в методах их анализа. Своего рода отметкой окончания этого этапа служит книга Дэвида Марра «Зрение. Информационный подход к изучению представления и обработки зрительных образов».
К 90-м оказывается сформированным систематическое представление о подходах к решению основных, уже ставших классическими, задач машинного зрения.
С середины 90-х происходит переход к созданию и исследованию крупномасштабных систем компьютерного зрения, предназначенных для работы в различных естественных условиях.
Текущий этап наиболее интересен развитием методов автоматического построения представлений изображений в системах распознавания изображений и компьютерного зрения на основе принципов машинного обучения.
В то же время прикладные применения ограничивались вычислительными ресурсами. Ведь чтобы выполнить даже простейшую обработку изображения, нужно хотя бы один раз просмотреть все его пиксели (и обычно не один раз). Для этого нужно выполнять как минимум сотни тысяч операций в секунду, что долгое время было невозможно и требовало упрощений.
К примеру, для автоматического распознавания деталей в промышленности могла использоваться черная лента конвейера, устраняющая необходимость отделения объекта от фона, или сканирование движущегося объекта линейкой фотодиодов со специальной подсветкой, что уже на уровне формирования сигнала обеспечивало выделение инвариантных признаков для распознавания без применения каких-либо сложных методов анализа информации. В оптико-электронных системах сопровождения и распознавания целей использовались физические трафареты, позволяющие «аппаратно» выполнять согласованную фильтрацию. Некоторые из этих решений являлись гениальными с инженерной точки зрения, но были применимы только в задачах с низкой априорной неопределенностью, и поэтому обладали, в частности, плохой переносимостью на новые задачи.
Не удивительно, что на 1970-е годы пришелся пик интереса и к оптическим вычислениям в обработке изображений. Они позволяли реализовать небольшой набор методов (преимущественно корреляционных) с ограниченными свойствами инвариантности, но весьма эффективным образом.
Постепенно, благодаря росту производительности процессоров (а также развитию цифровых видеокамер), ситуация изменилась. Преодоление определенного порога производительности, необходимого для осуществления полезной обработки изображений за разумное время, открыло путь для целой лавины приложений компьютерного зрения. Следует, однако, сразу подчеркнуть, что этот переход не был мгновенным и продолжается до сих пор.
В первую очередь, общеприменимые алгоритмы обработки изображений стали доступны для спецпроцессоров -- цифровых сигнальных процессоров (ЦСП) и программируемых логических интегральных схем (ПЛИС), нередко совместно использовавшихся и находящих широкое применение до сих пор в бортовых и промышленных системах.
Однако действительно массовое применение методы компьютерного зрения получили лишь менее десяти лет назад, с достижением соответствующего уровня производительности процессоров у персональных и мобильных компьютеров. Таким образом, в плане практического применения системы компьютерного зрения прошли ряд этапов: этап индивидуального решения (как в части аппаратного обеспечения, так и алгоритмов) конкретных задач; этап применения в профессиональных областях (в особенности в промышленности и оборонной сфере) с использованием спецпроцессоров, специализированные системы формирования изображений и алгоритмы, предназначенные для работы в условиях низкой априорной не-определенности, однако эти решения допускали масштабирование; и этап массового применения.
Как видно, система машинного зрения включает следующие основные компоненты:
1) подсистему формирования изображений (которая сама может включать разные компоненты, например объектив и ПЗС- или КМОП-матрицу);
2) вычислитель;
3) алгоритмы анализа изображений, которые могут реализовываться программно на процессорах общего назначения, аппаратно в структуре вычислителя и даже аппаратно в рамках подсистемы формирования изображений.
Наиболее массового применения достигают системы машинного зрения, использующие стандартные камеры и компьютеры в качестве первых двух компонент (именно к таким системам больше подходит термин «компьютерное зрение», хотя четкого разделения понятий машинного и компьютерного зрения нет). Однако, естественно, прочие системы машинного зрения обладают не меньшей значимостью. Именно выбор «нестандартных» способов формирования изображений (включая использование иных, помимо видимого, спектральных диапазонов, когерентного излучения, структурированной подсветки, гиперспектральных приборов, времяпролетных, всенаправленных и быстродействующих камер, телескопов и микроскопов и т. д.) существенно расширяет возможности систем машинного зрения. В то время как по возможностям алгоритмического обеспечения системы машинного зрения существенно уступают зрению человека, по возможностям получения информации о наблюдаемых объектах они существенно превосходят его.
Исследуя различные решения в области компьютерного зрения, можно упомянуть следующие системы:
Программно-аппаратный комплекс AxxonNext [12]. Данное программное обеспечение применяется в сфере охранного видеонаблюдения и позволяет отслеживать перемещение объектов в пространстве и времени. Видеоаналитика фиксирует в базе данных информацию об объекте: его относительные размеры, скорость и траекторию движения, а также дату и время события. Данный функционал помогает оператору работать с системой максимально эффективно и в считанные минуты найти нужную информацию.
Подсчет людей в магазине и транспорте. Данная видеоаналитика выделяет в потоке кадров объекты (входящие и выходящие люди) и ведет подсчет потоков людей. Это мощное средство позволяет формировать информативные отчеты, крайне полезные для маркетологов. На основе этих данных можно сделать выводы о рентабельности автобусных рейсов и вносить необходимые поправки в расписание движения или маршрут. В Украине реализуется подобная система - DL-Bus [13]. Данные системы подсчета передаются каналам GPRS, и руководство автопарка в режиме реального времени получает информацию о потоках пассажиров.
1.2 Обзор методов детектирования объектов
Существующие алгоритмы обнаружения лиц можно разбить на четыре категории:
1) эмпирические методы;
2) методы характерных инвариантных признаков;
3) распознавание с помощью шаблонов, заданных разработчиком;
4) метод обнаружения по внешним признакам, обучающиеся системы.
Рассмотрим каждую категорию более подробно.
1.2.1 Эмпирические методы
Эмпирический подход «базирующийся на знаниях сверху-вниз» предполагает создание алгоритма, реализующего набор правил, которым должен отвечать фрагмент изображения, для того чтобы быть признанным человеческим лицом. Этот набор правил является попыткой формализовать эмпирические знания о том, как именно выглядит лицо на изображениях и чем руководствуется человек при принятии решения: лицо он видит или нет. Самые простые правила:
- центральная часть лица имеет однородную яркость и цвет;
-разница в яркости между центральной частью и верхней частью лица значительна;
-лицо содержит в себе два симметрично расположенных глаза, нос и рот, резко отличающиеся по яркости относительно остальной части лица.
Метод сильного уменьшения изображения [14] для сглаживания помех, а также для уменьшения вычислительных операций предварительно подвергает изображение сильному уменьшению. На таком изображении проще выявить зону равномерного распределения яркости (предполагаемая зона нахождения лица), а затем проверить наличие резко отличающихся по яркости областей внутри: именно такие области можно с разной долей вероятности отнести к «лицу».
Метод построения гистограмм [15] для определения областей изображения с «лицом» строит вертикальную и горизонтальную гистограммы. В областях-кандидатах происходит поиск черт лица. Данный подход использовался на заре развития компьютерного зрения ввиду малых требований к вычислительной мощности процессора для обработки изображения.
Рассмотренные выше методы имеют неплохие показатели по выявлению лица на изображении при однородном фоне, они легко реализуемы с помощью машинного кода. Впоследствии было разработано множество подобных алгоритмов. Но эти методы абсолютно непригодны для обработки изображений, содержащих большое количество лиц или сложный задний фон. Также они очень чувствительны к наклону и повороту головы.
1.2.2 Методы характерных инвариантных признаков
Методы характерных инвариантных признаков, базирующиеся на знаниях снизу-вверх, образуют второе семейство способов детекирования лиц. Здесь виден подход к проблеме с другой стороны: нет попытки в явном виде формализовать процессы, происходящие в человеческом мозге. Сторонники подхода стараются выявить закономерности и свойства изображения лица неявно, найти инвариантные особенности лица, независимо от угла наклона и положения.
Основные этапы алгоритмов этой группы методов:
1) детектирование на изображении явных признаков лица: глаз, носа, рта
2) обнаружение: границы лица, форма, яркость, текстура, цвет;
3) объединение всех найденных инвариантных признаков и их верификация.
Метод обнаружения лиц в сложных сценах [16] предполагает поиск правильных геометрических расположений черт лица. Для этого применяется гауссовский производный фильтр с множеством различных масштабов и ориентаций. После этого производится поиск соответствия выявленных черт и их взаимного расположения случайным перебором. Суть метода группировки признаков [17] в применении второй производной гауссовского фильтра для поиска интересующих областей изображения. Далее группируются края вокруг каждой такой области при помощи порогового фильтра. А затем используется оценка при помощи байесовской сети для комбинирования найденных признаков, таким образом происходит выборка черт лица.
Методы этой группы в качестве достоинств имеют возможность распознавать лицо в различных положениях. Но даже при небольшом загромождении лица другими объектами, возникновении шумов или засветке процент достоверного распознавания сильно падает. Большое влияние также оказывает сложный задний фон изображения. Основа рассмотренных подходов -- эмпирика, является одновременно их сильной и слабой стороной. Большая изменчивость объекта распознавания, зависимость вида лица на изображении от условий съемки и освещения позволяют без колебаний отнести обнаружение лица на изображении к задачам высокой сложности. Применение эмпирических правил позволяет построить некоторую модель изображения лица и свести задачу к выполнению некоторого количества относительно простых проверок. Однако, несмотря на безусловно разумную посылку -- попытаться использовать и повторить уже успешно функционирующий инструмент распознавания -- человеческое зрение, методы первой категории пока далеки по эффективности от своего прообраза, поскольку исследователи, решившие избрать этот путь, сталкиваются с рядом серьезных трудностей.
Во-первых, процессы, происходящие в мозгу во время решения задачи распознавания изображений изучены далеко не полностью, и тот набор эмпирических знаний о человеческом лице, которые доступны исследователям на сознательном уровне, далеко не исчерпывает инструментарий, используемый мозгом подсознательно. Во-вторых, трудно эффективно перевести неформальный человеческий опыт и знания в набор формальных правил, поскольку чересчур жесткие рамки правил приведут к тому, что в ряде случаев лица не будут обнаружены, и, напротив, слишком общие правила приведут к большому количеству случаев ложного обнаружения.
1.2.3 Распознавание с помощью шаблонов, заданных разработчиком
Шаблоны задают некий стандартный образ изображения лица, например, путем описания свойств отдельных областей лица и их возможного взаимного расположения. Обнаружение лица с помощью шаблона заключается в проверке каждой из областей изображения на соответствие заданному шаблону.
Особенности подхода:
1) два вида шаблонов:
а) недеформируемые;
б) деформируемые;
2) шаблоны заранее запрограммированы, необучаемы;
3) используется корреляция для нахождения лица на изображении.
Метод детектирования лица при помощи трехмерных форм [18] предполагает использование шаблона в виде пар отношений яркостей в двух областях. Для определения местоположения лица необходимо пройти всё изображение на сравнение с заданным шаблоном. Причём делать это необходимо с различным масштабом (рис. 3). Модели распределения опорных точек [19] являются статистическими моделями, которые представляют объекты, форма которых может измениться. Их полезная особенность метода -- способность выделить форму переменных объектов в пределах учебного набора с небольшим количеством параметров формы. Эта компактная и точная параметризация может использоваться для разработки эффективных систем классификации.
Рис. 1 Метод детектирования при помощи трехмерных форм
К достоинствам распознавания с помощью шаблонов можно отнести относительную простоту реализации и неплохие результаты на изображениях с не очень сложным задним фоном. А главным недостатком является необходимость калибровки шаблона вблизи с изображением лица. Большая трудоёмкость вычисления шаблонов для различных ракурсов и поворотов лица ставят под вопрос целесообразность их использования.
1.2.4 Методы обнаружения лица по внешним признакам
Изображению (или его фрагменту) ставится в соответствие некоторым образом вычисленный вектор признаков, который используется для классификации изображений на два класса -- лицо или не лицо. Обычно поиск лиц на изображениях с помощью методов, основанных на построении математической модели изображения лица, заключается в полном переборе всех прямоугольных фрагментов изображения всевозможных размеров и проведения проверки каждого из фрагментов на наличие лица. Поскольку схема полного перебора обладает такими безусловными недостатками, как избыточность и большая вычислительная сложность, авторами применяются различные методы сокращения количества рассматриваемых фрагментов. Основные принципы методов:
1) Схоластика: каждый сканируется окном и представляется векторами ценности
2) Блочная структура: Изображение разбивается на пересекающиеся или непересекающиеся участки (Рис. 4) различных масштабов и производится оценка с помощью алгоритмов оценки весов векторов.
Рис. 2 Примеры разбиения изображения на участки
Для обучения алгоритмов требуется библиотека вручную подготовленных изображений лиц и «не лиц», любых других изображений.
Стоит отметить, что важнейшей задачей является выделение сильных классификаторов. Именно они будут иметь наивысший приоритет для проверки найденных признаков в изображении. Количество же более слабых классификаторов стоит уменьшать за счёт похожести друг на друга, а также удалении классификаторов, возникших за счёт шумовых выбросов.
Перечислим основные методики выполнения этих задач:
1) Искусственные нейронные сети (Neural network: Multilayer Perceptrons);
2) Метод главных компонент (Princiapl Component Analysis (PCA));
3) Факторного анализа (Factor Analysis);
4) Линейный дискриминантный анализ (Linear Discriminant Analysis);
5) Метод опорных векторов (Support Vector Machines (SVM));
6) Наивный байесовский классификатор (Naive Bayes classifier);
7) Скрытые Марковские модели (Hidden Markov model);
8) Метод распределения (Distribution-based method);
9) Совмещение ФА и метода главных компонент (Mixture of PCA, Mixture of factor analyzers); -
10) Разреженная сеть окон (Sparse network of winnows (SNoW));
11) Активные модели (Active Appearance Models);
12) Адаптированное улучшение и основанный на нём Метод Виолы-Джонса и др.
Рассмотрим особенности некоторых из них. На сегодняшний день метод искусственных нейронных сетей является наиболее распространенным способом решения задач распознавания лиц на изображении. Искусственная нейронная сеть (ИНС) -- это математическая модель, представляющая собой систему соединённых и взаимодействующих между собой нейронов. Нейронные сети не программируются в привычном смысле этого слова, они обучаются. Технически обучение заключается в нахождении коэффициентов связей (синапсов) между нейронами.
Метод опорных векторов (Support Vector Machines) применяется для снижения размерности пространства признаков, не приводя к существенной потере информативности тренировочного набора объектов. Применение метода главных компонент к набору векторов линейного пространства, позволяет перейти к такому базису пространства, что основная дисперсия набора будет направлена вдоль нескольких первых осей базиса, называемых главными осями. Натянутое на полученные таким образом главные оси подпространство является оптимальным среди всех пространств в том смысле, что наилучшим образом описывает тренировочный набор. Это набор алгоритмов схожих с алгоритмами вида «обучение с учителем», использующихся для задач классификации и регрессионного анализа. Этот метод принадлежит к семейству линейных классификаторов. Метод опорных векторов основан на том, что ищется линейное разделение классов.
Цель тренировки большинства классификаторов -- минимизировать ошибку классификации на тренировочном наборе (называемую эмпирическим риском). В отличие от них, с помощью метода опорных векторов можно построить классификатор, минимизирующий верхнюю оценку ожидаемой ошибки классификации (в том числе и для неизвестных объектов, не входивших в тренировочный набор). Применение метода опорных векторов к задаче обнаружения лица заключается в поиске гиперплоскости в признаковом пространстве, отделяющий класс изображений лиц от изображений «не-лиц». Возможность линейного разделения столь сложных классов, как изображения лиц и «не-лиц» представляется маловероятной. Однако, классификация с помощью опорных векторов позволяет использовать аппарат ядерных функций для неявного проецирования векторов-признаков в пространство потенциально намного более высокий размерности (еще выше, чем пространство изображений), в котором классы могут оказаться линейно разделимы. Неявное проецирование с помощью ядерных функций не приводит к усложнению вычислений, что позволяет успешно использовать линейный классификатор для линейно неразделимых классов.
Самым перспективным на сегодняшний день в плане высокой производительности и низкой частоты ложных срабатываний и большим процентом верных обнаружений лиц выглядит метод Виолы-Джонса.
Основные принципы, на которых основан метод, таковы:
1) используются изображения в интегральном представлении, что позволяет вычислять быстро необходимые объекты;
2) используются признаки Хаара, с помощью которых происходит поиск нужного объекта (в данном контексте, лица и его черт);
3) используется бустинг (от англ. boost -- улучшение, усиление) для выбора наиболее подходящих признаков для искомого объекта на данной части изображения;
4) все признаки поступают на вход классификатора, который даёт результат «верно» либо «ложь»;
5) используются каскады признаков для быстрого отбрасывания окон, где не найдено лицо.
Обучение классификаторов идет очень медленно, но результаты поиска лица очень быстры. Алгоритм хорошо работает и распознает черты лица под небольшим углом, примерно до 30 градусов. При угле наклона больше 30 градусов процент обнаружений резко падает. И это не позволяет в стандартной реализации детектировать повернутое лицо человека под произвольным углом, что в значительной мере затрудняет или делает невозможным использование алгоритма в современных производственных системах с учетом их растущих потребностей.
В результате своей работы алгоритм должен определить лица и их черты и пометить их -- поиск осуществляется в активной области изображения прямоугольными признаками, с помощью которых и описывается найденное лицо и его черты.
Иными словами, применительно к рисункам и фотографиям используется подход на основе сканирующего окна (scanning window): сканируется изображение окном поиска (так называемое, окно сканирования), а затем применяется классификатор к каждому положению. Система обучения и выбора наиболее значимых признаков полностью автоматизирована и не требует вмешательства человека, поэтому данный подход работает быстро.
1.2.5 Выбор алгоритма
Сформируем набор критериев выбора алгоритма:
1) Возможность работы в режиме реального времени:
2) Высокая точность детектирования:
3) Инвариантность к малым поворотам и масштабированию объекта:
4) Инвариантность к изменению освещения сцены:
5) Возможность работы при неоднородном фоне:
Составим системную матрицу оценки критериев (таблица 1), где положительному ответу будет соответствовать 1, а отрицательному - 0.
Таблица 1. Системная матрица оценки критериев
Методы |
Работа в режиме реального времени |
Высокая точность |
Инвариантность к малым поворотам и масштабированию объекта |
Инвариантность к изменению освещения сцены |
Неоднородный фон |
|
эмпирические методы |
1 |
0 |
0 |
0 |
0 |
|
методы характерных инвариантных признаков |
1 |
1 |
1 |
0 |
0 |
|
Распознава-ние с помощью шаблонов, заданных разработчи-ком |
1 |
0 |
1 |
0 |
0 |
|
метод обнаружения по внешним признакам |
1 |
1 |
1 |
1 |
1 |
- множество методов-кандидатов
Для каждого метода-кандидата имеется набор критериев:
Условие выбора оптимального решения:
Найдем оптимальное решение, соответствующее максимальному значению множества M:
Таким образом, метод обнаружения по внешним признакам наиболее полно удовлетворяет критериям, которые формируют требования для эффективного решения задачи детектирования лиц в данной работе.
1.3 Обзор методов детектирования движения
Так как в работе нам необходимо реализовать слежение за движущимся объектом, то необходимо выбрать метод, который будем использовать. Под понятием слежения за объектом можно выделить два подхода: первый заключается в итеративном использовании методов детектирования объекта на каждом кадре, определяя таким образом смещение объекта, а второй - в детектировании движения выделенного объекта и определение его нового положения. Естественно, что второй способ будет более правильным с точки зрения вычислительных затрат. Поэтому рассмотрим существующие методы детектирования движения в видеопотоке.
1.3.1 Межкадровая разность
Вычисление межкадровой разности является очень распространённым методом первичного обнаружения движения, после выполнения которого, вообще говоря, уже можно сказать, присутствует ли в потоке кадров движение. До недавнего времени многие детекторы движения функционировали именно по такому принципу. Однако такой подход даёт достаточно грубую оценку, приводя к наличию неизбежной ложной реакции детектора на шум регистрирующей аппаратуры, смену условий освещения, лёгкое качание камеры и пр. Таким образом, видеокадры должны быть предварительно обработаны перед вычислением разности между ними. Алгоритм вычисления межкадровой разности двух кадров для случая обработки цветного видео в формате RGB выглядит следующим образом:
1) На вход алгоритма поступают два видео кадра, представляющие собой две последовательности байт в формате RGB.
2) Производится вычисление попиксельных межкадровых разностей по следующей схеме:
,
,
,
где , - значения красной, зелёной и синей компонент цвета i-го пикселя результирующего растра, - значения красной, зелёной и синей компонент цвета i-го пикселя на первом и втором кадре.
1) Для каждого пикселя вычисляется среднее значение между значениями трёх компонент цвета:
.
2) Среднее значение сравнивается с заданным порогом. В результате сравнения формируется двоичная маска:
3) ,
где - значение i-го элемента маски, Т - порог сравнения, иногда называемый также порогом или уровнем чувствительности.
Таким образом, на выходе алгоритма формируется двоичная маска, одному элементу которой соответствуют три компоненты цвета соответствующего пикселя исходных двух кадров. Единицы в маске располагаются в областях, где, возможно, присутствует движение, однако на данном этапе могут быть и ложные срабатывания отдельных элементов маски, ошибочно установленных в 1. В качестве двух входных кадров могут использоваться два последовательных кадра из потока, однако возможно использование кадров с большим интервалом, например, равным 1-3 кадра. Чем больше такой интервал, тем выше чувствительность детектора к малоподвижным объектам, которые испытывают лишь крайне малый сдвиг за один кадр и могут отсекаться, будучи отнесёнными к шумовой составляющей изображения.
Достоинством данного метода является простота и нетребовательность к вычислительным ресурсам. Метод широко применялся ранее по причине того, что в распоряжении разработчиков не было достаточных вычислительных мощностей. Однако и сейчас он широко используется, особенно в многоканальных охранных системах, когда необходимо обрабатывать сигнал от нескольких камер на одной ЭВМ. Ведь трудоёмкость алгоритма имеет порядок O(n) и осуществляется всего за один проход, что очень важно для растров большой размерности, таких как 640х480 точек, 768х576 точек, с которыми часто работают современные видеокамеры.
1.3.2 Базовый кадр
Описывая метод межкадровых попиксельных разностей с построением маски движения, в качестве двух входных кадров мы задавали либо два соседних кадра, либо два кадра, взятых с небольшим интервалом. Однако использование этого метода оставляет возможность вычислять разность с некоторым кадром, который бы содержал исключительно неподвижные области фона (базовый кадр). Такой подход дал бы нам существенное увеличение вероятности обнаружить любой объект, как самый медленный, так и быстрый, причём именно в той точке, в которой он находился в данный момент. Иначе данный метод называется методом вычитания или сегментации фона. Работа метода полностью аналогична работе алгоритма межкадровой разности с той лишь разницей, что разность вычисляется между текущим и базовым кадром. Большой проблемой здесь является способ построения базового кадра, поскольку он должен обладать несколькими свойствами:
* Если кадр представляет собой кадр реального изображения, он должен минимально отстоять по времени от текущего кадра. Заметим, что в реальных условиях это не всегда возможно по той причине, что съёмка может вестись в местах частого появления в кадре движущихся объектов, поэтому система будет очень редко фиксировать сцену с полным отсутствием в ней движения, вследствие чего она не будет иметь возможности обновлять базовый кадр достаточно часто.
* Если базовый кадр подготавливается искусственно, он должен содержать минимальное количество движущихся элементов, иначе неизбежны ложные срабатывания на объекты, которых на текущем кадре уже нет, однако базовый кадр содержит какие-то их элементы.
* Минимальный уровень шума. Перед обновлением базового кадра необходимо проводить фильтрацию.
Существует два подхода к построению базового кадра. Первый основан на кумулятивном его накоплении с использованием всех кадров потока. При таком способе построения базовый кадр неизбежно содержит элементы движущихся объектов, однако при вычислении разности между текущим и базовым кадром различия в интенсивности соответствующих пикселей, принадлежащих движущемуся объекту, всё же являются значительным и позволяют обнаружить движение. Плюсом такого способа является его простота. Однако при вычислении разности необходимо использовать дополнительные методы шумоподавления, поскольку порог сравнения при построении маски движения в данном случае не может быть высоким (в силу специфики базового кадра). В противном случае движение будет просто упущено, а при небольших значениях порога маска движения будет неизбежно фиксировать большое количество пикселей шума.
Второй подход выглядит более интеллектуальным, поскольку при его использовании базовый кадр строится исключительно из неподвижных областей, взятых с каждого из текущих кадров. Для этого на входе алгоритма необходимо иметь выходные данные детектора движущихся объектов от обработки предыдущего кадра. Используя эту информацию, алгоритм помечает области, где на предыдущем кадре были обнаружены движущиеся объекты, после чего, при попиксельном копировании текущего кадра в базовый пиксели помеченных областей пропускаются. Таким образом, базовый кадр никогда не содержит никаких элементов движущихся объектов, что достигается ценой сравнительно небольшого усложнения алгоритма.
Возможен и третий подход, основанный на обновлении базового кадра текущим в те моменты, когда на текущем кадре нет движения. Однако в силу очень ограниченной применимости такого подхода (лишь для случаев малоподвижных сцен, когда само по себе движение в кадре - исключительный случай) мы его не рассматриваем.
Очевидно, что данные методы межкадровой разности не подходят для слежения за движущимся объектом, так как фон не будет стационарным в связи с движением камеры. Поэтому рассмотрим третий метод, который и будем использовать с работе.
1.3.3 Методы оптического потока
Оптический поток (ОП) - изображение видимого движения, представляющее собой сдвиг каждой точки между двумя изображениями. По сути, он представляет собой поле скоростей (т. к. сдвиг с точностью до масштаба эквивалентен мгновенной скорости). Суть ОП в том, что для каждой точки изображения находится такой сдвиг (dx, dy), чтобы исходной точке соответствовала точка на втором изображении . Как определить соответствие точек - отдельный вопрос. Для этого надо взять какую-то функцию точки, которая не изменяется в результате смещения. Обычно считается, что у точки сохраняется интенсивность (т. е. яркость или цвет для цветных изображений), но можно считать одинаковыми точки, у которых сохраняется величина градиента, гессиан, его величина или его определитель, лапласиан, другие характеристики. Очевидно, сохранение интенсивности дает сбои, если меняется освещенность или угол падения света. Тем не менее, если речь идет о видеопотоке, то, скорее всего, между двумя кадрами освещение сильно не изменится, хотя бы потому, что между ними проходит малый промежуток времени. Поэтому часто используют интенсивность в качестве функции, сохраняющейся у точки.
Есть два варианта расчета оптического потока: плотный (dense) и выборочный (sparse). Sparse поток рассчитывает сдвиг отдельных заданных точек (например, точек, выделенных некоторым feature detector'ом), dense поток считает сдвиг всех точек изображения. Естественно, выборочный поток вычисляется быстрее, однако для некоторых алгоритмов разница не такая уж и большая, а для некоторых задач требуется нахождение потока во всех точках изображения.
Суть оптического потока в том, что он не ищет какие-то особенные точки, а по параметрам изображений пытается определить, куда сместилась произвольная точка.
В основе всех дальнейших рассуждений лежит одно очень важное и не очень справедливое предположение: значения пикселей переходят из одного кадра в следующий без изменений. Таким образом, мы делаем допущение, что пиксели, относящиеся к одному и тому же объекту, могут сместиться в какую либо сторону, но их значение останется неизменным. Конечно же это предположение имеет мало общего с реальностью, потому что от кадра к кадру могут меняться глобальные условия освещения и освещенность самого движущегося объекта. Масса проблем связана с этим допущением, но, как ни странно, вопреки всему оно достаточно хорошо работает на практике.
На математическом языке это допущение можно записать так: . Где I -- это функция яркости пикселей от положения на кадре и времени. Другими словами x и y -- это координаты пикселя в плоскости кадра, и -- это смещение, а t -- это номер кадра в последовательности.
В данной работе будет использоваться именно этот метод, так как он позволяет работать при нестационарном фоне.
1.4 Обзор инструментальных средств для разработки программного продукта
В настоящий момент существует большое количество специализированных программных библиотек компьютерного зрения как общего, так и специального назначения. Чтобы отобрать наилучшие из них, сформулирован набор предъявляемых требований:
1) разнообразие решаемых задач;
2) широкое распространение;
3) активное развитие и поддержка продукта компанией-разработчиком либо открытым сообществом;
4) высокое качество технической документации;
5) высокоуровневая иерархическая структура компонентов;
6) относительная простота использования;
7) стабильность и удовлетворительная скорость работы;
8) кроссплатформенность и переносимость.
Несмотря на упомянутое выше многообразие средств, для создания программного продукта были выбраны два наиболее полно соответствующих изложенным требованиям продукта.
1.4.1 Библиотека OpenCV
OpenCV (open source computer vision library)-- это библиотека компьютерного зрения с открытым исходным кодом. Также, она существует для некоторых других языков, например, для Java. Включает в себя различные алгоритмы компьютерного зрения, распознавания изображений и многое другое, работающих в реальном режиме времени. Все желающие могут использовать библиотеку OpenCV бесплатно, как в образовательных целях, так и в коммерческих проектах.
Она включает в себя следующие алгоритмы:
· Распознавание объектов в видеопотоке.
· Распознавание печатного и рукописного текста.
· Устранение искажений картинки.
· Выявление сходства и формы объектов.
· Слежение за перемещением объекта.
· Распознавание движений, жестов и многое другое.
Поддерживаемые платформы и инструменты для OpenCV.
Сами библиотеки:
· Windows: компиляторы Microsoft Visual C++ (6.0, .NET 2003), Intel Compiler, Borland C++, Mingw (GCC 3.x).
· Linux: GCC (2.9x, 3.x), Intel Compiler: "./configure-make-make install", RPM (spec файл включен в поставку)
· Используются C и "облегченный" C++. Прагмы и условная компиляция используются очень ограниченно.
Средства GUI, захват видео:
· Windows: DirectShow, VFW, MIL, CMU1394
· Linux: V4L2, DC1394, FFMPEG
Документация: статический HTML
Функциональность OpenCV:
* Ядро cxcore, также частично используется в Intel Open Source Probabilistic Network Library:
· Базовые операции над многомерными числовыми массивами;
· Матричная алгебра, математические ф-ции, генераторы случайных чисел;
· DFT, DCT;
· Запись/восстановление структур данных в/из XML/YAML;
· Базовые функции 2D графики;
· Поддержка более сложных структур данных: разреженные массивы, динамически растущие последовательности, графы;
Модуль обработки изображений и компьютерного зрения CV:
· Базовые операции над изображениями (фильтрация, геометрические преобразования, преобразование цветовых пространств и т.д.);
· Анализ изображений (выбор отличительных признаков, морфология, поиск контуров, гистограммы);
· Структурный анализ (описание форм, плоские разбиения и т.д.);
· Анализ движения, слежение за объектами;
· Обнаружение объектов, в частности лиц;
· Калибровка камер, элементы восстановления пространственной структуры;
Модуль для ввода/вывода изображений и видео, пользовательского интерфейса highgui:
· Захват видео с камер и из видео файлов, чтение/запись статических изображений;
· Функции для организации простого UI (сейчас все демо приложения используют HighGUI);
Экспериментальные и устаревшие функции cvaux:
· Пространственное зрение: стереокалибрация, самокалибрация;
· Поиск стереосоответствия, клики в графах;
· Нахождение и описание черт лица;
· Сравнение форм, построение скелетонов;
· Скрытые Марковские цепи;
· Описание текстур.
Развитие библиотеки:
* Стратегия смещается и расширяется - от настольных приложений HCI к более актуальным задачам (встроенные системы (камерафоны), цифровой дом, безопасность, медицинские приложения, поиск в домашних и промышленных цифровых библиотеках изображений и видео и т.д.) ;
* Библиотека останется свободной;
* Улучшится стабильность и скорость;
* Улучшится интеграция с IPP для еще большей производительности;
* Переход к более открытой модели разработки;
* Перенос некоторой функциональности из прошлых и текущих исследовательских проектов.
Библиотека OpenCV достаточно мощный инструмент для решения задач как в научной, так и промышленной областях.
1.4.2 Среда разработки MathWorks MATLAB
Продукт MATLAB, разработанный компанией MathWorks, включает высокоуровневый интерпретируемый язык программирования, интерактивную среду разработки и большое количество инструментов, предназначенных для решения задач самых разных отраслей науки.
Среда разработки MATLAB обладает всеми необходимыми инструментами для ра-работки объектно-ориентированных программ, включая отладчик, профилировщик, набор встроенных средств визуализации данных, а также удобный конструктор графических интерфейсов. Код, созданный на языке MATLAB, может исполняться отдельно от среды разработки, будучи собранным в независимое приложение с помощью компоненты MATLAB Compiler.
Созданный на языке MATLAB код предназначен для исполнения в большинстве современных операционных систем общего назначения: Microsoft Windows, GNU Linux, Apple OS X на базе аппаратной архитектуры x86. Кроме того, с помощью компонентов MATLAB Coder и Embedded Coder программы на языке MATLAB могут бы транслированы в код на языках C и C++ с соблюдением стандартов ANSI/ISO и в дальнейшем скомпилированы для других архитектур (например, для встраиваемых устройств на базе процес соров ARM). Эта функция обеспечивает высокую переносимость разработанных в среде MATLAB приложений.
Кроме того, имеется возможность взаимодействия MATLAB-кода с кодом, написанным на других языках, таких как C, C++, программной платформой Microsoft .NET, а также веб-сервисами по протоколам SOAP и WSDL.
Официальная документация MATLAB отличается полнотой и наглядностью, содержит большое количество практически полезных примеров использования функций и дает возможность осваивать язык максимально быстро.
Наибольший интерес в данном случае представляет набор инструментов MATLAB, предназначенный для решения задач компьютерного зрения, который выделен в библиотеку Computer Vision System Toolbox. В ее состав включены следующие возможности:
1) обработка изображений: методы улучшения, фильтрации, геометрических и цветовых преобразований;
2) распознавание объектов: метод Виолы - Джонса, обучаемые классификаторы, средства OCR и др.;
3) отслеживание объектов: фильтр Кальмана, алгоритмы CAMShift, Kanade-Lucas-Tomasi (KLT) и др.;
4) обнаружение и сопоставление признаков: детекторы углов (Harris, Shi & Tomasi), дескрипторы SURF, MSER, обнаружение HOG-признаков, сопоставление призна-ков и др.;
5) автоматическая калибровка камер, в том числе стереокамер;
6) работа со стереоизображениями, в том числе восстановление трехмерных сцен;
7) работа с видео: чтение, запись, воспроизведение, деинтерлейсинг, наложение и комбинирование кадров и т.д.;
8) средства визуализации результатов обработки;
9) поддержка генерации кода на языке ANSI/ISO C.
Таким образом, данная библиотека в частности и пакет MATLAB в целом функционально полностью соответствуют приведенным требованиям.
1.5 Интерфейсы последовательной передачи данных
Так как в работе будет необходимо реализовать передачу сигналов между объектом управления (камерой) и управляющим устройством, то соответственно рассмотрим существующие интерфейсы передачи данных.
Для передачи данных все устройства оборудованы тем или иным интерфейсом, подсоединение к которому позволяет считывать информацию по заданному протоколу.
Физически это означает наличие определенных разъемов на оборудовании и кабельные изделия, способные обеспечить передачу информации в диспетчерский пункт. Чаще всего это:
o RS-232 (EIA-232)
o RS-422 (EIA-422)
o RS-485 (EIA-485)
RS в названии протокола означает Recommended Standard (рекомендованный стандарт). Все три протокола относятся к физическому уровню (по модели OSI (англ. Open Systems Interconnection Basic Reference Model, базовая эталонная модель взаимодействия открытых систем)). Физический уровень является самым нижним уровнем модели OSI, т.е. поток информации передается на нижнем уровне - в двоичной системе - в виде последовательности 0 и 1.
...Подобные документы
Искусственная нейронная сеть - математическая модель, представляющая собой систему соединённых, взаимодействующих между собой нейронов. Методы детектирования движения в видеопотоке. Обзор инструментальных средств для разработки программного продукта.
дипломная работа [2,0 M], добавлен 06.06.2017Разработка программно-аппаратного комплекса на базе ПЭВМ типа Pentium IV, включающего в себя периферийное устройство для генерации сигнала в виде напряжения, меняющегося во времени, и программного обеспечения для управления процессом генерации.
дипломная работа [3,0 M], добавлен 30.06.2012Особенности процесса проектирования систем компьютерного управления объектами. Принципы построения системы компьютерного управления мехатронной системой. Составление алгоритма и программы управления с использованием языка Pascal и Assembler-вставок.
курсовая работа [692,7 K], добавлен 06.02.2016Алгоритмы поиска динамических шумов и их компенсации на основе метода Motion estimation. Разработка программного продукта для детектирования движения капель дождя и их удаления на видеопоследовательностях, и его реализация среде Microsoft Visual Studio.
магистерская работа [6,6 M], добавлен 09.02.2013Табличный метод вычисления контрольной суммы. Реализация на практике вычисления циклического контрольного кода параллельным и последовательным методами. Аппаратная реализация вычисления CRC в параллельном и последовательном коде, математическое описание.
курсовая работа [573,7 K], добавлен 09.08.2015Ознакомление с основными возможностями и особенностями программно-аппаратного комплекса Менуэт 2000. Назначение системы управления доступом (СУД), ее возможности, режимы работы. База данных объекта контроля. Менеджер сети замков системы Менуэт 2000.
лабораторная работа [1,6 M], добавлен 17.01.2011Задачи компьютерного зрения. Анализ, разработка и реализация алгоритмов поиска и определения движения объекта, его свойств и характеристик. Алгоритмы поиска и обработки найденных областей движения. Метод коррекции. Нахождение объекта по цветовому диапазон
статья [2,5 M], добавлен 29.09.2008Системы и задачи их анализа. Методы системного анализа: аналитические; математические. Сущность автоматизации управления в сложных системах. Структура системы с управлением, пути совершенствования. Цель автоматизации управления. Этапы приятия решений.
реферат [324,3 K], добавлен 25.07.2010Основные модели представления знаний. Системы поддержки принятия решений. Диаграмма UseCase. Разработка базы данных на основе трех моделей: продукционные правила, семантическая сеть, фреймовая модель. Программная реализация системы принятия решений.
курсовая работа [715,1 K], добавлен 14.05.2014Реализация интерфейса пользователя для инструментального средства, обеспечивающего работу с таблицами принятия решений, встроенными в систему управления базами данных Oracle. Составление таблиц принятия решений и архитектуры инструментального средства.
курсовая работа [1,8 M], добавлен 18.07.2014Анализ программно-технических решений по учету оборудования торгового эквайринга. Разработка архитектуры программного комплекса учета оборудования. Система управления контентом. Выбор CMS. Менеджер пользователей. Структура информационной базы данных.
дипломная работа [1,8 M], добавлен 19.01.2017Состав и принцип работы аппаратуры. Выбор параметров корреляционного анализа и Фурье-анализа. Разработка и применение алгоритма корреляционного анализа. Реализация алгоритма Фурье-анализа на языке С++ и алгоритма корреляционного анализа на языке С#.
дипломная работа [4,6 M], добавлен 30.11.2016Обзор алгоритмов решения задачи: точные методы, генетический и жадный алгоритмы. Характеристика жадного алгоритма: его описание, анализ точности приближения, вычислительной сложности. Программная реализация и проверка корректности и быстродействия.
курсовая работа [228,7 K], добавлен 14.10.2017Методика и основные этапы разработки концептуальной модели и базовой архитектуры программно-аппаратного комплекса. Выбор программно-аппаратной платформы и среды. Обеспечение интуитивно-понятного пользовательского интерфейса. Создание системы управления.
курсовая работа [916,7 K], добавлен 06.12.2012Обслуживание двух встречных потоков информации. Структура информационных систем. Разработка структуры базы данных. Режимы работы с базами данных. Четыре основных компонента системы поддержки принятия решений. Выбор системы управления баз данных.
курсовая работа [772,0 K], добавлен 21.04.2016Проблема защиты информации в Internet. Технические детали спецификации SKIP, конфиденциальность и аутентификация. Устройство SunScreen: аппаратная система защиты локальных сетей. Алгоритм шифрования DES. Реализация алгоритма ГОСТ, реализация, расшифровка.
курсовая работа [2,8 M], добавлен 25.04.2012Описание математической модели летательного аппарата. Разработка алгоритмов управления беспилотным летательным аппаратом . Модель атмосферы и воздушных возмущений. Модель рулевых органов. Синтез управления на траекторном уровне. Петля Нестерова.
дипломная работа [1,0 M], добавлен 29.09.2008Разработка информационного и алгоритмического обеспечения системой управления базами данных Microsoft Access. Реализация и принцип работы основных компонентов подсистемы поддержки принятия решений. Особенности разработки программного модуля в Delphi.
реферат [333,9 K], добавлен 15.11.2009Методы решения проблем, возникающих на стадиях и этапах процесса принятия решений, их реализация в информационных системах поддержки принятия решений (СППР). Назначение СППР, история их эволюции и характеристика. Основные типы СППР, области их применения.
реферат [389,3 K], добавлен 22.11.2016Разработка и реализация программы расчета заданных функций на языке программирования VBA. Математическая модель, параметры и характеристики задачи, критерии оценки эффективности созданного модуля. Разработка алгоритма и тестирование программного модуля.
курсовая работа [488,7 K], добавлен 08.09.2010