目标检测算法之YOLOV4

编程入门 行业动态 更新时间:2024-10-25 08:18:10

目标检测<a href=https://www.elefans.com/category/jswz/34/1770096.html style=算法之YOLOV4"/>

目标检测算法之YOLOV4

本博客是根据本人查阅资料,翻看视频自学整理的复习回顾文档,该文档中截图都是从霹雳巴拉b站up主处截取的,如果看不太明白本篇,大家可以去看这位up主的,如有个人理解错误的地方,希望各位评论区评论指正!!

YOLOV4论文是一篇被yolo系列原作者认可的论文,其并不是原作者自己完成实现的改进论文。

关于YOLOv4的改进点,个人认为有下:
1、网络结构改进:在yolov3和v3spp中,基础骨干网络都是darknet53,在v4中改成了CSPdarknet53。其将激活函数都换成了mish来提升模型提取能力,然后将输入通道数一半用于卷积正常计算,另一半避免计算直接在一个小模块结束时cat拼接,来减少计算占用的内存空间。下图是从网上找到的结构图,帮助个人理解。






2、将原v3spp结构中conSet结构舍弃,SPP结构保留,同时增加了PAN结构。我们可以利用FPN结构来帮助我们理解PAN结构。在fpn结构中,是利用高层特征的上采用,与底层特征融合,得到输出特征。在PAN中,先利用底层特征输出下采样与高层特征融合,然后再将融合后的特征上采样,与低层特征融合输出。


3、一些基础改进
1)在v3spp中,我们得到最终预测的中心点和宽高偏移量后,利用四个公式计算得到最终结果。在计算时中心点预测坐标时,需要将偏移量放入sigmoid函数中,将该偏移量控制在一个单元格内,在与其所在单元格左上角坐标相加得到最终坐标,但是如果此时,某一个物体中心点正好在某单元格的左上角处,此时我们肯定希望中心点偏移量数值为0,但是观察sigmoid函数可知,要想偏移量为0,必须预测偏移量为负无穷大,显然不可能。。。所以为了解决这种特殊情况,我们需要想办法,让这个激活函数sigmoid能取到0值。
我们看上图最下方公式,其激活函数项整体结果可以正好处于-0.5到1.5之间。是可以取到0值的。也就满足了我们的特殊情况需要。
2)、mosaic特征增强这个和v3一致,就是随机选三个和本次的这个组成一个新图片

3)、IOU正样本匹配策略。在原v3中,我们匹配模板框,然后确定中心点所在单元格,则该单元格对应的该模板框就是正样本。但是在v4中,因为我们偏移量经过激活函数项作用后其取值在-0.5到1.5之间,故其选择正样本的条件被扩大了。首先还是匹配三个模板框,先确定模板框a,然后求target中心点所在单元格,如果中心点在该单元格的左上角,那么该单元格以及该单元格的左边相邻单元格和上面相邻单元格中对应的模板框a就也是正样本。同理左下、右上、右下一样。

4)、模板框的长宽被变了,在v3以及spp中,是通过聚类得到的9种尺寸,在v4中得到调整

5)、CIOU这个一致的。

以上就是个人对v4的理解和整理,个人理解不对的地方,希望各位在评论区留言指正!!!

更多推荐

目标检测算法之YOLOV4

本文发布于:2024-02-10 16:30:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1676229.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:算法   目标

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!