aihot  2017-06-18 22:00:16  深度学习 |   查看评论   

卷积神经网络(CNN):图像级语义理解的利器

 
  自2012年AlexNet提出并刷新了当年ImageNet物体分类竞赛的世界纪录以来,CNN在物体分类、人脸识别、图像检索等方面已经取得了令人瞩目的成就。通常CNN网络在卷积层之后会接上若干个全连接层, 将卷积层产生的特征图(feature map)映射成一个固定长度的特征向量。
 
  以AlexNet为代表的经典CNN结构适合于图像级的分类和回归任务,因为它们最后都期望得到整个输入图像的一个数值描述, 比如AlexNet的ImageNet模型输出一个1000维的向量表示输入图像属于每一类的概率。例如,下图中的猫, 输入AlexNet, 得到一个长为1000的输出向量, 表示输入图像属于每一类的概率, 其中在“tabby cat”这一类上响应最高。
 图像级的分类和回归任务
全卷积网络:从图像级理解到像素级理解
 
  与物体分类要建立图像级理解任务不同的是,有些应用场景下要得到图像像素级别的分类结果,例如:1)语义级别图像分割(semantic image segmentation), 最终要得到对应位置每个像素的分类结果。2) 边缘检测, 相当于对每个像素做一次二分类(是边缘或不是边缘)。以语义图像分割为例,其目的是将图像分割为若干个区域, 使得语义相同的像素被分割在同意区域内。下图是一个语义图像分割的例子, 输入图像, 输出的不同颜色的分割区域表示不同的语义:背景、人和马。
 语义级别图像分割(semantic image segmentation)
  针对语义分割和边缘检测问题,经典的做法就是以某个像素点为中心取一个图像块, 然后取图像块的特征作为样本去训练分类器。在测试阶段, 同样的在测试图片上以每个像素点为中心采一个图像块进行分类, 分类结果作为该像素点的预测值。沈为等在CVPR2015上发表的DeepContour就采用这一思路检测图像边缘。
 
  然而,这种逐像素取图像块进行分类的方法非常耗时, 另外一个不足是受到图像块的限制, 无法建模较大的上下文信息(context), 从而影响算法的性能。以语义图像分割(semantic image segmentation)为例, 数据集图像中的物体有时候非常大, 比如上图中马的分割例子, 如果不取比较大的图像块,难以抽取到有效的特征区分该像素块是否属于一匹马。
 
  Lonjong等发表在CVPR2015的论文提出了全卷积网络(FCN)进行像素级的分类从而高效的解决了语义级别的图像分割(semantic segmentation)问题。与经典的CNN在卷积层之后使用全连接层得到固定长度的特征向量进行分类不同,FCN可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷积层的feature map进行上采样, 使它恢复到输入图像相同的尺寸,从而可以对每个像素都产生了一个预测, 同时也保留了原始输入图像中的空间信息, 最后在上采样的特征图上进行逐像素分类。论文中逐像素计算softmax分类的损失, 相当于每一个像素对应一个训练样本。

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自全卷积网络:从图像级理解到像素级理解

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]