掌桥专利:专业的专利平台
掌桥专利
首页

基于机器学习的食品检测系统

文献发布时间:2023-06-19 19:27:02


基于机器学习的食品检测系统

技术领域

本发明涉及图像处理领域,具体涉及基于机器学习的食品检测系统。

背景技术

在食品安全生产工艺中,通过X光实现变质食品的检测,则变质食品在X光下会产生黑点,由于在不同食品的X光图像中,由于食品变质程度不一,则黑点的明显程度不一样,而如果不将具有黑点的食品挑出来,则会导致食品安全事故的发生。

现有的对食品进行检测的方法往往是利用机器学习模型来对不同食品的X光图像中的食品质量进行检测,常见的机器学习模型包括随机森林、支持向量机和神经网络等,其中语义分割网络是最常用的一种神经网络,但是由于X光图像中不仅包含食品区域,还会包含环境背景区域,且不同食品的变质程度不同,X光图像中由食品变质引起的黑点区域的明显程度也不同,因此直接利用语义分割网络获得变质区域的方法得到的检测结果可能存在较大误差,然而这种机器学习模型在提取X光图像中的食品区域具有较高的准确性,因此可以首先通过机器学习模型来获得准确的食品区域图像,而后根据食品区域图像判断食品是否发生变质,但是不同食品的变质程度存在差异,也会导致食品区域图像中由变质引起的黑点区域的分割效果也不稳定,即食品变质严重区域形成的黑点区域比较明显,而食品变质不严重区域形成的黑点区域相对不明显,因此在获取准确的食品区域图像的基础上,设计一种可以准确识别黑点区域的方法是非常重要的。

发明内容

本发明提供基于机器学习的食品检测系统,以解决现有的问题。

本发明的基于机器学习的食品检测系统采用如下技术方案:

本发明一个实施例提供了基于机器学习的食品检测系统,该系统包括以下模块:

图像获取模块,获取食品区域图像;

灰度集合获取模块,根据食品区域图像对应的灰度直方图中,各个灰度值出现的频率以及各个灰度值与整体灰度值之间的差异得到各个灰度值的色差程度;根据预设标准差、各个灰度值的大小以及色差程度获取各个灰度值对应的高斯函数模型,根据高斯函数模型的分布范围得到各个灰度值的灰度集合;

空洞程度获取模块,将各个灰度值的灰度集合中所有灰度值对应的像素点映射到二值图像上,得到各个灰度值对应的二值图像,根据各个灰度值对应的二值图像得到各个灰度值的初始像素个数;对各个灰度值对应的二值图像进行填充,得到各个灰度值对应的填充后二值图像;根据各个灰度值对应的填充后二值图像得到各个灰度值的填充后像素个数;根据各个灰度值对应的初始像素个数以及填充后像素个数得到各个灰度值对应的空洞值;根据各个灰度值对应的二值图像以及填充后二值图像得到各个灰度值对应的空洞像素点;根据各个灰度值对应的空洞像素点的灰度值得到各个灰度值对应的空洞灰度差;根据各个灰度值对应的空洞值以及空洞灰度差得到各个灰度值的空洞程度;

食品检测模块,根据各个填充后二值图像得到各个灰度值的整体差异性;根据各个灰度值的整体差异性以及各个灰度值的空洞程度得到各个灰度值属于黑点区域的可能性;根据各个灰度值属于黑点区域的可能性得到改性食品区域图像;对改性食品区域图像进行阈值分割,得到分割结果图像;根据分割结果图像完成食品检测。

优选的,所述整体灰度值是指灰度直方图中最大频率对应的灰度值。

优选的,所述各个灰度值的色差程度的获取表达式为:

优选的,所述各个灰度值对应的高斯函数模型的获取方法为:

以各个灰度值的大小为高斯函数模型的均值,将预设标准差、各个灰度值的色差程度以及预设权重之间的乘积作为高斯函数模型的标准差,得到各个灰度值对应的高斯函数模型。

优选的,所述各个灰度值对应的空洞值的获取方法为:将各个灰度值对应的初始像素个数与填充后像素个数之间差值的绝对值作为各个灰度值的空洞值。

优选的,所述各个灰度值对应的空洞灰度差的获取方法为:

根据各个灰度值对应的空洞像素点的坐标得到各个空洞连通域;计算各个空洞连通域中包含像素点的灰度值的平均值,得到各个灰度均值,分别计算各个灰度均值与各个灰度值之间差值的绝对值,将所有绝对值的平均值作为各个灰度值对应的空洞灰度差。

优选的,所述各个灰度值的空洞程度的获取表达式为:

其中,/>

优选的,所述各个灰度值的整体差异性的获取方法为:

获取各个灰度值对应的填充后二值图像中的各个连通域以及各个连通域的质心,将各个质心的灰度值与整体灰度值之间差值的平均值作为各个灰度值的整体差异性。

优选的,所述各个灰度值属于黑点区域的可能性的获取表达式为:

其中,/>

本发明的有益效果是:首先获取食品区域图像;获取各个灰度值的灰度集合;根据各个灰度值对应的空洞值以及空洞灰度差得到各个灰度值的空洞程度;获取各个灰度值的整体差异性;根据各个灰度值的整体差异性以及各个灰度值的空洞程度得到各个灰度值属于黑点区域的可能性;根据各个灰度值属于黑点区域的可能性得到改性食品区域图像;对改性食品区域图像进行阈值分割,得到分割结果图像;根据分割结果图像完成食品检测,从而得到更加准确、可靠的食品检测结果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的基于机器学习的食品检测系统的结构框图;

图2为本发明的基于机器学习的食品检测系统的X光图像;

图3为本发明的基于机器学习的食品检测系统的食品区域图像;

图4为本发明的基于机器学习的食品检测系统的空洞图像;

图5为本发明的基于机器学习的食品检测系统的填充后二值图像;

图6为本发明的基于机器学习的食品检测系统的改性食品区域图像;

图7为本发明的基于机器学习的食品检测系统的分割结果图像。

具体实施方式

为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的基于机器学习的食品检测系统,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。

下面结合附图具体的说明本发明所提供的基于机器学习的食品检测系统的具体方案。

请参阅图1,其示出了本发明一个实施例提供的基于机器学习的食品检测系统的结构框图,该系统包括以下模块:

图像获取模块,获取食品区域图像。

在食品的生产线的正上方安装X光相机,使相机正对食品生产线,其中相机通过有线连接的方式,将采集得到的X光图像传输至数据处理中心;本实施例中采集的X光图像如图2所示;

在通过语义分割网络进行基于机器学习的食品安全检测时,由于X光图像中不仅包含食品区域,还会包含环境背景区域,且不同食品的变质程度不同,使得X光图像中由食品变质引起的黑点区域的明显程度也不同,因此无法直接利用语义分割网络获得变质区域等,然而这种机器学习模型在提取X光图像中的食品区域具有较高的准确性,因此本实施例基于该机器学习模型首先获得准确的食品区域图像,通过对所得准确的食品区域图像进一步分析,从而判断食品是否存在变质区域,以较小的代价获得食品的变质情况,避免直接使用机器学习模型获得X光图像中的变质区域时不准确的问题。

数据处理中心利用语义分割网络对X光图像进行识别,从而提取X光图像中属于食品的部分。其中语义分割网络的网络结构为encoder-decoder;所使用的训练集为:由具有相关经验的工作人员对食品生产线进行俯视拍摄后得到多张X光图像,将各个X光图像中属于食品部分的像素点标记为1,其余像素点标记为0;利用交叉熵损失函数进行语义分割网络的分类训练。

将本实施例中采集到的X光图像输入到训练完成后的语义分割网络,则语义分割网络的输出结果即为X光图像中属于食品的部分,对所得仅含食品的图像进行灰度化处理,得到对应的灰度图像,将所得灰度图像称为食品区域图像,本实施例中的食品区域图像如图3所示。

灰度集合获取模块,根据食品区域图像对应的灰度直方图中,各个灰度值出现的频率以及各个灰度值与整体灰度值之间的差异得到各个灰度值的色差程度;根据预设标准差、各个灰度值的大小以及色差程度获取各个灰度值对应的高斯函数模型,根据高斯函数模型的分布范围得到各个灰度值的灰度集合。

由于食品区域图像为同一个食品形成的,不同位置上的灰度值本身差异不大,因此通过灰度直方图可以得到正常食品对应的灰度分布范围,其中如果正常食品的颜色偏浅,即正常食品在食品区域图像中灰度值较大,则具有黑点的变质食品比较容易分割找到;但是如果正常食品颜色偏深,即此时正常食品在食品区域图像中灰度值较小,会使得由变质产生的黑点区域对应的灰度值处于正常食品对应的灰度分布范围,进而导致具有黑点的变质食品难以识别。

本实施例根据食品区域图像的灰度分布范围,各个灰度值与食品的整体灰度值之间的差异,得到各个灰度值的色差程度,进而对各个灰度值属于黑点区域对应灰度值的可能性进行判断,由于黑点区域在整个食品区域中是集中分布的,因此进一步通过各个灰度值对应像素点的分布情况,得到各个灰度值属于黑点区域对应灰度值的可能性;而后在对食品区域图像进行图像增强时,根据各个灰度值属于黑点的可能性进行增强权重的调整,实现针对性的图像增强,让食品区域图像中的黑点区域变得更加明显,从而在进行食品的黑点检测时能够得到更加稳定的检测效果,具体过程如下:

由于黑点区域与正常食品区域之间的具有颜色差异,所以本实施例通过食品区域图像对应的灰度直方图得到各像素点对应灰度值的色差程度。其中灰度直方图的横坐标为

其中,/>

由于食品区域图像中每一个像素点的灰度值之间的差异不大,则当一个灰度值与整体灰度值M之间的差异越小,即

根据各个灰度值的大小及其在灰度直方图中对应的频率得到各个灰度值的色差程度。

由于黑点区域中不同位置的变质程度不同,不同位置对应的灰度值也不是完全相同的,黑点区域中的灰度值是存在渐变现象的,因此获取每一个灰度值与其相邻灰度值构成的灰度集合,根据所得灰度值对应像素点的分布情况判断各个灰度值是否属于黑点区域,即当灰度集合对应像素点的分布较为集中时,表示当前灰度集合中的各个灰度值属于黑点区域的可能性较高,如果灰度集合对应像素点的分布并不连续,如这些像素点分布范围的内部出现空洞,且空洞内像素点对应的灰度值与灰度集合内的灰度值之间具有较大差异,则当前灰度集合属于黑点区域的可能性较低;以第i个灰度值为例,获取该灰度值属于黑点区域的可能性的过程如下:

首先获取第i个灰度值与其相邻灰度值构成的灰度集合,由于黑点区域内部的灰度值存在渐变现象,因此本实施例使用高斯函数模型来获取各个灰度值对应的灰度集合,从而在第i个灰度值的左右两侧对称地选取灰度值。本实施例中高斯函数模型的方差可根据色差程度进行调整,用以控制不同灰度值的选取个数,由于一个灰度值的色差程度越大,该灰度值属于黑点区域的可能性越大。

本实施例选择将正态分布函数作为第i个灰度值的高斯函数模型,设置预设标准差

则处于第i个灰度值对应高斯函数模型的分布范围内的所有灰度值构成了第i个灰度值对应的灰度集合,记为

空洞程度获取模块,将各个灰度值的灰度集合中所有灰度值对应的像素点映射到二值图像上,得到各个灰度值对应的二值图像,根据各个灰度值对应的二值图像得到各个灰度值的初始像素个数;对各个灰度值对应的二值图像进行填充,得到各个灰度值对应的填充后二值图像;根据各个灰度值对应的填充后二值图像得到各个灰度值的填充后像素个数;根据各个灰度值对应的初始像素个数以及填充后像素个数得到各个灰度值对应的空洞值;根据各个灰度值对应的二值图像以及填充后二值图像得到各个灰度值对应的空洞像素点;根据各个灰度值对应的空洞像素点的灰度值得到各个灰度值对应的空洞灰度差;根据各个灰度值对应的空洞值以及空洞灰度差得到各个灰度值的空洞程度。

在食品区域图像中存在黑点区域的情况下,如果第i个灰度值不属于黑点区域时,即当第i个灰度值为正常区域中的像素点时,由于黑点区域中像素点的分布相对集中,且与正常区域对应的灰度值存在一定的差异,使得黑点区域对应的灰度值不存在于第i个像素点的灰度集合中,导致第i个灰度值的灰度集合对应的所有像素点在食品区域图像中会出现空洞,对应像素点分布范围的内部出现较大的中心空缺,如图4所示;

由于单个灰度集合对应的像素点可能无法包括食品区域图像中正常区域对应的所有像素点,即当第i个灰度值为正常区域中的像素点时,第i个灰度值的灰度集合

因此本实施例根据第i个灰度值的灰度集合中,各个灰度值对应像素点的分布情况来判断第i个灰度值属于黑点区域的可能性,并使用空洞程度来表征第i个灰度值的灰度集合对应像素点的分布情况,则第i个灰度值对应的空洞程度的获取过程如下:

将第i个灰度值的灰度集合对应的所有像素点在二值图像上进行映射,即将第i个灰度值的灰度集合对应的所有像素点在二值图像中的像素值设置为1,将食品区域图像中的其他像素点设置为0,得到第i个灰度值对应的二值图像,如图4所示,记该二值图像中像素值为1的像素点个数为第i个灰度值对应的初始像素个数

其中,/>

由于空洞可能是由于一个灰度值的灰度集合选择不全所导致的,因此本实施例将第i个灰度值对应的填充后二值图像减去第i个灰度值对应的二值图像,即将第i个灰度值对应的填充后二值图像与第i个灰度值对应的二值图像对应位置上的像素点的值相减,则相减后的值不为1的像素点即为第i个灰度值对应的空洞像素点,然后获取各个空洞像素点在食品区域图像中对应的灰度值;

然后使用Seed-Filling算法对第i个灰度值对应的所有空洞像素点进行连通域分析,得到各个空洞连通域,计算各个空洞连通域中所有像素点对应灰度值之间的灰度均值,然后分别计算各个灰度均值与第i个灰度值之间差值的绝对值,将所有绝对值的平均值记为第i个灰度值对应的空洞灰度差

其中,/>

空洞值越大

食品检测模块,根据各个填充后二值图像得到各个灰度值的整体差异性;根据各个灰度值的整体差异性以及各个灰度值的空洞程度得到各个灰度值属于黑点区域的可能性;根据各个灰度值属于黑点区域的可能性得到改性食品区域图像;对改性食品区域图像进行阈值分割,得到分割结果图像;根据分割结果图像完成食品检测。

利用Seed-Filling算法对第i个灰度值对应的填充后二值图像进行连通域提取,得到填充后二值图像中的各个连通域,获取各个连通域对应的质心,计算各质心对应灰度值与整体灰度值M之间差值的平均值,记为第i个灰度值的整体差异性

则第i个灰度值属于黑点区域的可能性可表示为:

其中,/>

的值越小,越符合黑点区域的特征,第i个灰度值属于黑点区域的可能性越大;反之则越小;如果有空洞且空洞像素点的灰度值与第i个灰度值之间的差值越大,即/>

重复上述方法,获取各个灰度值属于黑点区域的可能性。

将所有灰度值属于黑点区域的可能性进行线性归一化,将归一化后的

利用大津阈值算法获取改性食品区域图像对应的分割阈值,利用所得分割阈值对改性食品图像进行二值化分割,将小于分割阈值的像素点的值置为1,将大于分割阈值的像素点的值置为0,得到分割结果图像,如图7所示;此时,由于黑点区域中的像素点的灰度值低于正常区域中像素点的灰度值,因此二值图像中属于黑点区域的像素点的值为1,统计二值图像中值为1的所有像素点的个数V,设定判定阈值U,当V大于U时,表示当前检测的食品发生了变质;否则,认为当前检测的食品没有发生变质;本实施例中U为一个超参数,可由实施者根据具体实施场景进行调整,本实施例设置U=10。

通过以上步骤,完成了对食品的变质检测。

本实施例首先获取食品区域图像;获取各个灰度值的灰度集合;根据各个灰度值对应的空洞值以及空洞灰度差得到各个灰度值的空洞程度;获取各个灰度值的整体差异性;根据各个灰度值的整体差异性以及各个灰度值的空洞程度得到各个灰度值属于黑点区域的可能性;根据各个灰度值属于黑点区域的可能性得到改性食品区域图像;对改性食品区域图像进行阈值分割,得到分割结果图像;根据分割结果图像完成食品检测,从而得到更加准确、可靠的食品检测结果。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于机器学习的人工鼻冰箱食品新鲜度检测方法及系统
  • 一种基于机器学习的联盟链异常检测系统及其检测方法
技术分类

06120115918355