一种基于图像处理的厨房油烟检测方法
技术领域
本申请涉及油烟检测
技术领域
,具体涉及一种基于图像处理的厨房油烟检测方法。背景技术
目前,在现有技术中油烟检测通常直接通过帧差法进行检测,如中国专利授权公开号为CN108760590B,公开了一种基于图像处理的厨房油烟浓度检测与干扰排除方法,其直接以固定帧进行帧差操作处理,进而获取油烟运动信息,采用该方法,若所选取帧数较小,可能存在油烟变化不明显,不易分辨出油烟变化情况;若选取帧数较大,可能存在油烟变化程度过大,导致变化过程细节信息丢失,不仅不便于获取基准油烟浓度变化信息,同时也使得油烟检测的准确率不高。
发明内容
针对上述问题,本发明提出了一种基于图像处理的厨房油烟检测方法,该方法包括以下步骤:
步骤:基础信息获取,括人员信息感知和油烟浓度信息感知,获取人员信息和油烟浓度信息,用于后续进行奖励矩阵的生成;
步骤:基于油烟浓度和人员动作生成奖励矩阵,用于获取基准人员动作序列;
步骤:帧差间隔确定,用于自适应获取帧差间隔,以提高油烟检测的准确率;
步骤:油烟检测,用于感知油烟浓度,进而进行油烟机风口控制。
有益效果:
(1)基于本申请所述奖励矩阵获取步骤,相较于现有技术有益效果在于通过奖励值确定当前浓度下的基准动作,便于获取基准油烟浓度变化信息;
(2)基于本申请所述帧差间隔确定步骤,相较于现有技术有益效果在于根据实际动作序列信息与动作序列信息对比获取偏差量,进而帧差间隔的自适应获取,提高了基于帧差法进行油烟检测的准确率。
具体实施方式
为了让本领域技术人员更好的理解本发明,下面结合实施例和附图对本发明展开描述。
为了实现本发明所述内容,本发明设计了一种基于图像处理的厨房油烟检测方法,包括以下步骤:
步骤,基础信息获取,该步骤的目的:获取人员信息和油烟浓度信息,能够带来的好处:用于后续进行奖励矩阵的生成,所用先验知识为:关键点检测网络。
输入为:视频序列和传感器检测值序列,进行人员信息感知和油烟浓度信息感知处理,输出为:人员信息和油烟浓度信息。
其中,所述人员信息感知具体为:通过关键点检测网络获取人体关键点、厨具关键点和容器关键点,所述人体关键点包括头部、手部、肘部、肩部和根节点共8个关键点类别;即上述网络输出为十个通道的热力图;所述厨具包括如锅铲、勺、筷子等;所述容器包括碗、罐等;关键点网络的输入为单帧图像,输出为关键点热力图,在本申请中以已知时间戳的视频序列中的各帧图像作为输入,获取对应的关键点热力图;
需要说明的是,在本发明中默认烹饪用具位置固定不变,又由于本申请相机位姿固定,则易将烹饪用具中心点位置在图像中标注出来,该操作由实施者根据厨房环境信息自行标注;以烹饪用具中心点为圆心,设置第一半径和第二半径,以圆心和第一半径生成第一圆形区域作为第一感兴趣区域,以圆心和第二半径生成第二圆形区域,第二圆形区域中不属于第一圆形区域的区域为第二感兴趣区域,需要说明的是,第二半径大于第一半径;当某帧图像中手部关键点位于第二感兴趣区域且厨具关键点位于第一感兴趣区域,则判该帧为翻炒动作,动作类别标识为2;当某帧图像中手部关键点位于第二感兴趣区域且容器关键点位于第一感兴趣区域,则判该帧为倾倒动作,动作类别标识为3;否则,判断为等待动作动作类别标识为1;各帧动作信息即为人员信息;
其中,所述油烟浓度信息感知具体为:通过油烟浓度检测传感器获取各时刻的油烟浓度,各时刻油烟浓度以采集信息的时间戳作为时间标识;上述人员信息和油烟浓度信息通过时间戳进行一一对应;
步骤,奖励矩阵获取:该步骤的目的:获取以浓度和动作为行信息和列信息的奖励矩阵,能够带来的好处:可基于奖励信息获取基准油烟浓度变化信息,考虑到人员动作及动作发生时间对油烟浓度变化的影响,获取到较为准确的基准油烟浓度变化信息;
输入为:人员信息和油烟浓度信息,进行奖励矩阵获取处理,输出为:奖励矩阵。
所述奖励矩阵获取具体为:
1)以油烟浓度作为行信息,以人员动作作为列信息生成初始奖励矩阵,初始奖励矩阵中元素值均为0,例如油烟浓度分为十个区间,为细化奖励矩阵以获取更好的分析效果,实施者可将区间个数设置为较大的值,人员动作基于上述人员信息获取为三个类别,则矩阵尺寸为10*3;
2)在不考虑人员动作自身特性影响的情况下,一组油烟浓度和人员动作可唯一对应一个奖励值,即在某个油烟浓度下,采取某种动作的奖励值,第个区间的油烟浓度以表示,第个类别人员动作以表示,则奖励值可表示为,表示以和为参数的映射函数,奖励值与油烟浓度变化值呈负相关关系,显然,在烹饪过程中,无论油烟浓度为任何值,动作对应的奖励值大小均应为,其中,表示在油烟浓度位于第个区间时采取倾倒动作的奖励值,表示在油烟浓度位于第个区间时采取翻炒动作的奖励值,表示在油烟浓度位于第个区间时采取等待动作的奖励值;
3)构建奖励矩阵生成网络,网络输入为离散时序下的序列;序列送入特征提取编码器中获取特征张量,特征张量送入奖励矩阵生成解码器中,输出奖励矩阵,也即网络输出为奖励矩阵,该奖励矩阵与初始奖励矩阵尺寸一致。
其中,奖励矩阵生成网络训练过程具体为:将多组基于不同场景下不同烹饪内容的视频序列获取的作为训练数据集,该网络的训练无需人为标注,网络的损失函数为;其中,为动作损失,具体地,,损失用于确保动作对应的奖励值大小满足,采用指数函数的目的为令变量小于0时,项较小,为小于1的数,变量大于0时,项较大,为大于1的数,同时为了扩大影响关系,添加了放缩系数,为大整数;为变化量损失,具体地,,即当浓度值变大时,当前奖励值应大于未来时刻的奖励值,反之亦然,通常采用放缩系数Q和指数函数来确保为小于0的数。
步骤,帧差间隔确定,该步骤的目的:自适应确定帧差法的帧差间隔,能够带来的好处:提高通过帧差法进行油烟检测的准确率。
输入为:奖励矩阵,进行帧差间隔获取处理,输出为:帧差间隔。
所述帧差间隔获取具体为:
1)根据上述所获取的奖励矩阵,基于初始状态进行最优动作组合选取,此时应考虑到人员动作自身特性影响,即对于烹饪过程而言,在未完成烹饪时,长时间处于等待状态会影响烹饪质量,本申请以炒菜过程为例,默认如蒸煮等烹饪方式不会产生较大的油烟;
2)最优动作组合选取策略为:获取烹饪过程持续时间、当前动作类别和当前动作持续时间,通过统计获取当前情况下各动作出现概率,并基于动作类别以该概率值与奖励矩阵元素分别相乘,获取修正奖励矩阵;
3)根据修正奖励矩阵,基于遗忘思想进行当前最优奖励选取,即,式中,为选择动作类别的最终奖励评价,为选择动作类别的当前时刻奖励值,为选择动作类别的未来奖励值;为遗忘系数,用于确定考虑之后奖励的程度,在本发明中设置为0.8;选择对应的动作类别作为当前选取的动作类别;
4)根据所选择的动作类别更新烹饪过程持续时间、当前动作类别和当前动作持续时间,重复步骤,直至,为预期烹饪时长,为经验值;至此,获取最优动作序列;
5)根据实际动作序列与基准动作序列进行偏差分析,具体地,进行逐帧对比,当存在差异时,将差异大小(也即动作类别标识差值,范围为-2,-1,1,2)通过修改的Sigmoid函数进行映射,映射值向下取整后即为帧间间隔修正值,所述修改的Sigmoid函数具体为:,初始帧间间隔由实施者自行设置,本申请中设置为4帧;
6)至此,实现自适应的帧间间隔获取,以用于提高后续帧差法检测油烟的准确率。
步骤,油烟检测,该步骤的目的:进行油烟浓度检测,能够带来的好处:准确感知油烟浓度,并根据油烟浓度进行通风口控制;
输入为:帧差间隔,根据帧差间隔采用帧差法进行处理,输出为:油烟浓度。
所述帧差法进行油烟检测为现有技术,在此不作赘述,实施者可选择现有实现方法即可,本申请提出的方案目的为给出自适应的帧差间隔后,再以帧差间隔选取视频帧进行帧差法检测油烟浓度,以提高油烟浓度的准确率。