APP下载

一种基于候选区域的多种食品图像识别系统

2020-12-30沈凤仙

湖北农业科学 2020年23期
关键词:直方图向量分类

沈凤仙

(三江学院计算机科学与工程学院,南京 210000)

随着移动互联网的快速发展和广泛应用,通过移动服务端(如手机)记录人们饮食习惯的应用服务得到快速发展[1]。用户可以更直观地了解自己的饮食习惯,并通过记录自己的饮食来评估饮食营养。在记录膳食时,通常利用文本输入食品名称或通过层次链接选择食品,但是这种方式记录食物的过程较为繁琐。文献[2]提出了一种专门针对快餐食品的食品识别系统。文献[3]提出了一种食品图像识别算法,定义了面包、牛肉和奶酪等8 种基本的食物材料,并识别它们在食物图像中的相对位置。文献[4]提出了一种以常见食品为目标的食品识别系统,是一种融合sift 特征包、Gabor、颜色直方图等多种图像特征的多核学习(MKL)食品图像识别方法,分类识别率可达61.34%。然而,这些应用都假设1 个食物图像只包含1 个食物项,无法处理包含2 个或多个食物项的图像,并且在1 个图像中食物项尽可能大。为此,本研究提出了一种新的多种食物图像识别方法。该方法利用可变形部分模型(DPM)、圆形检测器和JSEG 区域分割等方法对候选区域进行检测;从每个候选区域提取各种图像特征;在应用多核学习训练的分类模型后,得到给定图像上的前N个候选食品名称。结果表明,该法是一种有效的多食品图像识别方法。

1 食物目标检测

对于图像目标检测,基于滑动窗口的检测方法是一种标准方法。在基于滑动窗口的人脸检测方法中,最具代表性的是Viola-Jones 人脸检测方法[5]。近年来,提出的可变形零件模型(Deformable part model,DPM)作为一种检测通用对象的方法,由于其鉴别能力和源代码的可用性而受到广泛关注。在DPM 中,利用多个部分模型训练对其空间关系进行建模。作为一种训练方法,通过使用线性SVM,实现支持向量机的扩展[6]。DPM 是被广泛用作通用对象检测的标准方法,因此有时对相似的对象类别进行区分,效果不是十分显著。

针对这一问题,有人提出了一种将基于线性SVM 的窗口搜索与非线性SVM 分类器相结合的目标检测方法。在该方法中,首先粗略地使用跳跃窗口搜索方法检测候选区域,这些区域与DPM 略有不同,然后使用非线性方法核对多个候选区域,并进行验证。目标检测算法亦遵循这个想法来检测食物的候选区域[7]。本研究中,不仅使用了基于DPM 的窗口搜索,还使用了圆形检测器和区域分割算法来检测给定图像上的候选区域。

2 采集单元的设计

研究提出了一个食物图像识别系统,该系统输出食物的名称,并在给定的食物图像中显示[8-10]。首先,给定一个输入图像作为系统检测候选区域的菜肴。使用4 种类型的检测器,包括可变形部分模型(DPM)、圆形检测器、JSEG 区域分割以及整幅影像。将4 种方法检测到的候选区域边界框进行整合,检查宽度纵横比、边界框的高度并从候选集中排除与其形状无关的边界框。系统从选定的候选区域中提取各种图像特征区域,利用SVM 通过多核学习(MKL)和非线性内核进行验证并计算得分。最后,根据评价值的降序,得到了给定图像上前N 个食品的名称。

2.1 候选区域检测

现有的食品图像识别工作假设一个食品图像只包含一个食品项,食品项在图像中应尽可能的放大显示[11-13]。在提取图像特征之前,使用了4 种候选区域检测方法估计几个食物可能存在的候选区域。远程监控系统结构如图1 所示。

图1 远程监控系统结构

2.1.1 整幅图像 最简单的候选区域是整个图像,相当于现有的食物识别系统,该系统假设一个图像只包含一个食物项。此候选项适用于包含一个大盘子的图像,但不适用于包含多个小盘子的图像。2.1.2 可变形零件模型(DPM) 使用可变形零件模型(DPM)作为主要的检测器。DPM 是一个双层的层次模型,它由一个全局过滤器和几个部分模型组成。每个部件模型指定一个空间模型和一个局部过滤器。空间模型定义了一组相对于检测窗口的局部过滤器允许位置,以及每个位置的变形成本。检测窗口的分数通过根过滤器在窗口上的分数加上各局部过滤器的总和,局部的最大位置超过该局部过滤器,局部过滤器在最终子窗口上的分数减去变形成本。根过滤器和局部过滤器都是通过计算窗口内一组权重和HoG 特性之间的点积来评分的。

DPM 采用滑动窗口的方法对目标区域进行检测,通过搜索一个图像金字塔来实现目标检测。为了降低计算成本,DPM 方法中使用了线性支持向量机。针对线性支持向量机识别能力弱于非线性核支持向量机的缺点,提出了一种基于标准支持向量机的潜在混合支持向量机算法。在试验中,为100 个食品类别中的每一个类别使用latent SVM 训练DPMs。

2.1.3 区域分割 区域分割主要任务是把一个图像分割成几个区域。使用JSEG 算法作为区域分割算法。JSEG 通过颜色空间量化和颜色类映射来划分图像。在JSEG 中,可以将分段区域的数量设置为参数。本试验设置了10 个区域。计算每个区域的圆度C,将运算圆度值超过给定阈值的区域加入区域候选集,圆度C 计算见式(1)。

式中,S 是区域的大小,L 是区域的周长。当C接近1 时,区域的形状接近圆。如果C 比1 小很多,那么区域的形状就离圆很远。另外,如果两个相邻区域的合并区域圆度大于原始区域的圆度和阈值,将合并区域添加到一个候选集合中,图像处理结果如图2 所示。

图2 图像处理结果

2.2 候选区域积分

通过4 种方法检测到的所有候选区域聚合到一个候选集合中,并将它们转换成包围框,每个包围框包围一个检测到的区域,并从所有被检测区域的边界盒中提取图像特征,应用非线性核支持向量机(经过MKL 训练)的方法进行处理。

为了降低分类成本和噪声,将明显不相关的区域排除在候选集之外。通过定义大小和长宽比相关的区域,剔除了短边小于60 像素的边界框和长边框,它们的长宽比是训练数据中所有食品边界框平均长宽比2 倍多的标准差。

2.3 图像特征

要识别具有视觉特征的食物图像,仅使用SIFT和Color 并不能得到好的结果。因此,在研究使用多核学习(MKL)来识别整个图像,而使用MKL 来识别每个包围框中的每个食物项,也就是一个食物候选区域。 图像特征包括空间金字塔的特征袋(SP-BoF)、方向梯度直方图(HoG)、Gabor 纹理特征和颜色直方图。

2.3.1 SIFT 和CSIFT 的BoF BoF 方法虽然简单,但在视觉对象分类/识别环境中具有良好的图像概念表示能力,受到了物体识别研究领域的关注。在BoF 方案中,首先对一组局部图像点进行采样,通过对每个点的尺度不变特征变换(SIFT)描述符提取视觉描述符。除了SIFT,还从RGB 颜色空间中提取CSIFT,它对光照变化具有较强的鲁棒性。本研究使用每10 个像素的规则网格采样来对局部图像点进行采样。然后,根据预先指定的编码,通过矢量量化对描述向量的结果分布进行量化,并使用量化后的分布向量对图像进行表征。根据预先从所有训练图像中提取的SIFT 向量的分布,采用k-means 聚类方法生成编码。也就是说,一个图像是由一组“可视单词”表示,这与文本文档由单词组成的方式相同。利用网格采样法对图像中的数千个点进行采样,设置码字的数量为1 000。图像特征识别如图3 所示。

图3 图像特征识别结果

2.3.2 空间金字塔表示 由于特征包中的图像特征向量由SIFT 向量的分布直方图表示,因此SIFT 向量的空间信息被丢弃。使用空间金字塔来粗略地表示空间信息,在空间金字塔中,对象区域由层次网格划分。从每个网格中提取一个BoF 向量并进行连接,它们变成一个长向量。本研究采用1×1、2×2、3× 3 的3 层网格结构。

2.3.3 方向梯度直方图 基于梯度直方图的局部模式描述方法与SIFT 相似,BoF 完全忽略关键点的位置信息,HoG 则通过为每个稠密的网格构建直方图,并将其拼接为一个长特征向量来保持粗略的位置信息。尽管HoG 和BoF 具有不同的特征,但它们都是由许多局部梯度直方图组成的。研究将一个给定的区域划分为8×8 个单元,假设一个区域由3×3个单元组成,一个区域对应6×6 个单元,最后得到每个区域的一个2 916 dim 向量。

3 结果与分析

图4 为候选者数量对多幅食品图像和单幅食品图像分类率的影响。这些数字包括“Whole”“DPM”“Circle”“JSEG”和“GTBB”的结果。

在允许前10 名候选者的情况下,与多食品图像的基线方法相比,本试验获得了55.8% 的分类率,提高了40.4 个百分点;与单幅食品图像的基线方法相比,本试验获得了68.9% 的分类率,提高了4.7 个百分点。多幅食品图像的改进效果显著,证明该方法作为多食品图像检测方法是有效性的。

由于单个食品图像只包含一个食品,往往被食品的前景区域所覆盖,背景区域相对较小。本研究提出的方法与基线在分类上的区别率不大。另一方面,多个食品图像往往包含相对较大的背景区域和几个较小的前景区域,所以需要识别图像的局部而不是整体。

通过引入区域检测,GTBB 的结果可以被看作是理想的结果并且具有较高的性能。该方法的结果与普通“GTBB”的结果在单幅和多幅食品图像上的差异约为10 分。

在单区域检测方法中,DPM 是最为可行的方法,因为DPM 是最先进的对象检测方法之一。试验同时应用DPM 和MKL 得到的“DPM MKL”,结果与仅使用DPM 得到的结果进行比较。对于多食品图像,前10 名中“DPM MKL”的分类率为52.8%,“only DPM”的分类率为41.5%。对于单一食品图像,“DPM MKL”为65.4%,而“only DPM”为38.7%。结果表明,第二步融合了多种视觉特征,提高了分类率。

图4 DPM MKL 与only DPM 的分类率比较

4 小结

提出了一种食品图像检测多个食品的方法,使用多核学习(MKL)方法自适应地整合了颜色、纹理和SIFT 等多种图像特征。首先,通过融合多个区域检测器的输出来检测多个候选区域,以组合每个类别的图像特征MKL 能够估计最优权值。然后,将基于特征融合的食品识别方法应用于具有各种视觉特征的候选区域的边界盒。结果表明,多个食物项图像的分类率为55.8%,单一食物项图像的分类率为68.9%,相比于没有区域检测,分别提高了40.4 个百分点和4.7 个百分点,相比于单区域检测DPM 的结果,提高了11.3 个百分点和26.7 个百分点。

在未来的工作中,继续尝试通过引入食品物品之间的共现概率来提高识别的准确性。同时计划研究一种估计食物量的方法,更准确估计食物图像中所显示的每种食物的热量。

猜你喜欢

直方图向量分类
符合差分隐私的流数据统计直方图发布
向量的分解
分类算一算
聚焦“向量与三角”创新题
分类讨论求坐标
用直方图控制画面影调
数据分析中的分类讨论
向量垂直在解析几何中的应用
基于空间变换和直方图均衡的彩色图像增强方法
向量五种“变身” 玩转圆锥曲线