参考资料《图像物体分类与检测算法综述》--黄凯奇 计算机学报
1.研究问题:
物体分类:要解决是否这张图片中包含某类物体
物体检测:物体出现在图中的什么地方,需要给出物体外接矩形
物体分类与检测算法的主流方法:基于表达学习和结构学习
2.研究任务
物体分类任务:一张图像中是否包含某种物体,对图像进行特征描述是物体分类的主要研究内容. 一般说来,物体分类算法通过手工特征或者特征学习方法对整个图像进行全局描述,然后使用分类器判断是否存在某类物体.
物体检测任务则更为复杂,它需要回答一张图像中在什么位置存在一个什么物体,因而除特征表达外,物体结构是物体检测任务不同于物体分类的最重要之处.
3.分类算法的流程
分类算法一般采用词包模型,主要分为4个步骤
1.底层特征提取
a.基于兴趣点检测:像素点、边缘、角点、一般会有一定的几何不变性,用的比较多的有Harris角点、FAST(feature from accelerated segment test)、LOG(laplacian of guassian)、DOG(difference of gaussian)。
b.密集点提取:从图像中按照固定步长、尺度提取出大量的局部特征描述如SIFT、HOG、LBP(local binary pattern)
2.特征编码
底层特征包含冗余和噪声,需要一种特征变换算法对底层进行编码,从而获得更加具有区分性、更加鲁棒的特征表达,重要的特征编码算法包括:向量量化编码,核词典编码、稀疏编码、局部线性约束编码、显著性编码、Fisher向量编码、超向量编码。
向量量化编码:是通过一种量化的思想,使用一个较小的特征集合(视觉词典)来对底层特征进行描述,达到特征压缩的目的.向量量化编码只在最近的视觉单词上响应为1,因而又称为硬量化编码、硬投票编码,这意味着向量量化编码只能对局部特征进行很粗糙的重构. 但向量量化编码思想简单、直观,也比较容易高效实现。
局限性:在实际图像中,图像局部特征常常存在一定的模糊性,即一个局部特征可能和多个视觉单词差别很小,这个时候若使用向量量化编码将只利用距离最近的视觉单词,而忽略了其他相似性很高的视觉单词。
软量化编码(又称核视觉词典编码)算法,局部特征不再使用一个视觉单词描述,而是由距离最近的犓个视觉单词加权后进行描述,有效解决了视觉单词的模糊性问题,提高了物体识别的精度.
稀疏编码通过最小二乘重构加入稀疏约束来实现在一个过完备基上响应的稀疏性.得到一个高维的高度稀疏的特征表达,大大提高了特征表达的线性可分性,仅仅使用线性分类器就得到了当时最好的物体分类结果,将物体分类的研究推向了一个新的高度上。
局限性:稀疏编码存在一个问题,即相似的局部特征可能经过稀疏编码后在不同的视觉单词上产生响应,这种变换的不连续性必然会产生编码后特征的不匹配,影响特征的区分性能.
局部线性约束编码它通过加入局部线性约束,在一个局部流形上对底层特征进行编码重构,这样既可以保证得到的特征编码不会有稀疏编码存在的不连续问题,也保持了稀疏编码的特征稀疏性。
显著性编码引入了视觉显著性的概念,如果一个局部特征到最近和次近的视觉单词的距离差别很小,则认为这个局部特征是不“显著的”,从而编码后的响应也很小。编码速度也比稀疏编码快很多
FISHER向量编码同时融合了产生式模型和判别式模型的能力,与传统的基于重构的特征编码方法不同,它记录了局部特征与视觉单词之间的一阶差分和二阶差分
超向量编码则直接使用局部特征与最近的视觉单词的差来替换之前简单的硬投票. 这种特征编码方式得到的特征向量表达通常是传统基于重构编码方法的M倍(M是局部特征的维度).
3.特征汇聚
空间特征汇聚是特征编码后进行的特征集整合操作,通过对编码后的特征,每一维都取其最大值或者平均值,得到一个紧致的特征向量作为图像的特征表达. 这一步得到的图像表达可以获得一定的特征不变性,同时也避免了使用 特征集进行图像表达的高额代价. 最大值汇聚在绝大部分情况下的性能要优于平均值汇聚,也在物体分类中使用最为广泛。由于图像通常具有极强的空间结构约束,空间金字塔匹配(spatial pyramid matching,SPM)提出将图像均匀分块,然后每个区块里面单独做特征汇聚操作并将所有特征向量拼接起来作为图像最终的特征表达.
4.使用分类器进行分类
常用的分类器有支持向量机、犓 近邻、神经网络、随机森林等。特别是使用了核方法的支持向量机.通过学习过完备的稀疏特征,可以在高维特征空间提高特征的线性可分性,使用线性支持向量机就得到了当时最好的分类结果,大大降低了训练分类器的时间和空间消耗。
深度学习模型
深度学习模型是另一类物体识别算法,其基本思想是通过有监督或者无监督的方式学习层次化的特征表达,来对物体进行从底层到高层的描述. 主流的深度学习模型包括自 动编码器、受限波尔兹曼机(RBM)、 深度信念网 络 (DBN)、卷积神经网络(CNN)、生物启发式模型等。
4.物体检测算法
根据获得窗口位置策略的不同,物体检测方法大致可分为滑动窗口和广义霍夫投票两类方法. 滑动窗口方法比较简单,它是通过使用训练好的模板在输入图像的多个尺度上进行滑动扫描,通过确定最大响应位置找到目标物体的外接窗口. 广义霍夫投票方法则是通过在参数空间进行累加,根据局部极值获得物体位置的方法,可以用于任意形状的检测和一般物体检测任务。
与物体分类问题不同,物体检测问题从数学上是研究输入图像X与输出物体窗口Y之间的关系,这里Y的取值不再是一个实数,而是一组“结构化”的数据,指定了物体的外接窗口和类别,是一个典型的结构化学习问题
处理结构化分类问题算法有:结构化支持向量机、隐变量支持向量机、若标签结构化支持向量机、条件随机场
物体分类和物体检测在特征提取、特征编码、分类器设计方面很大程度是相似的。