理解全连接层:
连接层实际就是卷积核大小为上层特征大小的卷积运算,卷积后的结果为一个节点,就对应全连接层的一个点。(理解)假设最后一个卷积层的输出为7×7×512,连接此卷积层的全连接层为1×1×4096。
如果将这个全连接层转化为卷积层:
1.共有4096组滤波器
2.每组滤波器含有512个卷积核
3.每个卷积核的大小为7×7
4.则输出为1×1×4096
由于每个滤波核的大小和上一层的feature map大小一样,保证了转换后的卷积层的运算结果和全连接层是一样的
若后面再连接一个1×1×4096全连接层。则其对应的转换后的卷积层的参数为:1.共有4096组滤波器
2.每组滤波器含有4096个卷积核
3.每个卷积核的大小为1×1
4.则输出为1×1×4096
-----------------------------------------------------------------------------------------------------------------------
而全连接层的坏处就在于其会破坏图像的空间结构,因此人们便开始用卷积层来“代替”全连接层,通常采用1×1的卷积核,这种不包含全连接的CNN成为全卷积神经网络(FCN),FCN最初是用于图像分割任务,之后开始在计算机视觉领域的各种问题上得到应用,事实上,Faster R-CNN中用来生成候选窗口的CNN就是一个FCN。FCN的特点就在于输入和输出都是二维的图像,并且输入和输出具有相对应的空间结构,在这种情况下,我们可以将FCN的输出看作是一张热度图,用热度来指示待检测的目标的位置和覆盖的区域。在目标所处的区域内显示较高的热度,而在背景区域显示较低的热度,这也可以看成是对图像上的每一个像素点都进行了分类,这个点是否位于待检测的目标上。