最近在入门学习object detection, 在查看yolov3的config file时, 被一个参数 pad=1 搞得晕头转向, 几经查询终于有了一些眉目。
pad = 1 代表什么
首先,pad=1不是说padding的取值为1(我傻傻的这样认为了好久)。 官方的解释我没有找到,我会再找一找。在参考了一些资料1 2之后,我发现在这个cfg file中pad的选项有两个,1 或者0。
当pad=1的时候,padding = (kernel-1) // 2;
当pad=0的时候,padding就是依据给出的padding值。
pad=0的情况这里先不做讨论,因为在yolov3的cfg文件中,pad都是为1的情况。
那么下面就来看看为什么pad=1的时候,padding=(kernel-1)//2 意味着什么。
padding =(kernel-1)// 2 代表什么
这里要拿出最著名的公式之一
S o u t p u t = S i n p u t + 2 p − k S + 1 S_{output} = \frac{S_{input} + 2p - k}{S} + 1 Soutput=SSinput+2p−k+1
S o u t p u t S_{output} S