Распознавание образов на камерах городского видеонаблюдения
Рассмотрение программных продуктов, обеспечивающих решение задач по распознаванию образов. Видеопотоки от камер видеонаблюдения. Изменение размера и формата представления кадра. Отслеживание движения объекта в кадре. Распознавание номеров автотранспорта.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 28.11.2021 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И РАЗВИТИЯ КОММУНИКАЦИИ РЕСПУБЛИКИ УЗБЕКИСТАН
ТАШКЕНТСКИЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ИМЕНИ МУ?АММАДА АЛ-ХОРАЗМИЙ
ФАКУЛЬТЕТ: “ПРОГРАММНЫЙ ИНЖИНИРИНГ”
Лабораторная работа
Лабораторная работа № 1 Тема: Распознавание образов на камерах городского видеонаблюдения
Выполнил:Турсунов И.Т
Группа №323-18
ТАШКЕНТ 2021 год
Введение
Для обеспечения безопасности и наблюдения за обстановкой в современном мире используются системы видеонаблюдения. Повсюду нас окружают камеры, которые следят за каждым нашим шагом. Кто пользуется этими камерами? Кто сидит на другом конце провода? Какое количество операторов должно быть для наблюдения и контроля за текущей обстановкой?
Для ответа на эти вопросы необходимо поставить себя на место охранника или офицера дежурной части полиции. Через два-три часа дежурства, им уже тяжело оценивать обстановку, смотря в мониторы с многочисленными камерами. Глаз «замыливается». Это приводит к ошибкам, которые могут привести к тяжелым последствиям.
На помощь в таких случаях приходят современные технологии интеллектуального видеонаблюдения, которые берут на себя часть монотонной работы операторов, автоматически выявляют нештатные ситуации и информируют о них. Оператору остается принять решение о необходимой реакции на поступающие события.
Интеллектуальное видеонаблюдение базируется на алгоритмах распознавания образов, которые обеспечивают автоматическое определение различных объектов в видеопотоках, транслируемых с камер видеонаблюдения в режиме реального времени.
В современном мире данная тема является очень актуальной. Мы, находясь под постоянным наблюдением видеокамер, не задумываемся как все это устроено.
Целью моей работы является: изучение темы «Распознавание образов на камерах городского видеонаблюдения», определение основных направлений использования и определение основных принципов работы алгоритмов.
Для достижения данной цели, мне необходимо будет решить следующие
Задачи:
· Структурировать предметную область и выявить основные направления развития.
· Собрать информацию по каждому из направлений.
· Познакомиться с программными продуктами, обеспечивающих решение задач по распознаванию образов.
· Подобрать дополнительные уточняющие иллюстрации к работе.
· Создать итоговый текст реферата на основе собранной информации.
Технологии распознавания образов в современном видеонаблюдение можно разделить на два типа: ситуационная видеоаналитика и идентификация/ аутентификация объектов.
Рисунок 1 Структурная схема видеоаналитики
Ситуационная видеаналитика обеспечивает автоматический анализ поведения объектов в кадре, в том числе выявление нештатных ситуаций. При этом от системы не требуется идентификация объекта, ее задача просто следить за всеми перемещениями и контролировать порядок.
Автоматическая идентификация и аутентификация объектов обеспечивает автоматическое определение в кадре людей, машин и тп. Под идентификацией понимается скрытое выявление лиц, номеров машин и тп. Аутентификациz - это автоматическое подтверждение личности, в тех случаях, где объект заинтересован, чтобы его узнали.
1. Основные принципы работы
Ситуационная видеоналитика обеспечивает детектирование определенных ситуаций в поведении объектов. Объектами, в данном случае, являются любые подвижные предметы в области обзора камеры видеонаблюдения. Это могут быть люди, автомобили, животные и другие предметы, движение и поведение которых необходимо идентифицировать. Прежде всего надо понимать, что анализируется последовательность кадров, поступающих от источника съемки - камеры. Такая последовательность называется видеопотоком.
Видеопотоки от камер видеонаблюдения
Современные камеры видеонаблюдения формируют последовательность кадров, кодируют ее и транслируют по сети потребителям. Существует множество форматов видео-данных, но в любом случае это последовательность кадров, которые передаются с определенной частотой. Кадр - это изображение, которое имеет разрешение и формат (количество бит на пиксель и их интерпретацией - какие биты за какую составляющую цвета отвечают). Внутри потока может быть использовано сжатие кадров для уменьшения объема передаваемых данных, но при показе на экране кадры всегда разжимаются до исходного состояния.
Алгоритмы видеоаналитики всегда работают с несжатыми кадрами. При этом, в один момент времени, обрабатывается только один кадр, т.е. Кадры обрабатываются последовательно. При обработке, важно знать, сколько прошло времени после предыдущего кадра. Эту величину можно вычислить из частоты кадров, но более практичным подходом, является сопровождение кадра временной меткой -timestamp.
Таким образом видео поток характеризуется частотой кадров, их форматом и разрешением.
Общая схема работы видеоаналитики
Общая схема работы видеоаналитики представлена ниже на схеме.
Процесс делится на несколько последовательных этапов. На выходе каждого из них информация о происходящем в кадре дополняется все большими деталями. Также могут быть обратные связи между этапами, чтобы более тонко реагировать на изменения в кадре. Рассмотрим схему более детально.
Изменение размера и формата представления кадра
Первым этапом является подготовка кадра. Обычно, при этом уменьшают его размер. В дальнейшей обработке будет участвовать каждый пиксель изображения, поэтому чем меньше кадр, тем быстрее все будет работать. Естественно, при сжатии теряется часть информации в кадре. Но это не критично, а даже полезно. Объекты, с которыми работает аналитика, в основном достаточно большие, чтобы не пропасть из кадра при сжатии. А вот всевозможный “шум”, связанный с качеством камеры, освещенностью, природными факторами, будет уменьшен.
Изменение разрешения происходит путем объединения нескольких пикселей исходного изображения в один. От способа объединения зависит та часть информации, которая будет сохранена.
Например, квадрат 3х3 пикселя исходного изображения должен быть преобразован в один пиксель итогового изображения. Можно просуммировать все 9 пикселей, можно взять сумму только 4-х угловых пикселей, а можно только один центральный. Приведем пример:
Фоновые модели
Самым важным этапом обработки является создание фоновой модели, т.е. определение изображения, на фоне которого двигаются объекты. Целью данного этапа является формирование фона сцены и получение разности между фоном и новым кадром. От реализации этого этапа будет зависеть качество работы всего алгоритма в целом. Если какой-то объект будет принят как фон или наоборот часть фона будет выделена как объект, то ошибки будут повторяться из кадра в кадр.
В дальнейшем будем рассматривать данный алгоритм на примере видеопотока, поступающего с камеры, которая установлена на железнодорожном вокзале.
В самом простом случае как фон можно взять кадр с пустой сценой:
Рисунок Пример работы фоновых моделей
Выберем кадр с движущимся объектом:
Рисунок Пример работы фоновых моделей
Если перевести оба кадра в Y8 (черно-белый) и вычесть из кадра с объектом кадр с фоном, то получим следующую разность:
Рисунок Пример работы фоновых моделей
Сделаем бинарное изображение, т.е. любая точка может быть 1 (белая) или 0 (черная). Заменим значение всех точек, которые больше 0 на 255. В итоге мы перейдем к контрастному черно-белому изображению:
Рисунок Пример работы фоновых моделей
Вроде бы все хорошо, объект отделен от фона, имеет четкие границы. Но, во-первых, выделилась тень объекта, и вверху кадра видны шумы изображения.
На практике такой подход не подходит. Любая тень, блик света, изменение яркости камеры испортят весь результат. Именно в этом и заключается вся сложность задачи. Объекты должны быть отделены от фона, при этом необходимо игнорировать природные факторы и шумы изображения: световые блики, тени от зданий и облаков, колышущие ветки деревьев, ошибки сжатия кадров и т.д. При этом если вы ищите оставленный предмет, то наоборот, он не должен стать частью фона.
Существует множество алгоритмов, решающих эти проблемы с разной эффективностью. От простого усреднения фона до использования методов машинного обучения. Многие из них есть в проекте OpenCV (это активно развивающаяся библиотека компьютерного зрения, содержащая множество различных алгоритмов). Причем можно и комбинировать несколько подходов, что даст лучший результат. Но чем сложнее алгоритм, тем больше времени занимает обработка очередного кадра. При живом видео с чистотой 25 кадров в секунду у системы есть только 40 мс на обработку одного кадра. Поэтому выбор оптимального решения будет зависеть от задачи и вычислительных ресурсов, выделенных на ее выполнение.
Формирование зон
Теперь нам надо выделить объекты, которые появились на фоновой модели. Именно для этого необходимо сделать разностный кадр, который будет отображать белые объекты на черном фоне:
Рисунок Выделение объектов в кадре
Рисунок Пример работы фоновых моделей
Теперь нужно отделить объекты друг от друга и сформировать зоны, объединяющие пиксели объектов:
Рисунок Пример работы фоновых моделей (Погрешности фоновой системы)
Тут сразу становятся видны все недостатки фоновой модели. Человек сверху разделен на несколько частей, много шумов, тени от людей. Однако, часть этих недостатков можно исправить на данном этапе. Зная область объекта в кадре, его высоту и ширину, плотность пикселей, можно отфильтровать лишние объекты.
На кадре сверху синими рамками указаны объекты, которые участвуют в дальнейшей обработке, а зелеными -- отфильтрованные. Тут тоже возможны ошибки. Как видно, человек сверху, разделенный на несколько частей, тоже был отфильтрован из-за своих размеров. Эту проблему можно решить за счет использования перспективы и предварительной юстировки камеры.
Возможны и другие ошибки. Например, несколько объектов могут быть объединены в один. Так что и на данном этапе необходимо серьезно подходить к выбору алгоритмов обработки.
Трекинг зон
На последнем этапе зоны превращаются в подвижные объекты. Тут используется результат обработки нескольких последних кадров. Главная задача - определить, что выделенная зона на двух соседних кадрах является одним и тем же объектом. Признаки могут быть самые разнообразные: размер, плотность пикселей, цветовые характеристики точек в зоне, предсказание направления движения и т.д. Именно здесь очень важны временные метки кадров. Они позволяют определить скорость объекта, предсказать где объект окажется в следующем кадре и рассчитать пройденное им расстояние.
Рисунок Отслеживание движения объекта в кадре
На данном этапе можно исправить ошибки предыдущих этапов обработки. Например, склеенные объекты можно разделить, учитывая их историю движения. С другой стороны, тут возможны проблемы. Самая главная из них - пересечение 2-х объектов. Частный случай этой проблемы, когда больший объект на длительное время заслоняет меньший.
В алгоритме могут присутствовать обратные связи, улучшающие работу предыдущих этапов. Можно использовать информацию об объектах в сцене при формировании фона.
Например, можно выделить оставленный предмет и не делать его частью фона. Или бороться с “призраками”: если при создании фона на сцене был человек, то, когда он уйдет, на его месте появится объект-“призрак”. Понимая, что в этом месте начинается траектория движения объекта, можно быстро убрать “призрака” из фона.
Результатом работы всех этапов является список объектов в сцене. Каждый из них характеризуется размерами, плотностью, скоростью, траекторией, направлением движения и другими параметрами.
Этот список используется при анализе сцены. Можно определить пересечение объектом линии или движение в неправильном направлении. Можно подсчитать количество объектов в заданной зоне, определить блуждание (праздное шатание), падение и множество других ситуаций.
Распознавание лиц
Алгоритм распознавания лиц можно разбить на три этапа. Прежде всего необходимо найти и выделить лицо в кадре. На втором этапе определить параметры данного лица, которые характерны только ему. На третьем этапе требуется сравнить эти параметры с имеющейся базой данных лиц для идентификации лица в кадре.
Поиск лица в кадре осуществляется на основе определения в изображении ключевых черт человеческого лица, которое содержит в себе два симметрично расположенных глаза, нос и рот, резко отличающиеся по яркости относительно остальной части лица.
Рисунок Сканирование лица, выделение особенности (черты), построение векторной маски
Для определения параметров лица не требуется анализ всего кадра, поэтому для этой задачи вырезается соответствующий фрагмент изображения. При этом анализе строиться «векторная маска» лица, которая состоит из вершин и соединяющих их ребер. Вершинами являются характерные лицу точки: глаза, нос, контур губ, контур ушей, брови и прочее. Данную маску называют биометрической, т.е. характеризующей биологические особенности лица. Чем точнее построена маска, тем с большей вероятностью возможна идентификация лица. Также, на основе этой маске можно определить такие характеристики, как пол, возраст и расу.
Выше приведены примеры из системы распознавания лиц RTFace, на которых точно определен возраст и пол зарегистрированных лиц, а также определена разница между монголоидной и европеоидной расами.
Точность выделения лица в кадре и последующего построения векторной модели зависит от его положения перед камерой при видеофиксации. Должны выполняться следующие условия:
1. Лицо должно быть повернуто в сторону камеры. Допустимые углы поворота - не более 15-20 градусов.
2. Не должно быть наложения лиц - эффект толпы.
3. Должна быть равномерная подсветка лица, при которой будут нормально выделяться все его особенности.
На третьем этапе распознавания лиц происходит сравнение векторной маски лица с базой данных, в которой храняться эталоны. При этом определяется коэффициент совпадения. Если данное значение больше 0,8, то вероятность правильного распознавания очень большая.
распознавание образ программный видеонаблюдение
В большинстве систем распознавания лиц для эффективной работы алгоритмов требуется, чтобы на отрезок между зрачками глаз приходилось не менее 60 пикселов.
Распознавание номеров автотранспорта
Алгоритм распознавания автомобильных номеров имеет похожую с лицами последовательность действий:
1. Поиск номера в кадре - обнаружение области в которой содержится номер;
2. Нормализация номера - определение точных границ номера, нормализация контраста изображения;
3. Распознавание текста - чтение всего, что нашлось в нормализованном изображении номера.
Поиск номера в кадре осуществляется путем выделения характерной прямоугольной области. Известно, что все автомобильные номера имеют специальное покрытие, которое в инфракрасной подсветке подсвечивается. Это сильно упрощает поиск номера, особенно в темное время суток.
Рисунок Пример распознавания номеров автотранспорта
Большинство алгоритмов обнаруживают номер не точно и требуют дальнейшего уточнения его положения, а также улучшения качества снимка. Это и является нормализацией изображения номера.
На последнем этапе производится распознавание текста.
«Умная» камера или видеоанализ на базе ПК
Анализ изображения может осуществляться в камере или на компьютере. В первом случае, камера, фотографируя кадры, сразу производит их обработку, при которой выделяет объекты, строит траекторию их движения и анализирует события. После этого из этих кадров формируется видеопоток. Такие «умные» камеры оборудованы мощными процессорами и вместе с видеопотоком передают пользователю всю информацию о том, что происходит в зоне видимости.
Приведем один из примеров использования видеоаналитики на камере Bosch. Ниже приведен интерфейс этой камеры, который демонстрирует настроенные на ней алгоритмы видеоанализа.
Рисунок Интерфейс камеры с настроенными алгоритмами
Из всего кадра выделена (желтым фоном) территория кадра, на которой осуществляется анализ подвижных объектов. В кадре определены зоны и рубежи. Если объект пересекает их, то возникает тревога..
На следующем примере видно, как такая же камера настроена на определение двух ситуаций: пересечение машиной линии и вход пешехода в зону. Это событие связанно с движением в указанном направлении. Если бы движение происходило в обратном направлении, то тревоги не было бы.
Рисунок Частный пример работы "умной" камеры
Если видеоанализ происходит на компьютере, то на него поступает сжатый видеопоток от камеры, который компьютер перед обработкой должен превратить в последовательность кадров. Это дополнительная и довольно большая нагрузка на процессор, но современные процессоры с легкостью справляются с этим.
Заключение
Распознавание образов используется в первую очередь для защиты от внешних или же внутренних угроз. Данный модуль программирования, может развиться до не мыслимых результатов, возможности таких систем, ограничены лишь нашим воображением.
Список источников
1. Сайт компании Cognitec Немецкая компания Cognitec является разработчиком системы распознавания лиц (http://www.cognitec.com/ ) *сайт на английском языке Дата использования источника (03.2018)
2. Сайт компании SYNESIS Компания SYNESIS занимается разработкой интеллектуальных систем видеонаблюдения (https://synesis.ru/) Дата использования источника (01.2018)
3. Научный форум Хабрахабр Форум Хабрахабр публикует статьи экспертов и пользователей на разную тематику, там я нашел подтвержденную информацию про системы видеонаблюдения и о видеоаналитике. (https://habrahabr.ru/users/nikolaiptitsyn/posts/). Дата использования источника (12.2017)
4. Книга «Видеоаналитика Мифы и реальность» от авторов Торстен Анштедт, Иво Келлер, Харальд Лутц - основной источник информации
5. Программные продукты компании PKCC (источник прикладных материалов (скриншоты интерфейса существующих систем))
Размещено на Allbest.ru
Подобные документы
Теоретический анализ современных методик создания программных средств по распознаванию образов, их преимущества и недостатки. Описание предметной области, обоснование выбора технологии и разработка проекта программного средства по распознаванию образов.
дипломная работа [2,3 M], добавлен 20.05.2013Распознавание образов как раздел кибернетики, развивающий теоретические основы и методы классификации и идентификации предметов. Знакомство с принципом действия сканирующих устройств. Анализ особенностей преобразования документа в электронный вид.
презентация [160,1 K], добавлен 06.01.2014Принципы и система распознавание образов. Программное средство и пользовательский интерфейс. Теория нейронных сетей. Тривиальный алгоритм распознавания. Нейронные сети высокого порядка. Подготовка и нормализация данных. Самоорганизующиеся сети Кохонена.
курсовая работа [2,6 M], добавлен 29.04.2009Понятие и особенности построения алгоритмов распознавания образов. Различные подходы к типологии методов распознавания. Изучение основных способов представления знаний. Характеристика интенсиональных и экстенсиональных методов, оценка их качества.
презентация [31,6 K], добавлен 06.01.2014Распознавание образов - задача идентификации объекта или определения его свойств по его изображению или аудиозаписи. История теоретических и технических изменений в данной области. Методы и принципы, применяемые в вычислительной технике для распознавания.
реферат [413,6 K], добавлен 10.04.2010Создание программного средства, осуществляющего распознавание зрительных образов на базе искусственных нейронных сетей. Методы, использующиеся для распознавания образов. Пандемониум Селфриджа. Персептрон Розенблатта. Правило формирования цепного кода.
дипломная работа [554,8 K], добавлен 06.04.2014Обзор задач, возникающих при разработке систем распознавания образов. Обучаемые классификаторы образов. Алгоритм персептрона и его модификации. Создание программы, предназначенной для классификации образов методом наименьшей среднеквадратической ошибки.
курсовая работа [645,2 K], добавлен 05.04.2015Отображение на плоскости точек из многомерного пространства, интерактивное распознавание отдельных классов образов в качестве объекта разработки программного продукта. Концептуальная модель предметной области. Классы и объекты интерфейса пользователя.
дипломная работа [1,5 M], добавлен 10.06.2013Теоретические основы распознавания образов. Функциональная схема системы распознавания. Применение байесовских методов при решении задачи распознавания образов. Байесовская сегментация изображений. Модель TAN при решении задачи классификации образов.
дипломная работа [1019,9 K], добавлен 13.10.2017Оптико-электронная система идентификации объектов подвижного состава железнодорожного транспорта. Автоматический комплекс распознавания автомобильных номеров. Принципы и этапы работы систем оптического распознавания. Особенности реализации алгоритмов.
дипломная работа [887,3 K], добавлен 26.11.2013