一种基于图像数据的煲仔炉食品成熟度检测方法及装置转让专利

申请号 : CN202311523205.3

文献号 : CN117237939B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周楠王迪凡

申请人 : 沈阳东方和利厨业有限公司

摘要 :

本发明实施例提供了一种基于图像数据的煲仔炉食品成熟度检测方法及装置,包括:获取煲仔炉上的每帧图像;对每帧图像进行预处理,对预处理后图像的每一个像素点进行有效性计算,根据计算的每一个像素点的重要程度值对第二图像的暗通道部分进行调整,得到大气光照估计值,根据大气光照估计值,对第二图像采用去雾算法得到去雾图像,根据去雾图像,得到煲仔炉食品成熟度检测结果。这样,能够提高大气光照估计结果的准确性,降低煲仔起锅时的雾气和白色食材干扰,实现快速有效准确的进行煲仔炉食品成熟度的检测。

权利要求 :

1.一种基于图像数据的煲仔炉食品成熟度检测方法,其特征在于,包括:获取所述煲仔炉上的每帧图像;

对所述每帧图像进行预处理,得到第二图像;

对所述第二图像的每一个像素点进行重要性计算,得到所述第二图像每一个像素点的重要程度值;

根据所述第二图像每一个像素点的重要程度值,对所述第二图像的暗通道部分进行调整,得到大气光照估计值;

根据所述大气光照估计值,对所述第二图像采用去雾算法得到去雾图像;

将所述去雾图像输入实例分割网络,得到所述去雾图像各个食材的分割图像;

将所述各个食材的分割图像输入成熟度检测神经网络,得到所述煲仔炉食品的成熟度检测结果;

对所述第二图像的每一个像素点进行重要性计算,得到所述第二图像每一个像素点的重要程度值,包括:利用帧差法对相邻两帧图像对应的第二图像进行处理,得到帧差图像;

将所述帧差图像与相邻两帧图像对应的第二图像分别进行点乘运算,获得两张点乘图像;

对所述两张点乘图像中相对应的各个像素点的值取均值,并进行归一化处理,得到均值图像;

根据所述均值图像,确定所述第二图像每一个像素点的重要程度值;

进一步包括:所述第二图像每一个像素点的重要程度值的计算公式为:其中 表示第j个像素点在均值图像中的值, 表示第j个像素点在相邻两帧图像对应的第二图像转化至HSV颜色空间中对应亮度分量的均值;

根据所述第二图像每一个像素点的重要程度值,对所述第二图像的暗通道部分进行调整,得到大气光照估计值,包括:利用暗通道提取算法对相邻两帧图像对应的第二图像进行处理,得到对应的两张暗通道图像;

将所述两张暗通道图像中对应亮度值进行均值化处理,得到均值暗通道图像;

对所述均值暗通道图像中所有像素点的亮度值和所述第二图像每一个像素点对应的重要程度值分别进行最大值最小值归一化处理;

将各像素点对应归一化后的亮度值和各像素点对应归一化后的重要程度值相乘,得到各个像素点的最终有效值;

根据各个像素点的最终有效值,确定大气光照估计值;

进一步包括:

从所有像素点的最终有效值中,按所述最终有效值大小选取最亮的像素点,获取最亮的像素点在所述第二图像中的对应位置;

根据所述最亮的像素点在第二图像中的对应位置,确定在相邻两帧图像对应的三通道均值图像中对应的具有最高亮度点的值,其中所述三通道均值图像中对应的具有最高亮度点的值为三通道的大气光照估计值;

进一步包括:

对多张第二图像中两张连续时刻对应的大气光照估计值进行计算并求取均值,得到最终的大气光照估计值。

2.根据权利要求1所述的一种基于图像数据的煲仔炉食品成熟度检测方法,其特征在于,对所述每帧图像进行预处理,得到第二图像,包括:对所述每帧图像进行抠图处理,获取单个煲仔炉的食品图像,其中所述单个煲仔炉的食品图像为第二图像。

3.根据权利要求1所述的一种基于图像数据的煲仔炉食品成熟度检测方法,其特征在于,其中,在获取去雾图像各个食材的分割图像之前,所述煲仔炉食品成熟度检测方法还包括:预先训练所述实例分割网络,其中,预先训练所述实例分割网络包括:将水果蔬菜数据集VegFru作为训练样本集,对初始实例分割网络进行训练,直至初始实例分割网络的总损失函数收敛,以获得实例分割网络,其中所述实例分割网络为Faster R‑CNN网络。

4.根据权利要求1所述的一种基于图像数据的煲仔炉食品成熟度检测方法,其特征在于,其中,在得到所述煲仔炉食品的成熟度检测结果之前,所述煲仔炉食品成熟度检测方法还包括:预先训练所述成熟度检测神经网络,其中,预先训练所述成熟度检测神经网络包括:获取训练样本;所述训练样本包括标注有对象标签的不同食材的图像;

将所述训练样本输入初始神经网络模型中进行特征提取处理,输出各图像的图像特征,以及基于所述各图像的图像特征进行分类处理,得到各图像的对象分类结果;

根据各图像的对象分类结果与和对象标签,计算所述初始神经网络模型的损失函数的值;

根据所述损失函数的值,对所述初始神经网络模型的待训练参数进行调整,得到训练后的成熟度检测神经网络;

其中,损失函数为交叉熵损失函数,神经网络为基于Encoder‑Decoder结构构建的卷积神经网络。

5.一种基于图像数据的煲仔炉食品成熟度检测装置,其特征在于,包括:获取模块,用于获取所述煲仔炉上的每帧图像;

预处理模块,用于对所述每帧图像进行预处理,得到第二图像;

计算模块,用于对所述第二图像的每一个像素点进行重要性计算,得到所述第二图像每一个像素点的重要程度值;

调整模块,用于根据所述第二图像每一个像素点的重要程度值,对所述第二图像的暗通道部分进行调整,得到大气光照估计值;

去雾模块,用于根据所述大气光照估计值,对所述第二图像采用去雾算法得到去雾图像;

分割模块,用于将所述去雾图像输入实例分割网络,得到所述去雾图像各个食材的分割图像;

检测模块,用于将所述各个食材的分割图像输入成熟度检测神经网络,得到所述煲仔炉食品的成熟度检测结果;

对所述第二图像的每一个像素点进行重要性计算,得到所述第二图像每一个像素点的重要程度值,包括:利用帧差法对相邻两帧图像对应的第二图像进行处理,得到帧差图像;

将所述帧差图像与相邻两帧图像对应的第二图像分别进行点乘运算,获得两张点乘图像;

对所述两张点乘图像中相对应的各个像素点的值取均值,并进行归一化处理,得到均值图像;

根据所述均值图像,确定所述第二图像每一个像素点的重要程度值;

进一步包括:所述第二图像每一个像素点的重要程度值的计算公式为:其中 表示第j个像素点在均值图像中的值, 表示第j个像素点在相邻两帧图像对应的第二图像转化至HSV颜色空间中对应亮度分量的均值;

根据所述第二图像每一个像素点的重要程度值,对所述第二图像的暗通道部分进行调整,得到大气光照估计值,包括:利用暗通道提取算法对相邻两帧图像对应的第二图像进行处理,得到对应的两张暗通道图像;

将所述两张暗通道图像中对应亮度值进行均值化处理,得到均值暗通道图像;

对所述均值暗通道图像中所有像素点的亮度值和所述第二图像每一个像素点对应的重要程度值分别进行最大值最小值归一化处理;

将各像素点对应归一化后的亮度值和各像素点对应归一化后的重要程度值相乘,得到各个像素点的最终有效值;

根据各个像素点的最终有效值,确定大气光照估计值;

进一步包括:

从所有像素点的最终有效值中,按所述最终有效值大小选取最亮的像素点,获取最亮的像素点在所述第二图像中的对应位置;

根据所述最亮的像素点在第二图像中的对应位置,确定在相邻两帧图像对应的三通道均值图像中对应的具有最高亮度点的值,其中所述三通道均值图像中对应的具有最高亮度点的值为三通道的大气光照估计值;

进一步包括:

对多张第二图像中两张连续时刻对应的大气光照估计值进行计算并求取均值,得到最终的大气光照估计值。

说明书 :

一种基于图像数据的煲仔炉食品成熟度检测方法及装置

技术领域

[0001] 本发明涉及图像数据处理领域,特别是涉及一种基于图像数据的煲仔炉食品成熟度检测方法及装置。

背景技术

[0002] 在现代食品制造过程中,对成熟度的准确控制对提高食品质量和安全具有重要意义。只有满足成熟度要求的食品才能够被食用,才能保证食用者的安全健康。其中在利用旋转煲仔炉进行食品加工时,需要保证食品的成熟度,现有的食品成熟度可通过采用深度学习的方法进行食品成熟度检测。但是在利用图像数据进行食品成熟度检测时,由于需要对食品进行开锅之后才能进行食品成熟度检测,而在开锅之后可能会存在较大雾气,即使在存在排风扇的情况下,依然会影响对食材图像数据采集的准确性,进而影响对煲仔炉内的食品的成熟度检测。
[0003] 相关技术中,为了降低雾气对煲仔炉内的食品成熟度检测的影响,可通过去雾算法进行图像增强,对增强后的煲仔炉食品成熟度进行检测,以快速得到准确稳定的检测结果。但是现有的暗通道先验去雾算法(Dark Channel Prior,DCP)去雾算法,在去除煲仔炉内的雾气时,由于煲仔饭食品内部具有白米饭,导致在估算DCP去雾算法模型中的大气光照模型时出现较大的偏差,进而影响最终国内食品采集图像准确性,使得煲仔炉内的食品成熟度检测准确性较低。

发明内容

[0004] 鉴于上述问题,本申请提供了一种基于图像数据的煲仔炉食品成熟度检测方法及装置,通过自适应估算DCP去雾算法模型中的大气光照值,实现稳定的去雾效果,降低煲仔起锅时的雾气干扰,提高煲仔炉内的食品成熟度检测结果。
[0005] 第一方面,本申请实施例提供了一种基于图像数据的煲仔炉食品成熟度检测方法,包括:
[0006] 获取煲仔炉上的每帧图像;
[0007] 对每帧图像进行预处理,得到第二图像;
[0008] 对第二图像的每一个像素点进行重要性计算,得到第二图像每一个像素点的重要程度值;
[0009] 根据第二图像每一个像素点的重要程度值,对第二图像的暗通道部分进行调整,得到大气光照估计值;
[0010] 根据大气光照估计值,对第二图像采用去雾算法得到去雾图像;
[0011] 将去雾图像输入实例分割网络,得到去雾图像各个食材的分割图像;
[0012] 将各个食材的分割图像输入成熟度检测神经网络,得到煲仔炉食品的成熟度检测结果。
[0013] 在一种可能的实现方式中,对每帧图像进行预处理,得到第二图像,包括:
[0014] 对每帧图像进行抠图处理,获取单个煲仔炉的食品图像,其中包含单个煲仔炉的食品图像为第二图像。
[0015] 在一种可能的实现方式中,对第二图像的每一个像素点进行重要性计算,得到第二图像每一个像素点的重要程度值,包括:
[0016] 利用帧差法对相邻两帧图像对应的第二图像进行处理,得到帧差图像;
[0017] 将帧差图像与相邻两帧图像对应的第二图像分别进行点乘运算,获得两张点乘图像;
[0018] 对两张点乘图像中相对应的各个像素点的值取均值,并进行归一化处理,得到均值图像;
[0019] 根据均值图像,确定第二图像每一个像素点的重要程度值。
[0020] 在一种可能的实现方式中,进一步包括:第二图像每一个像素点的重要程度值的计算公式为:
[0021] ;
[0022] 其中 表示第j个像素点在均值图像中的值, 表示第j个像素点在相邻两帧图像对应的第二图像转化至HSV颜色空间中对应亮度分量的均值。
[0023] 在一种可能的实现方式中,根据第二图像每一个像素点的重要程度值,对第二图像的暗通道部分进行调整,得到大气光照估计值,包括:
[0024] 利用暗通道提取算法对相邻两帧图像对应的第二图像进行处理,得到对应的两张暗通道图像;
[0025] 将两张暗通道图像中对应亮度值进行均值化处理,得到均值暗通道图像;
[0026] 对均值暗通道图像中所有像素点的亮度值和第二图像每一个像素点对应的重要程度值分别进行最大值最小值归一化处理;
[0027] 将各像素点对应归一化后的亮度值和各像素点对应归一化后的重要程度值相乘,得到各个像素点的最终有效值。
[0028] 根据各个像素点的最终有效值,确定大气光照估计值。
[0029] 在一种可能的实现方式中,进一步包括:
[0030] 从所有像素点的最终有效值中,按最终有效值大小选取最亮的像素点,获取最亮的像素点在第二图像中的对应位置;
[0031] 根据最亮的像素点在第二图像中的对应位置,确定在相邻两帧图像对应的三通道均值图像中对应的具有最高亮度点的值,其中三通道均值图像中对应的具有最高亮度点的值为三通道的大气光照估计值。
[0032] 在一种可能的实现方式中,进一步包括:
[0033] 对多张第二图像中两张连续时刻对应的大气光照估计值进行计算并求取均值,得到最终的大气光照估计值。
[0034] 在一种可能的实现方式中,在获取去雾图像各个食材的分割图像之前,煲仔炉食品成熟度检测方法还包括:预先训练实例分割网络,其中,预先训练实例分割网络包括:
[0035] 将水果蔬菜数据集VegFru作为训练样本集,对初始实例分割网络进行训练,直至初始实例分割网络的总损失函数收敛,以获得实例分割网络,其中实例分割网络为Faster R‑CNN网络。
[0036] 在一种可能的实现方式中,在得到煲仔炉食品的成熟度检测结果之前,煲仔炉食品成熟度检测方法还包括:预先训练成熟度检测神经网络,其中,预先训练成熟度检测神经网络包括:
[0037] 获取训练样本;训练样本包括标注有对象标签的不同食材的图像;
[0038] 将训练样本输入初始神经网络模型中进行特征提取处理,输出各图像的图像特征,以及基于各图像的图像特征进行分类处理,得到各图像的对象分类结果;
[0039] 根据各图像的对象分类结果与和对象标签,计算初始神经网络模型的损失函数的值;
[0040] 根据损失函数的值,对初始神经网络模型的待训练参数进行调整,得到训练后的成熟度检测神经网络;
[0041] 其中,损失函数为交叉熵损失函数,神经网络为基于Encoder‑Decoder结构构建的卷积神经网络。
[0042] 第二方面,本申请实施例提供了一种基于图像数据的煲仔炉食品成熟度检测装置,包括:
[0043] 获取模块,用于获取煲仔炉上的每帧图像;
[0044] 预处理模块,用于对每帧图像进行预处理,得到第二图像;
[0045] 计算模块,用于对第二图像的每一个像素点进行重要性计算,得到第二图像每一个像素点的重要程度值;
[0046] 调整模块,用于根据第二图像每一个像素点的重要程度值,对第二图像的暗通道部分进行调整,得到大气光照估计值;
[0047] 去雾模块,用于根据大气光照估计值,对第二图像采用去雾算法得到去雾图像;
[0048] 分割模块,用于将去雾图像输入实例分割网络,得到去雾图像各个食材的分割图像;
[0049] 检测模块,用于将各个食材的分割图像输入成熟度检测神经网络,得到煲仔炉食品的成熟度检测结果。
[0050] 第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现如第一方面各个可能实现的实施例。
[0051] 第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行如第一方面各个可能实现的实施例。

附图说明

[0052] 图1是本申请实施例提供的一种基于图像数据的煲仔炉食品成熟度检测的步骤流程图;
[0053] 图2是本申请实施例提供的一种基于图像数据的煲仔炉食品成熟度检测装置的结构框图;
[0054] 图3是本申请实施例提供的一种电子设备的结构框图;
[0055] 图4是本申请实施例提供的一种计算机可读存储介质的结构框图。

具体实施方式

[0056] 为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其它实施例,都属于本申请保护的范围。
[0057] 本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
[0058] 需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0059] 下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
[0060] 参见图1所示,本申请实施例公开了一种基于图像数据的煲仔炉食品成熟度检测方法,包括:
[0061] 步骤S11,获取煲仔炉上的每帧图像;
[0062] 步骤S12,对每帧图像进行预处理,得到第二图像;
[0063] 步骤S13,对第二图像的每一个像素点进行重要性计算,得到第二图像每一个像素点的重要程度值;
[0064] 步骤S14,根据第二图像每一个像素点的重要程度值,对第二图像的暗通道部分进行调整,得到大气光照估计值;
[0065] 步骤S15,根据大气光照估计值,对第二图像采用去雾算法得到去雾图像;
[0066] 步骤S16,将去雾图像输入实例分割网络,得到去雾图像各个食材的分割图像;
[0067] 步骤S17,将各个食材的分割图像输入成熟度检测神经网络,得到煲仔炉食品的成熟度检测结果。
[0068] 其中,煲仔炉上的图像是由图像采集设备采集得到的。例如,图像采集设备可以是安装在在旋转煲仔炉上的一个RGB相机,在此不对其进行具体限定。RGB相机在旋转煲仔炉工作台正中央对应的正上方,其中RGB相机可以选用广角相机,以保证能够采集到旋转煲仔炉工作台上每一个煲仔炉对应的煲仔饭锅内食品图像数据;当旋转煲仔炉工作台某一个煲仔炉达到预定时间后,则停止旋转,通过煲仔炉控制系统自动打开锅盖,RGB相机开始将采集得到图像发送到数据处理中心,数据处理中心得到煲仔炉上的食品图像数据。其中RGB相机和数据处理中心通过无线传输或有线传输的方式进行连接,煲仔炉控制系统与数据处理中心通过无线传输或有线传输的方式进行连接,数据处理中心可以对煲仔炉控制系统发送控制指令,进而控制进行煲仔炉的状态。
[0069] 在上述实施例步骤中,利用图像采集设备获取煲仔炉上的每帧图像,然后对每帧图像进行预处理,得到单个煲仔炉上的图像(即第二图像),对单个煲仔炉上的图像的每一个像素点进行重要性计算,得到单个煲仔炉上的图像的每一个像素点的重要程度值,而后根据第二图像每一个像素点的重要程度值,对第二图像的暗通道部分进行调整,得到大气光照估计值,而后根据大气光照估计值,对第二图像采用去雾算法得到去雾图像,而后将去雾图像输入实例分割网络,得到去雾图像各个食材的分割图像,最后将各个食材的分割图像输入成熟度检测神经网络,得到煲仔炉食品的成熟度检测结果。本申请实施例通过多张图像的数据及对雾气和食材进行分析,得到有效的能用于大气光照估计的像素点,提高大气光照估计结果的准确性,降低煲仔起锅时的雾气和白色食材(如白米饭)干扰,可以快速有效的准确的进行煲仔炉食品成熟度检测。
[0070] 在本申请一个可选的实施例中,对每帧图像进行预处理,得到第二图像,包括:
[0071] 对每帧图像进行抠图处理,获取单个煲仔炉的食品图像,其中包含单个煲仔炉的食品图像为第二图像。
[0072] 其中,由于相机位置固定,并且旋转煲仔炉工作台每一个煲仔炉位置固定,数据处理中心得到煲仔炉上的图像数据后,通过标注抠图的方式,获取仅含单个煲仔炉的图像数据。其中标注抠图可由通过具有相关经验的人员进行固定位置的图像标注后,利用抠图软件进行自动化的局部图像抠取。
[0073] 在本申请一个可选的实施例中,对第二图像的每一个像素点进行有效性计算,得到第二图像每一个像素点的重要程度值,包括:
[0074] 利用帧差法对相邻两帧图像对应的第二图像进行处理,得到帧差图像;
[0075] 将帧差图像与相邻两帧图像对应的第二图像分别进行点乘运算,获得两张点乘图像;
[0076] 对两张点乘图像中相对应的各个像素点的值取均值,并进行归一化处理,得到均值图像;
[0077] 根据均值图像,确定第二图像每一个像素点的重要程度值。
[0078] 需要说明的是,在得到煲仔炉上单个煲仔炉的图像数据后,为了估算大气光照值,常规方法在估算大气光照值时,首先获取有雾图像的暗通道图,从暗通道图中按照亮度的大小取前0.1%最亮的像素点,在前述最亮的像素点的对应位置中,在原始有雾图像中寻找对应的具有最高亮度的点的值,作为大气光照估计值。其中,暗通道图像的获取过程为:获取原始RGB图像每个像素在三个通道中的最小值,然后得到一张与原始图像大小一致的灰度图,然后再使用最小值滤波进行平滑处理,从而得到原始图像对应的暗通道图像,在此不做具体赘述。
[0079] 大气光照估计值(A)在 DCP 去雾算法中扮演了关键角色。它表示无穷远处的环境光,也就是在图像中受雾气影响之前的背景光照。在 DCP 去雾算法中,大气光照估计值用于恢复原始图像,从而消除由于雾气引起的低对比度和颜色失真。
[0080] 而在煲仔炉停止旋转后,其锅内的食品图像中会有部分食材为白色,并且由于煲仔炉工作台面积较小,所以雾气可能遮挡部分较大。
[0081] 进一步的,由于煲仔炉在起锅时,其锅内会产生雾气,而雾气是会运动的,其中在雾气浓的地方和具有白色食材的部分是不利于进行大气光照值估计的。
[0082] 在上述实施例中,获取第i时刻对应图像对应的单个煲仔炉图像数据,和第i+1时刻对应图像对应的单个煲仔炉图像数据,利用帧差法,得到两图像中存在变化的二值图,即帧差图像。在帧差图像中值为1的部分表示两图像帧中存在变化的部分,帧差图像中值为0的部分表示两图像帧中不存在变化的部分。
[0083] 需要说明的是,帧差法是一种通过对视频图像序列中相邻两帧作差分运算来获得运动目标轮廓的方法,当监控场景中出现异常物体运动时,帧与帧之间会出现较为明显的差别,两帧相减,得到两帧图像亮度差的绝对值,判断它是否大于阈值来分析视频或图像序列的运动特性,确定图像序列中有无物体运动,具体为公知技术,在此不再赘述。
[0084] 由于变化的部分为雾气,所以将帧差图像与第i时刻对应图像对应的单个煲仔炉图像数据,和第i+1时刻对应图像对应的单个煲仔炉图像数据分别进行点乘运算,获取两张点乘图像,得到两张图像中的雾气部分。
[0085] 其中,由于图像帧率往往比较高,拍摄时间比较短,所以获取两张点乘图像中各个像素点在两个对应点乘图像中的均值,由于灰度值最大值为255,为了防止在之后的计算过程中差异过大,本方案选择采用归一化方法,其中归一法过程为将所有像素点对应的均值除以255,得到均值图像,其中在均值图像中,值为0的部分表示无变化的部分,值越大的部分,表示雾气浓度较高的部分。
[0086] 但是考虑到在均值图像中,值为0的部分表示无变化的部分中可能为白米饭部分,导致在利用其进行大气光照估计时导致估计结果准确率也低。
[0087] 因此引入各个像素点的重要性程度值,避免煲仔炉上的锅内白色食材对大气光照估计的影响。
[0088] 在本申请一个可选的实施例中,进一步包括:第二图像每一个像素点的重要程度值的计算公式为:
[0089] ;
[0090] 其中 表示第j个像素点在均值图像中的值, 表示第j个像素点在相邻两帧图像对应的第二图像转化至HSV颜色空间中对应亮度分量的均值。
[0091] 需要说明的是, 值越大,则表示第j个像素点在进行大气光照估计值时越不可信,所以其进行负相关映射,使得 值越大,其对应的重要程度值越低。由于存在零值,所以本申请实施例利用exp(‑x)进行负相关映射,即 ; 值越大,则表示越可能为锅内的白色食材部分,其值越大,则表示第j个像素点在进行大气光照估计值时越不可信。其对应的重要程度值越低。由于存在零值,所以本申请实施例利用exp(‑x)进行负相关映射,即 ;所以 值越大,则表示在利用该像素点进行光照估计时越可信,其中重要程度越大。
[0092] 在本申请一个可选的实施例中,根据第二图像每一个像素点的重要程度值,对第二图像的暗通道部分进行调整,得到大气光照估计值,包括:
[0093] 利用暗通道提取算法对相邻两帧图像对应的第二图像进行处理,得到对应的两张暗通道图像;
[0094] 将两张暗通道图像中对应亮度值进行均值化处理,得到均值暗通道图像;
[0095] 对均值暗通道图像中所有像素点的亮度值和第二图像每一个像素点对应的重要程度值分别进行最大值最小值归一化处理;
[0096] 将各像素点对应归一化后的亮度值和各像素点对应归一化后的重要程度值相乘,得到各个像素点的最终有效值。
[0097] 根据各个像素点的最终有效值,确定大气光照估计值。
[0098] 在上述实施例中,获取图像的暗通道部分,对图像的暗通道部分,利用像素点的重要程度,进行有效数据选取调整,根据有效数据选取调整结果,得到有效的大气光照估计值。
[0099] 需要说明的是,利用暗通道提取算法,获取第j个像素点在第i时刻对应图像对应的单个煲仔炉图像数据,和第i+1时刻对应图像对应的单个煲仔炉图像数据对应的两张暗通道图像。其中暗通道提取算法为:获取原始RGB图像每个像素在三个通道中的最小值,然后得到一张与原始图像大小一致的灰度图,然后再使用最小值滤波进行平滑处理,从而得到原始图像对应的暗通道图像,在此不做具体赘述。
[0100] 进一步的,求取两张暗通道图像中亮度值的均值,之所以采用两张图像的均值进行大气光照估计,是因为在无雾且煲仔炉工作台环境不变的情况下,两张图像的大气光照值应当一样。由于煲仔炉上的锅内白色食材等对大气光照估计的影响,在暗通道图像中存在部分像素点的亮度值是不可信的。
[0101] 因此在本申请实施例中,将暗通道中所有像素点的亮度值利用最大值最小值归一化算法进行归一化,并将所有像素点对应的重要程度值利用最大值最小值归一化算法进行归一化,消除两个数据之间的量纲差异,然后将各像素点对应归一化后的亮度值和各像素点对应归一化后的重要程度值相乘,得到各个像素点的最终有效值。其中最大值最小值归一化,是利用数据列中的最大值和最小值进行标准化处理,标准化后的数值处于[0,1]之间,计算方式为数据与该列的最小值作差,再除以极差,在此不做具体赘述。
[0102] 在本申请一个可选的实施例中,进一步包括:
[0103] 从所有像素点的最终有效值中,按最终有效值大小选取最亮的像素点,获取最亮的像素点在第二图像中的对应位置;
[0104] 根据最亮的像素点在第二图像中的对应位置,确定在相邻两帧图像对应的三通道均值图像中对应的具有最高亮度点的值,其中三通道均值图像中对应的具有最高亮度点的值为三通道的大气光照估计值。
[0105] 具体的,从所有像素点的有效值中,按有效值大小取前0.1%最亮的像素点,在这些最亮的像素点对应位置中,在两张有雾RGB图像对应的三通道均值图像中寻找对应的具有最高亮度的点的值,作为三通道的大气光照值 。其中0.1%为超参数可由实施者根据具体实施场景进行调整,本方案取0.1%,进而得到当前第i张单个煲仔炉图像数据和第i+1张相对应的单个煲仔炉图像数据之间的大气光照估计值 。
[0106] 在本申请一个可选的实施例中,进一步包括:
[0107] 对多张第二图像中两张连续时刻对应的大气光照估计值进行计算并求取均值,得到最终的大气光照估计值。
[0108] 其中,由于为了得到更加稳定有效的大气光照估计值,设置时间窗口长度值为s=10,计算s张图像中两张连续时刻对应的大气光照估计值,进而求取均值,得到最终的大气光照估计值。其中s可由实施者根据具体实施场景进行调整。
[0109] 在本申请一个可选的实施例中,根据所述大气光照估计值,对所述第二图像采用去雾算法得到去雾图像,包括:利用DCP去雾算法对所述第二图像进行处理,得到去雾图像。
[0110] 需要说明的是,在得到大气光照估计值后,本申请实施例中取透射率为0.95,可由实施者根据具体实施场景进行调整,同时将估计的大气光照估计值用于现有的DCP算法中,得到s窗口内所有图像的去雾图像。
[0111] 在本申请一个可选的实施例中,在获取去雾图像各个食材的分割图像之前,煲仔炉食品成熟度检测方法还包括:预先训练实例分割网络,其中,预先训练实例分割网络包括:
[0112] 将水果蔬菜数据集VegFru作为训练样本集,对初始实例分割网络进行训练,直至初始实例分割网络的损失函数收敛,以获得实例分割网络,其中实例分割网络为Faster R‑CNN网络。
[0113] 具体的,将第i张图像对应的单个煲仔炉图像数据输入到训练完成的实例分割网络中,得到煲仔炉内各个食材的分割图像。本实施例中,选用的实例分割网络为Faster R‑CNN网络,数据集选用水果蔬菜数据集VegFru,损失函数选择交叉熵损失函数,其中Faster R‑CNN网络的训练过程在此不在赘述,Faster R‑CNN网络结构包括:(1)Conv layers,特征提取网络输入为一张图片,输出为一张图片的特征,即feature map。通过一组conv+relu+pooling层提取图像的feature map,用于后续的RPN网络和全连接层;(2)Region proposal Network,区域候选网络,输入为第一步中的feature map,输出为多个兴趣区域(ROI)。输出的每个兴趣区域具体表示为一个概率值和四个坐标值,概率值表示该兴趣区域有物体的概率,这个概率是通过softmax对每个区域进行二分类得到的;坐标值是预测的物体的位置,在进行训练时会用这个坐标与真实的坐标进行回归使在测试时预测的物体位置更加准确;(3)ROI pooling,兴趣域池化,这一层以RPN网络输出的兴趣区域和Conv layers输出的feature map为输入,将两者进行综合后得到固定大小的区域特征图(proposal feature map)并输出到后面的全连接网络中进行分类;(4)Classification and Regression,分类和回归,输入为上一层得到proposal feature map,输出为兴趣区域中物体所属的类别以及物体在图像中精确的位置。这一层通过softmax对图像进行分类,并通过边框回归修正物体的精确位置。
[0114] 在本申请一个可选的实施例中,在得到煲仔炉食品的成熟度检测结果之前,煲仔炉食品成熟度检测方法还包括:预先训练成熟度检测神经网络,其中,预先训练成熟度检测神经网络包括:
[0115] 获取训练样本;训练样本包括标注有对象标签的不同食材的图像;
[0116] 将训练样本输入初始神经网络模型中进行特征提取处理,输出各图像的图像特征,以及基于各图像的图像特征进行分类处理,得到各图像的对象分类结果;
[0117] 根据各图像的对象分类结果与和对象标签,计算初始神经网络模型的损失函数的值;
[0118] 根据损失函数的值,对初始神经网络模型的待训练参数进行调整,得到训练后的成熟度检测神经网络;
[0119] 其中,损失函数为交叉熵损失函数,神经网络为基于Encoder‑Decoder结构构建的卷积神经网络。
[0120] 需要说明的是,成熟度检测神经网络为一个Encoder‑Decoder结构的CNN网络,其为公知常识,在此不做具体赘述。训练数据集由具有相关经验的人员进行采集标注,其中采集标注过程由具有相关经验的人员将不同食材标注为成熟和不成熟。其中在进行成熟度检测神经网络训练时,采用One‑Hot编码(独热编码)进行数据编码,数据编码的方式为将不同类型的食材对应的成熟和不成熟进行分别不重复编号,进而利用交叉熵损失函数进行神经网络训练,其中One‑Hot编码属于现有技术,在此不再赘述。
[0121] 将各个食材的分割图像输入到训练完成的成熟度检测神经网络中,得到各个食材对应的成熟判定结果,如果当第i张图像中对应的抠取的每一个煲仔炉的食品图像的任一一个食材出现成熟度不达标的情况时,则表示当前对应的煲仔炉食品成熟度不足,需要对应的单个煲仔炉重新加热。
[0122] 参见图2所示,本申请实施例提供了一种基于图像数据的煲仔炉食品成熟度检测装置,该煲仔炉食品成熟度检测装置可以应用于各种电子设备,例如:手机、平板电脑、台式电脑或者服务器等,在此不作限定。包括:
[0123] 获取模块11,用于获取煲仔炉上的每帧图像;
[0124] 预处理模块12,用于对每帧图像进行预处理,得到第二图像;
[0125] 计算模块13,用于对第二图像的每一个像素点进行有效性计算,得到第二图像每一个像素点的重要程度值;
[0126] 调整模块14,用于根据第二图像每一个像素点的重要程度值,对第二图像的暗通道部分进行调整,得到大气光照估计值;
[0127] 去雾模块15,用于根据大气光照估计值,对第二图像采用去雾算法得到去雾图像;
[0128] 分割模块16,用于将去雾图像输入实例分割网络,得到去雾图像各个食材的分割图像;
[0129] 检测模块17,用于将各个食材的分割图像输入成熟度检测神经网络,得到煲仔炉食品的成熟度检测结果。
[0130] 实施上述的煲仔炉食品成熟度检测装置,利用获取模块获取煲仔炉上的每帧图像,利用预处理模块对每帧图像进行预处理,得到第二图像,通过计算模块对第二图像的每一个像素点进行有效性计算,得到第二图像每一个像素点的重要程度值,而后通过调整模块根据第二图像每一个像素点的重要程度值,对第二图像的暗通道部分进行调整,得到大气光照估计值,而后通过去雾模块根据大气光照估计值,对第二图像采用去雾算法得到去雾图像,而后通过分割模块将去雾图像输入实例分割网络,得到去雾图像各个食材的分割图像,最后通过检测模块将各个食材的分割图像输入成熟度检测神经网络,得到煲仔炉食品的成熟度检测结果。本申请实施例通过多张图像的数据及对雾气和食材进行分析,得到有效的能用于大气光照估计的像素点,提高大气光照估计结果的准确性,降低煲仔起锅时的雾气和白色食材(如白米饭)干扰,可以快速有效的准确的进行煲仔炉食品成熟度检测。
[0131] 在本申请一个可选的实施例中,预处理模块,用于对每帧图像进行预处理,得到第二图像,包括:
[0132] 对每帧图像进行抠图处理,获取单个煲仔炉的食品图像,其中包含单个煲仔炉的食品图像为第二图像。
[0133] 实施上述的煲仔炉食品成熟度检测装置,通过标注抠图的方式,获取仅含单个煲仔炉的图像数据。其中标注抠图可由通过具有相关经验的人员进行固定位置的图像标注后,利用抠图软件进行自动化的局部图像抠取。
[0134] 在本申请一个可选的实施例中,计算模块,用于对第二图像的每一个像素点进行有效性计算,得到第二图像每一个像素点的重要程度值,包括:
[0135] 利用帧差法对相邻两帧图像对应的第二图像进行处理,得到帧差图像;
[0136] 将帧差图像与相邻两帧图像对应的第二图像分别进行点乘运算,获得两张点乘图像;
[0137] 对两张点乘图像中相对应的各个像素点的值取均值,并进行归一化处理,得到均值图像;
[0138] 根据均值图像,确定第二图像每一个像素点的重要程度值。
[0139] 实施上述的煲仔炉食品成熟度检测装置,通过连续两帧视频图像中的帧差部分,并且根据帧差图像中存在变化的较低灰度值部分和不存在变化的重要部分,得到当前到图像中的重要的部分,根据图像重要的部分对大气光照值进行估计,提高了大气光照估计的结果准确率。
[0140] 在本申请一个可选的实施例中,计算模块还进一步包括:第二图像每一个像素点的重要程度值的计算公式为:
[0141] ;
[0142] 其中 表示第j个像素点在均值图像中的值, 表示第j个像素点在相邻两帧图像对应的第二图像转化至HSV颜色空间中对应亮度分量的均值。
[0143] 需要说明的是, 值越大,则表示第j个像素点在进行大气光照估计值时越不可信,所以其进行负相关映射,使得 值越大,其对应的重要程度值越低。由于存在零值,所以本申请实施例利用exp(‑x)进行负相关映射,即 ; 值越大,则表示越可能为锅内的白色食材部分,其值越大,则表示第j个像素点在进行大气光照估计值时越不可信。其对应的重要程度值越低。由于存在零值,所以本申请实施例利用exp(‑x)进行负相关映射,即 ;所以 值越大,则表示在利用该像素点进行光照估计时越可信,其中重要程度越大。
[0144] 在本申请一个可选的实施例中,调整模块,用于根据第二图像每一个像素点的重要程度值,对第二图像的暗通道部分进行调整,得到大气光照估计值,包括:
[0145] 利用暗通道提取算法对相邻两帧图像对应的第二图像进行处理,得到对应的两张暗通道图像;
[0146] 将两张暗通道图像中对应亮度值进行均值化处理,得到均值暗通道图像;
[0147] 对均值暗通道图像中所有像素点的亮度值和第二图像每一个像素点对应的重要程度值分别进行最大值最小值归一化处理;
[0148] 将各像素点对应归一化后的亮度值和各像素点对应归一化后的重要程度值相乘,得到各个像素点的最终有效值。
[0149] 根据各个像素点的最终有效值,确定大气光照估计值。
[0150] 在本实施例中,通过引入各个像素点的重要性程度值,避免煲仔炉上的锅内白色食材对大气光照估计的影响,进一步提高了大气光照估计的结果准确率,从而提高了提高煲仔炉内的食品成熟度检测结果。
[0151] 在本申请一个可选的实施例中,调整模块,进一步包括:
[0152] 从所有像素点的最终有效值中,按最终有效值大小选取最亮的像素点,获取最亮的像素点在第二图像中的对应位置;
[0153] 根据最亮的像素点在第二图像中的对应位置,确定在相邻两帧图像对应的三通道均值图像中对应的具有最高亮度点的值,其中三通道均值图像中对应的具有最高亮度点的值为三通道的大气光照估计值。
[0154] 在本申请一个可选的实施例中,调整模块,进一步包括:
[0155] 对多张第二图像中两张连续时刻对应的大气光照估计值进行计算并求取均值,得到最终的大气光照估计值。
[0156] 实施上述煲仔炉食品成熟度检测装置,通过设置时间窗口长度值为s=10,计算s张图像中两张连续时刻对应的大气光照估计值,进而求取均值,得到最终的大气光照估计值,得到了更加稳定有效的大气光照估计值。
[0157] 在本申请一个可选的实施例中,去雾模块,用于根据所述大气光照估计值,对所述第二图像采用去雾算法得到去雾图像,包括:利用DCP去雾算法对所述第二图像进行处理,得到去雾图像。
[0158] 在本申请一个可选的实施例中,分割模块,用于在获取去雾图像各个食材的分割图像之前,煲仔炉食品成熟度检测方法还包括:预先训练实例分割网络,其中,预先训练实例分割网络包括:
[0159] 将水果蔬菜数据集VegFru作为训练样本集,对初始实例分割网络进行训练,直至初始实例分割网络的损失函数收敛,以获得实例分割网络,其中实例分割网络为Faster R‑CNN网络。
[0160] 在本申请一个可选的实施例中,检测模块,用于在得到煲仔炉食品的成熟度检测结果之前,煲仔炉食品成熟度检测方法还包括:预先训练成熟度检测神经网络,其中,预先训练成熟度检测神经网络包括:
[0161] 获取训练样本;训练样本包括标注有对象标签的不同食材的图像;
[0162] 将训练样本输入初始神经网络模型中进行特征提取处理,输出各图像的图像特征,以及基于各图像的图像特征进行分类处理,得到各图像的对象分类结果;
[0163] 根据各图像的对象分类结果与和对象标签,计算初始神经网络模型的损失函数的值;
[0164] 根据损失函数的值,对初始神经网络模型的待训练参数进行调整,得到训练后的成熟度检测神经网络;
[0165] 其中,损失函数为交叉熵损失函数,神经网络为基于Encoder‑Decoder结构构建的卷积神经网络。
[0166] 通过上述煲仔炉食品成熟度检测装置,大幅度提高大气光照估计结果的准确性,降低煲仔起锅时的雾气和白色食材的干扰,使得可以快速有效的准确的进行煲仔炉食品成熟度检测。并且可以根据当各个食材对应的成熟判定结果,通过数据处理中心对控制系统发送控制指令实现对对应的单个煲仔炉的重新控制,如加热等。
[0167] 参见图3所示,本申请实施例公开了一种电子设备20,包括处理器21和存储器22;其中,存储器22,用于保存计算机程序;处理器21,用于通过执行计算机程序来实现前述方法实施例提供的基于图像数据的煲仔炉食品成熟度检测方法。
[0168] 关于上述基于图像数据的煲仔炉食品成熟度检测方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
[0169] 并且,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
[0170] 另外,电子设备20还包括电源23、通信接口24、输入输出接口25和通信总线26;其中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
[0171] 进一步的,本申请实施例还公开了一种计算机可读存储介质,如图4所示,用于保存计算机程序31,其中,计算机程序被处理器执行时实现前述方法实施例提供的基于图像数据的煲仔炉食品成熟度检测方法。
[0172] 关于上述基于图像数据的煲仔炉食品成熟度检测方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
[0173] 本申请实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行本申请方法实施例所示的基于图像数据的煲仔炉食品成熟度检测方法。
[0174] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0175] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD‑ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0176] 以上对本申请所提供的一种基于图像数据的煲仔炉食品成熟度检测方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。