CNN卷积操作中提到的「像素被剔除」具体是什么含义?
CNN卷积核滑动时边缘像素剔除的含义
这里提到的「各边被剔除的N个像素」,指的是无填充(padding=0)、步长为1的标准卷积操作中,原始输入图像边缘无法作为卷积核感受野中心、且最终不会被完整纳入输出特征表达的像素。
规律推导逻辑
- 卷积核滑动的规则是必须完全落在输入图像范围内,因此对于尺寸为
k*k的卷积核,在图像单维度上可以滑动的总步数 = 输入单维度尺寸 - k + 1,输出的对应维度长度就等于这个步数。 - 输出比输入在单维度上少的像素总数量为
k-1,这些少的像素会均匀分布在输入的上下/左右两边,也就是每边少(k-1)/2个,刚好对应你看到的规律:- 3×3卷积核:
(3-1)/2 = 1,上下左右各边有1个像素被剔除 - 5×5卷积核:
(5-1)/2 = 2,上下左右各边有2个像素被剔除
- 3×3卷积核:
直观示例
以输入5×5的灰度图、用3×3卷积核做无填充卷积为例:
输入坐标(行、列从0开始计数)范围是行04、列04
卷积核第一次滑动覆盖的是行02、列02的区域,输出第一个特征值;最后一次滑动覆盖的是行24、列24的区域,输出最后一个特征值
最终输出是3×3的特征图,对比输入的5×5尺寸,上下边各少了1行(行0、行4)、左右边各少了1列(列0、列4),这些就是被“剔除”的边缘像素,它们永远无法成为任何一次卷积运算的中心位置,如果不做填充操作,这些边缘位置的特征信息会在卷积后直接丢失。
内容的提问来源于stack exchange,提问作者CyberPlayerOne
相关产品推荐
相关产品推荐

