YOLO算法概述与细节

R-CNN系列算法是two-stage(两步走算法),yolo和ssd属于one-stage算法。

yolo v1:把图片分成若干个小区域,每个小区域负责检测是否有物体的中心点落在其中,每个小区域可预测多个box,但是只能检测一个物体。

算法首先把输入图像划分成S*S的格子,然后对每个格子都预测B个bounding boxes,每个bounding box都包含5个预测值:x,y,w,h和confidence。x,y就是bounding box的中心坐标,与grid cell对齐(即相对于当前grid cell的偏移值),使得范围变成0到1;w和h进行归一化(分别除以图像的w和h,这样最后的w和h就在0到1范围),设分成7*7个小块,以20个类别,每块预测2个box为例,总共就会输出7*7*30个数据的张量,30分别是4bbox+4bbox+2confidence+20classification,用它的confidence来乘上当前grid cell里每个类别的概率,那么就会有20*98的一个矩阵,矩阵的行数代表类别数,列数带别bounding box的数量,在每一行中,将得分少于阈值(0.2)的置零。然后再按照得分从高到低排序然后使用NMS算法去掉重复率交大的bounding box(NMS: 针对某一个类别,选择得分最大的bounding box,然后计算它与其他bounding box的IOU值,如果IOU大于0.5,则说明重复率交大,将该低分设置为0,否则不做处理,重复完之后,然后从未处理的bounding box中选取一个得分最高的,重复上述步骤)最后每个bounding box的20个score取最大的score,如果这个score大于0,那么这个bounding box就是这个socre对应的类别(矩阵的行),如果小于0,说明这个bounding box里面没有物体,跳过即可。下面这个图很好的说明了YOLO中NMS是如何做的:

下面是yolo v1的网络结构:

最后是两个全连接层,然后reshape为7*7*30,如下图:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值