目前学习了MTCNN、YOLO、UNet检测模型,Arcface特征提取方法。
今日重温YOLO-V4,有以下要点:
1.结构上,沿用了YOLO-V3的特征提取+侦测的结构。
2.特征提取结构中,将CBL模块中的LReLu激活函数换成了Mish激活函数(CBM模块),Mish激活函数是ReLU、tanh和sigmoid函数的结合体,增强了激活函数的非线性能力。此外,在原有的残差块中增加路由,增强模型浅层特征(路由和残差的区别,路由是保留了通道,能够同时保留浅层(相对概念)特征和深层特征,残差是直接相加)。
3.侦测结构中,加深了大目标侦测网络的深度,因为在YOLO中大目标更难侦测(因为大目标侦测需要更多的信息,即需要更全面的语义特征)。
4.SPP模块,增加感受视野,也就是通过多层级的不变尺寸的最大池化处理后路由,相当于是增加了信息量,变相增加感受视野。
5.损失函数。也采用了复合函数的思想,做了Smooth-L1,解决了L1存在某一点不可导的问题。
6.IOULoss(GIOU(剩余面积/外接矩形面积)/DIOU(中心点距离/外接矩形对角线距离)/CIOU(矩形框的对角线夹角的相似度))作者使用了CIOU-Loss和DIOU-NMS,但是作者为什么不使用CIOU-NMS?个人认为CIOU-NMS一样可以用于NMS中。
7.数据处理,马赛克技术。
YOLO-V4中的重要思想:
>>复合函数取代原有固定激活,损失函数
>>数据预处理提升模型效果
===========初学者,有误之处欢迎斧正!也欢迎讨论交流!===========