YOLOv1, YOLOv2, YOLOv3 и YOLOv3 SPP

искусственный интеллект

YOLO v1

Опубликовано в CVPR в 2016 г.,448×448448 \times 448Ввод изображения, до 45 кадров в секунду, 63,4 мАп, хуже, чем SSD, быстрее, но менее точно, чем Faster R-CNN

идеи эссе

  1. разделить изображение наS×SS \times SЯчейка сетки, если центр объекта попадает в эту сетку, сетка отвечает за предсказание объекта
  2. Каждая сетка должна предсказывать оценки ограничительных рамок B и категорий C. Помимо предсказания положения, каждая ограничительная рамка также должна предсказывать значение достоверности.

сетевая структура

image.png

image.png

функция потерь

image.png

ограниченное

  • Эффект группового обнаружения малых целей плохой
  • Размер цели влияет на результаты обнаружения
  • Неточное позиционирование

YOLO v2

Опубликовано в CVPR в 2017 году с использованием Darknet-19 в качестве основы.

различные попытки

  • Batch Normalization. Способен упорядочить модель и избежать переобучения.Со слоем BN можно убрать операцию отсева, а mAP увеличить на 2%
  • классификатор высокого разрешения. Размер входного изображения448×448448 \times 448, увеличивая mAP на 4%
  • Anchor Boxes. Использование смещения Anchor Boxes вместо прямого позиционирования, такого как YOLO v1, может упростить задачу прогнозирования целевой ограничивающей рамки и облегчить обучение сети. По сравнению с неиспользованием Anchor Boxes, mAP немного ниже, но скорость отзыва может быть улучшена на 7%.
  • Dimension Cluster. Используйте кластеризацию k-средних, чтобы автоматически находить подходящие приоритеты на основе ограничивающих рамок обучающего набора.
  • Direct location prediction. Ограничьте диапазон координат прогнозируемой целевой центральной точки, чтобы сделать обучение сети более стабильным.
  • Fine-Grained Feature. Интегрируйте высокоразмерные и низкоразмерные матрицы признаков с помощью PassThrough Layer, чтобы улучшить способность обнаруживать небольшие цели.
  • многоуровневое обучение. Улучшить надежность

сетевая структура

image.png

YOLO v3

Выпущено в CVPR в 2018 году с использованием Darknet-53 в качестве основы, с использованием3×33 \times 3Сверточный слой с шагом ядра 2 заменяет слой объединения с понижающей дискретизацией.

сетевая структура

image.png

Предсказание ограничивающей рамки объекта

image.png

Сопоставление положительных и отрицательных образцов

Выберите ящик с наибольшим IoU в качестве положительного образца и отбросьте ящик, чей IoU превышает 0,5, но не является самым большим.

Расчет убытков

image.png

image.png

image.png

YOLO v3 SPP

Улучшение мозаичного изображения

Сшить 4 изображения в 1 изображение в качестве обучающего образца

  • Увеличьте разнообразие данных
  • Увеличьте количество целей
  • БН может считать параметры нескольких картинок одновременно

SPP-модуль

Реализовано слияние функций в разных масштабах.

image.png

сетевая структура

image.png

Возвратные потери позиционирования

IoU Loss

IoU=Intersection(boxA,boxB)Union(boxA,boxB)IoU = \frac{Intersection(boxA, boxB)}{Union(boxA, boxB)}
LIoU=ln(IoU)L_{IoU} = -ln(IoU)

преимущество:

  • Может лучше отражать степень совпадения
  • масштабный инвариант

недостаток:

  • потеря равна 0 при непересекающихся?

GIoU Loss

GIoU=IoUAcuAc,1<=GIoU<=1GIoU = IoU - \frac{A^c - u}{A^c}, -1 <= GIoU <= 1
LGIoU=1GIoU,0<=LGIoU<=2L_{GIoU} = 1 - GIoU, 0 <= L_{GIoU} <= 2

вAcA^cзаboxAboxAиboxBboxBПлощадь описанного прямоугольника,uuзаboxAboxAиboxBboxBобъединенная площадь

DIoU Loss

LIoUL_IoUиLGIoUL_GIoUНедостатки:

  • медленная сходимость
  • Регрессия недостаточно точна

Потеря DIoU может напрямую минимизировать расстояние между двумя блоками, поэтому они сходятся быстрее

image.png

DIoU=IoUρ2(b,bgt)c2=IoUd2c2DIoU = IoU - \frac{\rho^2(b, b^{gt})}{c^2} = IoU - \frac{d^2}{c^2}
1<=DIoU<=1-1 <= DIoU <= 1
LDIoU=1DIoUL_{DIoU} = 1 - DIoU
0<=LDIoU<=20<= L_{DIoU} <= 2

CIoU Loss

Хорошая локализация потери регрессии должна учитывать 3 геометрических параметра:

  • Перекрывающаяся область
  • Расстояние до центральной точки
  • Соотношение сторон
CIoU=IoU(ρ2(b,bgt)c2+αυ)CIoU = IoU - (\frac{\rho^2(b, b^{gt})}{c^2} + \alpha \upsilon)
υ=4число Пи2(arctanwgthgtarctanwh)2\upsilon = \frac{4}{\pi^2}(arctan\frac{w^{gt}}{h^{gt}} - arctan\frac{w}{h})^2
α=υ(1IoU)+υ\alpha = \frac{\upsilon}{(1-IoU) + \upsilon}
LCIoU=1CIoUL_{CIoU} = 1 - CIoU

Focal Loss

Одноэтапная модель сети, положительные и отрицательные образцы несбалансированы

FL(pt)=αt(1pt)γln(pt)FL(p_t) = -\alpha_t(1 - p_t)^\gamma ln(p_t)

Больше внимания уделяйте твердым образцам