Фрагмент для ознакомления
2
1 Алгоритмы технического зрения для обнаружения локализации объектов интереса
1 ОСНОВНЫЕ ПРИНЦИПЫ РАБОТЫ СВЕРТОЧНЫХ НЕЙРОННЫХ СЕТЕЙ
1.1 Алгоритм работы систем технического зрения для обнаруже-ния объектов интереса
Системы технического зрения представляют собой комплексные ал-горитмы и методы компьютерного зрения, разработанные для обнаруже-ния, распознавания и локализации объектов на изображениях или в видео-потоке. Они находят применение в различных сферах, таких как автомати-зация производства, медицинская диагностика, видеонаблюдение, авто-номные транспортные средства и другие области.
Основные компоненты систем технического зрения для обнаружения объектов интереса включают в себя:
1. Захват изображения:
Захват изображения представляет собой первоначальный этап в про-цессе работы с изображениями в системах компьютерного зрения. Этот этап включает в себя захват данных изображения с помощью различных устройств и сенсоров, таких как цифровые камеры, видеокамеры, сканеры и другие устройства, способные регистрировать визуальную информацию.
2. Предобработка изображений:
Процессы фильтрации, улучшения контрастности, устранения шума и другие методы для оптимизации изображений перед обработкой.
3. Обнаружение объектов:
3.1 Выделение признаков. Алгоритмы и методы для выделения характеристических признаков объектов на изображении, таких как гра-ницы, текстуры, цвета.
3.2 Обучение с учителем и без учителя. Применение методов ма-шинного обучения, таких как нейронные сети, SVM (Support Vector Machines), каскады Хаара и другие, для распознавания и классификации объектов.
4. Локализация объектов:
4.1 Bounding Boxes (ограничивающие рамки). Методы для точной локализации объектов путем создания ограничивающих рамок вокруг них.
4.2 Segmentation (сегментация). Техники разделения изображения на части, которые соответствуют объектам, позволяя более точно опреде-лить их форму и положение.
5. Постобработка и интерпретация:
5.1 Фильтрация и анализ результатов. Этап проверки и фильтра-ции результатов обнаружения объектов.
5.2 Интерпретация и дальнейший анализ. Анализ результатов для принятия решений или применения дополнительных действий на основе обнаруженных объектов.
Примеры применения систем технического зрения:
1. Автономные автомобили. Обнаружение и отслеживание дорожных знаков, пешеходов, других транспортных средств.
2. Медицинская диагностика. Обнаружение и анализ медицинских изображений для выявления патологий и заболеваний.
3. Промышленность. Контроль качества на производстве, обнаруже-ние дефектов, сортировка товаров и т.д.
4. Видеонаблюдение и безопасность. Обнаружение нежелательной активности или объектов на видеозаписях для обеспечения безопасности.
Системы технического зрения постоянно развиваются благодаря со-вершенствованию методов машинного обучения, улучшению аппаратного обеспечения и новым подходам в обработке изображений, что делает их более точными и эффективными в различных сферах применения.
1.2 Основные этапы в работе сверточных нейронных сетей
1.2.1 Сверточные слои
Сверточные слои (Convolutional Layers) являются основным строи-тельным блоком сверточных нейронных сетей (Convolutional Neural Networks, CNN) и играют ключевую роль в анализе изображений, видео, аудио и других типов данных, имеющих пространственную или времен-ную структуру.
Основные характеристики сверточных слоев:
1. Свертка (Convolution):
Основной операцией в сверточных слоях является свертка, которая представляет собой перемещение фильтра (ядра) по входному изображе-нию для извлечения различных признаков. Фильтр проходит через каж-дую область изображения, производя элементарное умножение и сложение значений пикселей, создавая карты признаков.
2. Фильтры (Kernels):
Фильтры представляют собой матрицы весов, которые применяются к каждому фрагменту входных данных для извлечения определенных при-знаков, таких как углы, края, текстуры и другие характеристики.
3. Структура сверточного слоя:
Сверточный слой обычно состоит из нескольких фильтров, каждый из которых выделяет определенные признаки. Результат работы этих фильтров объединяется для формирования карты признаков (feature map).
4. Пулинг (Pooling):
После свертки обычно применяется операция пулинга, которая поз-воляет уменьшить размер карты признаков, сохраняя важные признаки и снижая вычислительную нагрузку.
2 Алгоритмы обнаружения интереса на основе сверточных нейронных сетей с регионами
АЛГОРИТМ ОБНАРУЖЕНИЯ ЗАЩИТНЫХ КАСОК И ЛЮДЕЙ С ПОМОЩЬЮ НЕЙРОННОЙ СЕТИ YOLOV8
3.1 Архитектура нейронной сети
YOLOv8 – это последняя версия YOLO от Ultralytics. YOLOv8 пред-ставляет собой передовую, современную (state-of-the-art (SOTA)) модель, основанную на успехе предыдущих версий, с новыми функциями и улуч-шениями для повышения производительности, гибкости и эффективности. YOLOv8 поддерживает полный спектр задач искусственного интеллекта, включая детектирование (detection), сегментацию (segmentation), оценку позы (pose estimation), отслеживание (tracking) и классификацию (classifica-tion). Эта универсальность позволяет пользователям использовать воз-можности YOLOv8 в различных приложениях и областях.
YOLOv8 использует сверточную нейронную сеть, которую можно разделить на две основные части: позвоночник (backbone) и голову (head). Позвоночник – это модифицированная версия архитектуры CSPDarknet53. Эта архитектура состоит из 53 сверточных слоев и использует частичные межэтапные соединения для улучшения информационного потока между различными слоями. Голова YOLOv8 состоит из нескольких сверточных слоев, за которыми следует ряд полносвязных. Эти слои отвечают за про-гнозирование ограничивающих прямоугольников (bounding boxes), оценки объектности (objectness scores) и вероятности классов для объектов, обна-руженных на изображении. Одной из ключевых особенностей YOLOv8 яв-ляется использование механизма самоконтроля в голове сети. Этот меха-низм позволяет модели сосредоточиться на разных частях изображения и устанавливать важность различных признаков в зависимости от их приме-нимости к задаче [15]. Еще одной важной особенностью YOLOv8 является его способность выполнять многомасштабное обнаружение объектов. Мо-дель использует пирамидальную сеть признаков (feature pyramid network) для обнаружения объектов разных размеров и масштабов на изображе-нии. Она состоит из нескольких слоев, которые обнаруживают объекты в разных масштабах, что позволяет модели обнаруживать большие и ма-ленькие объекты на изображении.
3.2 Подготовка данных
В качестве набора данных для реализации алгоритма по обнаруже-нию касок и людей использовался «SafetyHelmetWearing» датасет, вклю-чающий набор данных с разметкой двух классов – люди и защитные кас-ки.
Фрагмент для ознакомления
3
1 Алгоритмы технического зрения для обнаружения локализации объектов интереса
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1 Шолле, Ф. Глубокое обучение на Python / Ф. Шолле. – Санкт-Петербург: Питер, 2018. – 400 с.
2 Радченко, В. Открытый курс машинного обучения. Тема 5. Компо-зиции: бэггинг, случайный лес / В. Радченко [Электронный ресурс]. – Дата обновления: 27.03.2017 URL: https://habr.com/ru/company/ods/blog/324402/ (дата обращения: 15.12.2023).
3 Царьков, С.В. Различные стратегии сэмплинга в условиях несба-лансированности классов / С.В. Царьков [Электронный ресурс]. URL: https://basegroup.ru /community/articles/imbalance-datasets (дата обращения: 15.12.2023).
4 Уоссермен, Ф. Нейрокомпьютерная техника: Теория и практика / Ф. Уоссермен. Издательство Мир, 2002. – 16 с.
5 Gibiansky, A. Recurrent Neural Networks / А. Gibiansky [Электрон-ный ресурс]. – Дата обновления: 21.03.2014. URL: http://andrew.gibiansky.com/
blog/machine-learning/recurrent-neural-networks/ (дата обращения: 14.12.2023).
6 Ren, S. Faster R-CNN: towards real-time object detection with region proposal networks. IEEE Trans Pattern Anal Mach Intell / Ren, S [Электрон-ный ресурс]. – Дата обновления: 06.01.2016. URL: https://arxiv.org/abs/1506.01497 (дата обращения: 14.12.2023).
7 Cilimkovic, M. Neural Networks and Back Propagation Algorithm / M. Cilimkovic. Institute of Technology Blanchardstown Blanchardstown Road North, Dublin 15, 2010. – 7 p.
8 Rojas, R. Neural Networks A Systematic Introduction / R. Rojas. SpringerVerlag, Berlin, 1996 – 184 p.
9 Kovalczyk, A. Support vector machines succinctly / A. Kovalczyk. Syncfusion, 2017. – 12 p.
10 Vapnik, V.N. Support-Vector Networks / V.N. Vapnik, C. Cortes. Machine Learning, 20, 273–297, 1995. – 273 p.
11 Vapnik, V.N. On a perceptron class / V.N. Vapnik, A.Ya. Cher-vonenkis. Avtomat. i Telemekh., Volume 25, Issue 1, 1964. – 112 p.
12 Wei, M. An Equivalence of Fully Connected Layer and Convolutional Layer / M. Wei, L. Jun. Department of Computer Science, 2017. – 1 p.
13 Masci, J. A fast learning algorithm for image segmentation with max-pooling / J. Masci, A. Giusti. Convolutional networks, 2013. – 2 p.
14 Bing, Xu, Empirical Evaluation of Rectified Activations in Convolu-tion Network / Xu Bing, W. Naiyan. Arxiv, 2015. – 2 p.
15 Clevert, D. Fast and Accurate Deep Network Learning by Exponen-tial Linear Units (ELUs) / D. Clevert, T. Unterthiner. Machine Learning, 2016. – 5 p.
16 Martins, A.F.T. From Softmax to Sparsemax: A Sparse Model of At-tention and Multi-Label Classification / A.F.T. Martins, R.F. Astudillo. Arxiv,
2016. – 2 p.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1 Шолле, Ф. Глубокое обучение на Python / Ф. Шолле. – Санкт-Петербург: Питер, 2018. – 400 с.
2 Радченко, В. Открытый курс машинного обучения. Тема 5. Компо-зиции: бэггинг, случайный лес / В. Радченко [Электронный ресурс]. – Дата обновления: 27.03.2017 URL: https://habr.com/ru/company/ods/blog/324402/ (дата обращения: 15.12.2023).
3 Уоссермен, Ф. Нейрокомпьютерная техника: Теория и практика / Ф. Уоссермен. Издательство Мир, 2002. – 16 с.
4 Ren, S. Faster R-CNN: towards real-time object detection with region proposal networks. IEEE Trans Pattern Anal Mach Intell / Ren, S [Электрон-ный ресурс]. – Дата обновления: 06.01.2016. URL: https://arxiv.org/abs/1506.01497 (дата обращения: 14.12.2023).
5 Cilimkovic, M. Neural Networks and Back Propagation Algorithm / M. Cilimkovic. Institute of Technology Blanchardstown Blanchardstown Road North, Dublin 15, 2010. – 7 p.
6 Rojas, R. Neural Networks A Systematic Introduction / R. Rojas. SpringerVerlag, Berlin, 1996 – 184 p.
7 Wei, M. An Equivalence of Fully Connected Layer and Convolutional Layer / M. Wei, L. Jun. Department of Computer Science, 2017. – 1 p.
8 Masci, J. A fast learning algorithm for image segmentation with max-pooling / J. Masci, A. Giusti. Convolutional networks, 2013. – 2 p.
9 Bing, Xu, Empirical Evaluation of Rectified Activations in Convolu-tion Network / Xu Bing, W. Naiyan. Arxiv, 2015. – 2 p.
10 Clevert, D. Fast and Accurate Deep Network Learning by Exponen-tial Linear Units (ELUs) / D. Clevert, T. Unterthiner. Machine Learning, 2016. – 5 p.
11 М. Абад. Обработка изображений на основе алгоритмов нейрон-ных сетей. – М.: Лорд, 2017.
12 П. Линкольн. Нейронные сети в действии. – М.: ДМК Пресс, 2017.
13 Р. Караусе. Разработка алгоритмов нейронных сетей с использо-ванием Python. – М.: Питер, 2019.
14 Дж. Гудфеллоу, Ю. Бенджио, А. Курвилль. Глубокое обучение. – М.: ДМК Пресс, 2018.
15 Ш. Яо. Методы и алгоритмы глубокого обучения. – М.: ДМК Пресс, 2018.