目标检测YOLO算法系列学习笔记第一章-目标检测算法概述

教程链接:唐宇迪目标检测YOLO算法全系列

深度学习经典目标检测方法

one-stage(单阶段):YOLO系列
直接一个CNN网络,提取特征,回归就可以了,直接一步得到(x1,y1)和(x2,y2)四个值(或者得到x,y,h,w)。

two-stage(两阶段):Faster-rcnn(2015,目标检测开山之作) 、Mask-Rcnn(前者的升级版本)系列
多加了一个RPN区域建议网络。多了一个预选阶段。

不同算法优缺点分析

  • one-stage:
    最核心的优势:速度非常快,适合做实时检测任务!
    但是缺点也是有的,效果通常情况下不会太好!

可以自己在YOLO中选择不同的网络,选择的网络模型简单,可能速度就会快一点,能达到几百FPS。现在没有什么算法能同时把mAP和FPS值都做的非常高。
在这里不会使用准确率和召回率,通常使用mAP值这个综合指标。因为在很多深度学习任务中,准确率和召回率是矛盾的,一个高了另一个就低了,没办法判断。

  • two-stage:
    特点:速度通常较慢(5FPS),但是效果通常还是不错的!非常实用的通用框架MaskRcnn,建议熟悉下!
    Mask RCNN论文中给出的结果是5FPS每秒传输帧数(Frames Per Second)。达不到实时性的要求。

评估模型好坏所用参数

Intersection over Union(IOU)一般指代模型预测的预测框和真实框之间的交集和并集的比值。IoU越高越好。

在这里插入图片描述
查准率和查全率(召回率):
在这里插入图片描述
假设有猫和狗两类,目标是找猫。
TP:正确标记为正例的个数。(目标是找猫,正确的找到猫的数量)
FP:错误地标记为正例的个数。(目标是找猫,错误的把狗当成猫的数量)
FN:错误地判断为反例。(错误地把猫当成狗)目标检测中可理解为没检测到目标,漏检。
TN:正确地标记为反例。(把狗标记为狗)

mAP指标计算

基于置信度(也就是标记为目标可能性,比如框住的是猫的可能性)阈值来计算,因为在预测时会产生很多框,需要设置阈值,保留置信度比阈值大的框,过滤其余的框。
例如分别计算0.9|0.8;0.70.9时:TP+FP=1,TP=1;FN=2;Precision=1/1;Recall=1/3;
mAP值就是对所有置信度阈值下的P和R值进行综合得到的一个指标值。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ThreeS_tones/article/details/129769373