YOLO-学习笔记(二)
前言
记录深度学习目标检测中 TP,FP,TN,FN 以及相关公式。
目标检测
mAP 综合衡量检测效果
在不同置信度阈值中综合考虑所有的 Precision 与 Recall 的情况,综合得出的一个指标值。
IOU 交集和并集的比值
$$
IOU = \frac{Area \space of \space Overlap}{Area \space of \space Union}=\frac{真实值和预测值重叠的部分}{真实值 + 预测值}
$$
TP(true positives) 真的正例
FP(false positives) 假的正例
TNtrue negatives,真的负例
FN(flase negatives) 假的负例
Accuracy 准确率,判断正确的例子的比例
$$
accuracy = \frac{TP + TN}{TP \space + \space FP + \space TN + \space FN}
$$
Precision 精确率,所有判断为正例的例子中,真正为正例的所占的比例
$$
precision = \frac{TP}{TP \space + \space FP}
$$
Recall 召回率(查全率),被真实标注的是否被检测到
$$
recall = \frac{TP}{TP \space + \space FN}
$$
工业检测
$$
漏检率 =\frac{FN}{TP + FN}=\frac{ok盘中真实的缺陷件数}{ng盘中真实的缺陷件数 + ok盘中真实的缺陷件数}
$$
$$
过检率=\frac{FP}{TP + FP}=\frac{ng盘中真实的良品件数}{ng盘中真实的缺陷件数 + ng盘中真实的良品件数}
$$
模型训练
epoch 一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一次epoch。
使用训练集中的全部样本训练一次。
batch_size 决定一次训练的样本数目。
从零开始训练模型的话,batch_sise 可以给小一点。
从预训练模型开始的话,batch_sise 可以尽可能给大一点。
因为大的 batch_sise 代表模型迭代每一步会稳定一些。
总的来说 batch_size 太小会有欠拟合倾向(没那么明显), 对模型拟合数据的影响没有 learningrate 大。
建议 learningrate 的值给的稳健一些,不要太大,然后给一个 gpu 范围内承受的最大的 batch_sise。
iteration 使用 batch_size 个样本训练一次。