Статья опубликована в рамках: Научного журнала «Студенческий» № 21(149)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5
СРАВНЕНИЕ НАИБОЛЕЕ ПОПУЛЯРНЫХ МЕТОДОВ ОБНАРУЖЕНИЯ ОБЪЕКТОВ НА ИЗОБРАЖЕНИИ С ПОМОЩЬЮ СВЕРТОНЫХ НЕЙРОННЫХ СЕТЕЙ
COMPARISON OF THE POPULAR METHODS OF OBJECT DETECTION IN IMAGES WITH CONVOLUTIONAL NEURAL NETWORKS
Ildar Saberov
student, Department of Automated Processing and Control Systems, Kazan National Research Technical University named after A.N. Tupolev-KAI,
Russia, Kazan
Aleksandr Yasafov
student, Department of Automated Processing and Control Systems, Kazan National Research Technical University named after A.N. Tupolev-KAI,
Russia, Kazan
Vladimir Mokshin
scientific advisor, Candidate of Technical Sciences, Associate Professor, Kazan National Research Technical University named after A.N. Tupolev-KAI,
Russia, Kazan
АННОТАЦИЯ
В данной работе рассматриваются наиболее популярные методы обнаружения объектов на изображениях и в видеопотоке. В ходе работы было проведено сравнение моделей сверточных нейронных сетей Faster R-CNN и YOLOv3. На основе проведенного эксперимента был сделан вывод о пригодности каждой из модели для использования в системах детектирования объектов.
ABSTRACT
This paper discusses the most widely used methods of object detection in images and video. Over the course of the work two models of convolutional neural network were compared — Faster R-CNN and YOLOv3. Based on the results of the experiment the conclusion was made about the proper usage of each of these models in object detection.
Ключевые слова: обнаружение объектов, сверточные нейронные сети, Faster R-CNN, YOLOv3, переносное обучение.
Keywords: object detection, convolutional neural networks, Faster R-CNN, YOLOv3, transfer learning.
Введение
Системы обнаружения объектов на изображениях и в видеопотоке пользуются большим спросом в связи их большим потенциалом применения в практических задачах. Различные компании предлагают свои собственные решения для обнаружения объектов в различных сферах. Но все подобные решения всегда дорогостоящи и имеют закрытую систему разработки, что не позволяет самостоятельно что-то изменить без помощи компании разработчика.
Одним из самых популярных способов детекции объектов является использование искусственных нейронных сетей, которые в последние годы широко используются во всех сферах деятельности, в связи возможностью их обучения. Самый распространенный способ обучения — это обучение с учителем, которое подразумевает, что у набора данных, на котором производится обучение, существует изначально заданные верные ответы. Тем самым, нейронная сеть сможет с помощью некой функции потерь подсчитать, насколько она ошиблась, и скорректировать свои результаты. Обучение заключается в минимизации функции потерь [2].
Цель данной работы изучить современные методы детекции объектов, сравнить их и понять, насколько тяжело применять данные методы на практических задачах.
Описание подходов к детекции объектов на изображении
Задача детекции объекта состоит из двух подзадач: задачи классификации и задачи локализации. Существуют различные методы детекции объектов, которые делятся на 2 группы:
- Подход без использования нейронных сетей
- Подход с использование нейронных сетей
Без нейросетевой подход включается в себя такие способы как [1]:
- Метод Виолы – Джонса
- Гистограмма направленных градиентов
В данном анализе акцент будет смещен именно на подход и использование сверточных нейронных сетей. Нейросетевой подход делится на две основные группы:
- Двухэтапные методы (two-stage methods) – этот метод как следует из названия разделен на два этапа. На первом этапе селективным поиском или с помощью специального слоя нейронной сети выделяются регионы интереса (англ. regions of interest, RoI) — области, с высокой вероятностью содержащие внутри себя объекты. На втором этапе выбранные регионы рассматриваются классификатором для определения принадлежности исходным классам.
- Одноэтапные методы (one-stage methods) – подход, который предсказывает координаты определённого количества ограничивающих рамок с различными характеристиками, такими, как степень уверенности и результаты классификации, после чего и корректирует местоположение рамок.
Двухэтапные методы R-CNN, Fast R-CNN, Faster R-CNN
Самым ярким представителем двухстадийного подхода является семейство R-CNN. R-CNN – это сокращение от «Region-based Convolutional Neural Networks». Данный алгоритм основан на сверточных нейронных сетях.
В начале алгоритма выполняется селективный поиск на входном изображении для получения «регионов» – прямоугольных рамок, в которых предположительно содержится объект. Эти предлагаемые области обычно выбираются в нескольких масштабах и имеют разные формы и размеры. Для каждого изображения генерируется около двух тысяч регионов. Затем каждый регион приводится с помощью аффинных преобразований к необходимому размеру для нейронной сети. Данные регионы передаются в сверточную нейронную сеть, которая на выходе выдает для каждого региона вектора признаков. Для полученных векторов признаков определяется класс с помощью метода опорных векторов. Для каждого класса свой классификатор объектов. [4].
Одним из основных недостатков данного подхода оказалась его медлительность, так как для каждый из двух тысяч регионов необходимо провести через классификатор. Для решения данной проблемы был предложен обновленный метод называемый Fast R-CNN [3].
Главным отличием от R-CNN стало подача на вход сверточной сети не отдельных регионов, а всего изображения сразу для получения карты признаков. Fast R-CNN стала быстрее, чем R-CNN, но оставалась все еще медленной, так как ее узким местом являлся селективный поиск регионов. Для решения этой проблемы был придуман Faster-RCNN. Главным отличием стало вычисление регионов с помощью нового модуля Region Proposal Network (RPN). RPN – сверточная сеть, которая генерирует регионы по признакам изображения. Остальные части остались неизменными [7]. В процессе RPN используется не максимальное подавление (Non-maximum suppression), чтобы отфильтровать множество рамок, принадлежащих одному объекту Модель Faster R-CNN представлена на рисунке 1.
Рисунок 1. Модель Faster R-CNN
Двухэтапный метод основан на предсказании регионов, что может обеспечить хорошую точность, но не может похвастаться достаточной скоростью для определенных сфер.
Одноэтапный метод Yolo
Одноэтапный метод концентрируется на быстрой детекции, но большая скорость обеспечивается за счет меньшей точностью.
Yolo (You only look once) – данный метод стал одним из первых, который попытался использовать детекцию в реальном времени. Разбиении изображения на сетку из ячеек N x N. Таким образом если центр объекта попал внутрь одной из ячеек, то данная ячейка считается ответственной за определение параметров местонахождения объекта. Для каждой ячейки описывается несколько вариантов местоположения рамок для одного и того же объекта. Рамки характеризуются пятью значениями: координаты центра, ширина, высота и степень уверенности в том, что рамка содержит объект. В итоге, последний слой сети принимает окончательное решение по рамкам и классифицирует объект размером N x N x (5B + C), где B – количество предсказываемых ограничивающих рамок для ячейки, а С – количество классов объектов. Алгоритм работы Yolo приведен на рисунке 2 [5].
Рисунок 2. Схема работы алгоритма Yolo
Улучшением данного алгоритма стало Yolov3. В Yolov3 стала использоваться логистическая регрессия для оценки достоверности рамок, а также нескольких независимых логистических классификаторов для каждого класса, вместо одного слоя softmax. Предсказания стали проводится сразу в 3 разных размерах. Благодаря всем улучшениям данный подход считается самым быстрым, но не самым точным [6]. Архитектура Yolov представлена на рисунке 3.
Рисунок 3. Архитектура Yolo.
Обучение Faster R-CNN и Yolov3
Для сравнения двухстадийных методов и одностадийных были выбраны самые популярны представители от каждого: Faster R-CNN и Yolov3.
Для обучения были использованы изначально натренированные веса нейронных сетей из публикаций данных методов. Тренировка производилась на собранном наборе изображений, который содержит различные фотографии машин в повседневной жизни. Данные были получены из открытого набора данных MS COCO и Google OpenImages. MS COCO и Google OpenImages содержат тысячи изображений с размеченными на них объектами. Были получены по 1500 изображений с каждого набора. Размер изображений изменен к формату 640 x 640 с сохранением пропорций путем заполнения белым фоном. Пример изображений приведен на рисунке 4. В качестве платформы для обучения был выбран облачный сервис Google Colaboratory, что позволило производить обучение на графическом процессоре NVIDIA Tesla T4 и, соответственно, сильно сократить время обучения.
Рисунок 4. Пример набора данных
Обучение проводилось до значения функции потерь меньшей двух. Данное значение было получено примерно к шагу 2200 тысяч у Yolov3, и 5000 у Faster R-CNN.
Сравнение Faster R-CNN и Yolov3
Для оценки определенного алгоритма по детектировании используются метрики AP (Средняя точность) и mAP (Средняя средняя точность). Для вычисления данных метрик используется следующие термины: точность и полнота.
P (positive) — сколько у нас положительных ответов (результатов наблюдений). Существуют TP (true positive – стинно-положительный), когда модель предсказала «да» и это верный результат и FP (false positive – kожно-положительный), когда модель предсказала «да», но это неверный результат. N (negative) — сколько отрицательных ответов. Существуют TN (true negative – истинно-отрицательный), когда модель предсказала «нет» и это верный результат и FN (false negative – ложно-отрицательный), когда модель предсказала «нет», но это неверный результат.
– метрика, в которой определяется какая часть из предсказаний модели оказалась верной. – метрика, в которой рассматриваются только P случаи и какую долю из них модель предсказала правильно. Precision x Recall Curve (PR-curve) – это график, на котором на оси X отмечается Recall, а на оси Y отмечается Precision. Также понадобится метрика IoU (Intersection over Union / Пересечение над объединением) – равняется отношению площади пересекающихся областей к площади объединенных областей .
AP – это площадь под кривой PR: , где это процент метрики IoU. AP вычисляется для каждого класса, поэтому для оценки множества классов используется mAP: , где n это количество классов.
Сравнение проводилось по 4 ключевым характеристикам: Время обнаружения объекта, мсек, точность распознавания на тестовом наборе данных при , точность распознавания на тестовом наборе данных при , количество шагов.
PR – график для Faster R-CNN и Yolov3 приведен на рисунке 5.
Рисунок 5. PR-график для a) Faster R-CNN и b) Yolov3
Результаты сравнения приведены в таблицу 1.
Таблица 1.
Результаты сравнения методов
Метод |
Количество шагов |
Время обнаружения (мсек) |
||
Faster R-CNN |
5000 |
72,3 |
83% |
83% |
Yolov3 |
35000 |
38,4 |
85% |
85% |
На рисунке 6 приведены результаты работы алгоритмов.
Рисунок 6. Результат применения a) Faster RCNN и b) Yolov3.
Результаты сравнения показывают, что Yolov3 имеет mAP равное 85% при времени обнаружения в 38 мсек, а Faster R-CNN имеет mAP равное 83% при времени обнаружения 72 мсек.
Заключение
Проведя исследования стало понятно, что применение методов Faster R-CNN и Yolov3 зависит от решаемой задачи. Если требуется выполнение задачи в реальном времени, то тогда, скорее всего, придется пожертвовать точностью и выбрать модель Yolov3. Если от задачи не требуется быстрота выполнения, то двухэтапный метод Faster R-CNN должен показать себя лучше. В результате проведенного эксперимента получилось, что оба метода примерно равны по точности, однако такой результат можно объяснить тем, что обучение проводилось на небольшом наборе данных и в течение небольшого количества времени. Предположительно, если собрать больший набор данных и проводить обучение более длительный срок, то Faster R-CNN покажет более высокий результат в точности, чем Yolov3. Таким образом, главным критерием для получения хороших результатов обучения является тренировочная и валидационная выборка, а также время, потраченное на обучение.
Список литературы:
- Сайфудинов И.Р., Мокшин В.В. Сравнение методов распознавания образов транспортных средств на примере классификатора Хаара и оператора LBP с применением AdaBoost // Сборник научных статей 4-й Международной молодежной научной конференции в 4-х томах. Конференция «ПОКОЛЕНИЕ БУДУЩЕГО: ВЗГЛЯД МОЛОДЫХ УЧЕНЫХ». – Курск: Закрытое акционерное общество "Университетская книга", 2015. С. 66-70
- А.В. Суздальцев, М.П. Шлеймович, В.В. Мокшин. Системы распознавания образов: учебное пособие. Казань: Редакционно-издательский центр «Школа», 2019. – 156 c. ISBN 978–5–00162–088–4
- R. Girshick, "Fast R-CNN," 2015 IEEE International Conference on Computer Vision (ICCV), 2015, pp. 1440-1448, doi: 10.1109/ICCV.2015.169.
- R. Girshick, J. Donahue, T. Darrell and J. Malik, "Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation," 2014 IEEE Conference on Computer Vision and Pattern Recognition, 2014, pp. 580-587, doi: 10.1109/CVPR.2014.81.
- J. Redmon, S. Divvala, R. Girshick and A. Farhadi, "You Only Look Once: Unified, Real-Time Object Detection," 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, pp. 779-788, doi: 10.1109/CVPR.2016.91.
- J. Redmon and A. Farhadi. Yolov3: An incremental improvement. arXiv, 2018, arXiv:1804.02767
- S. Ren, K. He, R. Girshick and J. Sun, "Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks," in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 39, no. 6, pp. 1137-1149, 1 June 2017, doi: 10.1109/TPAMI.2016.2577031.
Оставить комментарий