一种识别顾客体型的方法与流程

文档序号:18602014发布日期:2019-09-03 22:46阅读:835来源:国知局
一种识别顾客体型的方法与流程

本发明涉及一种用于餐厅的桌位分配方法,特别是可以自动识别顾客体型的智能桌位分配方法。



背景技术:

随着生活质量的提高,人们越来越倾向于外出就餐。为了使顾客能够尽快入座,智能桌位分配系统应运而生。桌位分配系统不仅能够避免就餐环境出现混乱,也能够缩短顾客的等待时间。

现有的桌位分配系统是根据顾客输入的就餐人数,随机安排就餐座位,安排的座位仅符合顾客的人数需求。然而,现在人们体型差距较大,如果仅考虑就餐人数而不考虑体型差距,安排的座位就无法符合一部人的身材需求。若全都按照平均身材安排座位,对于不符合平均身材的顾客来说座位的安排是不合理的,就餐舒适度也会相对下降。



技术实现要素:

本发明为了解决现有技术中存在的问题,提供一种自动识别顾客体型的智能桌位分配方法。

为了达到上述目的,本发明提出的技术方案为:一种识别顾客体型的方法,其特征在于包括如下步骤:

步骤一、在顾客一侧设置标杆,使用摄像头拍摄顾客的图像,并提取图像中的轮廓特征;

步骤1-1、将摄像头捕捉到的数字图像进行去噪处理;

步骤1-2、将去噪之后的图像进行灰度化处理;

步骤1-3、提取图像的centrist描述符;

1-3-1、对图像运用sobel算子进行平滑处理,消去局部纹理特征,得到sobel处理图像i;

1-3-2、根据sobel图像i像素间的大小关系,构造一个新图像i’,该新图像仍保留源图像的像素大小比较信号,忽略像素的值大小,可得到相邻的像素对有如下关系:

sgn(i(p1)-i(p2))=sgnci'(p1)-1'(p2))

p1、p2为相邻像素,当输入为正时,sgn函数输出为1;当输入为负时,sgn函数输出为0;当输入为零时,sgn函数输出为0;

1-3-3、求图像i’中每一个像素点的centrist编码值,将每个像素与其周围八个相邻像素逐个比较,若中间像素不小于与其相邻的像素,则在与其比较的相邻像素的位置置1,否则置0,接着将比较出的八个结果按同一方向聚集形成一个八位二进制数字,然后把该二进制数字转化为等值的十进制数字,该十进制数字为该像素的centrist编码值;

1-3-4、设置一个维度为x的centrist值直方图,每个centrist值都对应直方图的一个维度,将此centrist值对应维度的数值加1,以此方法遍历图像的所有像素最终得出一个centrist值直方图,即得到centrist描述符;

步骤1-4、运用svm分类器判断图像是否为人物;

1-4-1、将图片分割成m*n个图像小块,每a*a个邻接小块设为一个超块,将分类器分割成与超块个数相同的小单元;

1-4-2、设检测窗口的大小表示(h,w),则一个图像块的大小为一个超块的大小为(ahs,aws),设图像i的centrist值图像为c,检测从图像左上角(t,l)点开始,则判断图像内是否为一个人的公式如下:

1-4-3、创建一个辅助图像ai,j,a与图像i大小相同,ai,j的像素大小为:

则判断图像是否包含一个人的公式转化如下:

t表示转置,f为图像的特征向量;

1-4-4、创建的辅助图像a等于一个超块的大小,a(x,y)的像素值可以表示为:

根据图像块的大小得出判断结果的简化公式;

步骤二、检测图像中人物轮廓的高度与宽度:

步骤2-1、以摄像头拍摄到的图像为平面,建立坐标系,由此可以得到上述步骤的人物轮廓框的坐标,即(xmin,ymin)和(xmax,ymax),并且能够得到标杆上下两端的坐标,即(p,qmin)和(p,qmax)。步骤2-2、计算图像中人物高度h为:

h=ymax﹣ymin

人物宽度w为:

w=xmax﹣xmin

标杆长度q为:

q=qmax﹣qmin

步骤2-3、计算一个像素点表示的标杆长度:

ρ为一个像素点对应的标杆长度,l为标杆真实长度;

步骤2-4、计算得到人物的真实高度h为:

h=h*ρ

人物的真实宽度w为:

w=w*ρ;

步骤三、根据人物轮廓的高度与宽度划分体型进行分类,并将将分类结果作为最终结果输出。

对上述技术方案的进一步设计为:所述图像去噪处理采用的是中值滤波:观察图像中的数值并进行排序,将位于中间的中值作为输出,然后,丢弃最早的值,取得新的采样,重复这一步骤。

所述图像灰度化处理过程为,对图像rgb三个分量进行加权平均得到较合理的灰度图像:

gray(i,j)=s*r(i,j)+u*g(i,j)+v*b(i,j)

s,u,v分别为处理rgb三个分量的权值。r(i,j)表示图像的红颜色分量,g(i,j)表示图像的绿颜色分量,b(i,j)表示图像的蓝颜色分量。

所述步骤三中划分体型的过程为:

步骤3-1、设h≤h1,w≤w1为体型s,h≤h2,w≤w2为体型m,h≤h3,w≤w3为体型l,h>h3或w>w3为体型xl;

步骤3-2、使用svm分类器对梯形进行分类,将人物轮廓的高度和宽度作为体型分类的特征,作为svm分类器的输入;

步骤3-3、经过多分类器的分类,得到分类结果,将分类结果作为最终结果输出。

所述svm分类器使用如下线性核函数进行训练,

上述公式中使用的是l2范数。

所述步骤1-3中sobel算子为:

gx和gy分别为检测水平边缘和垂直边缘的sobel算子。

所述步骤1-4中判断图像是否包含一个人的标准为qtf≧0.8。

本发明的有益效果为:

本发明基于现有的人工智能技术,提出了一种自动识别顾客体型的智能桌位分配系统。该系统通过摄像头拍摄人物,然后传输给识别模块,自动识别人物的轮廓信息,然后根据设立的标杆长度对比识别到的轮廓信息,进一步估算出人物的高度和宽度,将高度和宽度传送给分类器,分类器自动划分顾客的体型尺寸,然后按照划分结果自动给顾客安排餐厅桌位,

本发明一种自动识别顾客体型的智能桌位分配系统,能够根据顾客的体型来安排宽窄不同的座位,照顾到不同体型的顾客,那么一是可以避免用餐现场出现混乱,不会浪费不必要的等待时间,二是也可以让较瘦或较胖身材的顾客坐到更加舒适的座位,增加用餐舒适度。

附图说明

图1为本发明实施例的程序流程示意图;

图2为本发明实施例的程序结构示意图。

具体实施方式

下面结合附图以及具体实施例对本发明进行详细说明。

实施例

本实施例基于一种识别顾客体型的方法设计了一种自动识别顾客体型的智能桌位分配系统中,该系统硬件部分包括机身、底座以及标杆,机身的摄像头能够捕捉人物,取号机能够根据算法运行结果打印安排的餐桌号、顾客就餐人数、预计等位之间等基本信息,方便顾客。其结构包括电源、按钮、显示模块、识别模块、总控制模块、打印模块、底座、标杆等。

其中,识别模块中用于捕捉人物的摄像头装于显示模块上方,便于捕捉人物全身;显示模块位于机身上方,便于人物观看和操作;识别模块、打印模块、总控制模块集中在一个控制板内,放置在机身下方,使机身看起来整洁美观;底座增加了整台机器的稳定性。

其中,电源给机器的电路供电,总控制模块控制显示模块、识别模块、打印模块的工作,集中处理三个模块的工作结果。

本实施例中,电源,用于对整个系统进行供电,本实施例中采用的是220v的交流电源,用于给机器的电路供电。按钮为控制电源打开和关闭时使用,本实施例中采用的是单控开关。显示模块用于显示摄像头拍摄到的画面以及桌位分配的基本信息,本实施例中采用的是红外触摸屏。识别模块用于识别摄像头拍摄画面中的人物轮廓信息,本实施例中采用的是红外摄像头。总控制模块用于接收识别模块的识别结果,根据识别结果分配桌位,然后将结果传送给打印模块。打印模块用于打印桌位安排结果,本实施例中采用的是80mm热敏打印机。底座用于固定桌位分配系统及机器。标杆用于测量人物轮廓的高度和宽度,本实施例中采用的是长度为200厘米,精度为1厘米的标杆,标杆设置于底座上,摄像头拍摄任务图像时将标杆一起拍入图像。

如图1和图2所示,本发明一种自动识别顾客体型的智能桌位分配系统中,算法部分基于boost-svm的提升算法,用于识别人物轮廓信息,在以误差最小的目标下,计算人物轮廓宽度和高度,并将其划分为不同型号。算法流程为:结合centrtist和svm进行轮廓特征二分类,轮廓框内为人,则计算人物轮廓特征框的高度和宽度,然后将高度和宽度输入给新的svm进行多分类,将人物轮廓分为不同的型号。

其中工作过程分为三个模块,分别为提取轮廓特征、检测人物高度宽度、划分体型三个部分。

模块a.其提取轮廓特征工作过程如下:

步骤a-1.将摄像头捕捉到的人物数字图像进行去噪预处理,去噪处理采用的是中值滤波:观察图像中的数值并进行排序,将位于中间的中值作为输出。然后,丢弃最开始的值,取得新的采样,重复这一步骤。

步骤a-2.将去噪之后的人物图像进行灰度化处理:对图像的rgb三个分量进行加权平均得到较合理的灰度图像,公式如下:

gray(i,j)=s*r(i,j)+u*g(i,j)+v*b(i,j)

i,j为该像素坐标值。s,u,v分别为处理rgb三个分量的权值,本实施例中,分别取三个权值为0.299、0.578、0.114。r(i,j)表示图像的红颜色分量,g(i,j)表示图像的绿颜色分量,b(i,j)表示图像的蓝颜色分量。

步骤a-3.提取图像的centrist描述符,其过程如下:

步骤a-3-1.对预处理后的图像运用sobel算子进行平滑处理,本实施例中对图像先后进行横向和纵向的边缘检测,消去局部的纹理特征,得到sobel处理图像i。本实施例中采用的sobel算子为:

gx和gy分别为检测水平边缘和垂直边缘的sobel算子。

步骤a-3-2.根据sobel图像i中像素间的大小关系,构造一个新图像i’。

例如,若原图像i为则新图像i’可为即只保留原图像像素间的大小关系。该新图像i’仍保留源图像的像素大小比较信号,忽略像素的值大小,可得到相邻的像素对有如下关系:

sgn(i(p1)-i(p2))=sgn(i'(p1)-i'(p2))

p1、p2为相邻的像素对。当输入为正时,sgn函数输出为1;当输入为负时,sgn函数输出为0;当输入为零时,sgn函数输出为0。

步骤a-3-3.求图像i’中每一个像素点的centrist编码值。将每个像素做为中心像素与其周围八个相邻像素逐个比较,若中间像素不小于与其相邻的像素,则在与其比较的相邻像素的位置置1,否则置0,接着将比较出的八个结果按同一方向组合形成一个八位二进制数字,然后把该二进制数字转化为等值的十进制数字,该十进制数字为该像素的centrist编码值。

步骤a-3-4.本实施例中设置一个维度为256的centrist值直方图。每个centrist值都对应直方图的一个维度,将此centrist值对应维度的数值加1,以此方法遍历图像的所有像素最终得出一个centrist值直方图,即可得到centrist描述符。

步骤a-4.运用svm分类器判断摄像头拍摄的是否为人。本实施例采用两类别识别的支持向量机,选择线性核和直方图交叉核(hik),缓存大小为40mb,惩罚因子为1(可根据实际情况调整),惩罚因子的系数为1,收敛精度为0.001,期望的回归精度为0.1,邻域大小为0.5,允许使用启发式,根据上述参数设置训练了一个级联分类器,这样既能加快检测速度,又能提高检测精度。

本实施例中支持向量机的训练过程:把不含人物的图像作为svm训练分类器的负样本集m,从m中随机抽取少量图像作为负样本训练集m1,用正样本n和负样本训练集m1训练一个svm分类器s1,然后用s1检测负样本训练集m,得到新的负样本训练集m2,用正样本n和负样本训练集m2训练一个svm分类器s2,不断重复上述过程,直到负样本集m中所有图像都至少被一个分类器分类为负样本。最终用正样本集n和上述过程中得到的所有负样本集mi(i=1,2,…)训练得到一个线性svm分类器sliner。采用线性svm分类器sliner检测负样本集m得到新的负样本集mhik,然后用正样本集n和负样本集mhik训练得到hiksvm分类器shik。

步骤a-4-1.本实施例中将图片分割成9*4个图像小块,每2*2个相邻小块设为一个超块。将训练好的线性分类器分割成与超块个数相同的小单元wi,j,将图像的特征向量分割为fi,j,则判断图像内是否为一个人的公式如下:

q是已经训练出的线性分类器,qi,j是把该分类器分割乘与超块个数相同的小单元,qki,j表示qi,j的第k维的大小;

步骤a-4-2.设检测窗口的大小表示(h,w),则一个图像块的大小为一个超块的大小为(2hs,2ws),设图像i的centrist值图像为c,检测从图像左上角(t,l)点开始,则判断图像内(排除边缘像素)是否为一个人的公式如下:

步骤a-4-3.创建一个辅助图像ai,j,a与图像i大小相同。ai,j的像素大小为

则判断图像(排除边缘像素)是否包含一个人的公式可转化如下:

步骤a-4-4.创建的辅助图像a等于一个超块的大小。a(x,y)的像素值可以表示为:

由于nx=8,ny=3判定结果可以表示为:

若判定结果qtf≥0.8,则判定轮廓框内识别到的为人。

模块b.其检测高度、宽度工作过程如下:

步骤b-1.以摄像头拍摄到的图像为平面,建立坐标系,由此可以得到上述步骤识别到的人物轮廓框(左上角和右下角)的坐标,即(xmin,ymin)和(xmax,ymax),并且能够得到标杆上下两端的坐标,即(p,qmin)和(p,qmax)。

步骤b-2.计算图像中人物轮廓高度h为:

h=ymax﹣ymin

人物轮廓宽度w为:

w=xmax﹣xmin

标杆长度q为:

q=qmax﹣qmin

步骤b-3、计算一个像素点表示的标杆长度,标杆真实长度为l:

ρ为一个像素点对应的标杆长度,l为标杆真实长度;

步骤2-4、计算得到人物的真实高度h为:

h=h*ρ

人物的真实宽度w为:

w=w*ρ;

模块c.其划分体型工作过程如下:

步骤c-1.本实施例中规定h≤160,w≤33为体型s,h≤170,w≤38为体型m,h≤180,w≤43为体型l,h>180或w>43为体型xl。本实施例中,采用多类别识别的svm,使用的线性核函数以提高分类速度,缓存大小为40mb,惩罚因子为1000(可根据实际情况调整),惩罚因子的系数为1,收敛精度为0.001,期望的回归精度为0.1,领域大小为0.5,允许使用启发式,根据上述参数设置训练一个多分类器,能够将输入分为8类,分别为无分类、s、m、l、xl,预留一个分类根据实际情况调整。线性核函数公式如下:

本实施例中使用的是l2范数。

步骤c-2.将人物轮廓的高度和宽度作为体型分类的特征,作为svm分类器的输入。

步骤c-3.经过多分类器的分类,得到分类结果,将分类结果作为最终结果输出。。

本发明的技术方案不局限于上述各实施例,凡采用等同替换方式得到的技术方案均落在本发明要求保护的范围内。

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