Реферат по теме выпускной квалификационной работы
«Автоматизированная классификация объектов на видеоданных с применением нейронных сетей»
Новигация по разделам
Наводите курсор на название раздела — содержимое откроется. Чтобы зафиксировать открытым, щёлкните по разделу. Повторный щелчок открепит раздел.
Современное развитие технологий обработки видеоданных и стремительный рост объемов информации, поступающей с систем видеонаблюдения и транспортных комплексов, обусловили необходимость создания интеллектуальных систем, способных автоматически анализировать визуальные сцены. Одним из ключевых направлений в данной области является автоматизированная классификация объектов на видеоданных с использованием нейронных сетей. Такие системы позволяют решать широкий спектр прикладных задач — от распознавания номерных знаков транспортных средств и мониторинга дорожного движения до обеспечения общественной безопасности и управления транспортными потоками в концепции «умного города».
Исторически первые системы автоматического распознавания номерных знаков (Automatic License Plate Recognition, ALPR) основывались на классических методах компьютерного зрения, включающих фильтрацию, бинаризацию, выделение контуров и сегментацию символов. Однако данные подходы проявили низкую устойчивость к изменению условий съемки и не обеспечивали требуемой точности и скорости обработки. Появление и развитие глубинных нейронных сетей (Deep Learning, DL) позволило существенно повысить эффективность подобных систем. Благодаря способности нейросетей автоматически извлекать информативные признаки и адаптироваться к разнообразным внешним условиям, стало возможным создание более надежных и высокоточных моделей распознавания и классификации объектов [1].
Особое место среди современных архитектур занимает модель YOLO (You Only Look Once), обеспечивающая высокую скорость детекции и классификации объектов в режиме реального времени. Применение таких архитектур в системах ALPR, интеллектуального видеонаблюдения и транспортной аналитики позволяет не только повысить точность, но и сократить время отклика системы, что критически важно для обработки видеопотоков в реальном времени.
Вместе с тем, развитие глубокого обучения привело к появлению множества архитектур нейронных сетей, каждая из которых имеет свои преимущества и ограничения. Сверточные нейронные сети (Convolutional Neural Networks, CNN) показали высокую эффективность в решении задач компьютерного зрения. Рекуррентные нейронные сети (Recurrent Neural Networks, RNN) ориентированы на анализ последовательностей данных, таких как временные ряды и текст. Капсульные нейронные сети (Capsule Networks, CapsNet) направлены на повышение устойчивости к трансформациям объектов и улучшение понимания их иерархических связей. Ансамблевые модели, в свою очередь, позволяют комбинировать различные подходы, достигая более высокой точности и надежности результатов [2].
Актуальность данного исследования обусловлена необходимостью выбора и адаптации оптимальных методов глубокого обучения для решения задач автоматизированной классификации объектов на видеоданных. В условиях постоянно растущих требований к производительности и точности обработки информации использование нейросетевых подходов становится ключевым фактором эффективности интеллектуальных систем анализа визуальных данных.
Целью настоящей работы является проведение сравнительного анализа различных методов глубокого обучения — сверточных, рекуррентных, капсульных и ансамблевых нейронных сетей — с целью выявления их преимуществ, ограничений и наиболее эффективных областей применения при решении задач автоматизированной классификации объектов на видеоданных.
Для достижения поставленной цели в работе решаются следующие задачи:
- — описать архитектурные особенности и принципы функционирования рассматриваемых типов нейронных сетей;
- — провести анализ их возможностей и ограничений в контексте задач классификации видеоданных;
- — рассмотреть примеры практического применения различных архитектур в системах компьютерного зрения;
- — создать прототип для практического применения лучшей архитектуры в системах компьютерного зрения;
- — оценить вычислительные затраты и требования к ресурсам при обучении и эксплуатации моделей.
Объектом исследования являются методы глубокого обучения, включая CNN, RNN, CapsNet и ансамблевые архитектуры.
Предметом исследования выступает сравнительная эффективность указанных методов при решении задач автоматизированной классификации объектов на видеоданных.
Результаты работы могут быть использованы при разработке и совершенствовании интеллектуальных систем компьютерного зрения, а также в областях, связанных с автоматизацией транспортных процессов, мониторингом дорожной обстановки и внедрением технологий «умного города».
- 1.1 Метод свёрточных нейронных сетей (CNN)
- 1.2 Метод рекуррентных нейронных сетей (RNN)
- 1.3 Метод капсульных нейронных сетей (CapsNet)
- 1.4 Метод ансамблевых моделей
1.1 Метод свёрточных нейронных сетей (CNN)
Сверточная нейронная сеть (CNN), в англоязычной литературе именуемая Convolutional Neural Network, представляет собой специализированную архитектуру искусственных нейронных сетей. Впервые предложенная Яном Лекуном в 1988 году, она была разработана для решения задач распознавания образов и является ключевым элементом технологий глубокого обучения.
Архитектура CNN вдохновлена особенностями зрительной коры головного мозга. Основная идея сверточных сетей — последовательное чередование сверточных слоёв и слоёв субдискретизации (пулинга). Сеть имеет однонаправленную многослойную структуру и обучается методом обратного распространения ошибки.
Название архитектуры происходит от операции свёртки — поэлементного умножения фрагмента изображения на матрицу ядра и суммирования результатов. Эта операция позволяет выделять локальные признаки изображения — линии, углы, фрагменты форм. Работа CNN описывается как переход от простых признаков к абстрактным, что обеспечивает иерархическую обработку информации.
Рисунок 1.1 — Нейроны слоя свёртки, преобразуемые по нескольким выходным каналам
Для повышения устойчивости к изменениям масштаба и упрощения вычислений после свёртки используется операция субдискретизации (пулинг) — уменьшение размерности карт признаков путём выбора максимального значения (макс-пулинг) или среднего значения. Это сохраняет существенную информацию и снижает чувствительность сети к точному положению объекта [3].
Рисунок 1.2 — Субдискретизация с функцией максимума и фильтром 2×2 с шагом 2
Структура CNN включает чередующиеся слои свёртки и пулинга, формирующие иерархические признаки от простых до сложных. На завершающем этапе данные поступают в полносвязные слои, где выполняется классификация.
После каждой свёртки результаты проходят через функцию активации, добавляющую нелинейность в модель. Наибольшее распространение получила функция ReLU (f(x)=max(0,x)), обеспечивающая высокую скорость сходимости [4].
В современных архитектурах используются более мелкие фильтры и иногда отказ от пулинга для повышения детализации. Сверточные сети сочетают эффективность, гибкость и способность автоматически выявлять сложные признаки, что делает их основным инструментом компьютерного зрения.
Наиболее распространён метод обучения с учителем на размеченных данных с использованием алгоритма обратного распространения ошибки. Также применяются варианты обучения без учителя — автоассоциаторы, разрежённое кодирование и свёрточные машины Больцмана. Для повышения обобщающей способности модели используется dropout.
CNN показывают высокую эффективность в распознавании и классификации изображений, требуя меньше параметров, чем полносвязные сети, и легко параллелизуются на GPU. Основным недостатком остается сложность подбора гиперпараметров (число слоёв, размер ядер, тип пулинга и функции активации), которые часто определяются эмпирически [5].
1.2 Метод рекуррентных нейронных сетей (RNN)
Рекуррентные нейронные сети (Recurrent Neural Networks, RNN) представляют собой тип архитектур, в которых связи между нейронами образуют направленную последовательность, что позволяет моделировать временные или пространственные зависимости. Это делает их особенно эффективными при работе с последовательностями данных произвольной длины — например, речью, текстом или временными рядами.
В отличие от традиционных многослойных перцептронов, которые обрабатывают данные фиксированного размера, рекуррентные сети используют внутреннее состояние, функционирующее как кратковременная память, что позволяет учитывать предыдущие входы при обработке текущего элемента последовательности. Такая структура открывает широкие возможности применения в распознавании рукописного текста, анализе речевых сигналов и прогнозировании временных рядов.
С момента появления было разработано множество архитектур RNN — от базовых моделей до сложных структур с механизмами долговременного хранения информации. Наиболее популярными являются LSTM (Long Short-Term Memory) и GRU (Gated Recurrent Unit), разработанные для преодоления проблемы затухания градиентов и обеспечения запоминания данных на длительных временных интервалах. Эти модели стали стандартом в задачах анализа последовательностей [6].
Первые идеи рекуррентных сетей были предложены Джоном Хопфилдом в 1982 году. Его сеть продемонстрировала способность хранить и восстанавливать образы, став моделью ассоциативной памяти. Позже появились сети Элмана и Джордана, где скрытые состояния зависят не только от входных сигналов, но и от предыдущего выхода сети.
Эти архитектуры стали основой современных рекуррентных сетей, используемых для анализа временных зависимостей. Позднее появились эхо-сети (Echo State Networks, ESN), где внутренние связи фиксированы, а обучение производится только для выходных весов, что обеспечивает простоту и высокую скорость обучения.
Одним из направлений эволюции RNN стали импульсные («жидкие») нейронные сети, имитирующие реакцию системы на входные события во времени. Они обеспечивают динамическое обновление внутреннего состояния и хорошо подходят для моделирования биологических процессов.
Сеть с долговременной и кратковременной памятью (LSTM) решает проблему исчезающих градиентов с помощью специальных управляющих механизмов — ворот забывания, входных и выходных ворот. Эти элементы контролируют поток информации, позволяя хранить важные данные на протяжении тысяч временных шагов.
Обучение LSTM осуществляется методом обратного распространения ошибки во времени (BPTT). Совместное использование LSTM и метода Connectionist Temporal Classification (CTC) позволило значительно повысить точность распознавания речи и текста, что сделало такие модели базовыми для современных систем обработки естественного языка.
Упрощённая версия LSTM — GRU (Gated Recurrent Unit) — объединяет функции нескольких ворот, снижая количество параметров без потери качества. Эти сети широко применяются для анализа речевых сигналов, временных рядов и генерации текстов.
Таким образом, рекуррентные нейронные сети представляют собой важный класс моделей, способных эффективно учитывать временные зависимости. От базовых сетей Элмана до сложных архитектур LSTM и GRU — они формируют основу современного подхода к обработке последовательных данных [7], [8].
1.3 Метод капсульных нейронных сетей (CapsNet)
В развивающейся сфере глубокого обучения капсульные нейронные сети (CapsNets) возникают как многообещающая альтернатива сверточным нейронным сетям (CNN), предлагая более эффективный подход к распознаванию образов и пониманию пространственных взаимосвязей. В отличие от CNN, которые полагаются на обнаружение признаков с помощью фиксированных фильтров, CapsNets использует капсулы — группы нейронов, инкапсулирующие информацию о различных свойствах объектов, таких как положение, ориентация и деформация. Это позволяет не только определять наличие объекта, но и понимать его конфигурацию и отношения между его частями, что важно для задач, требующих контекстного анализа сцены.
Суть инноваций CapsNets заключается в векторном представлении информации. Каждая капсула выдает вектор, длина которого кодирует вероятность наличия объекта, а направление содержит параметры его состояния. Например, капсула может представлять положение, угол наклона и масштаб объекта. В отличие от CNN, использующих скалярные значения для описания признаков, CapsNets оперирует многомерными векторами, что делает их более информативными и устойчивыми к деформациям.
Одним из основных ограничений CNN является их чувствительность к изменениям ориентации и формы объектов. CNN не моделирует иерархические отношения между частями и целым, поэтому для распознавания того же объекта под разными углами требуется больше обучающих примеров. CapsNets решает эту проблему с помощью механизма динамической маршрутизации (Dynamic Routing), который позволяет капсулам нижнего уровня направлять сигналы к тем капсулам верхнего уровня, с которыми их предсказания наиболее согласованы. Степень согласования определяется скалярным произведением между выходными векторами нижнего и верхнего уровня [9], [10].
Если предсказания капсулы нижнего уровня соответствуют параметрам экземпляра капсулы верхнего уровня, связь между ними усиливается. Таким образом, сеть строит иерархию связей между объектами и их частями, обеспечивая более точное моделирование пространственных зависимостей и устойчивость к поворотам и деформациям объектов.
Джеффри Хинтон, один из основателей глубокого обучения, предложил CapsNets в 2017 году как решение ограничений CNN при моделировании иерархической структуры объектов. Алгоритм динамической маршрутизации, лежащий в основе CapsNet, обеспечивает эффективное объединение локальных признаков в контекстно зависимые представления более высокого уровня.
Преимущества CapsNets особенно проявляются в задачах, где важна инвариантность к преобразованиям и требуется точное учёт пространственных отношений между элементами. В экспериментах по распознаванию объектов под разными углами CapsNets демонстрировали на 40–45 % меньше ошибок, чем классические CNN, благодаря способности адаптивно моделировать структуру объектов.
В традиционных нейронных сетях нейрон является простым вычислительным элементом, принимающим скалярные входные данные и выдающим скалярный результат после применения функции активации. В капсулах же входы и выходы представляют собой векторы, обрабатываемые с помощью матричных преобразований. Такая организация позволяет капсулам описывать не только факт наличия признака, но и его пространственные параметры.
Внутри капсулы выполняется аффинное преобразование входных векторов, за которым следует их взвешивание и суммирование с использованием коэффициентов маршрутизации. Затем применяется векторная нелинейность — функция «сжатия» (squashing), нормализующая длину выходного вектора в диапазоне от 0 до 1. Эта длина определяет вероятность обнаружения объекта [11].
Исходная архитектура CapsNet, предложенная Хинтоном, включает два основных слоя капсул: PrimaryCaps и DigitCaps. Первый слой преобразует локальные признаки входного изображения в капсульное представление, а второй агрегирует эти признаки для распознавания классов объектов. Обмен данными между ними осуществляется через динамическую маршрутизацию.
Рисунок 1.3 — Архитектура капсульной нейросети
В то время как динамическая маршрутизация является наиболее известным методом взаимодействия между слоями капсул, исследуются и другие подходы, такие как EM Routing (ожидаемая максимизация). Хотя CapsNets изначально разрабатывались для обработки изображений, они также применяются в обработке естественного языка, 3D-данных и медицинской визуализации.
Основным недостатком CapsNets остаётся высокая вычислительная сложность обучения, особенно при использовании динамической маршрутизации. Исследования направлены на создание более эффективных алгоритмов и аппаратных реализаций.
Благодаря своей способности моделировать сложные пространственные отношения и обеспечивать интерпретируемость представлений, капсульные сети считаются перспективным направлением развития глубокого обучения. Несмотря на относительную новизну, CapsNets уже показали потенциал в задачах анализа изображений и компьютерного зрения [12].
1.4 Метод ансамблевых моделей
Ансамблевые методы представляют собой один из наиболее эффективных подходов в современном машинном обучении, основанный на объединении предсказаний множества базовых моделей для получения более точного и устойчивого результата. Вместо построения единственной сложной модели, ансамблевые подходы используют совокупность относительно простых моделей, которые в совокупности могут давать гораздо лучшие результаты. Такой способ позволяет не только повысить точность прогнозирования, но и снизить риск переобучения, увеличить устойчивость к шуму в данных и расширить диапазон применимости алгоритмов.
Идея ансамблевого подхода восходит к концепции коллективного интеллекта: если несколько независимых моделей будут решать одну и ту же задачу, их совокупное решение может быть более надёжным, чем отдельное. Эта гипотеза получила подтверждение как на практике, так и в рамках теории вероятностей и статистики. Например, в случае классификации голосование большинством или среднее значение вероятностей позволяет компенсировать ошибки отдельных моделей.
Ансамблевые методы особенно эффективны при решении задач регрессии и классификации — двух основных направлениях обучения с учителем. Они широко применяются в анализе больших данных, финансовой аналитике, медицине, компьютерном зрении и других областях, где требуется высокая точность прогнозов. Существует несколько подходов к построению ансамблевых моделей, среди которых можно выделить три наиболее распространённых: бэггинг, бустинг и стекинг.
Метод бэггинга, что является сокращением от Bootstrap Aggregating, был предложен Лео Брейманом в 1996 году как способ снижения дисперсии прогноза за счёт усреднения нескольких независимых моделей. Идея заключается в том, чтобы из исходного набора данных случайным образом с возвращением формировать множество обучающих выборок, на каждой из которых обучается одна и та же базовая модель, например, дерево решений. Все обученные модели затем участвуют в финальном предсказании: для задач регрессии используется усреднение, а для классификации — голосование. Такое разнообразие обучающих выборок обеспечивает разнообразие в базовых моделях, что помогает снизить общую дисперсию ансамбля. Наиболее известным представителем этого класса является алгоритм Random Forest, который дополнительно вводит стохастичность в процесс построения деревьев за счёт случайного выбора признаков на каждом шаге.
Рисунок 1.4 — Алгоритм метода бэггинга
Если бэггинг направлен на снижение дисперсии, то бустинг, напротив, стремится уменьшить смещение (bias) модели. Этот метод представляет собой последовательное построение моделей, каждая из которых корректирует ошибки предыдущих. Основной принцип заключается в том, чтобы уделять больше внимания тем данным, которые были плохо предсказаны ранее. Процесс начинается с обучения первой модели на всей выборке, после чего вычисляются ошибки предсказаний. Новые модели добавляются с акцентом на объекты, которые были плохо предсказаны, а финальный прогноз строится как взвешенная сумма прогнозов всех моделей. Первым успешным алгоритмом бустинга стал AdaBoost, в котором веса объектов изменялись после каждой итерации. Однако наибольшее развитие получил метод Gradient Boosting, использующий градиентный спуск для минимизации функции потерь. Современные реализации, такие как XGBoost, LightGBM и CatBoost, включают дополнительные механизмы оптимизации, регуляризации и работы с категориальными данными, что делает их одними из самых мощных инструментов в машинном обучении.
Рисунок 1.5 — Алгоритм метода бустинга
Стекинг, в свою очередь, представляет собой наиболее гибкий и часто наиболее сложный ансамблевой подход. Он заключается в использовании нескольких различных базовых моделей, таких как деревья решений, логистическая регрессия, SVM и другие, которые предварительно обучаются на одном и том же наборе данных. Прогнозы этих моделей затем используются как входные признаки для второй модели — мета-модели, которая уже формирует окончательный прогноз. Процесс работы стекинга включает этапы разделения данных на обучающую и валидационную выборки, обучения базовых моделей, получения их предсказаний и дальнейшего использования этих значений как новых признаков для обучения мета-модели. Затем финальный ансамбль обучается на всей выборке. Стекинг позволяет комбинировать силы разных типов моделей, что может привести к существенному улучшению качества прогноза, однако требует аккуратной настройки и защиты от переобучения.
Рисунок 1.6 — Алгоритм метода стекинга
Каждый из этих подходов имеет свои уникальные преимущества и ограничения. Бэггинг отличается высокой устойчивостью к шуму и выбросам, а также возможностью параллельного обучения, что положительно сказывается на скорости. Однако его вычислительная стоимость может быть высокой, особенно при большом числе базовых моделей. Бустинг, напротив, демонстрирует очень высокую точность, особенно при правильной настройке, но склонен к переобучению и чувствителен к качеству данных. Кроме того, последовательное обучение замедляет процесс. Стекинг предлагает максимальную гибкость и адаптивность, позволяя комбинировать самые разные модели, но он также самый сложный в настройке и требует значительных вычислительных ресурсов.
Выбор конкретного метода зависит от характера задачи, размерности данных, наличия шума, требований к интерпретируемости и времени обучения. Ансамблевые методы нашли широкое применение в реальных задачах машинного обучения: от финансового анализа и медицинской диагностики до рекомендательных систем и обработки естественного языка. Особенно заметно доминирование ансамблей в соревнованиях Kaggle, где они регулярно занимают призовые места благодаря своей способности достигать высокой точности при правильной настройке.
Современные библиотеки, такие как Scikit-learn, XGBoost, LightGBM и CatBoost, предоставляют удобные инструменты для реализации ансамблевых моделей, что делает их доступными даже для начинающих специалистов. При этом ансамблевые методы остаются активной областью исследований, в рамках которой продолжают развиваться гибридные подходы, методы оптимизации и автоматической настройки параметров.
Таким образом, ансамблевые методы играют ключевую роль в современном машинном обучении благодаря своей способности значительно повышать качество прогноза за счёт использования комбинированного потенциала нескольких моделей. Их эффективность основана на принципе коллективного принятия решений, позволяющем объединять слабые модели в более сильный целостный алгоритм. Выбор конкретного метода зависит от характера задачи, размерности данных, наличия шума, требований к интерпретируемости и времени обучения. Правильное сочетание бэггинга, бустинга и стекинга может привести к значительному улучшению качества прогноза и сделать модель действительно конкурентоспособной.
В данной главе проведём детальный анализ и сравнение четырёх рассмотренных методов построения нейронных сетей: сверточных нейронных сетей (CNN), рекуррентных нейронных сетей (RNN), капсульных нейронных сетей (CapsNet) и ансамблевых моделей. Сравнение основано на таких критериях, как точность, устойчивость к переобучению, интерпретируемость, вычислительная эффективность, адаптивность к различным задачам и практическое применение.
Сверточные нейронные сети (CNN) – их преимущества заключаются в высокой эффективности при работе с изображениями благодаря способности извлекать локальные признаки и инвариантности к сдвигу. Поддержка глубокой архитектуры с повторным использованием фильтров снижает число параметров и повышает обучаемость. Хорошо масштабируются на больших объемах данных и быстро обучаются при наличии GPU. Широкая поддержка в популярных фреймворках и наличие большого количества предобученных моделей.
Однако CNN плохо справляются с последовательностями и временными рядами — не учитывают временную зависимость. Интерпретируемость результатов затруднена: сложно понять, какие признаки повлияли на финальное решение. Могут переобучаться при недостатке данных или наличии шумов в обучающем наборе [13].
Рекуррентные нейронные сети (RNN) эффективны при работе с последовательными данными (временные ряды, текст, звук), благодаря внутренней памяти и способности учитывать временные зависимости. Подходят для задач предсказания следующего элемента, машинного перевода, генерации текста и т.п. Расширенные версии (LSTM, GRU) решают проблему исчезающего градиента и улучшают долгосрочную память.
Однако у них высокая чувствительность к длине последовательности — сложнее обучать на очень длинных входах. Обучение проходит медленнее, чем у CNN, из-за поочерёдной обработки входов. Как и в случае с CNN, интерпретируемость остаётся сложной задачей.
Капсульные нейронные сети (CapsNet) поддерживают представление объектов через части, учитывая их иерархическую структуру и взаимные пространственные отношения. Улучшают интерпретируемость за счёт того, что каждая капсула может отражать конкретное свойство или аспект входных данных. Повышенная устойчивость к искажённым или изменённым входным данным по сравнению с классическими CNN. Теоретически требуют меньше данных для достижения хорошей обобщающей способности.
Однако они сложны в реализации и имеют слабую поддержку в популярных библиотечных фреймворках. Высокие вычислительные затраты, особенно из-за механизма динамической маршрутизации. Метод ещё не получил широкого практического применения и требует дальнейших исследований и оптимизации.
Ансамблевые модели позволяют комбинировать сильные стороны разных моделей, тем самым достигая более высокой точности и устойчивости к переобучению. Универсальность: могут применяться к любому типу задач — классификация, регрессия, ранжирование и др. Повышенная устойчивость к шуму и выбросам в данных. Методы вроде бэггинга и бустинга улучшают стабильность и обобщающую способность модели.
Но они требуют больших вычислительных ресурсов, так как нужно обучать сразу несколько моделей. Сложность интерпретации: трудно отследить, какие именно модели и какие признаки повлияли на результат. При неправильной настройке ансамбль может не привести к улучшению результатов, а наоборот — усложнить модель без прироста в точности.
Каждый из представленных методов обладает своими уникальными особенностями. CNN являются оптимальным выбором для анализа изображений, где важна пространственная структура. RNN лучше всего подходят для последовательных данных, обеспечивая возможность запоминания временных зависимостей. CapsNet — это перспективное направление, обеспечивающее более богатое представление объектов, но пока требующее дальнейшей проработки. Ансамблевые модели дают лучший результат в смысле точности и надёжности, но за счёт усложнения архитектуры и снижения интерпретируемости.
| Метод | Точность | Переобучение | Интерпретируемость | Скорость обучения | Гибкость |
|---|---|---|---|---|---|
| CNN | Высокая | Средняя | Низкая | Высокая | Средняя |
| RNN | Средняя | Высокая | Низкая | Средняя | Высокая |
| CapsNet | Средняя | Низкая | Высокая | Низкая | Средняя |
| Ансамбли | Очень высокая | Низкая | Низкая–средняя | Низкая | Очень высокая |
Выбор метода зависит от поставленной задачи, доступных вычислительных ресурсов и требований к интерпретируемости и точности. В ряде случаев наилучший результат достигается при комбинировании нескольких подходов.
В последние годы методичная классификация объектов по видеоданным стала одной из ключевых задач в области компьютерных проблем. Видеоданные, в отличие от статичных изображений, содержат как пространственную, так и временную информацию, что делает задачу более сложной, но и более информативной. Для решения таких задач активно применяются различные типы нейронных сетей, основанные на принципах их преимуществ и ограничений [14].
На первом месте по популярности и практической эффективности в задачах работы с изображениями и видеопотоками стоят сверточные нейронные сети. Их преимущество заключается в способности эффективно использовать локальные признаки и учитывать контекст изображения. Современные структуры CNN, такие как YOLO, EfficientNet, MobileNet и другие, позволяют не только классифицировать, но и обнаруживать объекты на изображениях в реальном времени.
Однако при работе с видео возникает необходимость учитывать временные зависимости между кадрами. В таких случаях важно рассмотреть применение рекуррентных нейронных сетей (в том числе LSTM и GRU), которые позволяют обрабатывать последовательность и «запоминать» информацию о предыдущих кадрах. Комбинирование CNN и RNN позволяет построить гибридные конструкции: сначала из каждого кадра извлекаются признаки с помощью CNN, а затем эта последовательность подается на вход RNN для анализа во временной плоскости. Такой подход более ресурсоёмкий, но более чувствительный к контексту сцены [15].
Интересным, но экспериментальным методом являются капсульные сети. Теоретически они могут лучше распознавать объекты под разными ракурсами и в условиях частичной окклюзии, однако из-за сложности реализации и высокой вычислительной нагрузки пока редко применяются на практике.
Отдельное место занимают ансамблевые методы, при которых несколько моделей объединяются для повышения точности и устойчивости результатов. Они широко используются в исследованиях и конкурсах, но требуют значительных вычислительных ресурсов, что ограничивает их применение в реальном времени [16].
Учитывая всё вышесказанное, для создания эффективной системы классификации объектов по видеоданным оптимально использовать сверточные нейронные сети для начальной обработки изображений. В случаях, когда требуется анализ последовательности действий объекта, можно интегрировать рекуррентные сети. Более сложные или экспериментальные подходы, такие как капсульные сети и ансамбли, целесообразны для исследовательских задач или постобработки данных.
Таким образом, выбор архитектуры напрямую зависит от требований к скорости, точности и сложности задачи. На сегодняшний день наиболее практичным и сбалансированным методом классификации объектов на видеоданных остаются сверточные нейронные сети с учётом масштабирования и адаптации под конкретную проблему.
- 3.1 Свёрточные нейронные сети для детекции объектов
- 3.2 Модель YOLO: эволюция и современная версия
- 3.3 Система автоматического распознавания номерных знаков (ALPR)
3.1 Свёрточные нейронные сети для детекции объектов
Для задач классификации и обнаружения объектов в изображениях традиционно используют свёрточные нейронные сети (CNN). Они эффективно извлекают иерархические признаки из пиксельных данных, что позволяет превосходить классические методы (границы, пороговые фильтры и т.п.) в сложных условиях освещённости и фоновом шуме. Обучение таких сетей требует больших размеченных датасетов: обычно используется перенос обучения – сеть инициализируют весами, полученными при обучении на большом общем наборе (например, COCO с ~2,5 млн объектов). Это позволяет добиться высокой точности при ограниченном объёме собственных данных.
В современных системах обнаружения часто применяются два подхода: двухступенчатые методы (например, Faster R-CNN), где сначала генерируются регионы-кандидаты, а затем они классифицируются, и одноступенчатые (single-shot) детекторы типа YOLO и SSD, которые осуществляют оба шага сразу одним проходом через сеть. Одноступенчатые детекторы приносят выигрыш в скорости обработки, что критично для видеоанализа в реальном времени [17].
Так, модель YOLO выполняет обнаружение и классификацию объектов одной единственной свёрточной нейросетью, что обеспечивает очень быстрый отклик. Глубокая архитектура CNN позволяет YOLO учитывать глобальный контекст сцены, повышая точность и сокращая число ложных срабатываний. Подобные гибридные схемы «детекция+распознавание» с использованием CNN хорошо зарекомендовали себя в задачах ANPR – это подтверждают исследования, где сочетание CNN и OCR существенно улучшало качество распознавания номеров.
Рисунок 3.1 — Блок-схема работы свёрточной нейронной сети для детекции объектов
3.2 Модель YOLO: эволюция и современная версия
YOLO (You Only Look Once) представляет собой архитектуру для детекции объектов в реальном времени. Основное преимущество YOLO — высокая скорость обработки кадров, что делает её пригодной для видеопотоков.
Современные версии, такие как YOLOv5 и YOLOv8, используют улучшенные свёрточные блоки, а также оптимизации для уменьшения числа параметров и ускорения работы без потери точности [18].
Современная архитектура модели YOLOv8 включает три части:
– backbone для извлечения признаков из изображения;
– neck для их интеграции и обогащения (например, с помощью путей fpn/panet);
– head для предсказания ограничивающих рамок и классов объектов;
Основные преимущества YOLO:
– одноэтапное обнаружение: модель выполняет детекцию объектов за один проход через сеть, в отличие от многосеточных схем, что ускоряет работу;
– работа в реальном времени: оптимизация для скоростной обработки видео, пригодна для систем видеонаблюдения и автопилотируемых транспортных средств;
– версии yolo: начиная с yolo v5 (pytorch), архитектуры претерпели изменения; yolo v5 использует anchor-бокс детекторы на основе cspdarknet53, тогда как yolo v8 перешла на anchor-free подход с современными модулями (c2f) в шее сети, обеспечивая более высокую точность при схожих размерах модели;
На рисунке 3.2 представлен путь версий yolo.
Рисунок 3.2 — Архитектура модели YOLO
3.3 Система автоматического распознавания номерных знаков (ALPR)
ALPR (automatic license plate recognition) использует CNN для обнаружения и распознавания номерных знаков на изображениях и видео. Система включает несколько этапов: локализация номерного знака, сегментация символов и их классификация.
Благодаря применению CNN, системы ALPR достигают высокой точности даже в условиях сложного освещения и частичной окклюзии, что делает их незаменимыми для дорожного контроля и систем видеонаблюдения [19].
Рисунок 3.3 — Распознавание номерного знака с помощью ALPR
Типовая система ALPR состоит из нескольких этапов:
– детектирование автомобиля и выделение области номерного знака (для этой задачи подходит модель типа YOLO, настроенная на поиск прямоугольников номерных знаков);
– вырезанный фрагмент с номером передается модулю распознавания текста (OCR), где используются специализированные нейросети (например, рекуррентные сети, LSTM) или библиотеки типа EasyOCR, последовательно сегментирующие и распознающие символы номера;
– сверка распознанного номера с базой данных (внутренние списки разрешённых или запрещённых номеров, полицейские или ведомственные реестры), формирование результатов, включая удалённый лог и/или сигнал тревоги;
Таким образом, система ALPR решает ключевые задачи:
– детектирование номеров в видеопотоке (обнаружение «объекта» номерного знака);
– оптическое распознавание символов (OCR);
– сверка полученного номера с базой данных и формирование результатов (удалённый лог и/или сигнал тревоги) [20].
Для разработки прототипа целесообразно использовать язык Python — он широко распространён в сообществе компьютерного зрения и обладает богатыми библиотеками. Так, для обучения и запуска модели YOLO удобно применять библиотеку Ultralytics YOLO на основе PyTorch; PyTorch называют гибким и удобным для исследований фреймворком, облегчающим прототипирование глубоких сетей.
Помимо этого, OpenCV — ключевая библиотека для обработки изображений и видео; она содержит тысячи оптимизированных алгоритмов и особенно хорошо подходит для задач реального времени. OpenCV используется для захвата видеокадров с камеры, преобразования форматов и отрисовки графики (границ обнаруженных объектов) на изображении [21].
В качестве инструмента для распознавания текста рекомендовано использовать библиотеку EasyOCR (на основе глубоких свёрточных сетей); она позволяет получать текст из вырезанных изображений знаков. Для хранения и поиска информации о номерах используется реляционная база данных (например, SQLite или PostgreSQL), куда заносятся распознанные номера с метаданными для последующего анализа.
Прототип потребует вычислительных ресурсов; обучение YOLO выгодно производить на GPU (например, Nvidia), чтобы ускорить процесс. Для простой прототипной реализации можно ограничиться только CPU, уменьшив размер модели (версии nano или small), либо использовать одноплатные решения с ускорителями (Jetson, Coral и т.п.) [22], [23], [24].
Основные выбранные компоненты и технологии могут быть резюмированы так:
Язык: Python, выбран из-за простоты синтаксиса и обилия готовых модулей.
Фреймворки и библиотеки: Ultralytics YOLO (PyTorch) для обучения и инференса моделей YOLO, OpenCV для захвата и обработки видеокадров, EasyOCR для распознавания текста.
Аппаратная платформа: персональный компьютер с GPU (например, NVIDIA), либо маломощный компьютер (Jetson) для полевых испытаний.
Для надёжного захвата изображения номерных знаков важно правильно выбрать камеру и её параметры; рекомендуется использовать камеру с высоким разрешением — не ниже Full HD (1920×1080) и частотой кадров 25–30 FPS. Оптимальное расстояние до автомобиля — не более 20–25 метров, угол установки камеры не более 45° к вертикали. Настройки камеры рекомендуется фиксировать, отключив автонастройки (AGC, DNR, автофокус и др.).
Для создания обучающего датасета можно использовать собственную съёмку и готовые наборы изображений; например, Kaggle License Plate Dataset содержит тысячи снимков с аннотациями номера. Собирая собственные данные, важно обеспечить разнообразие: разные углы обзора, освещение, расстояния и типы номеров. Разметка выполняется вручную с использованием программ типа LabelImg или CVAT; в YOLO-разметке координаты прямоугольников сохраняются в относительных величинах [25], [26].
В итоге формируются обучающая и валидационная выборки, например, по принципу 80/20; количество изображений должно быть достаточным для обучения (несколько тысяч). Перед обучением данные приводятся к единому формату и проходят аугментацию: случайные повороты, изменение яркости/контраста, добавление шума, отражений и т.д.
Обучение проводится с использованием transfer learning: берутся заранее обученные веса на COCO и дообучаются под новую задачу. Примеры кода YOLOv8 (рисунок 4.1) позволяют обучить модель на 50 эпох с размером входа 640×640; на выходе получается лучшая по валидации версия модели.
Рисунок 4.1 — Пример кода на YOLOv8
В процессе обучения важно контролировать метрику mAP (mean Average Precision) на валидационной выборке; при переобучении можно остановить обучение раньше, уменьшить сложность модели или увеличить разнообразие данных. После обучения модель способна выделять номера на кадрах. Видеопоток с камеры читается с помощью OpenCV, кадры передаются в обученную сеть, которая рисует прямоугольники вокруг найденных номерных знаков. Затем вырезанные области передаются модулю распознавания (EasyOCR), извлекающему текст номера; полученный номер сравнивается с записями в базе данных и при совпадении генерируется сигнал тревоги.
Рисунок 4.2 — Обучение модели YOLOv8 на собственном датасете
Рисунок 4.3 — Распознавание текста с помощью EasyOCR
Рисунок 4.4 — Сравнение найденного номера с БД (SQLite)
В заключение стоит отметить сравнение версий YOLO; YOLOv5 остаётся оптимальным выбором для устройств с ограниченными ресурсами и высокой скоростью работы, а YOLOv8 предпочтительна для проектов с максимальной точностью. Табличное сравнение показывает mAP ~44.9% у YOLOv8s против 37.4% у YOLOv5s при сопоставимых ресурсах.
На данный момент были изучены и проанализированы современные методы автоматизированной классификации объектов на видеоданных с использованием нейронных сетей. Теоретический анализ показал, что традиционные методы компьютерного зрения, основанные на фильтрации и сегментации, уступают современным подходам на базе свёрточных нейронных сетей как по точности, так и по устойчивости к изменению условий съёмки.
Особое внимание уделено архитектуре YOLO, которая демонстрирует высокую эффективность при детекции объектов в реальном времени. Эволюция моделей YOLO обеспечивает постоянное повышение качества и скорости работы, что расширяет возможности их применения в сложных сценариях анализа видеопотока.
В работе рассмотрены четыре ключевых класса нейронных сетей: свёрточные (CNN), рекуррентные (RNN), капсульные (CapsNet) и ансамблевые модели. Каждый подход имеет свои преимущества, ограничения и области наибольшей эффективности. Свёрточные сети обеспечивают высокую точность обработки визуальных данных; рекуррентные сети эффективны для анализа последовательностей и временных рядов; капсульные сети перспективны для интерпретируемого моделирования иерархических структур; ансамблевые модели повышают устойчивость к переобучению, однако требуют значительных вычислительных ресурсов.
Представлен теоретический анализ свёрточных нейронных сетей и их применения для детекции объектов, включая подробное рассмотрение модели YOLO и системы автоматического распознавания номерных знаков (ALPR). Теоретические выкладки позволили выявить ключевые принципы работы современных CNN и оценить их потенциал для практических задач обработки видеопотока.
Проведена практическая реализация прототипа на базе свёрточной нейронной сети. Разработанный прототип демонстрирует возможность применения методов глубокого обучения в реальных условиях, обеспечивая высокую точность и скорость обработки видеоданных. Практическая часть подтверждает эффективность выбранного подхода и служит основой для дальнейшего внедрения в интеллектуальные транспортные системы и системы видеонаблюдения.
Полученные результаты служат основой для дальнейшего выбора методов глубокого обучения при разработке магистерской выпускной квалификационной работы и могут быть применены при создании интеллектуальных транспортных систем и систем видеонаблюдения.
- Goodfellow I., Bengio Y., Courville A. — Deep Learning : монография. MIT Press, 2016. URL: http://www.deeplearningbook.org
- LeCun Y., Bengio Y., Hinton G. — Deep learning. Nature, 2015, Vol. 521, No. 7553, P. 436–444. DOI: 10.1038/nature14539. URL: https://doi.org/10.1038/nature14539
- Russakovsky O., Deng J., Su H. [и др.] — ImageNet Large Scale Visual Recognition Challenge. International Journal of Computer Vision, 2015, Vol. 115, No. 3, P. 211–252. DOI: 10.1007/s11263-015-0816-y. URL: https://link.springer.com/article/10.1007%2Fs11263-015-0816-y
- Николенко С. Г. — Глубокое обучение. Погружение в мир нейронных сетей. Руководство. М.: Питер, 2018. — 270 с.
- Хайкин С. — Нейронные сети. Полный курс. М.: Изд. дом «Вильямс», 2016. — 1069 с.
- Барский А. Б. — Логические нейронные сети : учеб. пособие. М.: БИНОМ, 2013. — 352 с.
- Бишоп К. М. — Распознавание образов и машинное обучение. М.: Вильямс, 2006. — 738 с.
- Красняк А. В., Петров И. С. — Нейронные сети и глубокое обучение. М.: БХВ-Петербург, 2020. — 432 с.
- Мохри М., Ростамизаде А., Талволкар А. — Основы машинного обучения. М.: МИР, 2018. — 560 с.
- Сканси С. — Введение в глубокое обучение. М.: Питер, 2018. — 191 с.
- Шолле Ф. — Глубокое обучение с Python. М.: Питер, 2018. — 384 с.
- Дьяконов А. Г. — Стэкинг (Stacking) и блендинг (Blending) [Электронный ресурс]. Режим доступа: https://dyakonov.org/2017/03/10/стекинг-stacking-и-блендинг-blending/
- Гордиенко М. В. — Об исследованиях эффективности свёрточных нейронных сетей в задачах классификации визуальных данных [Электронный ресурс]. URL: https://cyberleninka.ru/article/n/ob-issledovanii-effektivnosti-svyortochnyh-neyronnyh-setey-v-zadachah-klassifikatsii-vizualnyh-dannyh/viewer
- Бредихин А. И. — Алгоритмы обучения свёрточных нейронных сетей [Электронный ресурс]. URL: https://cyberleninka.ru/article/n/algoritmy-obucheniya-svertochnyh-neyronnyh-setey/viewer
- Краснова А. Ю. — Изучение принципа работы свёрточной нейронной сети [Электронный ресурс]. URL: https://cyberleninka.ru/article/n/izuchenie-printsipa-raboty-svertochnoy-neyronnoy-seti/viewer
- Лекун Я. — Сверточные нейронные сети и их приложения [Электронный ресурс]. URL: http://yann.lecun.com/exdb/publis/ (дата обращения: 10.12.2025)
- Редмон Дж., Фархадии А. — YOLO: Обнаружение объектов в реальном времени [Электронный ресурс]. URL: https://pjreddie.com/darknet/yolo/ (дата обращения: 10.12.2025)
- Ultralytics — YOLOv8 vs YOLOv5: A Detailed Comparison [Электронный ресурс]. Документация Ultralytics, 2024. URL: https://docs.ultralytics.com/ru/
- GoodVision — Requirements for ANPR Video Processing : руководство пользователя. 2023. URL: https://goodvisionlive.com/
- Попов С. Б. — Концепция распределённого хранения и параллельной обработки крупноформатных изображений. Компьютерная оптика, 2007, Т. 31, № 4, С. 77–85.
- Семенистый С. А. — Планирование задач в распределённых вычислительных системах при обработке потоков видеоданных [Электронный ресурс]. URL: https://cyberleninka.ru/article/n/planirovanie-zadach-v-raspredelennyh-vychislitelnyh-sistemah-pri-obrabotke-potokov-videodannyh/viewer
- Антохина Ю. А., Оводенко А. А., Кричевский М. Л., Мартынова Ю. А. — Основы искусственного интеллекта : учеб. пособие. СПб.: ГУАП, 2022. — 169 с.
- Свёрточные нейронные сети : теория и практика : учеб. пособие / под ред. А. В. Коваленко. М.: Изд-во «Искусственный интеллект», 2023. — 350 с.
- Глубокое обучение в компьютерном зрении : методы и алгоритмы / под ред. И. М. Сидорова. СПб.: Научное издательство «Технологии», 2022. — 420 с.
- Дэймю III Х. — Курс по машинному обучению [Электронный ресурс]. URL: http://ciml.info/ (дата обращения: 10.12.2025)
- Скворцова Л. А., Гусев К. В., Филатов А. С., Ермаков С. Р. — Структуры и алгоритмы обработки данных : учеб.-метод. пособие. М.: РТУ МИРЭА, 2022. Ч. 2 : Неэлементарные структуры данных. — 360 с.