[卷积神经网络]YoloV8

发布于:2024-04-21 ⋅ 阅读:(278) ⋅ 点赞:(0)

一、YoloV8

1.网络详解

        ①backbone部分:第一次卷积的卷积核缩小(由3变为6);CSP模块的预处理卷积从3次变为2次;借鉴了YoloV7的多分支堆叠结构(Multi_Concat_Block)。

                所小第一次卷积的卷积核尺寸会损失部分感受野,但是可以加速整个网络的运算速度。同时CSP模块借鉴了多分支堆叠结构,首先使用卷积将通道数扩充为原来的一倍,然后在此基础上进行对半分割(减少一次卷积次数,加速网络)

        ②FPN部分:不再对骨干网络的特征层进行卷积(可以有效加快计算速度),另外CSP模块预处理次数变为2次。

                FPN获取的特征向量分别来自骨干网络的中层(feat1=80x80x256),中下层(feat2=40x40x512),底层(feat3=20x20x1024*deep_mul,其中,deep_mul为深层缩放系数,用一以平衡计算量)。

        上采样部分:

                feat3经过上采样后与feat2融合后再由CSP模块进行减半得到特征向量P4(40x40x512)

                P4经过上采样后与feat1融合后再由CSP模块进行减半得到特征向量P3(80x80x256)

        下采样部分:

                P3经过一次下采样(3x3卷积)与P4 concat,再使用CSP模块进行特征提取,得到新P4(40x40x512)

                新P4同样适用3x3卷积处理后与P5concat,在使用CSP处理,得到新P5(20x20x1024xdeep_mul)

        最后FPN模块输出P3新P4新P5,可以很好的结合多尺度特征。

        ③预测头部分:加入DFL模块;同时借鉴了YoloX的anchor free结构,对一些长宽不规则的目标具有优势。

                DFL模块的加入使得Yolo Head不会直接获得回归值,而是通过概率的方式的方式获得回归值,若DFL的长度设为8,那么计算方法如下:

预测结果的softmax值 0.0 0.1 0.0 0.0 0.4 0.5 0.0 0.0 点乘
固定值 0 1 2 3 4 5 6 7 0.1*1+0.4*4+0.5*5=4.2

2.Yolo Head的编码

        经过模型处理后,会得到3个输出结果,设类别数为num_classes,结果如下:

                P3   :回归输出(20x20x4),种类输出(20x20x num_classes)

                新P4:回归输出(40x40x4),种类输出(40x40x num_classes)

                新P5:回归输出(80x80x4),种类输出(80x80x num_classes)

        其中,回归输出的前两个元素代表预测框左上角的位置,后两个元素代表预测框右下角的位置,种类输出的参数为每个类的概率。

        将上述结果fatten后得到总回归输出(8400x4),种类输出(8400x num_classes),经过得分排序非极大抑制筛选后,满足置信度(confidence)的预测框将被输出。其中,非极大抑制的作用是筛选出一定区域内同一种类得分最大的框。


网站公告

今日签到

点亮在社区的每一天
去签到