对象识别包括分类和检测两项任务,分类用于判断一 幅图像是否包含某类对象,检测则要求标出这些对象的位置和大小。
介绍
对象识别包括分类和检测两项任 务,分类用于判断一幅图像是否包含某类对象 ,检测则要求标出这些对象的位置和大小。对象识别是理解图像和场景的关键 ,具有广泛的应用前景 ,可用于 Web图像自动标注 、海量图像搜索 、图像内容过滤 、机器人 、安全监视 、医学远程会诊等多种领域。通用对象识别面临很多困难,迄今没有完善的解决方案,这些困难包括:(1)光照变化 、视点变化 、尺度变化 、物体变形 、遮挡 、背景嘈杂等多种因素使 同一 物体在不同图像中存在很大的差异 ;(2)同类物体之间存在较大差异 ,这要求识别模型即能体现 同类物体之间的共性 ,又不能混淆相似的物体类别 ;(3)大量 的类别增加了系统实现的难度。近几年来 ,通用对象识别的研究非常活跃 ,新的方法不断涌现。
对象识别过程
对象识别系统使用训练图像,训练出识别模型 ,并利用这个模型识别新图像中的对象 ,这个过程一般包括预处理 、
特征提取、模型训练和对象识别四个阶段。
特征提取
特征提取提取图像的亮度模式,纹理细节、形状和轮廓等信息,包括特征选取和特征描述两部分内容。
原始的训练图像往往需要人工进行预处理 ,预处理后 ,可从训练图像中提取特征集 。特征集可以是全局特征 ,体现整幅图像的特点 ,也可以是局部特征 ,代表图像局部的特点。
常用的特征有包括:
(1)Difference of Gaussians(DoG):最早由Lowe提出,具有平移、尺度不变性,检测速度很快;
(2)Kadir&Brady检测子:通过圆形区域亮度直方图的局部最大熵寻找特征区域,能输出稳定、少量的圆形特征区域;
(3)多尺度Harris检测子:具有尺度不变性,适于检测角形区域;
(4)Hessian-Laplace类似于DoG,这两种方法都检测类似于元球(blob-like)的结构,但Hessian-Laplace方法在尺度一空间定位精度更高;
(5)Harris-Affine区域和Hessian-Affine区域对图像仿射变换具有不变性。
模型训练
不同的对象识别系统有不同的训练方法。很多方法来源于基本的机器学习技术,如boost、Winnow、
支持向量机、RVM、贝叶斯理论、
高斯混合模型、EM算法、决策树、决策树桩等技术。训练方法大致可分为两大类:求异法(discriminative approach)和泛化法(generative approach)。求异法试图在特征空间找到一条决策边界,将特征矢量分类,判断它是否属于某类物体。滑动窗口模型常采用求异法训练模型,SVM、决策树、决策树桩及boost类技术常用于求异法泛化法则尽可能多地找到某类对象的特征,根据这些特征出现的概率,使用贝叶斯理论、高斯混合模型判断对象的类别。基于部件的方法常采用泛化法设置、优化模型参数,EM算法常用来处理部件及其之间的关系,这种方法是一种迭代估计参数的方法,它可以处理数据缺失的问题,但不能保证找到全局最大值。
对象识别
提取了训练图像的特征集后,就可以利用这些特征集训练识别模型。识别模型有很多种,为了描述方便,本文大致把它们分成三大类,分别是基于特征袋(bag of feature)的识别模型,基于部件(part-based)的识别模型,基于滑动窗:(sliding-windows)的识别模型。
(1)特征袋模型又称为单词袋(bag of word),近几年广泛地应用于各种识别任务,这种模型非常适合多类对象的同时识别,它将自动文档分类技术引入对象识别,将一幅图像看成由大量视觉单词组成,每个视觉单词是矢量量化后的局部特征描述子,在对象识别中,某类对象相当于某类文档主题,寻找某类对象类似于根据某类单词出现的频率寻找文档的主题。该方法在多类对象识别测试中获得了较好的结果。特征袋模型的识别步骤一般为:特征提取、矢量量化、直方图计算、模型训练、对象识别。
(2)基于部件的模型:这种模型学习识别给定类对象共同的相似的部件,通过它们是否存在判断是否存在给定类对象。这种方法很适合具有固定结构和形状的物体。实现细节主要包括如何检测某个部件,采用何种空间结构模型处理部件之间的共存(co-occurrence)关系。在通用对象识别系统,一般采用相对较松散的空间结构模型,如星形网、树形结构、K-fans结构等来表示部件之间的关系。
(3)基于滑动窗口的模型,这种模型隐含地采用固定模板将空间信息表示成特征矢量。这种方法一般采用稠密的特征提取法。然后采用
机器学习算法,如
支持向量机(SVM),对隐含模板进行匹配,这种模型往往包含大量的特征集,因此常采用adaboost及级联等技术从大量的特征窗选择最有识别性的特征窗。基于滑动窗口的模型只需要少量的指导,检测精度也较高,但这类方法的定位能力较弱,需要专门的算法将检测到的多个窗口整合起来。