yolov5s的Neck工作流程公式推导
时间: 2023-10-28 14:50:02 浏览: 82
Yolov5s的neck模块是由SPP(Spatial Pyramid Pooling)模块和PAN(Path Aggregation Network)模块组成的。下面对其工作流程进行公式推导。
假设输入的特征图为$F\in R^{C\times H\times W}$,其中$C$为通道数,$H$和$W$分别为高和宽。
SPP模块首先对输入的特征图进行空间金字塔池化,得到多个不同尺寸的特征图。具体地,假设池化的尺寸为$k_1,k_2,k_3$,则对于每个$k_i$,SPP会对$F$进行$k_i\times k_i$的最大池化操作,并将得到的特征图进行上采样至输入特征图的大小,得到$F_{spp}\in R^{4C\times H\times W}$。
PAN模块则是对SPP模块得到的特征图进行级联聚合,以增强特征的语义信息。具体地,PAN模块会对SPP模块输出的特征图进行下采样,并将其与原始输入特征图$F$级联起来。假设下采样因子为$s$,则级联后的特征图表示为$F_{pan}\in R^{2C\times H/s\times W/s}$。
下面是SPP和PAN的公式:
$$
F_{spp}(i,j,k)=\max\limits_{0\leq x<k}F(i,j,x+k)+\max\limits_{0\leq y<k}F(i,y+k,j+k)+\max\limits_{0\leq z<k}F(z+k,i+k,j+k)
$$
$$
F_{pan}(i,j,k)=\begin{cases}
F(i,j,k), & \text{if } k\bmod s=0 \\
F_{spp}(i,j,k), & \text{otherwise}
\end{cases}
$$
其中,$0\leq i<2C$,$0\leq j<H/s$,$0\leq k<W/s$。
阅读全文