一、CNN中的底层、高层特征:
简短总结: 分类要求特征有较多的高级信息,回归(定位)要求特征包含更多的细节信息
1)图像的低层特征(对定位任务帮助大,我们可以想想比如轮廓信息都不准那怎么去良好定位):
图像底层特征指的是:轮廓、边缘、颜色、纹理、棱角和形状特征。
边缘和轮廓能反映图像内容;如果能对边缘和关键点进行可靠提取的话,很多视觉问题就基本上得到了解决。图像的低层的特征语义信息比较少,但越浅的层特征越细节(低级)且特征图分辨率大,所以位置信息很充足,目标位置准确。再从另一个方面讲,越浅层的特征感受野越小(每个像素点映射回原图的覆盖面积小),故用浅层特征图检测大目标时就有点像瞎子摸象的感觉效果并不好,因为光能看到象腿也不知道这是啥东西。当然对于小目标检测来说如果能利用足够的上下文信息也是有好处的!例如,通过只看图中的一个小目标所在的那个位置,人类甚至很难识别这些物体。然而,通过考虑到它位于天空中的背景,这个物体可以被识别为鸟类。因此,我们认为,解决这个问题的关键取决于我们如何将上下文作为额外信息来帮助检测小目标。
2) 图像的高层特征也叫语义特征(高层特征即CNN中网络越深的层得到的特征,高层的特征包含很丰富的组合信息,象征着人对它的分辨能力,越高层越好分辨出是啥东西,如表征着类别啥的,对识别任务帮助大):
图像的高层语义特征值得是我们所能看的东西,比如对一张人脸提取低层特征我们可以提取到连的轮廓、鼻子、眼睛之类的,那么高层的特征就显示为一张人脸。高层的特征语义信息比较丰富,但是目标位置比较粗略。
愈深层特征包含的高层语义性愈强、分辨能力也愈强。我们把图像的视觉特征称为视觉空间 (visual space),把种类的语义信息称为语义空间 (semantic space)
二、上下文信息
做图像的,上下文特征是很常见的,其实上下文大概去理解就是图像中的每一个像素点不可能是孤立的,一个像素一定和周围像素是有一定的关系的,大量像素的互相联系才产生了图像中的各种物体,所以上下文特征就指像素以及周边像素的某种联系。
具体到图像语义分割,一般论文会说我们的XXX算法充分结合了上下文信息,意思也就是在判断某一个位置上的像素属于哪种类别的时候,不仅考察到该像素的灰度值,还充分考虑和它临近的像素。
然后上下文信息还分全局和局部,意思就是考虑全图不同范围内的像素和只考虑邻近的一些像素。
全局上下文信息 也可以理解为能够捕捉来自更多的不同尺度的上下文信息,不同尺度就是指不同感受野。
三、多尺度
个人感觉,多尺度 就是 你能看到的范围(看到尺度就理解为CNN的感受野就完事了!!!)。关于感受野的理解可以看我的这篇文章:深度理解CNN中的感受野(大杀器)
图像中一个东西的尺度越大,就指距离越近相当于被放大了,那么给人感觉就越模糊。例如:
1)训练的时候,把图片缩放到不同大小输入给同一个网络,网络就能看到不一样大小范围的内容,缩放得分辨率越高就指尺度越大,因为对图中的某一个物体来讲就是被放大的感觉。然后就是因为缩放后,比如中间特征图上的某个像素点都只能看到原图3乘3的区域,可随着输入的图片尺度不一样,同样是看到的3乘3区域,但相对于整张图的范围也自然就不一样了,然后就叫做多尺度训练;好处是可以适应不同尺度的输入,泛化性好。
2)把一个特征层用由不同感受野的卷积核组成的网络层(例如SPP)处理,这层网络的同一个像素位置就能看到不同范围的上层特征,就叫做多尺度特征融合;好处是能考虑到不同范围的空间特征上下文(例如头发下面一般会有一张脸)。
3)把一个网络中不同深度的层做融合:浅层感受野小,分辨率大,能够处理并保存小尺度的几何特征;高层感受野大,分辨率小,能够处理并保存大尺度的语义特征。这也叫做多尺度特征融合;好处是能够将语义特征和几何特征进行融合(例如这块区域是头发,低分辨率图上的分界线一般是线状特征和非线状特征的边界)。