APP下载

基于特征融合的亚洲食物图片分类

2020-12-28武若琪曲志坚

计算机工程与设计 2020年12期
关键词:邻域全局准确率

武若琪,徐 冰,曲志坚

(山东理工大学 计算机科学与技术学院,山东 淄博 255000)

0 引 言

自上世纪九十年代开始,便出现了关于食物识别的研究成果[1]。基于SVM的多核学习,多特征融合等方法都曾被研究者应用在食物识别领域[2-4]。但是,食物图片大多来自于餐桌场景,图片中的干扰信息严重影响了图片分类效果,这导致很多分类模型不能有效应用在实际场景中。此外,深度学习也是计算机视觉领域非常有效的技术方法[5,6]。许多研究者将卷积神经网络应用在了食物图片识别问题上[7-9]。但深度学习方法往往缺乏对结果的解释性,不利于从特征角度对亚洲食物特有结构及特征提取方法进行深入研究[10]。

从食物自身属性来看,不管是欧洲饮食、美式饮食还是亚洲饮食,其构造、形态以及纹理、颜色等特征大相径庭[11]。不同于西式食物相对清晰的构造与单调的烹饪方式,亚洲食物形态各异,结构模糊,且不同烹饪方式下的菜肴外观差别很大,因此亟需寻找适合亚洲食物的图片分类方案。

本文提出一种针对亚洲食物图片的分类模型SLGC (SURF-local and global color)。首先,利用GrabCut算法进行图片分割预处理,提取食物主体;之后,对特征词袋模型(bag of features, BoF)做出改进,分别在局部与全局两个维度提取并量化图片的颜色特征,将其与图片的加速稳健特征SURF(speed up robust features)进行融合;最后,将融合后特征输入到基于支持向量机的分类模型进行训练和分类。

1 SLGC图片分类模型

本文提出的SLGC模型包括图片分割、图片特征提取、局部及全局特征融合与训练分类,框架模型如图1所示。

图1 SLGC框架模型

为降低食物图片背景对特征提取的影响,模型首先利用GrabCut算法对图片进行分割处理。GrabCut是一种交互式分割算法,基于被分割对象的指定边界框,使用高斯混合模型(Gaussian mixture model, GMM)估计被分割对象和背景的颜色分布[12,13]。其分割的能量函数如式(1)所示

E(α,k,θ,z)=U(α,k,θ,z)+V(α,z)

(1)

式中:α为透明度系数,k为GMM分量数目,θ={πk,uk,Σk}为每个GMM分量对应的比例、均值与协方差。根据α与像素z的匹配度可以衡量区域数据项U的优劣,同时光滑项V在图像边界处取得最小值,由此可以得到能量函数E的最优值,确定最佳分割方案。

使用GrabCut算法对食物图片进行分割的效果如图2所示。图2(a)列为原始图片,包含如餐具、桌布以及其它食物等干扰信息。图2(b)列展示了将食物主体标注在原始图片的效果。经过图片分割后的效果展示在图2(c)列当中,最后通过裁剪形成图2(d)列的最终结果。

图2 食物图片分割效果

SLGC模型中使用SURF算法提取图片的局部特征信息。SURF算法的核心是Hessian矩阵,利用Hessian矩阵计算图片中每个像素点的局部行列式极值,就可以得到图片的特征点,如式(2)所示

(2)

式中:Lxx(x,y,σ)为高斯二阶微分与原始图像在点(x,y)处的卷积。

同时,为了保证所提取特征点具有旋转不变性,需要确定特征点的主方向。统计以特征点为中心,以6个尺度范围为半径的邻域内的Harry小波特征,并统计60°扇形窗口内的小波响应总和,进而得到特征方向矢量(mw,θw),如式(3)所示

(3)

式中:mw和θw分别代表特征方向矢量的大小和方向。以特征点为中心,沿主方向将20个尺度范围长度的方形区域划分为16个子块,分别统计∑dx,∑dy, ∑|dx|和∑|dy|,生成SURF特征描述子,其维度Ds为固定值64。

使用SURF提取食物图片特征信息,相对于使用SIFT(scale-invariant feature transform),能够在保持恰当特征点数量的基础上,有效提升特征提取速度[14],为之后食物图片实时处理方面的工作做好铺垫。

如图3所示,使用SURF在食物图片上提取特征点。其中,图3(a)列为原始图片,为了使特征点位置清晰,设置阈值为6000提取SURF特征点并标注在图3(b)列的图片中。其中圆圈的圆心为特征点位置,不同半径代表其不同的尺度信息。

图3 SURF特征点提取

关于SLGC模型中的特征融合部分,其主要作用是在提取图片的SURF特征之后,借助BoF模型将其与局部颜色特征融合,加强局部特征的表示能力。再将图片全局颜色特征加入到图片表示向量当中,完成全局特征融合,进一步提高特征提取效果。最后将经过局部与全局特征融合后的图片表示向量输入到SVM中进行训练和分类。下面将重点介绍特征融合的过程。

2 特征融合

本文提出的SLGC食物图片分类模型的关键工作在特征融合部分。对BoF模型做出如下改进,在“特征点信息量化”与“形成食物图片最终表示向量”这两个步骤中,分别将图片的局部颜色特征与全局颜色特征融合到图片的最终表示向量当中,达到提升特征提取效果的目的。

2.1 BoF模型

BoF模型由Csurka提出并逐渐应用于图像处理领域[15],其基本步骤如下。首先对训练图像进行区域选取,定位特征点,并分别用特征向量对此特征点进行描述,如图4所示。

图4 特征词典生成流程

之后使用K-means聚类算法对特征向量集进行处理,得到特征词典。使用不同的特征提取方式,每张图片可定位的特征点数量也不尽相同。若数据集规模为m张图片,每张图片的特征点数量为αi,则本文选取的聚类数K的取值如式(4)所示

(4)

最后参照特征词典,对原始图片提取特征单词,并统计每个单词的出现频率,得到原始图片的表示向量,如图5所示。

图5 特征向量生成流程

2.2 局部特征融合

SURF特征点是图片当中相对独特的点,能够较好地反应图片的关键内容,因此其邻域内像素的颜色信息也十分重要。提取SURF特征点位置邻域内的颜色信息,与SURF特征信息进行拼接融合,能够更加精准而全面地表示图片内容。特征点及邻域像素位置选取示例如图6所示。

图6 特征点及其邻域像素

其中,P 点为某一SURF特征点,R表示邻域半径。假设R的最优取值为2(R的实际最优取值会通过后续实验来确定),使用RBG颜色空间表示邻域范围内选定像素的颜色信息,形成局部颜色特征向量。其向量维度计算公式如下

Dc=(2R2+2R+1)*3

(5)

式中:R表示邻域半径,Dc表示局部颜色特征维度。

获得局部颜色特征之后,在特征点信息量化部分对BoF模型做出改进,将局部颜色特征与其对应的SURF描述子信息结合,完成局部特征融合。由于特征向量与颜色信息为不同评价指标,为了消除指标之间的量纲影响,须在融合之前分别对其进行归一化处理。局部特征融合的具体过程如图7所示。

图7 局部特征融合

其中,以左侧代表“面包”的某一视觉单词为例,获取其SURF特征向量,并获取以R为半径邻域内的颜色信息,将二者拼接为局部特征向量,其维度计算公式如下

Dl=Ds+Dc

(6)

式中:Ds表示SURF特征向量维度,为固定数值64,Dc表示局部颜色特征维度,Dl表示特征拼接后的局部特征向量维度。将图片中所有局部特征向量进行聚类处理,生成特征词典,完成局部特征融合过程。

图8给出了本文使用的亚洲食物图片数据集中“乌冬面”和“馅饼”的特征点及其邻域像素提取示例。其中,图8(a)列图片分别给出了“乌冬面”和“馅饼”的SURF特征点位置,图8(b)列为图片对应的颜色直方图。由于两张图片存在大面积黄色区域,主体色调相似,因此可区分度较低。但是,通过分析特征点位置,发现其多数定位在食物的“点缀区域”,也就是上图中的红肠和下图中葱花的位置。与西方食物习惯对食物容器进行点缀不同,结合味道与品相等多种原因,亚洲食物往往使用颜色鲜艳、味道清新的材料直接对菜品进行点缀。由于点缀物的颜色与形态较为突出,因此其附近能够较大概率出现特征点,同时其颜色特征也能够较好反映食物种类信息。通过统计图8中两种食物特征点邻域内颜色信息,就能够以红色与绿色的差别区分两类食物。

图8 主色调相近食物及其颜色直方图

2.3 全局特征融合

利用SURF提取食物图片特征,首先需要对原始图片进行灰度化处理。经过灰度化处理的图片,不可避免地丢失了颜色特征,而颜色特征对于色彩丰富的食物图片是十分重要的,蕴含了大量关键信息。特别是图片的全局颜色特征能够表现图片中分布最广的颜色信息,能够在食物图片分类问题中发挥较大作用。

本文使用HSV颜色空间对食物图片的整体颜色特征进行表示。HSV颜色空间是把H(色相)、S(饱和度)和V(亮度)当作色值来定位颜色的空间。相对于RGB颜色空间,HSV空间能够非常直观地表达色彩的明暗、色调以及鲜艳程度,比较接近人类对于食物图片的自然视觉感知。

为了避免全局颜色特征矢量维数过高,使用式(7)的对应关系对HSV空间进行量化

(7)

基于上述量化关系,将各颜色分量按照式(8)合成为72维颜色特征矢量,作为食物图片整体颜色特征的表示向量

G=9H+3S+V

(8)

为了完成全局特征融合,在形成食物图片最终表示向量部分对BoF模型做出改进,具体过程如图9所示。

图9 全局特征融合

其中,表示向量为图片的特征向量,是图片的所有局部特征向量经过聚类形成特征词典,并完成统计后形成的特征向量。此时的特征向量包含了图片的SURF特征与关键点邻域颜色特征,在此基础上将图片的HSV全局颜色特征与其进行拼接,形成图片的最终表示向量。图片最终表示向量维度计算公式如下

Dg=K+Dh

(9)

式中:K为依据式(4)计算的聚类数目,同时是图片表示向量的维度,Dh为全局颜色向量维度,为固定值72,Dg为图片经过全局特征融合后的图片最终表示向量维度。

图10给出了不同食物的颜色直方图对比。通过分析,可以看到全局颜色特征融合是合理有效的。

图10 不同食物的颜色直方图

其中,图10(a)列为炒饭和蔬菜两种食物,其主体色调差异较大,分别为米黄色和青绿色。通过颜色直方图也可以看出两种主体色调的分布差异明显,能够起到良好的区分作用。即全局特征融合能够进一步完善食物图片特征向量对于图片的表达能力,促进分类准确率的提高。

3 实验结果与分析

为了验证SLGC分类模型的有效性,对其关键步骤进行两个维度的验证。首先通过比较图片分割前后的分类效果来研究其是否对分类准确率做出贡献。其次通过对比不同特征点邻域取值下的分类准确率与融合全局颜色特征前后的分类准确率,分别研究局部特征融合与全局特征融合对于图片分类准确率的影响。

3.1 实验数据集与评价指标

实验中数据集选择的是Caltech101与UEC FOOD 100食物图片数据集。Caltech101是综合图片数据集,内容丰富,不同种类图片差异较大。UEC FOOD 100是日本电气通信大学的Yoshiyuki Kawano创建的食物图片数据集,其中大多数是日本流行食物,能够比较全面地体现亚洲食物的整体结构特点。数据集结构见表1。

表1 数据集结构

本文的食物图片分类算法使用线性SVM分类器,选取径向基核函数(radial basis function, RBF)并采用one-versus-rest策略进行多分类处理。参数优化采用Libsvm的grid.py工具。训练集与测试集不进行手动划分,而是借助K折交叉验证(K-fold cross validation, K-CV) 对数据集进行k次数据划分与训练并得到k个分类模型。将每个模型分类准确率pi的平均值作为此K-CV性能指标pave。由此确定最优参数C和gamma,之后使用最优参数构建图片分类器,得出最佳分类准确率P。计算过程如式(10)所示

pi=K-CV中所生成每个模型的分类准确率
pave=∑pi/k
P=使用C和gamma为分类器参数的分类准确率

(10)

实验环境为Windows10操作系统,Inter Core i5 CPU,内存16 G,编程环境为PyCharm 2018.2.7,Python 2.7。对OpenCV 3.3相关代码做修改后进行SIFT与SURF的特征提取工作,并借助Libsvm进行参数调优与SVM训练工作。

3.2 图片分割对分类效果的影响

针对食物图片背景中存在桌布、餐具以及其它干扰信息的问题,使用GrabCut算法对图片进行分割操作,提取食物主体。使用UEC FOOD 100作为实验数据集,针对不同规模的图片数据分别进行图片分割前后的分类对比实验,此实验主要是评估与量化图片分割操作对分类准确率的影响。实验结果如图11所示。

图11 图片分割前后的实验结果对比

其中横坐标表示不同数据集规模(图片种类数目),纵坐标表示分类准确率。通过在食物图片分割前后的数据集上分别提取SURF与SIFT特征并进行图片分类实验可以观察到,在同样数据集规模下,进行图片分割操作可在SIFT特征基础上获得4%到6%的提升,在SURF特征基础上获得5%到8%的提升。实验说明图片分割能够有效突出食物主体,避免了背景干扰信息对于后续处理的不利影响。

同时,依照食物主体对图片进行裁剪,有效降低了后续处理的资源用量。实验过程中,数据集规模对分类模型的执行效率起到决定性影响,此外由式(6)可以得出,特征向量中SURF信息维度不变,特征向量的最终维度取决于邻域半径的取值,因此不同邻域值也会影响到模型的执行效率。如表2所示,在同样数据规模与邻域取值下,对食物图片进行图片分割预处理。实验结果表明,使用图片分割可以有效缩减45%左右的特征提取时间。

表2 使用图片分割对于特征提取效率的影响

3.3 局部特征融合对分类效果的影响

实验目的是评估特征点邻域范围对于局部特征提取效果的影响,因此忽略SURF特征信息,只提取图片特征点附近不同邻域范围的局部颜色信息作为图片的最终表示向量进行实验。评估标准为最终图片分类准确率,实验结果如图12所示。

图12 局部颜色特征对于分类效果的影响

其中横轴表示特征点邻域半径取值,纵轴表示图片分类准确率。实验分别在综合图片数据集Caltech101与食物图片数据集UEC FOOD 100上进行,其中Caltech101取前30类图片进行实验,UEC FOOD 100取前20类图片进行实验。实验中提取图片SURF特征点的不同邻域半径内所有像素的颜色信息,并分别以RGB与HSV颜色空间进行表示,作为图片的最终表示向量,其向量维度可由式(5)计算得出。将最终表示向量量化后输入SVM进行分类。

分析图12中的实验结果,可以看到随着邻域半径R的不断增长,图片分类准确率也在稳步提升,经过多轮实验后确定在R取值为5时拥有最好的特征表示效果,且RGB空间对于局部颜色的表示效果普遍较好。

同时由实验数据可以观察到,相对于综合图片数据集,食物图片对于局部颜色特征的敏感性更高。这也是由于在食物图片,特别是亚洲食物图片当中,特征点大多定位于较为突出的“点缀区域”,其邻域颜色信息有较高提取价值。

3.4 全局特征融合对分类效果的影响

此实验目的是评估全局颜色特征融合对于整体特征提取效果的影响,因此以单一特征提取方式(SIFT/SURF)为基准,对比局部特征融合(SIFT/SURF+RGB)与局部全局特征融合(SIFT/SURF+RGB+HSV)的分类表现。评估标准为最终图片分类准确率,实验结果如图13所示。

图13 全局颜色特征对于分类效果的影响

其中横坐标表示不同数据集规模(图片种类数目),纵坐标表示分类准确率。分别在综合图片数据集Caltech101与食物图片数据集UEC FOOD 100上进行实验,选取的数据规模与上节一致。实验中将图片的整体颜色信息以HSV颜色空间进行表示,并与图片的局部特征(SIFT/SURF+RGB)进行拼接,其中邻域半径R取值为2。通过上述对比实验,可以看到全局颜色特征的加入对于综合图片分类准确率的提升在5%左右,对于食物图片分类的贡献也在3%左右。即全局颜色特征融合,在局部特征融合的基础上,进一步提升了特征提取效果。而全局颜色特征对于食物图片分类贡献较少,是因为相对于综合图片数据集,食物图片类间颜色差异较小,且同色调食物种类较多。

3.5 模型性能与其它现有工作对比

在UEC FOOD 100中随机选取20类图片作为实验数据,依据式(4)计算聚类数值K为1368,邻域半径R取值为5,依据式(6)计算局部特征融合后每个视觉单词的表示向量维度Dl为247,依据式(9)计算全局特征融合后每张图片的最终表示向量维度Dg为1440。在上述实验条件下针对本文所提出SLGC模型的各组成部分分别进行实验,目的是总结量化图片分割、局部特征融合与全局特征融合对图片分类准确率的贡献程度。

从表3中可以看到,使用SURF描述子相对于使用SIFT描述子,在其它条件均相同时,最终分类准确率普遍提升4%左右。而在使用同一特征提取方法的基准上,对食物图片进行图片分割预处理可以使分类准确率提升4%左右,经过局部特征融合之后分类准确率可以提升5%左右,而全局特征融合对于分类准确率也有3%左右的贡献。

表3 不同特征提取方法准确率对比

之后,使用与上述实验相同的数据集与参数,将本文提出的分类模型与其它模型进行对比实验。

如表4所示,基线方法Color Histogram与Bag of SIFT Features由于特征提取方式单一,不能根据食物图片特点有针对性地提取特征,因此分类效果较差。OM在PFID数据集上表现出色,但是由于其独特的特征组合结构仅适用于食物层次结构分明的PFID数据集,在针对亚洲食物数据集的分类任务上准确率有所下降。

表4 与其它图片分类模型准确率对比

在UEC FOOD 100数据集上我们取得了与Texture+SIFT+MKL模型相近的性能,达到60%以上。同时,针对其未对原始图片进行预处理的问题,使用GrabCut算法将食物主体进行分割提取,进一步提升了分类准确率,达到64%左右。

4 结束语

为探索亚洲食物图片的内在特征,提高亚洲食物图片分类准确性,在对亚洲食物特有结构与颜色特征的研究分析基础上提出一种基于特征融合的亚洲食物图片分类模型SLGC。构建了融合SURF特征、局部颜色信息以及全局颜色信息的特征表示方法,全面高效地提取亚洲食物图片特征。通过使用图片分割算法分离无效干扰信息,突出食物主体,进一步提升了图片分类效果。实验结果表明,本文提出的基于特征融合的图片分类方法,能够有效提升图片分类准确率,相对于单一特征方法和针对其它图片数据集的特征提取方案具有更好的效果。

猜你喜欢

邻域全局准确率
Cahn-Hilliard-Brinkman系统的全局吸引子
基于混合变邻域的自动化滴灌轮灌分组算法
量子Navier-Stokes方程弱解的全局存在性
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
稀疏图平方图的染色数上界
落子山东,意在全局
高速公路车牌识别标识站准确率验证法
基于邻域竞赛的多目标优化算法