【大家好,我是爱干饭的猿,本文重点介绍YOLOv5入门-目标检测的任务、性能指标、yolo算法基本思想、yolov5网络架构图。
后续会继续分享其他重要知识点总结,如果喜欢这篇文章,点个赞,关注一下吧】
上一篇文章:《【python高级】asyncio 并发编程》
目标检测 (Object Detection ) = What, and Where
类别标签(Category label)
置信度得分(Confidence score)
定位和检测:
检测精度
检测速度
IoU:
An IoU of 1 implies that predicted and the ground-truth bounding boxes perfectly overlap.
You can set a threshold value for the IoU to determine if the object detection is valid or not.
Let’s say you set IoU to 0.5, in that case
• if IoU ≥0.5, classify the object detection as True Positive(TP)
• if IoU <0.5, then it is a wrong detection and classify it as False Positive(FP)
• When a ground truth is present in the image and model failed to detect the object, classify it as False Negative(FN).
• True Negative (TN): TN is every part of the image where we did not predict an object. This metrics is not useful for object detection, hence we ignore TN.
AP衡量的是学习出来的模型在每个类别上的好坏
mAP衡量的是学出的模型在所有类别上的好坏。mAP就是取所有类别上AP的平均值。
对于PASCAL VOC挑战,如果IoU> 0.5,则预测为正样本(TP)。 但是,如果检测到同一目标的多个检测,则视第一个检测为正样本(TP),而视其余检测为负样本(FP)。
首先通过特征提取网络对输入图像提取特征,得到一定大小的特征图,比如1313(相当于416416图片大小 ),然后将输入图像分成13*13个grid cells
➢ YOLOv3/v4: 如果GT中某个目标的中心坐标落在哪个grid cell中,那么就由该grid cell来预测该目标。每个grid cell都会预测3个不同尺度的边界框 。
➢ YOLOv5: 不同于yolov3/v4,其GT可以跨层预测,即有些bbox在多个预测层都算正样本;匹配数范围可以是3-9个。
每个预测框的类别置信度得分(class confidence score ) 计算如下:
它测量分类和定位(目标对象所在的位置)的置信度。
测试时没有GT框,只能比较多个预测框,比较相互之间的IOU,做NMS
损失函数包括:
• classification loss, 分类损失
• localization loss, 定位损失(预测边界框与GT之间的误差)
• confidence loss, 置信度损失(框的目标性;objectness of the box)
总的损失函数:
classification loss + localization loss + confidence loss