主要有两点原因:
1.便于进行padding。
在卷积时,若要卷积前后的尺寸不变。需要对原图进行padding。
假设图像的大小,也就是被卷积对象的大小为n∗nn*nn∗n,卷积核大小为k∗kk*kk∗k
当padding的幅度设为k−12\frac{k-1}{2}
2
k−1
时,卷积后的输出就为n−k+2∗k−121+1=n\frac{n-k+2*\frac{k-1}{2}}{1}+1=n
1
n−k+2∗
2
k−1
+1=n,即卷积输出为n*n
保证了卷积前后尺寸不变。但是如果k是偶数的话,k−12\frac{k-1}{2}
2
k−1
就不是整数了。
这样做保证 锚点 刚好在中间,方便以模块中心为标准进行滑动卷积,避免了位置信息发生 偏移
2.容易找到卷积锚点
在像素这个领域里,偶数框其实是没有一个“绝对的物理中心”的
奇数相对于偶数,有中心点,对边沿、对线条更加敏感,可以更有效的提取边沿信息。保证了 padding 时,图像的两边依然相对称
偶数也可以使用,但是效率比奇数低。在数以万计或亿计的计算过程中,每个卷积核差一点,累计的效率就会差很多。
如果只是想移动,那默认左上角为中心点也是可以的~
现在大家都那么约定俗成罢了
更多内容见参考资料里知乎上的讨论。
————————————————
版权声明:本文为CSDN博主「会意」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mooneve/article/details/96327854