Введение

На основании постановления правительства Индонезии №. 15 от 2005 г., пункт (2) статьи 1, платными дорогами являются дороги общего пользования, являющиеся частью системы дорожной сети и являющиеся национальными дорогами, пользователи которых обязаны платить за проезд. Платные дороги также могут называться скоростными автомагистралями. Однако, несмотря на многочисленные преимущества использования платных дорог в качестве транспортных маршрутов, на платных дорогах по-прежнему происходит много аварий. По данным Агентства по регулированию платных дорог (BPT), количество аварий, произошедших в 2020 году, составило 3907 случаев, а в 2021 году увеличилось до 3988 случаев.

Причиной большого количества аварий на платных дорогах в основном является человеческая халатность. Эксперт-исследователь Центра транспортных и логистических исследований (PUSTRAL) UGM сказал, что несколько факторов, вызывающих аварии на платных дорогах, включают халатность водителей, транспортные средства, окружающую среду и дороги, а также погоду. Некоторые из вещей, которые могут вызвать несчастные случаи из-за факторов водителя, включают состояние водителя, который сонный, намеренно нарушает правила дорожного движения и не сосредоточен. Одним из правил дорожного движения, которое часто нарушается, является обгон на обочине платной дороги.

Что такое YOLov5?

YOLO (You Only Look Once), впервые опубликованный Джозефом Редмондом и др. в 2016 году. В его журнале «You Only Look Once: Unified Real Time Object Detection» была предложена методология, которая не фокусируется на достижении идеальной точности, а в основном фокусируется на скорости обнаружения [ 1].

Основная идея этого первого YOLO состоит в том, чтобы применить к изображению ячейку сетки размером s X s (по умолчанию 7 X 7). Если объект попадает в ячейку сетки, эта ячейка классифицируется как обнаружение объекта [2]. Процесс обнаружения объекта с помощью этого алгоритма так же прост, как 1) изменение размера изображения до 448 X 448, 2) запуск одной сверточной сети на изображении и 3) пороговое значение результатов обнаружения по достоверности модели.

Разработка YOLOv5 использует множество концепций YOLov1-YOLOv4. YOLOv5 работает немного быстрее по сравнению с предыдущей версией YOLO и имеет наименьший размер файла по сравнению с предыдущей версией.

Структура сети YOLOv5 состоит из 3 основных частей: позвоночника, шеи и головы. Несколько документов включают входную сеть и выходную сеть.

Сбор данных

Набор данных, который будет использоваться в этом исследовании, будет получен из системы видеонаблюдения, которая предоставляет открытый исходный код компанией Binamarga Indonesia. Этот набор данных собран с платы за проезд JORR-S (Внешняя кольцевая дорога Джакарты-S) 30+300 км. Из-за ограниченного времени, которое было у автора, в этом исследовании было собрано всего 250 изображений. Затем набор данных был разделен на последовательность данных, проверку данных и проверку данных.

Аннотирование набора данных

Существует множество инструментов, которые мы можем использовать для аннотирования/маркировки набора данных нашей пользовательской меткой. В данном исследовании автор выбрал Roboflow.

метки/классификация объектов будут «Нарушающие/Меланггар» и «Не нарушающие/Тидак Меланггар». После аннотирования набора данных следующее, что нужно сделать, — это сгенерировать набор данных с помощью процесса предварительной обработки и дополнения. Последний процесс, который нужно сделать для построения модели, — это обучить модель набору данных, который был создан ранее.

Поезд Модель YOLOv5

Прежде чем проводить обучение модели на YOLOv5, первое, что нужно сделать, это определить, какую версию YOLOv5 использовать. Эти версии включают YOLOv5n, YOLOv5s, YOLOv5m, YOLOv5l, YOLOv5x. В этом исследовании использовалась версия YOLOv5s. Вы можете получить доступ к учебнику по ноутбуку для обучения YOLOv5, который предоставляет Roboflow здесь.

Первое, что нужно сделать перед обучением модели, — загрузить набор данных в блокнот с помощью этой строки кода.

После загрузки набора данных в блокнот мы можем обучить модель.

Полученные результаты

Кроме того, чтобы получить наилучший результат в процессе обучения, нам нужно сделать то, что называется Настройкой гиперпараметров. Гиперпараметром, который был настроен в этом исследовании, был раздел набора данных, эпохи, скорость обучения и размер пакета.

Проведя много тренировок с этим гиперпараметром, можно сделать вывод, что наилучшей конфигурацией для получения модели с наилучшей производительностью является раздел набора данных с соотношением 96: 2: 2 или 240 последовательностей данных, 5 тестов данных и 5 проверка данных, размер партии = 64 и эпохи = 100. В результате проведенного процесса обучения получен лучший показатель mAP со значением 97,9%; Точность = 93,7%, а отзыв = 97,1%.

Как мы видим, в нескольких объектах есть много перекрывающихся границ. Мы можем использовать NMS (немаксимальное подавление), чтобы уменьшить количество перекрывающихся ограничивающих рамок.

Заключение

  1. Основываясь на проведенном исследовании, наилучшей конфигурацией процесса обучения для создания наилучшей модели является разделение набора данных 96:2:2, что составляет 240 последовательностей данных, 5 тестов данных и 5 проверок данных, размер пакета. = 64, а эпох = 100.
  2. Результаты обучения с лучшей моделью дают модель со mAP (средняя средняя точность) = 0,979; точность = 0,937; и отзыв = 0,971.