一种基于关键点定位的厨师帽检测方法
技术领域
本发明属于视频监控技术领域,尤其是涉及一种基于关键点定位的厨师帽检测方法。
背景技术
近年来,餐饮行业的后厨卫生问题越来越被国家和社会所重视,现在做的比较好的餐饮行业,后厨基本上都是实行透明化,顾客可以直接观察到后厨的工作状态,但是有时由于空间的关系,无法对后厨进行改造,那么怎样向顾客保证后厨的卫生呢。目前大多数后厨的规范性是通过市场监督,这种监督模式容易造成形式主义,这既是对消费者的不负责任,也是餐饮行业的漏洞。本发明方案致力于解决厨房中厨师的位置的定位及其是否按照国家规定佩带厨师帽的检测技术,通过监控手段自主识别后厨工作者的工作状态,自动报警,高效、准确的完成明厨亮灶工作。
现在市场上已经出现一些基于人工智能的厨师帽检测算法,但是大多数采用的模式是检测和识别,检测指的是检测目标的位置,识别指的是识别目标的类型;这种模式通常是检测到人之后,先把人的位置框截取下来,送进提前训练好的分类模型,判断有无按规定佩戴好厨师帽,并输出结果;但是这种模式有一个问题是,截取的人的位置提供的图像信息存在干扰因素,我们应该保证截取的目标尽量只保留我们关注的特征,其它的特征应该尽量的少出现或者不出现;因此这种传统的检测、识别模式在应用这种小特征目标检测时,效果往往不稳定,极易出现误报警;针对此问题,本发明所采用的技术方案是基于关键点定位获得目标的图像信息特征,保证了图像信息95%以上只保留厨师帽的信息特征,之后将图像信息送入分类器,输出精确的分类结果。
发明内容
有鉴于此,为克服上述缺陷,本发明旨在提出一种基于关键点定位的厨师帽检测方法,
为达到上述目的,本发明的技术方案是这样实现的:
一种基于关键点定位的厨师帽检测方法,包括:
S1、构建检测关键点定位的训练样本集;获取不同的场景的图像,并按照鼻子、眼睛,嘴巴,耳朵的位置标签对样本进行标注;
S2、将制作好的训练集送入网络模型进行训练,并根据检测结果提取各个目标的眼睛的关键点信息,并向上偏移一定数量的像素,向左、向右偏移一定数量的像素,提取厨师帽的有效图像区域,作为分类模型待分类的样本;
S3、构建分类模型的训练样本集;
S4、搭建基于Tiny-darknet网络的分类关键点检测模型;
S5、配置训练参数,训练分类关键点检测模型;
S6、将获取的图像送入分类关键点检测模型,将将步骤S2中获取的图像信息送入步骤S5中预先训练好的分类关键点检测模型进行处理,并输出分类结果。
进一步的,所述步骤S2中,将制作好的训练集送入CenterNet检测网络模型进行训练。
进一步的,所述步骤S2中,根据检测结果提取各个目标的眼睛的关键点信息,并向上偏移50~70个像素,向左、向右偏移20~30个像素,提取厨师帽的有效图像区域。
进一步的,所述步骤S3的具体方法如下:
获取不同的场景的图像,并对这些图像以顺时针、逆时针各旋转15度,对比度0.8,锐化0.8进行数据增强,从而得到训练样本数据集,并将训练样本集以随机10:1的方式分为训练集及测试集,以Caffe作为深度学习框架,并将训练集和测试集转换成Caffe能识别的lmdb格式,模型训练根据BP算法,利用SGD算法进行迭代训练,使网络训练最终输出的loss值下降至较低值。
进一步的,loss值的计算方法如下:
loss值的计算方法如下:
训练网络的loss分为分类损失Lconf(x,c)和回归损失Lloc(x,l,g),总的损失是二者的加权和。利用网络输出的预测框的位置l(x,y,w,h)与置信值confidence跟真实值g(x,y,w,h)计算损失,得到最终的loss,计算公式为:
其中i表示第i个预测框,j表示目标所属类别,yij表示第i个预测框所表示的类别与第j个类别是否匹配,匹配为1否则为0,xij表示第i个预测框属于第j个真实框所代表的类别的概率,Lconf(x,c)表示分类的损失;xi表示如果第i个预测框与真实框之间的IOU大于0.7就等于1,小于0.3时等于0,否则不参与训练;在实际过程中,如果Ncls和Nloc设置的差距过大,用参数β平衡二者。
进一步的,所述步骤S4的具体方法如下:
裁剪Tiny-Darknet网络,网络中包含了15个卷积层,6个池化层,1个全连接层,将神经网络网络生成的特征图以Blob结构的形式进行前向传播和反向传播,全连接层输出2类结果,这2类结果代表的含义是佩戴厨师帽和未佩戴厨师帽。
进一步的,所述步骤S5的具体方法如下:
设置训练网络模型的超参数,设置初始学习率为0.01,并且每隔固定的迭代次数,将学习率降为原来的1/10,总共降3次,训练的总迭代次数一般设置为总样本数量的10倍;
模型训练根据BP算法,利用SGD算法进行迭代训练,使网络训练最终输出的loss值下降至较低值,训练完成后,获取分类场景图像的模型。
进一步的,所述步骤S6中输出的分类结果包括图像所属的类别和置信度。
相对于现有技术,本发明所述的基于关键点定位的厨师帽检测方法具有以下优势:
本发明所述的基于关键点定位的厨师帽检测方法不仅普适性强,检测过程是通过先定位关键点,之后再提取眼睛以上的区域,针对小目标检测同样有效;并且基于深度学习,检测精准,以CenterNet、Tiny-Darknet卷积神经网络为基础,进一步优化网络结构,占用内存小,实时性高,同时分类精准,满足实际应用需求
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的监控设备应用场景示意图;
图2为本发明实施例所述的检测方法流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
下面将参考附图并结合实施例来详细说明本发明。
如图1所示,监控设备安装于相应位置,一般都安装于监控设备上方,可以获取较大的监控区域范围,各个后厨对应各个监控设备。
如图2所示,本发明采用基于CenterNet检测网络定位的后厨人员的各个关键点信息,根据各个场景中的监控设备获取的实时画面信息进行实时跟踪,并根据关键点信息定位后厨人员的眼睛以上区域,只保留有无厨师帽的特征信息,之后将图像信息送入基于Tiny-darknet网络的分类模型进行分类,输出结果
(i.)构建检测关键点定位的训练样本集。从监控设备实际应用的各个场景,网上公开的数据集获取大量的不同的场景的图像,并按照鼻子、眼睛,嘴巴,耳朵的位置标签对样本进行标注。
(ii.)将制作好的训练集送入CenterNet检测网络进行训练,并根据检测结果提取各个目标的眼睛的关键点信息,并向上偏移50~70个像素,向左、向右偏移20~30个像素,提取厨师帽的有效图像区域,作为分类模型待分类的样本。
(iii.)构建分类模型的训练样本集。从监控设备实际应用的各个场景,网上公开的数据集获取大量的不同的场景的图像,并对这些图像以顺时针、逆时针各旋转15度,对比度0.8,锐化0.8进行数据增强,从而得到大量的训练样本数据集,并将训练样本集以随机10:1,,的方式分为训练集及测试集,以Caffe作为深度学习框架,并将训练集和测试集转换成Caffe能识别的lmdb格式;模型训练根据BP(反向传播)算法,利用SGD(随机梯度下降)算法进行迭代训练,使网络训练最终输出的loss值下降至较低值。
(iv.)搭建基于Tiny-darknet网络的的深度学习框架。为满足不同性能的监控设备的使用,需要保证网络模型占用的内存足够小,进一步裁剪Tiny-Darknet网络,网络中包含了15个卷积层,6个池化层,1个全连接层,将神经网络网络生成的特征图以Blob结构的形式进行前向传播和反向传播,全连接层输出2类结果,这2类结果代表的含义是佩戴厨师帽和未佩戴厨师帽。
(v.)配置训练参数,训练分类模型。设置训练网络模型的超参数,设置初始学习率为0.01,并且每隔固定的迭代次数,将学习率降为原来的1/10,总共降3次,训练的总迭代次数一般设置为总样本数量的10倍。模型训练根据BP(反向传播)算法,利用SGD(随机梯度下降)算法进行迭代训练,使网络训练最终输出的loss值下降至较低值。训练完成后,获取分类场景图像的模型;
(vi.)分类关键点检测模型送入的图像。将(ii)中获取的图像信息送入(v)中预先训练好的模型进行处理,并输出分类结果。模型输出的分类结果包括图像所属的类别和置信度;
所述步骤(iii)中loss值的计算方法如下公式所示。训练网络的loss分为分类损失Lconf(x,c)和回归损失Lloc(x,l,g),总的损失是二者的加权和。利用网络输出的预测框的位置l(x,y,w,h)与置信值confidence跟真实值g(x,y,w,h)计算损失,得到最终的loss,计算公式为:
其中i表示第i个预测框,j表示目标所属类别,yij表示第i个预测框所表示的类别与第j个类别是否匹配,匹配为1否则为0,xij表示第i个预测框属于第j个真实框所代表的类别的概率,Lconf(x,c)表示分类的损失。xi表示如果第i个预测框与真实框之间的IOU大于0.7就等于1,小于0.3时等于0,否则不参与训练。在实际过程中,如果Ncls和Nloc设置的差距过大,可以用参数β平衡二者(如Ncls=128,Nloc=1000,则β可设置为10)。
本发明适用于大多数餐饮行业后厨厨师帽检测的场景,可以根据实时监控的图像信息,对没有佩戴好厨师帽的工作人员发出提示或者对未佩戴厨师帽的工作人员发出警告并报警。
通过关键点定位获取后厨人员的厨师帽区域的图像信息,屏蔽了其它特征的干扰,提高了检测识别的准确率,可以满足实际需求。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。