2.YOLOv1

YOLOv1是一种基于CNN的实时物体检测系统,它将检测视为回归问题,通过一个网络同时预测边界框和类别概率。尽管运行速度快,但YOLOv1在小物体检测和多类别重叠时表现不佳。损失函数考虑了框的坐标和类别概率,使用非极大值抑制处理重叠检测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

YOLOv1

经典的one-stage算法
You Only Look Once,名字就说明了一切,把检测问题转化为回归问题,一个CNN就搞定了,可以对视频进行实时检测,应用领域非常广泛
image.png

YOLOv1特点

  • 运行速度快,定义物体检测为一个回归任务,不需要额外的计算
  • YOLO利用图面的全局信息进行预测,在进行训练和预测时,可以看到类别编码信息的上下文
  • YOLO学习的是物体检测的泛化性特征,当有预想不到的输入或者应用到新的领域时很少会系统奔溃
  • 预测最终被编码为[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nGnJc9Lx-1677980464293)(null#card=math&code=S\times S \times (B * 5 + C)]
    &id=KZn8S),其中S为网格尺寸的大小,B为候选框的个数,C为检测物体分类的个数。在YOLOV1论文中,在PASCAL VOC数据集上预测YOLO框架,使用S=7, B=2, 由于PASCAL VOC有20个类别,C=20,最终得到预测张量![](null#card=math&code=7\times 7 \times 30
    &id=BXA27)

YOLOv1问题

  • YOLO在精度上落后于顶尖的物体检测算法
  • 由于感受野比较大,YOLOv1在小物体检测上较差

核心思想:预测图像中有哪些问题,下图中有一条狗和一辆自行车。要预测一条狗和一辆自行车,交给谁来预测呢?现在有一张输入图片分成网格,观察网格,在这个网格中狗落在了图像当中的一个位置,每个格子都负责预测在你这个格子上是什么物体,狗落在图像的区域中,现在只关心狗的中心点落在哪里(图中红色中心点负责预测狗)。s*s的格子,每个格子负责预测所代表的物体是什么。在当前格子中有两个黄色的框,黄色的框不是最终的结果,现在红色的格子要去预测,但是它也不知道狗长什么样子,那么就需要一些经验的东西(比如一些物体可能是比较长的,一个长方形的,一些是正方形的)。一开始现在这个位置中来两种经验值h1,w1;h2,w2,h1是长方形的,h2是正方形的,对于这个狗来说,长方形的框比较好,那么现在长方形的框比较靠谱些,但是和我实际预测的值还是不一样,把候选框(提供的经验值)做一些修正,把框做一个微调,而微调是一个回归任务,预测h和w怎么变,看h和w什么时候最合适,并且要起始位置x和y的值(bounding boxes),最终的框由经验框做怎样的偏移。V1版本产生两种候选框(指定b值),每个格子两种候选框,和真实值到底匹配如何。真实值和两个候选框算IOU的值,和我真实值的IOU,谁的IOU大,最后微调谁。在微调过程中,会计算出很多候选框,因为每个位置都会进行预测,每个预测都会得到一个结果值即置信度(confidence),这个置信度标识当前这个点所预测的结果是物体还是不是物体。对图像的格子当中每个位置做计算,计算出来各种指标,4个偏移量和一个置信度的值,对于置信度小的过滤掉。最终置信度小的过滤掉,把重复的框处理下,最后得到下图中输出的结果。
候选框做微调,不是所有的候选框做微调,对置信的高的做微调。实际做结果的为IOU比较大的,把x,y,w,h映射到原始图像中就可以算出来了。
image.png

网络架构

输入大小4484483,是一个固定值,把图像resize到一个固定值,只训练4484483,v1输入图像大小被限制,后续版本可以最改变。一个卷积神经网络大小不能去边,图像大小对于卷积层没太大影响,全连接层必须固定好前面特征图的大小,输入图像大小不能变化,必须是一个4484483的。对输入数据进行特征提取,得到一个771024特征图。
image.png
第一个全连接层4096,第二个全连接层14701,reshape成7730。77表示一个77的格子,77的格子每个格子里面有30个值。每个格子产生来两种框,每中框里面包含x,y,w,h(归一化完后的值),c,相对于图片的值。剩下的20个是20分类,数据中一共20个类别,即类别的种类总数。
每个数字的含义:
10 =(X,Y,H,W,C)B(2个)
当前数据集中有20个类别
7
7表示最终网格大小
(SS)(B*5+C)
image.png

损失函数计算

w,h做根号变换,损失计算时需要注重物体比较小的,数值较小比较敏感,数值较大时相对来说没有那么敏感
image.png

NMS(非极大值抑制)

检测很多个框,出现重叠情况,比如同样一个人可以检测出很多人脸,在IOU满足一定值的时候,先按置信度进行排序,非极大值抑制汲取一个置信度极大值。

YOLOv1问题

  1. 当前的点即每个Cell只去预测一个类别,重合在一起的东西很难去检测
  2. 狗有多个标签,不能很好去检测
  3. 小物体检测效果不好,长度比可选但单一,候选区只有两个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

heromps

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值