代码详解 |
您所在的位置:网站首页 › 计算机的内核与积实 › 代码详解 |
改进点1:将原始卷积权值w_k分离为depth-wise和point-wise两部分,其中depth-wise部分由原始的location-aware modulation scalar m_k负责,point-wise部分是采样点之间的共享投影权值w。 如下图所示,DCNv3的实现代码offset和mask是由经过dw_conv的depth-wise convolution得到的x1生成,但是一同输入dcnv3的是原始的x_proj。 改进点2:我们将空间聚集过程分成 G G G组,每个组都有单独的采样偏移 ∆ p g k ∆p_{gk} ∆pgk和调制规模 m g k m_{gk} mgk, DCNv3生成的mask大小是(N,H,W,group*kernel_size*kernel_size), offset的大小是(N,H,W,2*group*kernel_size*kernel_size),每个组都有不同的采样偏移和调制规模。 而DCNv2生成的mask大小是(N,H,W,kernel_size*kernel_size), offset的大小是(N,H,W,2*kernel_size*kernel_size)。 改进点3:将基于element-wise的sigmoid归一化改为基于样本点的softmax归一化。 如下图,DCNv3的softmax函数在最后一个维度上进行归一化,保证了最后一个维度的kernel_size*kernel_size个元素的和为1。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |