YOLO

摘要:

输入图片(None,416,416,3)经过一个3×3的卷积后再经过一个string=(2,2),大小是3×3卷积核后会得到一个大小为208×208×64的特征图,从这一层开始会进行一个残差卷积,再经过4个步长为2的卷积后会得到13×13×1024的darknet的输出特征图。接下来是在darknet网络后添加一个有5个卷积层的卷积块得到卷积输出x,这里将x分成两部分,一部分经过一个卷积和一个上采样后于darknet的倒数第二层连接得到x,一部分经过两个卷积后作为13×13特征层的输出y1。上采样后的x再经过一个有5个卷积层的卷积块得到卷积输出x,这里将x再分成两部分,一部分经过一个卷积和一个上采样后于darknet的倒数第三层连接得到x,一部分经过两个卷积后作为26×26特征层的输出y2。连接后的x再经过一个有5个卷积层的卷积块得到52×52的特征层输出y3。

 yolo算法是用darknet-53网络做为其特征提取网络,输入数据经过一系列卷积后会得到一个52×52,26×26,13×13不同尺度的特征图,这一部分是darknet网络的输出。darknet网络输出经过卷积块后会分成两部分,一部分进行上采样后与darknet网络的倒数第二层进行融合,另一部分通过卷积来设置输出通道的个数输出尺寸为13×13。融合后的网络再经过一个卷积块后同样分成两个部分,一部分进行上采样后与darknet网络的倒数第三层进行融合,另一部分通过卷积改变输出通道的个数输出尺寸为26×26。融合后的网络经过卷积改变通道数做为52×52的输出。

预测值:

 三个输出层输出的数据经过解码得到预测框在图片上中点坐标和框在图片上的高和宽,框中是否有物体的置信度得分值以及这个物体属于哪个类别的概率值。其解码的核心就是将预测结果的前两个值加上网格的坐标求出框的中心点,预测出来的w和h需经过指数运算后再乘上先验框得到预测框在图片上的高和宽。

 真实值:

接下来是生成真实值数据,包括在网格中的中心点的偏移量,在网格中的宽高相对于anchor的比例 再转换成log。接下来根据真实值中心点坐标以及宽高和预测值的中心点坐标以及宽高进行IOU的计算,同时抑制不需要的先验框的值,即IOU小于最大阈值的anchor框  

损失值计算:

框的中点坐标x,y损失,框的宽高损失,框中是否含有物体的损失以及框中物体属于哪个类别的损失。

 

如果bounding box置信度很低,或者与另一个具有非常高置信度的bounding box所包围的对象相同,那么这些bounding box可以消除。这种方法叫做非极大线性抑制。

数据生成:

在get_random_data(annotation_line, input_shape, random=True, max_boxes=20, jitter=.3, hue=.1, sat=1.5, val=1.5, proc_img=True)函数中,读取图片数据,获得图片的宽和高,生成一个新的图片,其宽和高为416×416,将刚刚读取到的图片进行随机比例的缩放后平移到新生成的图片上。对缩放后的图片进行翻转,hsv像素抖动处理。 读取到真实图片上框的坐标,对坐标进行和图片一样的等比缩放后映射到新生成的图片上,得到框的在新图片上宽和高。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值