yolov8模型验证公式
时间: 2025-05-14 15:00:58 浏览: 21
### YOLOv8 模型验证公式与评估指标
#### mAP (Mean Average Precision)
mAP 是目标检测中最常用的一个综合性评价标准,表示的是所有类别上 AP 的平均值。计算过程涉及到多个阈值下的 precision-recall 曲线积分求得的面积均值。
\[ \text{mAP} = \frac{\sum_{c=1}^{C}\text{AP}_c}{C} \]
其中 \( C \) 表示类别总数,\( \text{AP}_c \) 则代表第 c 类别的 average precision[^1]。
#### Precision (精确度)
精确度定义为真正例(True Positives, TP)除以预测为正类的数量之和:
\[ \text{Precision} = \frac{\text{TP}}{\text{TP}+\text{FP}} \]
这里 FP 代表假正例(False Positive),即错误地标记成正类的例子[^4]。
#### Recall (召回率)
召回率是指正确识别出来的正样例数目占全部实际正样例的比例:
\[ \text{Recall} = \frac{\text{TP}}{\text{TP}+\text{FN}} \]
这里的 FN 表示假负例(False Negative),也就是应该被标记却未被发现的情况。
#### IoU (Intersection Over Union)
IoU 被用来测量两个边界框之间的重合程度,具体来说就是交集区域相对于并集区域大小的比例:
\[ \text{IoU}=\frac{|A\cap B|}{|A\cup B|} \]
在这个表达式里 A 和 B 分别指代预测框以及真实的标注框。
#### FPS (Frames Per Second)
虽然这不是一个直接衡量模型质量的标准,但是每秒钟可以处理多少帧图像反映了系统的实时性能,这对于某些应用场景非常重要。
```python
def calculate_iou(box_a, box_b):
# 计算两个矩形框的最大左下角坐标和最小右上角坐标
inter_xmin = max(box_a[0], box_b[0])
inter_ymin = max(box_a[1], box_b[1])
inter_xmax = min(box_a[2], box_b[2])
inter_ymax = min(box_a[3], box_b[3])
# 如果没有相交则返回iou为零
if inter_xmax < inter_xmin or inter_ymax < inter_ymin:
return 0.0
# 否则继续计算交集部分宽高
inter_width = inter_xmax - inter_xmin + 1
inter_height = inter_ymax - inter_ymin + 1
intersection_area = inter_width * inter_height
# 计算各自总面积
area_box_a = (box_a[2]-box_a[0]+1)*(box_a[3]-box_a[1]+1)
area_box_b = (box_b[2]-box_b[0]+1)*(box_b[3]-box_b[1]+1)
union_area = float(area_box_a + area_box_b - intersection_area)
iou = intersection_area / union_area
return iou
```
阅读全文
相关推荐


















