一种基于词袋模型和adaboosting的食堂自助计价方法与流程

文档序号:18198752发布日期:2019-07-17 06:01阅读:197来源:国知局
一种基于词袋模型和adaboosting的食堂自助计价方法与流程

本发明涉及图像识别技术领域,特别涉及一种基于词袋模型和adaboosting的食堂自助计价方法。



背景技术:

几乎所有的工厂、单位、企业和学校等一般通过自办食堂的方式,解决员工、学生日常的就餐问题。这些食堂基本上会采用自主选择,刷卡结算的方式,节省了人力上的一些成本。但是,随着人们生活品质的上升,食堂的菜品种类也在逐渐增多,这对终端结算人员带来很大的压力。特别是消费高峰期的时候,往往会排起长龙,终端结算人员往往因为人流量大,菜品种类繁多等种种原因出错,引起不必要的经济纠纷,导致食堂的一部分经济损失。

图像识别一直是当前计算机图像领域的热点之一,利用计算机对图像进行处理、分析和理解,由此在各种情况下识别出目标。而随着科技的发展,建设智能化食堂显得尤为重要,而作为智能化食堂建设关键内容的菜品识别,受到越来越多的关注。但是在实际应用中,有一些复杂场景,一般的图像识别不能有效地应对曝光不足、光线明暗、弱小目标或遮挡目标等情况。由此,本产品采用词袋模型来处理图像,凭借其提取特征的强大可区分性,能够最大限度地与其他物体进行区分,即使物体处在非常复杂的条件之下,这些特征也能被较好地检测与识别出来;采用adaboosting分类器,其将弱分类器结合,变成强分类器,相比起一般的模式识别、tcs230颜色识别、hsv空间检测和形状检测等的餐盘识别方法,更为精准,分类识别效果好。

故,针对现有技术存在的技术问题,本发明旨在使用该技术解决食堂中排队时间长,结算出错率高的问题。



技术实现要素:

本发明针对传统的图像识别技术的缺点,提供一种基于词袋模型和adaboosting的食堂自助计价方法,能对用餐者装有所选菜品的托盘进行图像自动拍摄,并将拍摄图像传送至pc机进行连通域分块。采用sifi算法从分块图像中提取关键特征,构建图像库的一个局部特征库,采用基于权值分层的k均值聚类完成特征与视觉单词之间的映射,建立对图像的描述,构造最终的视觉词典。对一幅给定的图像,计算其局部特征与视觉单词的距离,并统计离每个局部特征最近的视觉单词的出现频率,一个视觉单词出现频次的词袋直方图就可以表示一幅图像。然后用基于adaboosting的分类器对图像进行训练,得到预置的训练库,最后利用学习的模型对测试图像进行分类有效完成对托盘中菜品的识别,利用得到的菜品的信息计算出用餐者选择的菜品的总价,通过ic卡、微信支付、支付宝支付等多种结算方式,完成整个结算过程,实现用餐者整个自助结算的过程。为实现以上目的,本发明提供一种基于词袋模型和adaboosting的食堂自助计价方法,所述计价方法包括:图像采集装置、pc机、结算终端装置。

所述图像采集装置每隔1秒采集当前结算区装图像,并将采集到的图像传送至所述pc机中保存。

所述pc机进一步包括结算判断装置、连通域标记模型、词袋模型、菜品识别模型,即对图像进行菜品识别计价后传到所述结算终端装置。

优选地,所述结算判断装置识别是否有托盘进入结算区等待结算,如有,则进行对图像的处理及识别操作。

所述连通域标记模型,标记托盘上的餐盘,将所述图像采集装置采集到的托盘图像分块,大大减少了冗余(背景)信息的引入,使图像所提供的有用信息的价值得以提升。

所述词袋模型,进行图像的特征提取,构造所有图像的视觉字典,并完成adaboosting分类器训练。

所述菜品识别模型,用基于adaboosting算法分类器识别得到菜品的种类及其数量,并将数据传送至所述结算终端装置。

所述结算终端装置,根据所述pc机识别得到的菜品与其价格对应的关系,计算出当前托盘所取菜品的总价,最后将支付信息呈现于显示屏上;

优选地,所述结算判断装置。所述pc机对当前收到的图片与原本保存在pc机的背景图片进行背景差分,得到差分图像。考虑到外界环境的噪声,设定一个合理的差分阈值,当差分值超过阈值时,证明有托盘进入结算区。

优选地,所述结算判断装置。用背景差分识别到有托盘进入结算区后,用光流法判断托盘是否静止,如果静止,进行连通域标记、词袋模型建立等后续操作。

优选地,所述连通域标记模型,将所述图像采集装置传送至所述pc机的托盘图像,先将图像转化为差分图像再转变成二值图像,利用轮廓搜索算法,通过对二值图像中白色像素的标记,让每个单独的连通区域形成一个被标识的块,即把托盘上装有餐盘的菜品标记出来,再在原图像上进行标记,得到连通域分块模型。优选地,所述词袋模型,采用尺度无关特征变换(sifi)从连通域分块图像中提取视觉词汇。再将所有提取到的视觉词汇集合在一起,采用基于权值分层的k-means聚类构造视觉词典,对训练集中的n幅分块图像分别提取laplace谱结构特征和sift局部特征并进行聚类,完成特征与视觉单词之间的映射,获得图像信息描述更完备的视觉词典clk和csk。定义每个聚类的中心为视觉单词即图像的“单词”,所有视觉单词的集合就是视觉词汇表。利用这些视觉单词来构造视觉词典,然后完成特征与视觉单词之间的映射,建立对图像的描述,构造最终的视觉词典。

优选地,所述词袋模型,采用尺度无关特征变换(sifi)从连通域分块图像中提取视觉词汇。再将所有提取到的视觉词汇集合在一起,得到图像库的一个局部特征的大型语料库。采用基于权值分层的k-means聚类构造视觉词典,对训练集中的n幅分块图像分别提取laplace谱结构特征和sift局部特征并进行聚类,定义每个聚类的中心为视觉单词即图像的“单词”,所有视觉单词的集合就是视觉词汇表,完成特征与视觉单词之间的映射,获得图像信息描述更完备的视觉词典clk和csk。最后对这两个父视觉词典进行权值分配处理,平衡两种图像特征在图像分类过程中所起的作用,获得总视觉词典。

优选地,所述词袋模型,经过特征提取、视觉词典构造等步骤后,对一幅给定的图像,计算其局部特征与视觉单词的距离,并统计离每个局部特征最近的视觉单词的出现频率,这样根据频率统计就可将一幅包含大量高维局部特征数据的图像转化为一个视觉单词数量的列表,计算一个视觉单词出现频次的词袋直方图就可以表示一幅图像。将图像的视觉信息用局部特征分布直方图描绘出来后,进行分类器的构建和训练,此处我们采用adaboosting分类器进行训练,完成图像分类。

优选地,所述菜品识别模型,应用经过训练的adaboosting分类器进行分类识别,得到菜品的种类及其数量,并将数据传送至所述结算终端装置。

优选地,所述结算终端装置,首先根据识别托盘图像的连通域个数,得到菜品数量的信息,并根据pc机已经识别得到的菜品与价格的对应关系,依照单价及数量计算出餐盘所含菜品的总价,最后,将托盘中所含菜品数量、单价及总价显示出来,并显示可供选择的支付方式,供用餐者支付。

与现有技术相比,本发明具有如下的有益效果:

本发明针对食堂这一复杂场景,实现对用餐者盛放菜品的托盘进行图像自动拍摄,通过对餐盘图像进行连通域标记分块,大大减少了冗余(背景)信息的引入,使图像所提供的有用信息的价值得以提升;

在词袋模型中,使用经典的sift算法提取特征点,该特征描述子具有尺度缩放不变性和旋转不变性,通过在尺度空间进行稳定特征点的检测,能够在一定程度上抵抗光照、视角、尺度以及仿射变换的影响,且抗噪声能力好;采用基于权值层次的k-means聚类视觉词典构造方法,该方法根据图像特征与视觉单词的距离不同,为其分配不同的权值,将这些权值求和作为图像的基于视觉单词库的直方图表示,有效地提高了分类的性能。相比于k-means聚类算法的不稳定性、不准确性和计算开销大等问题,降低了计算复杂度,提高了计算效率;

采用基于adaboosting算法的分类器,通过有放回加权随机抽样来产生分类器的训练样本,每个样本需要维持一个权重,权重越大,被抽为训练样本的概率越大。因此,利用改变样本集的组成能够训练出符合我们需要的模型,显著地提高了学习精度。

附图说明

图1是本发明一实施例方法结构框图

图2是本发明一实施例硬件结构示意图。

图3是本发明一实施例连通域标记示意图。

图4是本发明一实施例词袋模型基本流程图

图5是本发明一实施例基于权值分层的k-means聚类视觉词典构造图

图6是本发明一实施例adaboosting分类器算法基本流程图

图7是本发明一实施例图像采集流程图。

如下具体实施例将结合上述附图进一步说明本发明。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。

如图l所示,一种基于词袋模型和adaboosting提取的食堂自助计价方法,包括:图像采集装置9、pc机8、结算终端装置11,pc机8进一步包括结算判断装置11、连通域标记模型12、词袋模型13、菜品识别模型14。图像采集装置9采集当前时刻结算区的图像,并将采集到的餐盘图像传送到pc机8里;结算判断装置识别11是否有托盘进入结算区等待结算,如有,则进行对图像的处理及识别操作;连通域标记模型12,托盘上装有餐盘的菜品标记出来,再在原图像上进行标记,即将所集到的托盘图像分块;词袋模型13,提取整合得到所有图像的视觉字典,进行adaboosting分类器的构建和训练,完成图像分类;菜品识别模型14,菜品识别模型,用基于adaboosting算法的分类器识别得到菜品的种类及其数量,并将数据传送至所述结算终端装置10。

如图2所示,在一优选应用的实施例中,一种基于词袋模型和adaboosting的食堂自助计价方法的硬件设置包括:工作台l、等候区2、结算区3、显示屏4、刷卡区5、摄像头装置6、相机支架7、pc机8,其中:工作台1作为其他组成部件的载体,在工作台1上从左至右依次分别为刷卡区5、结账区3、等候区2,在结账区3正上方为安装在相机支架7的摄像头装置6,在刷卡区5的正前方为显示屏4,摄像头装置6将采集到的托盘图像传送至pc机8中,pc机8传送要显示的信息信息至显示屏4。

如图7所示,本发明包括3大步骤,步骤s1:图像采集装置9采集结算区图像;步骤s2:pc机8对采集到的图像进行预处理、提取特征点、构造视觉词典、adaboosting识别;步骤s3:结算终端装置11计算菜品总价并显示供用餐者支付。下面是菜品识别具体过程进行详细阐述如下:

步骤s1:图像采集装置每隔1秒采集当前结算区图像,并将采集到的结算区图像传送至pc机中。

步骤s2:pc机8对采集到的图像进行预处理、提取特征点、构造视觉词典、adaboosting识别;其中,进一步包括:

步骤s21:将当前t时刻收到的输入图像与预先存储在pc机的结算区背景图像进行差分运算,判断当前是否有托盘进入结算区,考虑到外界环境的噪声,需设定一个合理的差分阈值。将采集到的托盘图像分为n×n的像素fk(i,j),对每个像素都进行高斯分布建模,计算每个像素的l和σ,为每个像素都预设一个合理的差分阈值th,当当前图像的像素值与背景图像的像素值bk(i,j)的差分值超过阈值时,即|fk(i,j)-bk(i,j)|>th,证明有托盘进入结算区,且超过阈值的像素即是进入结算区的托盘。

步骤s22:当检验出有托盘进入结算区后,用光流法判断托盘是否静止。假设流(dx,dy,dz)在一个大小为m×m×m(m<1)的小窗中是一个常数,那么像素1…n,n=m×m×m中可以得到关于像素值ixn,iyn,izn变化的公式:

因为此方程组是一个超定方程,即方程组有冗余,方程组可表示为

采用最小二乘法求出dx、dy及dz后,当dx、dy及dz为0时,可判断托盘处于静止状态。

步骤s23:对当前时刻收到的输入图像与预存在pc机的空托盘图像做背景差分,同时也考虑到噪声的影响,需设定一个合理的阈值th1,并将差分图像转变成二值图像。

dk(x,y)=|fk(x,y)pk(x,y)|

其中,fk(i,j)是当前输入图像的像素值,pk(i,j)是预存在pc机的空托盘图像的像素值,dk(i,j)表示差分结果,mk(i,j)表示二值化结果。

步骤s24:利用轮廓搜索算法,通过对二值图像中白色像素的标记,让每个单独的连通区域形成一个被标识的块,即把托盘上装有菜品的餐盘标记出来,如图3所示,再在原图像上进行标记,得到连通域分块模型。

步骤s25:建立词袋模型,提取整合得到所有图像的视觉字典,进行adaboosting分类器的构建和训练,完成图像分类,如下图4所示。

步骤s251:利用sifi算法从连通域分块图像中提取视觉词汇。将图像与高斯核函数进行卷积,得到高斯差分尺度空间。然后,利用极值点检测初步确定关键点所在的位置和尺度,粗糙地探测候选特征点的位置,对这些关键点进行精确的定位,得到其尺度、方向等信息,确定所需的候选特征点的精确位置信息。

在候选特征点处对d(x,y,σ)进行泰勒展开如式下所示:

其中x(x,y,σ)是对应采样点的偏移量。对上式求导并令其等于0,得出极值点的位置信息:

联立上述两式,且只保留前两项:

小于设定阈值时,该点即被看做是低对比度点从而进行剔除。

由此,每一个特征便具备了四个参数,中心点的水平坐标,中心点的垂直坐标、尺度以及方向。将尺度空间图像l(x,y,σ)记为l(x,y),则在特征点(x,y)处的梯度模值m(x,y)及方向θ(x,y)可计算为

最后,对特征进行描述,以关键点为圆心取16×16的邻域窗口,然后将该窗口分成4×4个子区域,在每个子区域中计算8个方向(0°,45°,90°,135°,180°,225°,270°,315°)的梯度累加值,每个特征便可以用4×4×8=128维的向量来表示。接着,给每一个特征点分配方向和尺度,以保证sifi描述自具有图像旋转不变性。

按照这种方法对特征进行描述可以避免尺度变换、旋转变化的影响。同时,为消除光照变化对特征向量的影响,对特征向量进行归一化处理。设128维的特征向量为d=(d1,d2,…,d128),归一化处理后得到:

步骤s252:将sifi算法从分块图像中提取到的所有的视觉词汇集合在一起,采用基于权值分层的k-means聚类构造视觉词典,对训练集中的n幅分块图像分别提取laplace谱结构特征和sift局部特征并进行聚类,获得图像信息描述更完备的视觉词典clk和csk,如下5图所示。

首先对图像库中图像进行分层聚类,即对各类别的图像分别进行聚类,得到基于各个类别图像的视觉词典即子视觉词典clky和csky。(clky为第y类图像的laplace谱结构特征聚类中心,csky为第y类图像的sift局部特征聚类中心,其中ky为第y类训练图像聚类中心数,y=l,2,…m,m为图像类别数)

其次对这些子视觉词典的集合再次进行聚类,得到父视觉词典clk和csk;

最后对这两个父视觉词典进行权值分配处理,平衡两种图像特征在图像分类过程中所起的作用。

其中,c为总视觉词典,为聚类的权值系数。

步骤s253:在经过特征提取、视觉词典构造等步骤后,图像的视觉信息就可以通过局部特征分布直方图而被描绘出来,为了完成图像分类,我们进行分类器的构建和训练,此处我们采用adaboosting分类器进行训练,如下图6所示。算法如下:

(1)给定一系列训练样本(x1,y1),(x2,y2),…,(xn,yn),其中yi=0表示为负样本,yi=1表示其为正样本。n为一共的训练样本数量。

(2)初始化权重wi=d(i)。

(3)对t=1,…,t:

(4)归一化权对每一个特征f,训练一个弱分类器h(x,f,p,θ);计算对应所有特征的弱分类器的加权错误率εf:εf=∑iqi|h(xi,f,p,θ)-yi;然后选取最佳的弱分类器ht(x)(拥有最小错误率εt):εt=minf,p,θ∑iqi|h(xi,f,p,θ)|;再按照这个最佳弱分类器,调整权重:ei=0表示xi被正确分类,ei=1表示xi被错误分类;

(5)最后的强分类器为:

步骤s27:用经过训练的adaboosting分类器对测试集进行分类识别,得到菜品的种类及其数量,并将数据传送至所述结算终端装置。

步骤s31:结算终端装置首先根据识别托盘图像的连通域个数,得到菜品数量的信息,并根据pc机已经识别得到的菜品与价格的对应关系,依照单价及数量计算出餐盘所含菜品的总价

步骤s32:将托盘中所含菜品数量、单价及总价显示出来,并显示可供选择的支付方式,供用餐者支付。

综上实施例可见,本发明能对用餐者所取的菜品的托盘进行图像自动拍摄,对托盘图像建立词袋模型,adaboosting分类器训练,有效完成对托盘中菜品的识别,自动计算托盘中所含菜品的总价并呈现在显示装置上,有效解决食堂中排队时间长,结算出错率高的问题。

以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1