АННОТАЦИЯ
Пояснительная записка - 54 страниц, 18 рисунков, 6 таблиц, 7 источников, 6 приложений.
Объектом исследования является Интеллектуальный определитель номеров транспортных средств в видеопотоке.
Предмет исследования — 100 видеофайлов.
Целью исследования является создание обучаемой нейронной сети для определения номеров транспортных средств в видеопотоке.
В ходе работы были изучены различные модели искусственных нейросетей и выбраны по одной модели на каждого человека в команде.
Для определения метода реализации проекта была поэтапно рассмотрена каждая из 5 сделанных программ.
В результате исследования были разработаны пять программ на языке Python, распознающие номера транспортных средств в видеопотоке.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1 МОДЕЛИ НЕЙРОСЕТЕЙ
1.1 Сущесвующие модели нейросетей
1.2 Использованные модели нейросетей
1.2.1 Модель нейросети VGG 16 и VGG 19
1.2.2 Модель нейросети InceptionV3
1.2.3 Модель нейросети Haar Cascedes
1.2.4 Модель нейросети MobileNet V2
1.2.5 Модель нейросети ResNet 50
2 ОБУЧЕНИЕ МОДЕЛЕЙ НЕЙРОСЕТЕЙ ОПРЕДЕЛЕНИЯ НОМЕРОВ ТРАНСПОРТНЫХ СРЕДСТВ В ВИДЕОПОТОКЕ
2.1 Формирование обучающей и проверяющей выборок для обучения выбранных моделей нейросетей
2.2 Обучение выбранных моделей нейросетей определения номеров транспортных средств
2.2.1 Модель нейросети VGG 16
2.2.2 Модель нейросети InceptionV3
2.2.3 Модель нейросети Haar Cascedes
2.2.4 Модель нейросети MobileNet V2
2.2.5 Модель нейросети ResNet 50
3 ОЦЕНКА КАЧЕСТВА ОПРЕДЕЛЕНИЯ НОМЕРОВ ТРАНСПОРТНЫХ СРЕДСТВ
3.1 Оценка качества обучения
3.1.1 Оценка качества обнаружения номеров
3.1.2 Оценка качества обнаружения символов
4 РАЗРАБОТКА ГРАФИЧЕСКОГО ИНТЕРФЕЙСА ПРОГРАММЫ
5 РЕЗУЛЬТАТЫ РАБОТЫ
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ВВЕДЕНИЕ
В современном мире, где технологии играют все более важную роль в различных сферах деятельности, использование автомобильных номеров превратилось в одну из ключевых составляющих многих приложений и систем. Эти номера, состоящие из уникальной комбинации символов, стали не просто идентификаторами транспортных средств, но и важным источником информации для решения широкого круга задач, начиная от безопасности дорожного движения и заканчивая учетом автомобилей на парковках. Разнообразные приложения, основанные на определении номеров транспортных средств в видеопотоке, используются в таких областях, как банковское дело, логистика, общественная безопасность и промышленность. В этой работе будет рассмотрена значимость и применение таких систем, вызовы их разработки и перспективы дальнейшего развития.
Одной из важнейших областей применения систем определения номеров транспортных средств в видеопотоке (ОНТС) является обеспечение безопасности на дорогах. Системы видеонаблюдения с функцией определение номеров позволяют автоматически отслеживать транспортные средства, контролировать скорость движения, а также выявлять и реагировать на нарушения правил дорожного движения. Например, они могут использоваться для автоматического выявления и фиксации нарушений скоростного режима, проезда на красный свет или нарушения правил парковки. Это не только способствует улучшению безопасности дорожного движения, но и содействует сокращению аварийности и повышению эффективности дорожного патрулирования.
Другой важной областью применения является учет автомобилей на парковках. Системы определения номеров позволяют автоматически определять и регистрировать въезд и выезд автомобилей с парковочных мест, что делает процесс управления парковкой более эффективным и удобным для
пользователей. Кроме того, они позволяют проводить анализ использования парковочных мест, оптимизировать распределение мест и управлять парковочным пространством с целью максимизации его использования.
В банковской сфере системы определение номеров транспортных средств также нашли широкое применение. Например, они используются для автоматизации процесса регистрации и учета автомобилей, въезжающих и выезжающих с банковских территорий. Это помогает банкам обеспечивать безопасность на своих территориях, контролировать доступ и обеспечивать конфиденциальность клиентов. Кроме того, системы ОНТС могут быть использованы для автоматического учета количества автомобилей, обслуживаемых банкоматами или офисами банка, что позволяет банкам эффективнее планировать свою работу и управлять ресурсами.
В промышленности системы определения номеров транспортных средств используются для автоматизации различных процессов, связанных с учетом и контролем транспорта. Например, они могут быть использованы для автоматического учета количества автомобилей на производственных площадках, для определения и регистрации транспортных средств при въезде на территорию предприятия, а также для контроля за соблюдением правил безопасности на производстве. Это помогает повысить эффективность производственных процессов, улучшить безопасность рабочей среды и сократить риски аварий и производственных простоев.
Одним из главных вызовов при разработке систем определения номеров транспортных средств является обработка изображений в условиях переменного освещения и различных искажений. Видеопотоки, поступающие с камер наблюдения, могут содержать различные виды искажений, такие как размытие, изменение контраста и яркости, отражения от стекол или других поверхностей, а также изменение угла обзора. Это создает сложности для точного распознавания номеров и требует использования сложных алгоритмов обработки изображений и методов машинного обучения.
Однако, несмотря на эти вызовы, системы определения номеров транспортных средств продолжают активно развиваться и улучшаться. Современные технологии, такие как искусственный интеллект и глубокое обучение, позволяют создавать все более точные и надежные системы, способные эффективно работать в различных условиях и с различными типами изображений. Благодаря этому перспективы дальнейшего развития систем распознавания номеров транспортных средств остаются очень перспективными.
В заключение, можно сказать, что системы определения номеров транспортных средств играют все более важную роль в современном мире. Они не только обеспечивают безопасность дорожного движения и эффективное управление парковками, но и находят широкое применение в различных сферах деятельности, таких как банковское дело, промышленность и логистика. Несмотря на вызовы и сложности, с которыми они сталкиваются, системы распознавания номеров транспортных средств продолжают активно развиваться, что делает их одним из наиболее перспективных направлений в области информационных технологий.
1 МОДЕЛИ НЕЙРОСЕТЕЙ
1.1 Существующие модели нейросетей
Нейросеть — математическая модель, работающая по принципам нервной системы живых организмов. Ее основное назначение — решать интеллектуальные задачи. Главной особенностью нейросетей является способность к обучению. Они могут обучаться как под управлением человека,
так и самостоятельно, применяя полученный ранее опыт.
Все нейронные сети можно разделить на несколько видов: однослойные,
многослойные, прямого распространения, рекуррентные.
Однослойные сети моментально выдают результат после загрузки в них
некоторого массива данных (Rosenblatt perceptron). Многослойные сети прогоняют вводную информацию через несколько промежуточных слоев (FNN, VGG19, VGG16). Сети прямого распространения чаще всего используются для распознавания образов, классификации и кластеризации данных (Haar Cascades, Inception V3, ResNet101). Рекуррентные сети перенаправляют информацию туда и обратно, пока не получат конечный результат. (AR, MA, ARIMA, GARCH).
В таблице 1 представлены обучаемые модели нейронных сетей. Отличия между моделями выделяются по следующим признакам:
– Размер (МБ);
– Время глубины (мс) на шаг вывода (CPU); – Время (мс) на шаг вывода (GPU).
1.2 Использованные модели нейросетей
Haar Cascades является одной из первых моделей, созданных для распознавания объектов на видеопотоке. VGG 16 и ResNet 50 cчитаются надежными моделями с хорошей стабильностью работы. Inception V3 и MobileNet V2 cчитается оптимальными моделями для решения мелких задач, именно на их основе строится большее количество нейронных сетей. Еще одним преимуществом приведенных нейросетей среди прочих является высокий уровень информативной составляющей, которая касается принципов создания и обучения данных моделей. Благодаря ряду определяющих факторов был сделан такой выбор.
1.2.1 Модель нейросети VGG 16
Архитектура Visual Geometry Group была разработана для распознавания объектов на изображениях. В 2014 году сеть VGG-16 на соревнованиях по распознаванию изображений базы ImageNet достигла небывалой на тот момент точности в 92,7%, и по этому показателю почти сравнялась с человеком. Теперь VGG-16 есть в открытом доступе (причем с обученными весовыми коэффициентами), чтобы люди могли использовать её для своих экспериментов и проектов в области компьютерного зрения и глубокого обучения.
Рисунок 1 – Общая структура VGG 16
На вход подает полноцветное изображение с тремя каналами: red, green, blue. Затем оно последовательно проходит через сверхточные слои Conv1-1 и Conv1-2, каждый имеет по 64 фильтра с размером ядер 3х3. Далее, операция MaxPooling уменьшает вдвое линейные размеры карт признаков и результат обрабатывается двумя последовательными слоями Conv2-1 и Conv2-2 со 128 фильтрами с тем же размером ядер 3х3, потом через три сверхточных слоя все проходит, потом еще через три. Результирующий тензор размером 7х7х512 подается на полносвязную НС с 4096 нейронами двух скрытых слоев и 1000 нейронами выходного слоя. Число 1000 соответствует количеству классов, на которые эта сеть была обучена. Число 16 означает общее количество слоев в нейронной сети [1].
1.2.2 Модель нейросети InceptionV3
Inception architecture — InceptionV3 – это модель глубокого обучения, основанная на сверхточных нейронных сетях, которая используется для классификации изображений. InceptionV3 — это улучшенная версия базовой модели InceptionV1, которая была представлена как GoogLeNet в 2014 году. Как следует из названия, она была разработана командой Google. Модель Inception v3 была выпущена в 2015 году, и имеет в общей сложности 42 уровня и более низкую частоту ошибок, чем ее предшественники. Ниже представлена модель InceptionV3.
Рисунок 2 - Модель InceptionV3
Приведенная ниже таблица 2 описывает схему модели InceptionV3. Здесь выходной размер каждого модуля является входным размером следующего модуля [2].
Таблица 2 - Компоненты InceptionV3
1.2.3 Модель нейросети Haar Cascedes
Haar Cacades — модель обучения, которая была разработана и представлена в 2001 году Полом Виолой и Майклом Джонсом. Она до сих пор является основополагающим инструментом для поиска объектов на изображении в реальном времени. Haar Cascades применителен к видео – нейросетью используется подход на основе сканирующего окна: изображение сканируется окном поиска, а затем применяется классификатор к каждому положению. Визуализация работы сканирующего окна представлена на рисунке 3. Система обучения и выбора наиболее значимых признаков полностью автоматизирована и не требует вмешательства человека, поэтому данный подход работает быстро [4].
Рисунок 3 – Подход сканирующих окон
1.2.3 Модель нейросети MobileNet V2
MobileNet V2— Свёрточная сеть состоящая из одного обычного свёрточного слоя с 3х3 свёрткой в начале и тринадцати блоков с постепенно увеличивающимся числом фильтров и понижающейся пространственной размерностью тензора. Особенностью данной архитектуры является отсутствие max pooling-слоёв. Вместо них для снижения пространственной размерности используется свёртка с параметром stride, равным 2 [5].
Основной строительный блок этой сети в целом похож на предыдущее
есть сверточные блоки с шагом 1 и с шагом 2 представленные на рисунке 4. Блоки с шагом 2 предназначены для снижения пространственной размерности тензора и, в отличие от блока с шагом 1, не имеют residual connections.
Рисунок 4 – Сверточные блоки
1.2.3 Модель нейросети ResNet 50
ResNet-50 — это 50-слойная свёрточная нейронная сеть (48 свёрточных слоев, один слой MaxPool и один средний слой пула). Остаточные нейронные сети - это тип искусственной нейронной сети (ANN), которая формирует сети путем укладки остаточных блоков. На рисунке 5 показана структура ResNet 50. Каждый 3-слойный блок заменяется в 34-слойной сети этим 3-слойным узким местом, в результате получается 50-слойная ResNet (см. Таблицу выше). Они используют вариант 2 для увеличения размерностей. Эта модель имеет 3,8 миллиарда FLOPs [6].
Рисунок 5 – Структура ResNet 50
Само обучение происходит в два этапа. Первый этап — все положительные изображения приводятся к общему формату. Делать это нужно специальной программой, расположенной в папке OpenCV. Для подсчёта итогового каскада используется программа «opencv_traincascade.exe», лежащая в той же папке, что и opencv_createsamples.exe. Обучение каскада на 100 объектов займёт около 24 часов.
2 ОБУЧЕНИЕ МОДЕЛЕЙ НЕЙРОСЕТЕЙ ДЛЯ ОПРЕДЕЛЕНИЯ НОМЕРОВ ТРАНСПОРТНЫХ СРЕДСТВ
Машинное обучение — это использование компьютером математических моделей и данных, которые помогают ему обучаться без непосредственных инструкций. Машинное обучение считается одной из форм искусственного интеллекта. На рисунке 6 представлена наглядная диаграмма машинного обучения.
Обучение модели возможно при применении OpenCV. OpenCV(Open Source Computer Vision Library, библиотека компьютерного зрения с открытым исходным кодом) — библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом. Реализована на C/C++, также разрабатывается для Python, Java, Ruby, Matlab, Lua и других языках.
Рисунок 6 – Машинное обучение
Данный процесс входит в концепцию и технологию под названием Data mining (извлечение информации и интеллектуальный анализ данных), куда помимо машинного обучения входят такие дисциплины, как теория баз данных, искусственный интеллект, алгоритмизация, и прочие.
Машинное обучение в методе Виолы-Джонса решает такую задачу как классификация объектов и может применяться, например, для распознавания лиц на изображениях.
2.1 Формирование обучающей и проверяющей выборок для обучения выбранных моделей нейросетей
Нами был использован формат государственных регистрационных знаков транспортных средств определен Национальным Стандартом Российской Федерации ГОСТ Р 50566–2018 от 1 января 2019 года [7].
Размер обучающей выборки – 100 видеофайлов длительностью 10 секунд. Выборка сформирована из видео, сделанных нашей командой на камеру телефона iPhone 13. Скриншот обучающей выборки представлена на рисунке 7.
Рисунок 7 – Скриншот обучающей выборки
Размер тестовой выборки – 10 видеофайлов 10 секунд. Выборка сформирована из видео, сделанных нашей командой на камеру телефона iPhone 13. Скриншот обучающей выборки представлена на рисунке 8.
Рисунок 8 – Скриншот тестовой выборки
2.2 Обучение выбранных моделей нейросетей для определения номеров транспортных средств
В контексте алгоритма имеется множество объектов (изображений), разделённых некоторым образом на классы. Задано конечное множество изображений, для которых известно, к какому классу они относятся. Это множество называется обучающей выборкой. Классовая принадлежность остальных объектов неизвестна. Требуется построить алгоритм, способный классифицировать произвольный объект из исходного множества. Классифицировать объект — значит указать номер (или наименование класса), к которому относится данный объект. Результат классификация объекта — номер или наименование класса, выдаваемые алгоритмом классификации в результате его применения к данному конкретному объекту. Классификатор (задача классификации) – это аппроксимирующая функция, выносящая решение, к какому именно классу данный объект принадлежит.
Обучающая выборка – конечное число данных. В машинном обучении задача классификации относится к разделу обучения с учителем, когда классы поделены. Распознавание образов, по сути своей, и есть классификация изображений и сигналов. В случае алгоритма Виолы-Джонса для определения и распознавания лица классификация является двухклассовой [3].
Задача определения номеров транспортных средств в видеопотоке была успешно решена с помощью библиотеки OpenCV (Open Source Computer Vision Library). OpenCV представляет собой набор алгоритмов компьютерного зрения, видео и численных алгоритмов общего назначения, которые позволяют эффективно обрабатывать и анализировать изображения.
В ходе обучения было произведено 20 эпох обучения для всех моделей нейросети для определения номеров транспортных средств. Такое количество эпох обусловлено тем, что после 20 эпохи происходит переобучение.
2.2.1 Модель нейросети VGG 16
Модель VGG16, график точности в процентах по эпохам представлен на рисунке 9.
Рисунок 9 – График точности в процентах по эпохам
2.2.2 Модель нейросети InceptionV3
Модель Inception V3, график точности в процентах по эпохам представлен на рисунке 10.
Рисунок 10 – График точности в процентах по эпохам
2.2.3 Модель нейросети Haar Cascedes
Модель Haar Cascedes, график точности в процентах по эпохам представлен на рисунке 11.
Рисунок 11 – График точности в процентах по эпохам 20
2.2.3 Модель нейросети MobileNet V2
Обучение модели MobileNet V2 проводилось в 20 эпохах, график точности в процентах по эпохам представлен на рисунке 12.
Рисунок 12 – График точности в процентах по эпох
2.2.3 Модель нейросети ResNet 50
Обучение модели ResNet 50 проводилось в 20 эпохах, график точности в процентах по эпохам представлен на рисунке 13.
Рисунок 13 – График точности в процентах по эпохам
3 ОЦЕНКА КАЧЕСТВА ДЛЯ ОПРЕДЕЛЕНИЯ НОМЕРОВ ТРАНСПОРТНЫХ СРЕДСТВ
3.1 Оценка качества обученных моделей нейросетей
3.1.1 Оценка качества обнаружения номеров
В таблице 3 показан процент точности распознавания, время работы, время обучения моделей для определения номеров транспортных средств из обучающей выборки.
Таблица 3 – Результаты моделей с обучающей выборкой
В таблице 4 показан процент точности распознавания, время работы, время обучения моделей для определения номеров транспортных средств из тестовой выборки.
Таблица 4 – Результаты моделей с тестовой выборкой
Основываясь на результаты работы модели Haar Cascades, можно сделать вывод, что обучение классификаторов идет очень медленно, но результаты поиска автомобильного номера значительно выше скорости обучения, именно поэтому был выбран данный метод определения номеров транспортных средств в видеопотоке.
3.1.2 Оценка качества обнаружения символов
Для улучшения процесса распознавания символов было применено несколько дополнительных методов. Первый метод заключается в конвертировании цветного изображение в черно-белый формат, что помогло устранить возможные искажения цвета и повысить контраст. Все кроме цифр остается черным, фон белый остальное черным. Во втором методе использовалась морфологическая операция для удаления шумов, что существенно повысило вероятность успешного определения номеров.
Ниже представлена таблица 5 с процентами успешного распознания. На тестовой выборке.
Таблица 5 – Процент успешного распознания
Нами использовался движок оптического распознавания символов Tesseract с открытым исходным кодом. Tesseract является одним из наиболее распространенных инструментов для распознавания текста на изображениях.
Также мы столкнулись с проблемой распознавания цифрой «1» на номере транспорта. Интеллектуальная система при распознании на тестовой выборке идентифицирует цифры «1» и «7» из-за их схожести. Проблема решается более глубокой настройкой оптического движка.
Размер обучающей выборки – 100 видеофайлов длительностью 10 секунд. Скриншот обучающей выборки представлена на рисунке 7.
Результат распознания каждой цифры представлена на таблице 6. 23
Tesseract
Таблица 6 – Процент успешного распознания
4 РАЗРАБОТКА ГРАФИЧЕСКОГО ИНТЕРФЕЙСА
Графический интерфейс реализован с помощью Visual Studio для использования WindowsForms. Причиной выбора стал удобный конструктор для создания оконного приложения. Также мы посчитали её наиболее распространённой, популярной и относительно простой в освоении. На рисунке 14 представлено окно графического интерфейса.
Рисунок 14 – Скриншот графического интерфейса
5 РЕЗУЛЬТАТЫ РАБОТЫ
Исходя из показателей скорости работы и точности распознавания, для дальнейшего использования была выбрана модель Haar Cascades. На рисунке 15 представлен видео кадр на входе.
Рисунок 15 – Видео кадр на входе
На рисунке 16 представлен скриншот результата распознания автомобильного номера и перевода в текст с помощью модели Haar Cascades.
Рисунок 16 – Результат распознания моделью Haar Cascade
На рисунке 17 представлен скриншот результата перевода изображения в текст с помощью движка Tesseract, с последующим созданием протокола представленным на рисунке 18.
Рисунок 17 – Результат распознания моделью Haar Cascade
Рисунок 18 – Скриншот протокола
ЗАКЛЮЧЕНИЕ
При выполнении работы были достигнуты все поставленные цели, а именно – отбор обучаемых моделей и формирование выборки, при помощи которой были обучены выбранные модели.
Опираясь на анализ качества определения номеров транспортных средств в видеопотоке, было выявлено, что модель Haar Cascades продемонстрировала высокую точность и скорость при проверке на проверяющей выборке, поэтому является одной из лучших по соотношению показателей «эффективность распознавания/скорость работы». Также этот детектор обладает крайне низкой вероятностью ложного обнаружения автомобильного номера и можем сказать, что Haar Cascades представляет собой перспективную и достаточно надежную модель для определения номеров транспортных средств.
Таким образом, благодаря полученным теоретическим знаниям была создана подходящая программа для определения номеров транспортных средств, которая работает с высокой точностью и выполняет поставленные задачи. В целом, программу можно отметить, как эффективную и полезную для автоматизации работы правоохранительных органов и других сфер, связанных с автомобильным транспортом.
Был оформлен комплект документации на программный код.
СПИСОК ИСПЛЬЗОВАННЫХ ИСТОЧНИКОВ
1 Примеры архитектур сверхточных сетей VGG-16 и VGG-19 [электронный ресурс] – URL: https://proproprogs.ru/neural_network/primery- arhitektur-svertochnyh-setey-vgg16-i-vgg19 (дата обращения 10.02.2023).
2 InceptionV3 Model Architecture [электронный ресурс] – URL: https://iq.opengenus.org/inception-v3-model-architecture/ (дата обращения 10.02.2023).
3 Обучение OpenCV [электронный ресурс] – URL: https://keras.io/api/applications/ (дата обращения 08.02.2024).
4 OpenCV Haar Cascades [электронный ресурс] – URL: https://pyimagesearch.com/2021/04/12/opencv-haar-cascades/ (дата обращения 08.02.2024).
5 MobileNet V2 [электронный ресурс] – URL: https://pytorch.org/hub/pytorch_vision_mobilenet_v2/ (дата обращения 10.02.2024).
6 ResNet 50: «остаточные» CNN для классификации изображений [электронный ресурс] – URL: https://neurohive.io/ru/vidy-nejrosetej/resnet-34- 50-101/ (дата обращения 10.02.2024).
7 "ГОСТ Р 50577–2018. Национальный стандарт Российской Федерации. Знаки государственные регистрационные транспортных средств. Типы и основные размеры. Технические требования" (утв. Приказом Росстандарта от 04.09.2018 N 555-ст) (ред. от 26.06.2020) [электронный
ресурс] – URL: https://www.consultant.ru/document/cons_doc_LAW_318486// (дата обращения 16.02.2024).