Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
дипломчик.docx
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

Введение

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

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

Целью данной работы является разработка программно-аппаратного комплекса, особенностями которого можно считать способность обнаруживать и отслеживать объекты в режиме реального времени путем управления поворотом роботизированной камеры, которая находится в помещении. Система должна удовлетворять следующим требованиям: камера подвижна, возможен аддитивный шум при регистрации данных, скачки яркости входных растровых данных; высокая производительность при обработке в реальном времени. Программный комплекс будет реализовываться на языке C/C++ в среде разработки QT Creator с поддержкой библиотеки компьютерного зрения OpenCV. Для работы будем использовать роботизированную камеру Sony BRC H900P, которая будет передавать изображение на персональный компьютер, через который и будет осуществляться управление камерой.

Постановка задачи

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

На основе поставленной цели сформируем следующие задачи:

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

  2. Построение технической системы

  3. Реализация алгоритма поиска лица человека на изображении;

  4. Отслеживание положения лица в режиме реального времени;

  5. Реализация алгоритма смещения камеры в зависимости от положения объекта на изображении;

  6. Оценка полученных результатов.

Требования к системе:

  1. Работа в режиме реального времени

  2. Устойчивость к смене освещения

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

  4. Устойчивость при частичном перекрытии объекта

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

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, и руководство автопарка в режиме реального времени получает информацию о потоках пассажиров.