Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 6(260)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3

Библиографическое описание:
Чэ Ц. СЕГМЕНТАЦИЯ ОБЪЕКТОВ С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМА ТЕХНИЧЕСКОГО ЗРЕНИЯ // Студенческий: электрон. научн. журн. 2024. № 6(260). URL: https://sibac.info/journal/student/260/319513 (дата обращения: 28.11.2024).

СЕГМЕНТАЦИЯ ОБЪЕКТОВ С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМА ТЕХНИЧЕСКОГО ЗРЕНИЯ

Чэ Цзяцзюнь

студент, кафедра Робототехнические системы и мехатроника, Московский государственный технический университет им. Н. Э. Баумана,

РФ, г. Москва

Воротников Сергей Анатольевич

научный руководитель,

канд. техн. наук, доц., Московский государственный технический университет им. Н. Э. Баумана,

РФ, г. Москва

​АННОТАЦИЯ

Данная работа посвящена решению сегментации границ объектов, когда распознанные объекты находятся в сложенном состоянии. Результаты исследования будут применены в РТК сортировки неориентированных объектов.

В этой работе я используется открытый исходный код yolov8 для обучения сегментации.

Подробное содержание кода можно найти в официальной документации Yolov8 https://github.com/ultralytics/ultralytics.

ABSTRACT

This work is devoted to solving the segmentation of object boundaries when the recognized objects are in a folded state. The results of the study will be applied in the RTK sorting of unoriented objects.

In this work, I use the open source code yolov8 to train segmentation.

Detailed code content can be found in the official Yolov8 documentation https://github.com/ultralytics/ultralytics.

 

Ключевые слова: сегментация, yolov8.

Keywords: segmentation, yolov8.

 

Введение

Для сегментации объектов, мы используем алгоритм yolo. YOLOv8 (You Only Look Once, версия 8) — влиятельный алгоритм в области обнаружения целей и последняя версия серии YOLO. Благодаря ряду инновационных разработок и оптимизаций этот алгоритм позволил значительно повысить производительность при решении задач обнаружения целей в реальном времени.

В данной работе мы будем использовать официальную модель для обучения, проанализируем применимость алгоритма в различных сценариях сортировки и внесем в него некоторые улучшения. Конечная цель работы – применить алгоритм к РТК сортировки неориентированных объектов.

1. Схема структуры модели и функция потеря yolov8

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

 

Рисунок 1. Схема структуры модели yolov8

 

ConvModule: содержит сверточные слои, BN (пакетную нормализацию) и функции активации (например, SiLU) для извлечения признаков.

DarknetBottleneck: увеличьте глубину сети за счет остаточных соединений, сохраняя при этом эффективность.

GSP Layer: вариант структуры CSP, который повышает эффективность обучения модели за счет частичных соединений.

Concat: объединение карт объектов, используемое для объединения объектов из разных слоев.

Upsample: операция повышения разрешения для увеличения пространственного разрешения карты объектов.

IoU (пересечение через объединение)

IoU — очень важный показатель при оценке эффективности моделей обнаружения целей. Он измеряет перекрытие между прогнозируемыми и достоверными ограничивающими рамками. IoU рассчитывается следующим образом:

Среди них «Область перекрытия» — это область, где прогнозируемая ограничивающая рамка и реальная ограничивающая рамка перекрываются, а «Область объединения» — это общая площадь, покрытая двумя ограничивающими рамками.

Плюсы: IoU предоставляет четкую метрику для измерения точности прогнозов местоположения.

Роль: широко используется на этапе обучения для оптимизации модели (как часть функции потерь), а также на этапе оценки для сравнения производительности разных моделей или одной и той же модели при разных параметрах.

Потеря Ббокса

Bbox Loss используется для расчета разницы между прогнозируемой ограничивающей рамкой и истинной ограничивающей рамкой. Среднеквадратическая ошибка (MSE) — это широко используемая функция потерь, формула ее расчета выглядит следующим образом:

где x_{i} — координаты истинной ограничивающей рамки, а \hat{x}_{i} — координаты предсказанной ограничивающей рамки. Эта потеря рассчитывается как сумма квадратов разностей между прогнозируемыми и фактическими координатами.

Преимущества: MSE — хорошая функция потерь, поскольку она назначает более высокий штраф за более крупные ошибки, что помогает модели быстро исправлять большие ошибки прогнозирования.

Функция: в качестве цели оптимизации она направляет модель на сокращение разрыва между прогнозируемым и реальным блоком во время процесса обучения.

Cls Loss (потери классификации)

Cls Loss используется для измерения разницы между распределением классов, предсказанным моделью, и истинными метками. Функция перекрестных энтропийных потерь — это часто используемая функция потерь в задачах классификации. Ее формула:

Здесь y_{o,c} — индикатор. Если образец o принадлежит категории c, он равен 1, в противном случае — 0. А p_{o,c} — это вероятность того, что модель предсказывает, что образец o принадлежит категории c.

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

Роль: помочь модели оптимизировать прогнозы в задачах мультиклассификации, чтобы прогнозируемое распределение вероятностей было как можно ближе к истинному распределению меток.

2. Проведение обучения

Сначала нам нужно изменить параметры в файле default.yaml, как показано на рисунке. Здесь мы используем официальные данные обучения coco128.

 

Рисунок 2. Параметры обучения

 

Для обучения используйте команду «yolo cfg=default_copy.yaml». Для обучения используется графический процессор.

 

Рисунок 3. Проведение обучения

 

3. Анализ результатов обучения

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

 

Рисунок 4. Confusion_matrix

 

Кривая F1 определяется как среднее гармоническое значение точности и полноты.

В некоторых соревнованиях по задачам мультиклассификации в качестве окончательного метода оценки часто используется балл F1. Это среднее гармоническое значение точности и полноты с максимумом 1, где 1 — лучший, а 0 — худший.

Вообще говоря, когда порог достоверности (порог вероятности для того, чтобы выборка была отнесена к определенной категории) низок, многие образцы с низкой достоверностью считаются истинными, с высокой скоростью вспоминания и низкой степенью точности; когда порог достоверности высок, многие выборки с низкой достоверностью считаются истинными. Только выборки с высокой достоверностью можно считать истинными. Чем точнее определение категории, то есть тем выше точность (только когда достоверность велика, можно считать, что она относится к определенной категории), поэтому баллы F1 на обоих концах относительно невелики.

 

Рисунок 5. F1_curve.png

 

Диаграмма связи между точностью и достоверностью является P_curvve.png.

 

Рисунок 6. P_curvve.png

 

Взаимосвязь между коэффициентом припоминаемости и достоверностью, припоминаемостью (коэффициентом точности, который на самом деле положителен), то есть количеством найденных положительных образцов.

 

Рисунок 7. R_curvve.png

 

Кривая PR отражает взаимосвязь между точностью и полнотой. mAP — это аббревиатура Mean Average Precision, то есть средняя средняя точность. Видно, что чем выше точность, тем ниже скорость отзыва. Поэтому мы надеемся обнаружить все категории максимально с высокой точностью. Поэтому мы надеемся, что наша кривая близка к (1,1), то есть надеемся, что площадь кривой mAP будет максимально приближена к 1.

 

Рисунок 8. PR_curvve.png

 

Процесс расчета потерь состоит из двух частей: стратегии распределения положительных и отрицательных образцов и расчета потерь.

Большинство современных целевых детекторов суетятся по поводу стратегий распределения положительных и отрицательных выборок. Типичные примеры включают simOTA от YOLOX, TaskAlignedAssigner от TooD и DynamicSoftLabelAssigner от RTMDet. Большинство из этих Assigners представляют собой стратегии динамического распределения, в то время как YOLOv5 по-прежнему использует стратегию статического распределения. Учитывая превосходство стратегии динамического распределения, TaskAlignedAssigner компании TooD напрямую упоминается в алгоритме YOLOv8.

Стратегия сопоставления TaskAlignedAssigner просто резюмируется следующим образом: выберите положительные образцы на основе оценок, взвешенных по оценкам классификации и регрессии.

s — оценка прогнозирования, соответствующая категории аннотаций, u — мощность поля прогнозирования и поля GT, а степень согласования можно измерить путем умножения этих двух значений.

Для каждого GT все блоки прогнозирования основаны на классификационных баллах, соответствующих категориям GT. Взвешивание IoU блоков прогнозирования и GT позволяет получить оценку согласованности классификации ассоциаций и регрессии Alignment_metrics.

Для каждого GT непосредственно выберите самый большой из topK в качестве положительной выборки на основе показателя выравнивания Alignment_metrics.

Расчет потерь включает в себя 2 ветви: классификацию и регрессию, без предыдущей ветви объектности.

Ветвь классификации по-прежнему использует потерю BCE.

Ветвь регрессии должна быть привязана к представлению интегральной формы, предложенному в разделе «Фокальная потеря распределения», поэтому используется «Фокальная потеря распределения», а также потеря CIoU.

Три потери могут быть взвешены с определенным весовым соотношением.

Функция потерь используется для измерения степени, в которой прогнозируемое значение модели отличается от истинного значения, что во многом определяет производительность модели.

Потери позиционирования box_loss: ошибка (GIoU) между окном прогнозирования и полем калибровки. Чем меньше ошибка, тем точнее будет позиционирование.

Потеря доверия obj_loss: Рассчитайте доверие сети. Чем меньше уровень доверия, тем точнее возможность определить цель.

Потери классификации cls_loss: вычисление правильности поля привязки и соответствующей калибровочной классификации. Чем меньше классификация, тем точнее классификация.

 

Рисунок 9. Result.png

 

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

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

 

Рисунок 10. Результаты обучения

 

Заключение

Результаты обучения показывают, что использование алгоритма Yolo для сегментации границ имеет чрезвычайно высокую точность и высокую скорость распознавания, поэтому алгоритм может быть применен к РТК сортировки неориентированных объектов. Однако, если хотим сделать этот алгоритм распознавания применимым к более сложным и разнообразным сценариям, нам понадобится больше наборов обучающих данных и больше обучающих раундов.

 

Список литературы:

  1. Талаат Ф.М., ЗейнЭлдин Х. Улучшенный подход к обнаружению пожара на основе YOLO-v8 для умных городов[J]. Нейронные вычисления и приложения, 2023, 35(28): 20939-20954.
  2. Ван Г, Чен Ю, Ан П и др. UAV-YOLOv8: модель обнаружения небольших объектов, основанная на улучшенном YOLOv8 для сценариев аэрофотосъемки с БПЛА[J]. Сенсоры, 2023, 23(16): 7190.
  3. Сяо Б., Нгуен М., Ян В. К. Идентификация спелости фруктов с использованием модели YOLOv8[J]. Мультимедийные инструменты и приложения, 2023: 1-18.
  4. Ву Т, Донг Ю. YOLO-SE: Улучшенный YOLOv8 для обнаружения и распознавания объектов дистанционного зондирования[J]. Прикладные науки, 2023, 13(24): 12977.
  5. Тервен Дж., Кордова-Эспарса Д. М., Ромеро-Гонсалес Дж. А. Комплексный обзор yolo-архитектур в компьютерном зрении: от yolov1 до yolov8 и yolo-nas[J]. Машинное обучение и извлечение знаний, 2023, 5 (4): 1680–1716.
  6. Йонссон Хайберг Дж., Сьоберг А. Исследование эффективности YOLOv8 при обнаружении пешеходов[J]. 2023.
  7. Фаркаш Л. Отслеживание и обнаружение объектов с помощью алгоритмов YOLOv8 и StrongSORT, захваченных дроном[D]. Университет Сплита. Факультет наук. Кафедра информатики, 2023.
Удалить статью(вывести сообщение вместо статьи): 

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.