Print

发布时间: 2017-08-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.160603
2017 | Volume 22 | Number 8




    图像分析和识别    




  <<上一篇 




  下一篇>> 





食材数据库统计与对比实验性能分析
expand article info 郭礼华, 罗材
华南理工大学电子与信息学院, 广州 510640

摘要

目的 计算机智能分析用户的饮食是一项有意义的研究课题。传统的分析方法侧重于分析食物类型,可是中国是个美食之国,食物类型在各个区域间表现出极大的多样性,造成很难实现通用的食物自动分类方法。为此尝试针对食物的原材料,即食材进行自动分析收集并建立了一个真实环境下的食材图像数据库(FOOD-SCUT),此数据库包括目前中国市面上常见的70种食材类别,共8 015幅图片。方法 基于此数据库,本文尝试性地利用不同的传统特征和分类方法,对此食材图像数据库进行自动分类,以此来分析对比各种特征和分类方法的性能。对比性实验中所选用的特征包括:SIFT特征、颜色直方图特征、梯度直方图、SURF特征、LBP特征和Gabor特征等。除颜色直方图外其他特征都会利用词袋模型进行特征编码,而所选用分类方法包括:支持向量机(SVM)、朴素贝叶斯、随机森林、K-最近邻(KNN)算法。另外本文还尝试采用最近流行的深度神经网络方法对数据库进行特征学习和分类。结果 通过实验验证基于各种传统特征分类方法的实验性能,其中各种特征包括单特征和多特征组合两种方式,通过不断调整不同特征组合和分类识别算法及其参数,得到基于传统特征分类方法的最好分类性能。同时通过实验验证深度卷积神经网络模型的实验性能,深度卷积神经网络模型使用直接训练和预训练两种不同训练模式,并调整不同的网络层数和权重初始化方法后获得最好的分类识别性能。本食材数据库基于传统特征分类方法的最好分类准确率为88.98%,而基于深度神经网络分类方法上可以获得最佳的实验性能,即95.7%,这个准确率比基于传统特征分类方法高出6.72%。结论 数据库的统计结果表明此食材图像数据库类内数据具有极大的差异,可以作为分析食材的一个基础数据库。此数据库具有极高的应用价值,可以为后续各种基于食材分析应用提供相关分析数据,并且本文实验分析结果,对于后续用户开发相关的各种相关应用中,提供了模型和参数选择的建议,节省了用户选择模型和调参的实验过程。

关键词

食材分类; 精细图像分类; 图像识别; 深度学习; 卷积神经网络; 图像分类

Statistical analysis and comparative experimental performance on FOOD-SCUT data set
expand article info Guo Lihua, Luo Cai
School of Electronic and Information Engineering, South China University of Technology, Guangzhou 510640, China
Supported by: National Natural Science Foundation of Guangdong Province, China (2015A030313210)

Abstract

Objective The intelligent analysis of a user's diet via computer is a meaningful research topic.Traditional methods have focused on food recognition.However, China is a country with diverse food styles.Therefore, designing a generic food recognition method is difficult.This study focuses on food material recognition instead of food recognition.Thus, a FOOD-SCUT image data set is initially collected.This data set includes 70 types of food material that are commonly seen in people's daily lives.The total number of images is 8015. Method This study extracts different traditional features and uses different classification methods in implementing food material recognition to compare the experimental performance.The selected features include scale-invariant feature transform, color histogram features, histograms of oriented gradients, speeded-up robust features (SURF), local binary patterns, and Gabor features.All features are further encoded using the bag-of-words method, and the selected classifiers include the support vector machine, native Bayesian classifier, random forest, and K-nearest neighbor classifier.Moreover, this study designs a deep neural network for food material recognition. Result Various experiments have been performed to test the performance of the proposed food material recognition using different combinations of traditional features.By adjusting different features combination and selecting an appropriate classifier and its optimum parameters, the best recognition accuracy can be achieved using the proposed method based on the traditional features.Experiments further test the performance of the proposed method using a deep convolution neural network.The deep convolution neural network includes two different training modes, namely, direct training and pretraining modes.The best performance can be achieved after selecting different numbers of layer and adjusting the weight initialization method.The final experimental results show that the proposed method can achieve 88.98% recognition accuracy based on the traditional features.However, using the deep convolution neural network can achieve a recognition accuracy of 95.7%, which is 6.72% higher than the proposed method based on the traditional features. Conclusion The statistical analysis of the FOOD-SCUT data set in this study shows the diversity within classes and the similarity between classes.Therefore, this FOOD-SCUT data set can be used for further food material analysis.Moreover, the high application of the FOOD-SCUT data set can provide all original images for the further implementation of food material application.Moreover, the experimental results can provide suggestions concerning the selection of models and parameters to reduce the developing time in future studies.

Key words

food material classification; fined-grain image classification; image recognition; deep learning; convolutional neural network; image classification

0 引言

民以食为天,食物是人们生活中很重要的一部分。随着经济社会发展,人们的生活水平也随之提高,人们越来越关注自己的健康问题,其中有很多都是与饮食相关的,比如高血压、糖尿病、高血脂等都是由不健康的饮食习惯所引起的,人们对饮食的要求已不再仅仅是解决温饱问题。在健康理念的推动下,绿色食物和健康的饮食方式已经成为一种时尚,健身、食物安全、食物营养问题等与健康密切相关的问题得到人们越来越多的关注。

如果人们能够注意饮食方法及饮食宜忌的规律,并根据自身的需要选择适当的食物进行补养,不仅可以保证人体健康,还可以提高人体新陈代谢的能力,使人益寿延年。此外,很多疾病例如肥胖、糖尿病、高血压、高血脂等等都是可以通过有目的地选择摄入食物的种类,同时控制食物的摄入量来预防或治疗的。因此人们希望可以随时随地记录自己每天摄取的食物种类以及各种营养的摄入量,可以及时了解自己对各种营养成分的需求,从而能及时调整自己每天摄取的食物搭配,避免某些疾病的发生或通过食疗来缓解病痛。

食物识别相比于图像分类中的场景分类和目标检测来说,其主要难点在于食物通常是多种成分混合在一起,没有比较明显的分界,同时即使是同种食物也会由于不同地区或不同做法而导致其外观有比较明显差异,这就为食物的计算机自动分类带了极大的挑战。

传统图像分类主要是分为经典的特征组合方法以及特征学习的深度神经网络方法。其中,传统特征主要是使用包括SIFT(scale-invariant feature transform)[1]、颜色直方图、梯度方向直方图[2]、纹理特征、局部二值模式(LBP)、加速鲁棒特征(SURF)[3]等,然后使用包括词袋模型(BOW)、稀疏编码等方法对特征进行编码,最后使用分类器进行分类,其中常用的分类器有:支持向量机(SVM)、随机森林(random forest)、K-最近邻(KNN)算法、朴素贝叶斯算法等进行分类。而在深度神经网络方法中,卷积神经网络(CNN)方法对图像分类有极佳的分类性能,并且成为了目前主流的图像特征学习和分类方法。

任何图像识别的问题都离不开一个数据库,而一个好的数据库是有利于提高图像识别的效果。目前公开的数据库都是关于食物方面的图片,比如文献[4]给出了一个“Food-101”图像数据库,主要包括西式快餐的食物,如薯条,汉堡包等,以及少量的中式食物;文献[5]给出了一个50种类别的中式食物图像数据库;文献[6]则公开了一个更常见的Pittsburgh区域内的快餐食物图像数据库。可是食物具有区域性和多样性的特点。“Food-101”数据库和Pittsburgh快餐数据库都侧重于快餐食物,并不能很好地对中餐进行数据收集,而文献[5]数据库只有50种常见中餐,相比于中国渊源的饮食文化而言,其数据规模太小。目前还没有一个比较合适与中餐相关的图像数据库。

由于食物的多样性和区域性的特点,在中餐中,同样一种食物因为不同的烹饪方式,会呈现不同的样式。如果直接分析食物图像本身的话,由于不同亨饪方式造成同一个食物可能具有不同的形状、颜色等多种样式,会存在极大的挑战。为此,转换思路,尝试针对食物的原材料,即食材进行自动分析。为此收集和建立了一个真实环境下的食材数据库,此数据库包括中国目前市面上常见的70种类别的食材,共8 015幅图片。经过对数据库进行统计分析,表明数据库的图像样本具有多样性,另外,在查询公开文献后,并未找到相关的食材图像数据库,所以此数据库是已知的目前第一个公开的食材图像数据库。此数据库可以为后续的饮食健康分析管理系统提供最原始的图像素材。基于此数据库,本文尝试性地利用不同的传统特征和分类方法进行对比性实验。

本文主要工作包括:1) 收集并建立了一个多类别的食材图像数据库;2) 基于此数据库,利用不同的传统特征和特征组合方法,对食材图像数据库进行对比实验,系统全面地对比了各种特征和分类方法的性能,为后续研究工作者提供依据。

1 食材图像数据库统计分析

本文研究的食材识别问题,是属于精细图像类别分类问题。虽然在食物识别方面,已有几个公开数据库,但是在食材方面,目前仍未发现相应的图像数据库。因此尝试收集并建立了一个食材图像数据库,这个食材图像数据库总共有70种类别(这70种类别都是基于目前中国市场常见的食材而设定的),图像采集则是基于菜市场现实环境下,利用智能手机采集所得(手机的分辨率都在800万像素以上),数据库包含的食物图片共有8 015幅,平均每类图片有115幅,样本最少的类别(西红柿)有100幅,样本最多的类别(胡瓜)图片有143幅。食材数据库有以下特点:1) 由于是在菜市场环境下采集所得,图片中的食材都是符合实际生活的真实情况,每幅图片都包含多个同类食材;2) 该数据库中的部分类别在视觉和语义上都是非常相似的,比如青瓜和丝瓜在形状上具有极大相似性,许多绿色的蔬菜,如小白菜、菠菜、生菜、油麦菜和上海青等,其颜色非常相似;3) 由于拍照角度问题以及食材自身特点,同一类食材在颜色上和大小上都存在差异,而各类图像的平均图具有同质性。这些特点都为后续的食材分类带来了很大的挑战。下面结合数据库,具体分析数据中图像颜色及其分布的关系。

首先求取数据库中各个类别的平均图,其类别的平均图均匀无固定模式,说明类别内的图片差别大,而类别间的图片相似度高,这也是符合精细图像数据库的特点。另外,每类食材的平均图片基本都是同一种颜色,以绿色为主,因为收集的食材主要是常见的蔬菜类别,如菜心、生菜、菠菜等,同时收集的瓜类,如青瓜、丝瓜,也是主要以绿色为主,少量类别以偏红色为主,如胡萝卜和西红柿等。

接着统计每类图片的RGB颜色空间直方图分布,和其直方图分布所对应的均值、方差和偏度3个统计量。首先对每个类别的每幅图片都分别计算其RGB空间各自的颜色直方图分布,直方图的区间设置为0 255。由于采集过程中,不同采集源采用了不同分辨率的相机进行采集,为此对直方图进行归一化处理,即使用每个灰度值的像素总数占总数的百分比来计算直方图。

在得到每幅图片的直方图向量后,统计每个直方图向量的均值、方差和偏度3个统计量。其中均值、方差和偏度分别是一阶、二阶和三阶统计量,因此对每个类别,这3个统计量,分别可以得到对应RGB3个通道的9个向量结果。这些统计量分布结果表明各个类别的颜色通道都存在较大方差,这也进一步验证了数据库中类别内图片存在较大差别的特点,同时每个类别的偏度既有远大于0的,也有远小于0的,偏度接近于0的类别相对比较少,说明大多数类图片的总体分布都不是非常对称的。在方差分布中,可以看到海带类的各个颜色通道的方差是最大的,而在偏度分布中,其偏度则小于0,这也符合所采集的海带类图片的颜色分布特点,其颜色直方图分布总体上比较分散,但主要分为深绿色和亮绿色两种颜色,并且海带类的图片的颜色多数是比均值颜色要更加深。而方差最小的类别是白豆腐,但具有较大的偏度,并且其3种颜色通道的均值是较为接近的,当图片3种颜色通道均值比较接近的时候,表现在图片颜色上就是会呈现白色,但相对其他类别,白豆腐的多数图片颜色更多分布在平均值的左侧,偏向浅白色系列。此外,豆皮拥有较小的方差和比较大的偏度,说明其颜色分布比较集中,主要还是偏向黄色系列,但是低于均值颜色的图片要占多数,即比较多的豆皮图片偏向浅黄色。小葱则是拥有较大偏差和较小偏度的类别,因为小葱主要是由绿色组成,但有一部分图片是含有紫红色的葱头部分,这导致该类别的颜色会有较大偏差,特别是红色通道,而偏度远小于0,说明其颜色分布具有负偏态,即会有较多的图片颜色是大于均值颜色的,特别是有较多图片是包含有紫红色的葱头部分的,所以红色通道的偏度比其他两个通道要更加小。

2 传统特征提取与分类算法框架

基于前面提取的食材图像数据库,本节将利用传统的特征提取,并采用多种分类算法进行测试,观察数据库在各种图像特征和分类算法下的实验性能。

本文所利用到的特征主要有:

1) Dense SIFT(DSIFT)特征[7],其是在图像上进行密集采样提取SIFT特征的一种传统特征提取算法。

2) 颜色直方图特征,提取HSV颜色空间的直方图。

3) 梯度方向直方图(HOG)特征[2]

4) SURF特征[3],SURF特征是一种简化的SIFT特征。

5) 局部二值(LBP)特征[8]

6) Gabor滤波器的特征[9]

经过特征提取后,系统选用经典的词袋模型(BOW)[10]进行特征编码,然后采用分类器进行分类。所采用的分类器有:1) 支持向量机(SVM)[11];2) 朴素贝叶斯分类器[12];3) 随机森林分类器[13];4) K-最近邻分类器[14]

3 基于特征学习的深度神经网络方法的食材图像自动分类方法

除了使用传统的特征提取方法结合分类算法外,还尝试采用目前最流行的卷积神经网络(CNN网络)进行特征学习和识别。在实现CNN网络的训练和学习过程中,主要采用的网络结构是文献[15]中提出的经典的AlexNet网络结构,使用5层的卷积层,3层的Max pooling层和3层的全连接层。激活函数使用文献[16]中提出的ReLUs (rectified linear units),可以提高整个网络的训练速度以及准确率。

在使用CNN训练的时候,将分别使用两种形式进行训练学习:1) 预训练模式,即使用在ImageNet数据库上训练好的AlexNet网络参数作为系统的初始网络参数值,然后再利用本文的70种类别的食材图像数据库进行训练;2) 直接训练模式,即直接在70种类别的食材图像数据库上训练随机化初始网络参数的CNN网络,然后进行测试,得出预测的结果。在直接训练模式下,由于数据库的数量偏少,采用以下方式进行数据增强:

1) 对每幅训练图片都进行水平和垂直翻转;

2) 对每幅训练图片按照一定角度来进行顺时针翻转,翻转的角度是随机从0°到45°选择;

3) 利用文献[15]中数据增强方法,对图像进行裁剪。

同时,直接训练模式由于训练图片的数量在进行数据增强后还是偏小,所以采用的网络结构将从5层的卷积层缩小为3层卷积层。

4 实验

实验中使用本文建立的含70种食材的数据库,总共是8 015幅图片,采用多次随机采样模式,每次采样过程中,每类随机选择30幅图片作为训练集,剩余图片作为测试集,在不同的训练集合测试集下,所测实验结果取平均值作为最终的实验结果。本实验采用了3次随机采样,所以每次采样后,训练集有2 100幅图片,测试集则是5 915幅图片。由于通过智能手机拍摄得到的原始图片的尺寸都是3 264×1 840大小,针对智能手机计算和内存受限的环境下,同时为了提高训练速度和减小计算量和内存的使用,按照文献[7]中的设置,将所有的图片尺寸都统一调整成256×256。在实验中,卷积神经网络是使用了文献[17]中介绍的Caffe网络框架,而其他特征提取方法、BOW方法以及分类方法都使用了VLFeat[18]和OpenCV[19]两个第三方开源库。

实验中主要是使用单个特征以及多个特征组合,然后进行特征编码,再分别使用不同的分类器方法来进行对比实验。由于各种特征提取方法、特征编码以及分类算法都涉及众多参数,在此列举出主要参数选定的参数值和其选定依据。具体如下:

1) 对于DSIFT,对输入图片的采样区域设置为整个图片。对于DSIFT特征效果的影响主要有3个参数,分别是每个单元的大小binsize,步进值step和每幅图片使用的特征点数,为了确定这3个参数的最佳取值,分别对它们取不同数值做对比实验,在对比实验中分类方法统一使用SVM分类器,并且为了提高训练速度,K-means方法的$K $值都是设置为较小的100。对于每个单元大小binsize的对比实验,设置的数值是2,3,4,5,6,8,10和15;对于步进值step的对比实验,设置的数值是2,3,4,5,6,8,10和15;对于特征点数量的对比实验,特征点数量设置的数值分别是500,1 000,1 500,2 000,2 500和3 000,并且使用随机选取的方法。实验结果表明设置单元大小binsize为4,步进值step为4和特征点数量为1 000,可以取得最好的分类性能。

2) 对于HSV颜色直方图,首先是将图片从RGB空间转换到HSV空间,HSV空间中,H通道的取值范围是0 180,而S,V通道取值范围都是0 255,为了提高训练速度,对H,S,V这3个通道都是分别量化成32个区间,最终每幅图片得到的颜色直方图是一个96维的特征向量,并进行归一化。

3) 对于HOG特征,设置窗口大小是图片的尺寸大小。其他实验参数则是参见文献[2]来设置。

4) 对于SURF特征,主要影响其效果的参数是3个,分别是Hessian矩阵的阈值,高斯金字塔的个数和单个高斯金字塔的层数,针对这3个参数分别取不同数值做对比实验,分类器同样是使用SVM分类器,同时为了提高训练速度,设置K-means的$K $=100。对于Hessian矩阵,设置其取值为5,10,20,30,40,50,80,100,150,200;对于高斯金字塔的个数,设置其取值为2,3,4,5,6,8,10,15和20;对于单个高斯金字塔层数,设置其取值为2,3,4,5,6,7,8,9,10,12和15。实验结果表明,设置Hessian矩阵的阈值为50,高斯金字塔个数为4,以及单个高斯金字塔的层数是8时,可以取得最好的分类性能。

5) 对于SVM方法,因为总共有70个类别,所以使用的是多分类器类型。由于SVM有不同的核函数选择,为了选择适合该数据库的核函数,即分类性能最好的核函数,这里设置使用4种不同的核函数在不同字典单词数$K $下使用SVM进行分类的对比实验。在实验中特征是使用DSIFT特征,4种核函数分别是线性核函数,径向基核函数(RBF),Poly核函数和Sigmoid核函数。在实验中设置BOW字典的单词数$K $取值为100,150,200,250,300,400,500,600,700,800,900,1 000。相比于Poly核函数和Sigmiod核函数,径向基核函数(RBF)和线性核函数可以取得更好的识别准确率,而其中RBF基本都能获得比线性核函数更好的识别准确率,所以最终采用的核函数是径向基核函数。

6) 对于随机森林方法,主要有3个参数会影响随机森林的分类效果,分别是每棵树的最大深度,每个叶节点最少需要的样本数量和随机森林中最大的树的数量。针对这3个参数,设置对比实验。实验中是用DSIFT特征,K-means方法设置$K $=100。对于每棵树的最大深度,在对比实验中设置其取值为5,8,10,15,20,22,25和30;对于每个叶节点最少需要的样本数量,设置其取值为5,8,10,15,20,25和30;对于树的最大数量,设置取值是50,100,150,200,250,300,400,500,600,700,800,900,1 000。实验结果表明设置每棵树的最大深度是22,每个叶节点最少需要的样本数量是5,以及设置随机森林中树的数量最大是300棵时,可以取得最好的分类性能。

最后,上述特征方法和分类方法的最终参数选择如表 1所示。

表 1 特征方法的参数选择汇总
Table 1 Parameters selection summarization

下载CSV
方法 参数 数值
DSIFT 单元大小 4
步进值 step 3
每幅图片使用的特征点数 1 000
颜色
直方图
H 通道量化区间大小 32
S 通道量化区间大小 32
V 通道量化区间大小 32
HOG 窗口大小 256
区块大小 32
区块步进值 4
SURF Hessian 矩阵的阈值 50
高斯金字塔的个数 4
单个高斯金字塔的层数 8
SVM 核函数 RBF
类型 一对多分类
迭代次数 1 000
随机森林 每棵树的最大深度 22
叶节点最少需要的样本数量 5
树的最大数量 300

4.1 实验结果分析

设置完参数后,进行对比实验。本文的对比实验方法分为两种,分别是传统的特征提取方法以及深度学习方法,前者包括使用单特征编码进行分类的方法以及多个特征组合来进行分类的方法,而后者则是特征学习和分类结合的方法。

4.1.1 单特征分类方法

表 2展示了单特征分类方法的结果,其中Bayes是指朴素贝叶斯分类方法。这6种特征进行单特征分类,除了HSV颜色直方图外,都是在提取特征后,使用BOW方法进行编码,图 1展示了设置不同K-means的$K $值时使用DSIFT特征和SVM分类方法取得的识别性能,图 1$K $=900时可以得到77 %的准确率,但是其所需要的训练时间相对较长,而$K $=500时准确率为76.27 %,虽然准确率略有下降,但是却大大提高了训练速度,缩短了训练时间,所以设置$K $=500,而HSV颜色直方图则是归一化颜色直方图特征后就直接分类,不需要使用BOW方法进行编码。

表 2 各个特征在不同分类器的识别准确率
Table 2 Recognition accuracies of different feature using different classifiers

下载CSV
/%
特征 SVM RF Bayes KNN
DSIFT 76.84 69.18 75.78 62.71
HSV 83.99 84.06 82.18 70.85
HOG 54.89 49.51 49.92 42.14
SURF 76.93 65.49 76.82 65.21
LBP 24.31 20.10 23.44 22.71
Gabor 22.33 24.29 14.83 10.36
注:加粗字体表示该特征的识别准确率最高的分类器方法。
图 1 设置不同BOW字典单词数$K $时使用DSIFT特征和SVM分类方法的识别性能
Fig. 1 The recognition performance with word number $K $ of the DSIFT feature using SVM classifier

表 2中可以看出,直接使用HSV颜色直方图可以得到最好的分类效果,其次是DSIFT特征,而HOG、LBP以及Gabor3种特征在该食材数据库上的效果并不好。这是因为食材类别在颜色上是有较大区分度的,同时采集的食材图片还选择了不同光照条件,而HSV颜色直方图除了计算了颜色信息外,还计算了颜色的明亮程度,因此HSV颜色直方图可以取得最好的识别准确率;LBP特征和Gabor特征主要是提取图片中的纹理特征,但对于食材来说,大多数食材并没有较为明显的纹理,只有如丝瓜、青瓜等瓜类会有较为明显的纹理特征,但是在该数据库中瓜类图片的数量比较少,因此这两种特征不太适合该食材数据库。而HOG特征是通过计算和统计图像局部区域的梯度方向直方图来构成特征,其得到的描述子是具有几何和光学转换不变性,但不具备旋转不变性,即要求物体方向不能发生改变,但该食材数据库中食材图片在收集的时候为了具备更好的多样性,是通过多角度进行拍摄的,因此对于同一个食材是有着多角度多方向的图片,但是HOG特征不具备旋转不变性,因此使用该特征取得的识别准确率会远低于拥有旋转不变性的DSIFT和SURF特征。

4.1.2 多特征组合方法

对于多特征组合方法,是分别进行两个特征组合,3个特征组合以及4个特征组合的形式进行对比实验。在进行特征组合的时候,主要分别使用DSIFT和SURF特征搭配其他4种特征,因为这两种特征都属于尺度、旋转不变特征,并且在4.1.1节单特征分类方法中都取得较好的分类性能。另外,除了HSV颜色直方图外,其余特征都会使用BOW方法进行编码,然后将编码后得到的特征向量通过串联的方法联合起来再进行分类。首先是给出两个特征组合分类方法的结果,如表 3所示,它是两个特征组合分类方法各自使用不同的BOW词典单词数得到的最佳结果,总共有8种特征组合方式,图 2是DSIFT特征和HSV颜色直方图组合进行分类的结果,图 2是SURF和HSV颜色直方图组合进行分类的结果。由图 3可以得到使用SVM可以得到最佳的分类结果。

表 3 两个特征组合的识别准确率
Table 3 Recognition accuracies of two feature combinations

下载CSV
/%
组合 SVM RF Bayes KNN
DSIFT+HSV 86.52 86.55 85.8 72.67
DSIFT+HOG 71.49 66.4 72.65 52.33
DSIFT+Gabor 64.86 68.91 64.41 55.13
DSIFT+LBP 62.99 66.74 62.70 56.85
SURF+HSV 88.73 87.91 88.98 80.04
SURF+HOG 64.26 62.48 62.36 53.65
SURF+Gabor 67.72 66.61 65.49 57.42
SURF+LBP 69.29 64.41 68.26 63.71
注:加粗字体表示该组合识别准确率最高的分类器方法。
图 2 DSIFT和HSV颜色直方图组合分类的识别性能随着BOW的字典单词数$K $的增长而改变的结果
Fig. 2 Recognition accuracies with the work number $K $ using DSIFT and HSV histogram features
图 3 SURF和HSV颜色直方图组合分类的识别性能随着BOW的字典单词数$K $的增加而改变的结果
Fig. 3 Recognition accuracies with the work number $K $ using SURF and HSV histogram features

从两种特征组合分类方法的结果来看,HSV颜色直方图和DSIFT或者SURF搭配都能有比较好的分类效果,所以在继续进行3种特征组合的时候,固定的一种特征是HSV颜色直方图,然后分别使用DSIFT或者SURF,再搭配剩下的3种特征中的一种。表 4给出了3个特征组合进行分类分别得到的最佳结果,总共有6种组合方式。从3种特征组合分类方法的结果可以看出,Gabor特征比HOG以及LBP特征能提供更好的信息,可以得到更好的结果。因此,最后使用4种特征组合分类的时候,固定使用HSV颜色直方图和Gabor特征,因此有四种特征组合方法,每种方法在不同分类器下最佳实验结果如表 5所示。最佳的组合是SURF、HSV、Gabor和HOG特征的组合。

表 4 3个特征组合在不同分类器下的识别准确率
Table 4 Recognition accuracies of three feature combinations using different classifiers

下载CSV
/%
组合 SVM RF Bayes KNN
DSIFT+HSV+HOG 75.48 85.56 71.25 54.95
DSIFT+HSV+Gabor 77.10 86.62 76.83 68.37
DSIFT+HSV+LBP 76.59 86.25 76.77 67.85
SURF+HSV+HOG 67.57 84.57 68.1 55.87
SURF+HSV+Gabor 81.91 87.62 81.21 73.52
SURF+HSV+LBP 81.72 86.51 83.03 70.07
注:加粗字体表示该组合识别准确率最高的分类器方法。

表 5 4个特征组合在不同分类器下的识别准确率
Table 5 Recognition accuracies of four feature combinations using different classifiers

下载CSV
/%
组合 SVM RF Bayes KNN
DSIFT+HSV+Gabor+HOG 69.05 86.27 72.36 60.62
DSIFT+HSV+Gabor+LBP 75.16 85.92 82.71 70.78
SURF+HSV+Gabor+HOG 71.55 87.56 73.52 57.58
SURF+HSV+Gabor+LBP 77.59 85.92 80.82 73.81
注:加粗字体表示该组合识别准确率最高的分类器方法。

4.1.3 卷积神经网络(CNN)方法

本文采用经典的AlexNet网络结构模型实现CNN方法,分两种方式进行训练:1) 直接训练,即随机化网络参数后直接训练模型;2) 预训练,即使用在ImageNet数据库上训练好的AlexNet网络参数作为初始值再训练。在训练过程中,为了增加训练数据,首先将训练图片从256×256像素随机裁剪成227×227像素大小,并且训练图片使用水平翻转方法来增加一倍的训练图片数量,由于训练图片远少于文献[15]中使用的ImageNet训练集,所以训练次数设置为30 000次。在直接训练模式中,设置初始学习率是0.01,每训练500次对测试集进行一次测试,而使用预训练模式则是设置初始学习率为0.001,这样还可以继续提高识别准确率,每训练1 000次对测试集进行一次测试。由于使用的食材数据库数据量远少于文献[15]中使用的ImageNet训练集,所以分别对卷积层的层数以及权重的初始方法进行对比实验。首先是对权重的初始化方法进行对比实验,采用5层的卷积层,初始化方法分别是使用高斯分布初始化以及文献[20]中介绍的“Xavier”方法进行初始化,采用高斯分布初始化可以使用比较小的随机数初始化权重,并且使得权重中正数和负数的比例保持在1: 1,对于层数不深的网络是比较适合的,但是随着网络层次的加深,会导致最终输出的均值和方差均趋近于0,会出现尺度不平衡的问题;而使用“Xavier”则可以输入和输出的方差保持一致,即可以保证网络的尺度不变,防止梯度溢出问题的发生。实验结果如图 4所示,由图 4中可以看到,使用“Xavier”方法进行初始化可以取得更好的识别准确率,因此初始化方法采用“Xavier”初始化;对卷积层的层数进行对比实验,分别选择使用2层,3层,4层和5层的卷积层,实验结果如图 5所示,由图 5可以得出,在使用3层卷积层的时候可以取得最好的效果,所以将采用3层卷积层进行实验。

图 4 Xavier方法和高斯方法的识别准确率
Fig. 4 Recognition accuracies using the Xavier method and Gaussian distribution initialization method
图 5 使用不同卷积层的识别准确率
Fig. 5 Recognition accuracies using different layers

在设置好参数后,预训练模式和直接训练模式这两种方法的实验结果如表 6所示。图 6是两种结果准确率随着训练迭代次数增加而变化的曲线图。由表 6图 6可以看出使用预训练模式可以得到更好的效果,其识别准确率比直接训练模式要高出大约8 %,说明预训练模式是可以显著提高实验效果的。

表 6 CNN的最好识别准确率
Table 6 Best recognition accuracies of CNN

下载CSV
训练模型 准确率/%
直接训练模式 87.46
预训练模式 95.7
注:加粗文字是两种训练模式中准确率最高的一种。
图 6 CNN两种训练模式的识别准确率与迭代次数关系
Fig. 6 Recognition accuracies with iteration times using two CNN training model

最后,表 7给出了SVM,朴素贝叶斯分类,KNN,随机森林以及CNN这5种分类方法各自最好的分类效果的比较。由表 7可以看出,CNN方法的识别准确率是最好的,其次分别是SVM和朴素贝叶斯分类方法。

表 7 SVM,朴素贝叶斯分类,KNN,随机森林以及CNN的最好识别准确率
Table 7 Best recognition accuracies of SVM, naive Bayesian, KNN, random forest and CNN method

下载CSV
分类方法 准确率/%
SVM 88.73
Bayes 88.98
KNN 80.04
RF 87.91
CNN 95.7
注:加粗数值为最高准确率。

5 结论

本文介绍了一个食材数据库的收集和建立过程,根据公开文献查询,并未找到相关的食材图像数据库,而此数据库为了填补此空白,公开一个具有70种类别的食材图像数据库。本文利用一些高级统计量分析了数据库的统计特性。基于此数据库,本文选用常见的传统特征提取方法和分类方法对数据库进行测试分析,包括特征包括:DSIFT、HSV颜色直方图、SURF、HOG等特征。分类器包括:SVM、朴素贝叶斯、KNN、随机森林以及卷积神经网络方法。实验结果显示,使用预训练模式的CNN方法可以得到最好的结果95.7 %,其次是SVM方法和朴素贝叶斯分类方法,这种分类方法都是在使用SURF和HSV颜色直方图特征组合进行分类的时候得到的最好的分类结果。由于CNN是一种集成特征学习和特征分类的端端的学习方法,其非常适用用于大规模的图像数据的分类识别。但是在数据量较少的数据集,其容易出现过拟合,泛化能力有待提高。

本文所收集的Food-Scut食材图像数据库具有很强的类内差异,其可以作为后续基于食材分析应用的基础数据库。未来的工作将针对此数据库,有针对性地开发基于食材分析的相关应用。

参考文献

  • [1] Lowe G D. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91–110. [DOI:10.1023/B:VISI.0000029664.99615.94]
  • [2] Dalal N, Triggs B.Histograms of oriented gradients for human detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.San Diego:IEEE, 2005, 1:886-893.[DOI:10.1109/CVPR.2005.177]
  • [3] Bay H, Tuytelaars T, Van Gool L.Surf:speeded up robust features[C]//Proceedings of the 5th European Conference on Computer Vision.Berlin Heidelberg:Springer, 2006:404-417.[DOI:10.1007/11744023_32]
  • [4] Bossard L, Guillaumin M, Van Gool L.Food-101-mining discriminative components with random forests[C]//Proceedings of the 13th European Conference on Computer Vision.Cham, Switzerland:Springer, 2014:446-461.[DOI:10.1007/978-3-319-10599-4_29]
  • [5] Chen M Y, Yang Y H, Ho C J, et al.Automatic chinese food identification and quantity estimation[C]//Proceedings of SIGGRAPH Asia 2012 Technical Briefs.Singapore:ACM, 2012:#29.[DOI:10.1145/2407746.2407775]
  • [6] Chen M, Dhingra K, Wu W, et al.PFID:pittsburgh fast-food image dataset[C]//Proceedings of the 16th IEEE International Conference on Image Processing.Cairo:IEEE, 2009:289-292.[DOI:10.1109/ICIP.2009.5413511]
  • [7] Wang J G, Li J, Lee C, et al.Dense sift and Gabor descriptors-based face representation with applications to gender recognition[C]//Proceedings of the 11th International Conference on Control Automation Robotics & Vision.Singapore:IEEE, 2010:1860-1864.[DOI:10.1109/ICARCV.2010.5707370]
  • [8] Ma L H, Huang Y, Li J H. Improved SCSR algorithm on the basis of flexible LBP texture dictionary and multi-feature description[J]. Journal of South China University of Technology:Natural Science Edition, 2015, 43(3): 57–65. [马丽红, 黄茵, 黎剑晖. 基于灵活LBP纹理字典构造及多特征描述的改进SCSR算法[J]. 华南理工大学学报:自然科学版, 2015, 43(3): 57–65. ]
  • [9] Kamarainen J K, Kyrki V, Kalviainen H. Invariance properties of Gabor filter-based features-overview and applications[J]. IEEE Transactions on Image Processing, 2006, 15(5): 1088–1099. [DOI:10.1109/TIP.2005.864174]
  • [10] Nowak E, Jurie F, Triggs B.Sampling strategies for bag-of-features image classification[C]//Proceedings of the 9th European Conference on Computer Vision.Berlin, Heidelberg:Springer, 2006:490-503.[DOI:10.1007/11744085_38]
  • [11] Zhang X G. Introduction to statistical learning theory and support vector machines[J]. Acta Automatica Sinica, 2000, 26(1): 32–42. [张学工. 关于统计学习理论与支持向量机[J]. 自动化学报, 2000, 26(1): 32–42. ]
  • [12] Zhang X, Zuo M. Research on an improved naive Bayesian classifier used in Chinese text categorization[J]. Journal of Beijing Technology and Business University:Natural Science Edition, 2009, 27(4): 52–55. [张璇, 左敏. 一种改进的朴素贝叶斯分类器在文本分类中的应用研究[J]. 北京工商大学学报:自然科学版, 2009, 27(4): 52–55. ]
  • [13] Fang K N, Wu J B, Zhu J P, et al. A review of Technologies on random forests[J]. Statistics & Information Forum, 2011, 26(3): 33–38. [方匡南, 吴见彬, 朱建平, 等. 随机森林方法研究综述[J]. 统计与信息论坛, 2011, 26(3): 33–38. ]
  • [14] Zhang N, Jia Z Y, Shi Z Z. Text categorization with KNN algorithm[J]. Journal of Computer Engineering, 2005, 31(8): 171–172, 185. [张宁, 贾自艳, 史忠植. 使用KNN算法的文本分类[J]. 计算机工程, 2005, 31(8): 171–172, 185. ]
  • [15] Krizhevsky A, Sutskever I, Hinton G E.ImageNet classification with deep convolutional neural networks[C]//Proceedings of the 25th International Conference on Neural Information Processing Systems.Lake Tahoe, Nevdia, USA:Curran Associates Inc., 2012:1097-1105.
  • [16] Hinton G.A practical guide to training restricted Boltzmann machines[M]//Montavon G, Orr G B, Müller K R.Neural Networks:Tricks of the Trade.2nd ed.Berlin Heidelberg:Springer, 2012:599-619.[DOI:10.1007/978-3-642-35289-8_32]
  • [17] Jia Y Q, Shelhamer E, Donahue J, et al.Caffe:convolutional architecture for fast feature embedding[C]//Proceedings of the 22nd ACM International Conference on Multimedia.Orlando, Florida, USA:ACM, 2014:675-678.[DOI:10.1145/2647868.2654889]
  • [18] Vedaldi A, Fulkerson B.VLFeat:an open and portable library of computer vision algorithms[C]//Proceedings of the 18th ACM International Conference on Multimedia.Firenze:ACM, 2010:1469-1472.[DOI:10.1109/10.1145/1873951.1874249]
  • [19] Zelinsky A. Learning OpenCV---computer vision with the OpenCV Library (Bradski, G.R.et al.; 2008) [on the shelf][J]. IEEE Robotics & Automation Magazine, 2009, 16(3): 100.
  • [20] Glorot X, Bengio Y.Understanding the difficulty of training deep feedforward neural networks[C]//Proceedings of 13th International Conference on Artificial Intelligence and Statistics.Sardinia, Italy:PMLR, 2010:249-256.