一种基于深度学习的鸡蛋污损检测方法及系统

文档序号:31126650发布日期:2022-08-13 03:42阅读:263来源:国知局
一种基于深度学习的鸡蛋污损检测方法及系统

1.本发明属于图像处理技术领域,特别涉及一种基于深度学习的鸡蛋污损检测方法及系统。


背景技术:

2.禽蛋产业是我国农业的重要组成部分,是关系到社会和民生的重要产业。近年来,我国禽蛋总产量已经达到两千八百万吨,蛋品加工年产值高达400亿元,已经成为我国畜产食品产业中的第二大产业,有着举足轻重的地位。作为一个禽蛋生产及消费大国,禽蛋蛋壳品质是后续加工、消费过程中一个尤为重要的指标。
3.鸡蛋脏污的种类包括禽粪、血污,以及鸡蛋壳的破损、裂纹等。在实际生产过程中,企业会对不同的污损状况采用不同的处理方法。对于小裂纹和无法通过清洗方式处理的脏污,企业一般会挑出作为次品蛋进行售卖。对于破损情况较为严重的鸡蛋,一般直接挑出打成蛋液进行销售。这样既避免了污损蛋污染正常的鸡蛋,同时也方便后续的售卖。
4.目前我国的禽蛋企业主要是依靠工人在灯光下目测的方法挑选脏污开裂的禽蛋,这种方法劳动强度大、效率低、容易造成视觉疲劳引起误判,另外,现有的主流检测方法主要靠敲击震动的声学特征进行检测,但无法准确的分别出具体是严重破损、轻度破损还是脏污。利用传统的视觉方法处理起来对于背景等杂质的抗干扰性不强,容易造成误检。而且还难以满足禽蛋自动化快速检测加工的要求。现行的自动化禽蛋污损检测处理设备价格较高,且只能检测出裂纹,无法具体区分是大裂纹、小裂纹还是脏污,无法进行更细致的处理。因此,一种能简洁、便捷、准确地进行鸡蛋污损检测的方法及系统是非常有必要的。


技术实现要素:

5.本发明的目的是提供一种基于深度学习的鸡蛋污损检测方法及系统,其特征在于,所述鸡蛋污损检测方法包括步骤:
6.101,获取流水线上的鸡蛋表面图像,其中鸡蛋可以在流水线上滚动,图像采集装置可以连续拍照或者拍摄,进而获得整个鸡蛋一周的图像;将所述图像信息传入计算机中进行简单的预处理;包括去噪处理和图像增强处理处理;
7.102,将处理后的图像传入基于深度学习的语义分割模型中,语义分割模型可以剔除背景图像,仅保留鸡蛋图像;其中所述语义分割模型是基于样本鸡蛋及预先确定的鸡蛋标签训练后获得的;
8.103,再将剔除背景干扰后的鸡蛋图像传入到基于深度学习的目标检测模型中,对鸡蛋裂纹和脏污进行检测。分析鸡蛋到底属于严重破损、轻微破损还是脏污中的哪一类;其中目标检测模型是基于鸡蛋脏污和裂纹的标签训练后获得的;
9.104,回传包括脏污类型及位置的检测信息,并展示结果。
10.所述获取流水线上待检测的鸡蛋的完整图像,包括:获取每一个鸡蛋完整一周的原始图像,对所述完整图像进行二值化处理、去噪处理和图像增强处理。
11.所述的基于深度学习的语义分割模型能有效剔除背景干扰,仅保留有鸡蛋图像的副本;语义分割对传入的图像进行分析,判断其图像中每个像素点所属类别,其像素点属于鸡蛋的标为一类,属于背景的标为另一类;将属于背景的像素点置白,属于鸡蛋的像素点变为透明;最终与原图像进行叠加,得到经语义分割后仅保留为鸡蛋的新图像,其图像为后续目标检测、识别作铺垫,减小后续目标检测的难度,提升检测的准确度。
12.所述后续目标检测是将之前处理后得到的仅保留有鸡蛋的图像传入目标检测模型中,获得所述目标检测模型输出的破损检测结果,包括:提取所述图像中的多个候选区域,将候选区域输入至基于深度学习的目标检测模型中,对候选区域进行调整,准确的识别出大裂纹、小裂纹和脏污;获得所述模型输出的识别结果;识别结果用于指示所述候选区域内是否存在大小裂纹和脏污。根据每个所述候选区域分别对应的识别结果,输出带有目标检测框的图像副本。
13.所述在带有目标检测框的图像副本中建立坐标系,获取所述目标检测框的坐标和所述流水线的尺寸信息,获取鸡蛋裂纹及污损区域的位置信息。
14.所述获取鸡蛋裂纹及污损区域的位置信息以识别目标检测框位于所述鸡蛋图像副本中的目标候选区域,所述目标候选区域的识别结果为存在大小裂纹或者存在脏污。
15.所述的基于深度学习的目标检测模型可以准确的识别出大裂纹、小裂纹和脏污;每个所述候选区域分别对应所述识别结果,回传包括脏污类型及位置的检测信息的识别结果,并展示结果。
16.所述一种鸡蛋污损检测系统,该系统由获取模块、语义分割模块、目标检测模块,结果展示模块串联组成;所述语义分割模型和目标检测模型是基于样本鸡蛋及预先确定的污损结果标注进行训练后获得的;其中获取模块用于获取待检测的流水线上的鸡蛋图像,可以对鸡蛋进行连续拍摄,由于流水线上的鸡蛋可以不断滚动,因此拍摄能够获得鸡蛋完整一周的图像;语义分割模块用于去除传入系统的流水线上鸡蛋图片的背景,减少干扰;目标检测模块用于将鸡蛋图像输入至语义分割模型中,先剔除背景干扰,再输入至目标检测模型,检测鸡蛋的裂纹和污损;进而获得鸡蛋污损位置信息;结果展示模块用于展示污损位置及相应的坐标信息。
17.所述一种鸡蛋污损检测系统的具体电子设备包括通信总线301、处理器302、存储器303、通信接口304;通信总线301完成处理器302、存储器303、通信接口304相互间的通信;所述存储器为一种非暂态计算机可读存储介质,其上存储有可在处理器上运行的计算机程序;通过在处理器上运行的计算机程序实现所述鸡蛋污损检测方法。
18.本发明的有益效果是采用基于深度学习的检测方法,通过采集若干流水线上的鸡蛋图像,将其传入到检测系统中,首先通过基于深度学习的语义分割模型,去除背景干扰。之后再利用基于深度学习的目标检测模型,来检测出大小裂纹和脏污。最终将污损框选,返回相应的检测信息并展示出来。现在市面上主要通过基于声学震动频率的方法进行污损检测,但是这种方法检测不出脏污。传统的计算机视觉方法在面对背景等杂质的抗干扰性较差。很容易发生误检。本发明通过基于深度学习的计算机视觉检测方法可以快速对鸡蛋污损进行检测,准确的区分出大小裂纹和脏污,方便后续加工生产,且成本较低,可以节省大量的人力物力成本。
附图说明
19.图1为基于深度学习的鸡蛋污损检测方法的流程示意图;
20.图2为基于深度学习的鸡蛋污损检测系统的结构示意图;
21.图3为电子设备的实体结构示意图;
具体实施方式
22.本发明提供一种基于深度学习的鸡蛋污损检测方法及系统,下面将结合附图对本发明进行清楚、完整地描述,
23.图1所示为基于深度学习的鸡蛋污损检测方法的流程示意图;在图1所示的基于深度学习的鸡蛋污损检测方法的流程示意图中,鸡蛋污损检测方法包括如下步骤:
24.步骤101,获取流水线上的鸡蛋图像,利用摄像机对鸡蛋进行连续拍照,并传入到系统中。其中,但要求鸡蛋能在流水线进行完整一周的滚动,这样才能保证照相机在拍照时可获得鸡蛋完整一周的图像。具体地,在鸡蛋经过采集装置时,相机进行拍照,之后将照片传送给图像获取模块,图像获取模块将模拟图像信号转换成计算机能处理的数字图像信号。
25.在获取到流水线上鸡蛋图像后,计算机可对其进行预处理。预处理的目的是在进一步的处理中更容易的获取到鸡蛋的污损信息。预处理可包括:去噪处理和增强处理中的至少一种。进一步地,去噪处理可以采用中值滤波、均值滤波、高斯滤波等算法,图像增强处理可以采用直方图均衡化,对鸡蛋图像进行一定的增强。
26.步骤102,将流水线上鸡蛋图像输入至基于深度学习的语义分割模型中。获得剔除背景,只保留有鸡蛋的流水线鸡蛋图像。其中,语义分割模型是基于流水线鸡蛋图像及预先确定好的样本标签训练后获得的。具体地,语义分割模型可以判断出传入图片的每一个像素点所属类别的是背景还是前景,将背景像素变为纯色,将前景像素变为透明,最终与原图进行叠加,获得只保留有鸡蛋的图像。
27.另外,在执行步骤102之前,需要构建出上述语义分割模型。首先需要采集数据获取训练样本,训练样本通过如下方式获取:首先可采集大量流水线上鸡蛋图像,然后利用标注工具对流水线上的鸡蛋图像进行标注,将鸡蛋图像选取出来作为前景。数据集图像应当越多越好,将该数据集按照4:1的比例划分出训练集和测试集。之后将语义分割模型的训练集换成自己的训练集,并修改模型代码令其输入和输出适合自己的训练数据集。
28.其中,语义分割模型首先是编码部分,对传入的图像先利用带有空洞卷积的深度卷积神经网络进行特征提取,随后传入空间金字塔池化模块,主要是为了引入多尺度信息。空洞卷积是语义分割模型的关键之一,他可以不改变特征图大小的同时控制感受野,这有利于提取多尺度信息。之后是解码部分,将处理后得到的底层特征与高层特征进行进一步融合,提升分割边界准确度,最后再利用双线性插值得到于原始图像相同大小的分割预测。
29.所述语义分割模型可以是deeplabv3+等准确度较高的模型。本发明实施例对语义分割模型的算法不作具体限定。之后开始语义分割模型的训练,使语义分割模型能准确的提取鸡蛋图像并屏蔽掉背景。训练的同时利用验证样本数据来评估网络的误差,若误差持续下降,则继续训练直到满足预定的误差精度。若误差连续十次不下降,则终止训练。训练结束后,利用测试样本数据检验训练完的网络,若误差达到最初的误差要求,则训练结束,
否则网络需要继续训练。
30.其中,语义分割的结果包括流水线上鸡蛋图像的副本图像。副本图像上只保留有鸡蛋图像,背景变为纯白色。
31.步骤103,将步骤102中经过语义分割模块处理后的鸡蛋图像传入到基于深度学习的目标检测模型中,利用目标检测算法从上到下的在图像中提取鸡蛋图像中的裂纹和污损特征的候选区域。将特征信息输入至目标检测模型中,获得目标检测模型输出的识别结果,识别结果用于指示鸡蛋图像中具体是否存在大裂纹、小裂纹和脏污。
32.在执行步骤103之前,需要构建出鸡蛋污损的目标检测模型。过程与步骤102类似,首先需采集鸡蛋裂纹和污损图像,制作训练样本,用标注工具对其进行标注。采集的图像数据应当越多越好,最少应当不低于两万张。将数据集按照4:1的比例划分成训练集和测试集。之后将目标检测模型的训练集替换成自己制作好的数据集进行训练。
33.模型首先对传入的图片进行特征提取,得到共享特征层。每个网格上有若干个先验框,利用rpn预建议网络就可以获得这些先验框的调整参数及这些先验框是否包含物体,此时得到了建议框。建议框是对画面中的物体进行粗略的筛选,后面还需要进一步的调整。利用建议框在特征层上进行截取,截取到的不同特征层就能反应出原图的不同位置。截取到的内容会传入roipooling层中,利用建议框截取共享特征层。为了满足对不同大小的图片的检测,roipooling层中会对不同尺寸的建议框进行池化,使其大小一样。然后利用分类与回归网络判断截取的图像。回归预测会调整建议框,得到预测框。分类预测会判断建议框是否真实包含物体,并且判断物体的种类。
34.其中,目标检测模型可以是yolov4等准确度较高的模型。本发明实施例对目标检测模型的算法不作具体限定。之后开始模型训练,使模型能准确的检测出裂纹和脏污。训练的同时利用验证样本数据来评估网络的误差。
35.步骤104,根据步骤103中每个候选区域分别对应的识别结果,输出带有目标检测框的背景图像副本。目标检测框位于背景图像副本中的目标候选区域,目标候选区域的识别结果为存在大裂纹、小裂纹或者脏污。
36.具体地,可在候选区域中筛选出识别结果作为存在裂纹和脏污的目标候选区域。然后在鸡蛋图像副本中该目标候选区域的位置处设置一个目标检测框,从而通过目标检测框标识出存在破损的位置。
37.另外,由于最终的目标检测框的位置不可能与人工标注的位置完全匹配,因此还可以对目标检测框在鸡蛋图像中的位置进行精确修正。本发明实施例可使用回归器修正目标检测框的位置。
38.基于上述实施例的内容,输出带有目标检测框的鸡蛋副本图像之后,还包括:在背景图像副本中建立坐标系,获取污损检测框的坐标;根据污损检测框的坐标和流水线尺寸信息,获取流水线上鸡蛋污损的具体位置信息。
39.其中,可通过如下方式建立坐标系:以背景图像的左上角为坐标原点,右上角为x轴正方向,左下角为y轴正方向构建二维坐标系。然后将检测到的污损目标(xi,yi)(即污损检测框的坐标)映射到二维坐标系中,根据流水线实际宽度与采集到图像的宽度之比,可以推断出实际污损的具体位置。
40.图2所示为基于深度学习的鸡蛋污损检测系统的结构示意图;该检测系统用于执
行上述方法实施例中的鸡蛋污损检测方法。该系统由获取模块201,目标检测模块202和输出模块203串联组成.其中,获取模块201,用于获取待检测的流水线上的鸡蛋图像,其中,在拍摄图像时,摄像机应当平行放置于流水线上,能够清晰的拍摄出一个鸡蛋完整滚动一周的情况。且摄像机不存在广角镜头畸变,使图像与真实数据不符,从而影响到后续的数据处理。目标检测模块202包含语义分割和污损检测两个处理部分,将流水线上的鸡蛋图像传入其中,最终得到鸡蛋的污损信息。其中语义分割模型和污损检测模型是基于样本鸡蛋污损信息及预先确定的标签训练后获得的。
41.具体地,获取模块201在获取流水线上的鸡蛋图像后,可对图像进行预处理。预处理的目的是为了在进一步的处理过程中更容易获得所需的鸡蛋信息。之后将其传入目标检测模块202中,目标检测模块先利用语义分割模型去除掉背景干扰,将背景变为白色,仅保留有鸡蛋,从而将背景对后续污损检测的干扰减小到最低。之后再利用目标检测模型对鸡蛋的裂纹和脏污进行检测,获得相关的污损信息。最后传给输出模块203,对污损位置等信息进行展示,相比于现有技术中的人工观察的方式具有较高的自动化程度,提高了检测效率,减少了人力物力成本,具有较高的准确度和可信度。
42.如图3所示为鸡蛋污损检测系统的电子设备的实体结构示意图;包括通信总线301、处理器302、存储器303、通信接口304;通信总线301完成处理器302、存储器303、通信接口304相互间的通信;所述存储器为一种非暂态计算机可读存储介质,其上存储有可在处理器上运行的计算机程序;通过在处理器上运行的计算机程序实现所述鸡蛋污损检测方法。
43.上述存储器303中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或者使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存储器、磁碟或者光盘等各种可以存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1