yolov3目标检测过程以及loss计算

yolov3在检测目标时拿到图像会做什么,又是如何识别物体的?
首先我们先来看一张显示了yolov3检测流程的图片:
在这里插入图片描述

如上图所示,输入网络中的图像是416×416×3的彩色图像,所以要先把图像缩放到416×416

  • grid cell
    网络拿到图像会对图像进行卷积,并通过长步长卷积下采样产生13×13×255,26×26×255,52×52×255的特征图(上图中y1,y2,y3),13×13,26×26,52×52比较好理解,就是原本的图像分辨率被下采样后变小了,特征图的每一个像素点缩放后映射到原图像上形成的网格被称为grid cell,而255就是(80+5)×3,其中,80+5是指coco数据集里的80个种类的概率以及4个确定bbox的参数(分别是框的中心坐标x,y值以及框的长和宽),和一个cof即对框内目标的置信度,数值越接近1置信度越大,也就是越有可能有目标,×3指每一个特征图的每一个像素点都会产生以该点为中心的三个anchorbox,所以是255通道的13×13特征图,每个grid cell在预测时只能识别一个物体,即判断框的中心落在哪个grid cell中,这个物体就归哪个grid cell预测
    黄框为真实目标,红框为grid cell,三个蓝框为anchor box
    如上图,黄框为真实目标,红框为grid cell,三个蓝框为anchor box

  • anchor box
    anchor box就是先验框,即通过聚类得到可以覆盖常见目标的宽和高的框,在进行预测的时候,我们可以利用这个已经定好的宽和高辅助预测,每个grid cell拥有三个不同大小anchor box,而每张图会产生三种不同分辨率的特征图,因此我们就有了9种不同尺度的anchor box,其中心点都在grid cell的中心,而每一个anchor box都可以对框中是否有目标进行判断,所以可以想象一张图片被密密麻麻无数个anchor box所覆盖,每三个anchor box可以用来识别同一个物体,即每个grid cell可以识别一个物体,整个网络理论上可识别13×13+26×26+52×52个目标。如下图所示,anchor box的大小从左至右分别是52×52,26×26,13×13大小的特征图映射到原图片后每个grid cell包含的anchor box,一共9种,每个grid cell的三个anchor box中在训练中与实际物体的grand truch的iou(即重合程度)越大,该物体就归哪个anchor来预测,在预测时,这个anchor box会向物体实际存在的地方移动并进行长宽缩放以尽可能地覆盖待预测物体。
    anchor box的大小手动设置

  • 聚类
    上面关于anchor box部分提到了聚类,这里简单介绍一下yolov3用到的聚类,通俗地说,聚类就是把特征相似的数据划分到一起,yolov3的聚类用到了kmeans算法,在预测前需要对数据集做聚类,但是对数据集的质量依赖比较大,如果数据量太少或者不能反映物体的真实分布,那么通过聚类得到的数据就是不准确的,显然,聚类出的数据只能用于本数据集,而不适用于其他数据集。

  • IOU(交并比)
    iou即两个框之间的重合程度,如下图,iou计算的就是a∩b的部分的大小,输出(0~1),数值越大表示重合度越高,在训练时,网络收到输入的图片,会先选取n个真实框和anchor box计算iou,其中iou超过阈值的anchor box被留下,其余的则被抛弃,这时被留下的anchor box将会拿来和ground truth计算位置以及大小偏移量,如果一个grid cell没有剩下的anchor box那么这个grid cell将被舍弃,如果没有grid cell剩下,那么将会返回原图,即未检测出目标,这个过程称为非最大值抑制(nms)
    在这里插入图片描述

	# box1和box2传入的是框的坐标参数
def bbox_iou(box1, box2, x1y1x2y2=True):
    # 得到两个框的坐上右下角的坐标值
    
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值