一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

产品瑕疵检测方法、计算机装置及存储介质与流程

2022-02-21 10:43:04 来源:中国专利 TAG:


1.本发明涉及一种产品质量管控技术领域,尤其涉及一种产品瑕疵检测方法、计算机装置及存储介质。


背景技术:

2.目前,深度学习网络架构可用于检测产品的缺陷。通常是将产品的图片输入到深度学习的网络模型得到产品的检测结果。然而,所输入的图像的分辨率和大小会影响检测的精细度和速度。如果输入的图像分辨率高且图像尺寸大,尽管检测的精细度很高,但速度将大大降低,因此不能满足工业速度的需求。如果降低输入图像的分辨率,则会降低产品的检测精度。


技术实现要素:

3.鉴于以上内容,有必要提供一种产品瑕疵检测方法、计算机装置及存储介质,可在提升产品检测效率的同时提升产品质量的检测精度。
4.所述产品瑕疵检测方法,包括:获取产品的测试图片;将所述测试图片切分为第一预设数量的测试区块;根据所述每个测试区块在所述测试图片中的位置,将所述每个测试区块输入至预设的瑕疵识别模型,获得所述每个测试区块的检测结果;及根据所述每个测试区块的检测结果确定所述产品的检测结果。
5.所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现所述产品瑕疵检测方法。
6.所述计算机装置包括存储器和至少一个处理器,所述存储器中存储有至少一个指令,所述至少一个指令被所述至少一个处理器执行时实现所述产品瑕疵检测方法。
7.相较于现有技术,所述产品瑕疵检测方法、计算机装置及存储介质,可在提升产品检测效率的同时提升产品质量的检测精度。
附图说明
8.图1是本发明较佳实施例的计算机装置的架构图。
9.图2是本发明较佳实施例的产品瑕疵检测系统的功能模块图。
10.图3是本发明较佳实施例的产品瑕疵检测方法的流程图。
11.图4举例说明第一用户界面。
12.图5举例说明第二用户界面。
13.主要元件符号说明
[0014][0015][0016]
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
[0017]
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
[0018]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0019]
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
[0020]
参阅图1所示,为本发明较佳实施例提供的计算机装置的架构图。
[0021]
本实施例中,计算机装置3包括互相之间电气连接的存储器31、至少一个处理器32。
[0022]
本领域技术人员应该了解,图1示出的计算机装置3的结构并不构成本发明实施例的限定,所述计算机装置3还可以包括比图1更多或更少的其他硬件或者软件,或者不同的部件布置。
[0023]
需要说明的是,所述计算机装置3仅为举例,其他现有的或今后可能出现的计算机装置如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
[0024]
在一些实施例中,所述存储器31可以用于存储计算机程序的程序代码和各种数
据。例如,所述存储器31可以用于存储安装在所述计算机装置3中的产品瑕疵检测系统30,并在计算机装置3的运行过程中实现高速、自动地完成程序或数据的存取。所述存储器31可以是包括只读存储器(read-only memory,rom)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器(erasable programmable read-only memory,eprom)、一次可编程只读存储器(one-time programmable read-only memory,otprom)、电子擦除式可复写只读存储器(electrically-erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者任何其他能够用于携带或存储数据的非易失性的计算机可读的存储介质。
[0025]
在一些实施例中,所述至少一个处理器32可以由集成电路组成。例如,可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述至少一个处理器32是所述计算机装置3的控制核心(control unit),利用各种接口和线路连接整个计算机装置3的各个部件,通过执行存储在所述存储器31内的程序或者模块或者指令,以及调用存储在所述存储器31内的数据,以执行计算机装置3的各种功能和处理数据,例如,对产品瑕疵进行检测的功能(具体细节参后面对图3的介绍)。
[0026]
在本实施例中,产品瑕疵检测系统30可以包括一个或多个模块,所述一个或多个模块存储在所述存储器31中,并由至少一个或多个处理器(本实施例为处理器32)执行,以实现对产品瑕疵进行检测的功能(具体细节参后面对图3的介绍)。
[0027]
在本实施例中,所述产品瑕疵检测系统30根据其所执行的功能,可以被划分为多个模块。参阅图2所示,所述多个模块包括获取模块301、执行模块302。本发明所称的模块是指一种能够被至少一个处理器(例如处理器32)所执行并且能够完成固定功能的一系列计算机可读的指令段,其存储在存储器(例如计算机装置3的存储器31)中。在本实施例中,关于各模块的功能将在后续结合图3详述。
[0028]
本实施例中,以软件功能模块的形式实现的集成的单元,可以存储在一个非易失性可读取存储介质中。上述软件功能模块包括一个或多个计算机可读指令,所述计算机装置3或一个处理器(processor)通过执行所述一个或多个计算机可读指令实现本发明各个实施例的方法的部分,例如图3所示的对产品瑕疵进行检测的方法。
[0029]
在进一步的实施例中,结合图2,所述至少一个处理器32可执行所述计算机装置3中所安装的各类应用程序(如所述的产品瑕疵检测系统30)、程序代码等。
[0030]
在进一步的实施例中,所述存储器31中存储有计算机程序的程序代码,且所述至少一个处理器32可调用所述存储器31中存储的程序代码以执行相关的功能。例如,图2中所述产品瑕疵检测系统30的各个模块是存储在所述存储器31中的程序代码,并由所述至少一个处理器32所执行,从而实现所述各个模块的功能以达到对产品瑕疵进行检测的目的(详见下文中对图3的描述)。
[0031]
在本发明的一个实施例中,所述存储器31存储一个或多个计算机可读指令,所述一个或多个计算机可读指令被所述至少一个处理器32所执行以实现对产品瑕疵进行检测的目的。具体地,所述至少一个处理器32对上述计算机可读指令的具体实现方法详见下文
中对图3的描述。
[0032]
图3是本发明较佳实施例提供的产品瑕疵检测方法的流程图。
[0033]
在本实施例中,所述产品瑕疵检测方法可以应用于计算机装置3中,对于需要进行产品瑕疵检测的计算机装置3,可以直接在该计算机装置3上集成本发明的方法所提供的用于产品瑕疵检测的功能,或者以软件开发工具包(software development kit,sdk)的形式运行在所述计算机装置3上。
[0034]
如图3所示,所述产品瑕疵检测方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
[0035]
步骤s1、获取模块301获取待检测的产品的图片(为清楚简单说明本发明,以下将待检测的产品的图片的称为“测试图片”)。
[0036]
所述待检测的产品也即是需要进行瑕疵检测的产品。例如,可以为手机壳、手机保护套,或者任何其他适合的产品。
[0037]
在一个实施例中,所述获取模块301可以利用摄像头(图中未示出)对所述待检测的产品进行拍摄,获得该待检测的产品的测试图片。当然,该待检测的产品的测试图片也可以预先存储在存储器31中,所述获取模块301可以直接从该存储器31中获取所述产品的测试图片。
[0038]
步骤s2、执行模块302将所述测试图片切分为第一预设数量(例如20、22,或其他数值)的区块(为清楚简单说明本发明,以下将所述测试图片对应的所述第一预设数量的区块中的每个区块称为“测试区块”)。
[0039]
在一个实施例中,执行模块302还记录所述第一预设数量的测试区块中的每个测试区块在所述测试图片中的位置。
[0040]
在一个实施例中,所述执行模块302可以以所述测试图片的左下角为原点o,所述测试图片的下边缘为x轴,所述测试图片的左边缘为y轴,建立坐标系xoy,每个测试区块在所述测试图片中的位置也即是在所述坐标系xoy中的位置坐标范围。需要说明的是,所述坐标系xoy也可以以其他方式建立,例如以测试图片的右下角为原点,所述测试图片的下边缘为x轴,所述测试图片的右边缘为y轴。此处仅为举例说明,不应解释为对本发明的限制。
[0041]
在一个实施例中,所述第一预设数量的测试区块中的每个测试区块的大小相同。在其他实施例中,所述第一预设数量的测试区块中的各个测试区块的大小也可以不相同。
[0042]
步骤s3、执行模块302根据所述每个测试区块在所述测试图片中的位置,将所述每个测试区块输入至预设的瑕疵识别模型,获得所述每个测试区块的检测结果。
[0043]
在一个实施例中,所述检测结果分为无瑕疵、有瑕疵。
[0044]
在一个实施例中,执行模块302获得所述瑕疵识别模型的步骤包括(a1)-(a6):
[0045]
(a1)收集第二预设数量(例如100000,200000或其他数值)的瑕疵图片。
[0046]
在一个实施例中,所述第二预设数量的瑕疵图片中的每张瑕疵图片的大小相同,且与所述测试图片的大小相同。
[0047]
本实施例中,所述瑕疵图片也即是所述产品具有瑕疵时所拍摄的图片。
[0048]
(a2)将所述第二预设数量的瑕疵图片中的每张瑕疵图片切分第一预设数量的瑕疵区块。
[0049]
在一个实施例中,所述第一预设数量的瑕疵区块中的每个瑕疵区块的大小相同。
在其他实施例中,所述第一预设数量的瑕疵区块中的各个瑕疵区块的大小也可以不相同。
[0050]
(a3)将所述第一预设数量的瑕疵区块中的每个瑕疵区块与该每个瑕疵区块在对应的瑕疵图片中的位置建立关联。
[0051]
在一个实施例中,所述执行模块302可以以所述瑕疵图片的左下角为原点o’,所述瑕疵图片的下边缘为x’轴,所述瑕疵图片的左边缘为y’轴,建立坐标系x’o’y’,每个瑕疵区块在对应瑕疵图片中的位置也即是在所述坐标系x’o’y’中的位置坐标范围。需要说明的是,所述瑕疵图片的坐标系x’o’y’的建立方式需与所述测试图片的坐标系x’o’y’的建立方式同,例如都以图片的左下角为原点,下边缘为横轴,左边缘为纵轴。
[0052]
(a4)将对应相同位置的所有瑕疵区块作为一个训练样本,由此获得多个训练样本。
[0053]
(a5)基于所述多个训练样本中的每个训练样本分别对神经网络进行训练获得一个瑕疵检测模型,由此获得多个瑕疵检测模型。
[0054]
在一个实施例中,可以使用神经网络训练算法,例如反向传播算法对卷积神经网络模型进行训练。训练卷积神经网络模型所用的神经网络训练算法为公知技术,此处不再赘述。
[0055]
(a6)将所述多个瑕疵检测模型分别与对应的训练样本所对应的位置建立关联。
[0056]
根据上述步骤可知,所述执行模块302是将所有瑕疵图片中对应相同位置的瑕疵区块作为一个训练样本,并基于该训练样本训练得出一个瑕疵检测模型。由此,在进行瑕疵检测时,根据测试区块在测试图片中的位置调用对应的瑕疵检测模型进行检测即可。
[0057]
举例而言,假设切分所述第二预设数量的瑕疵图片的时候,将每张瑕疵图片切分为两个瑕疵区块,该两个瑕疵区块分别在所述瑕疵图片中的位置记为p1和p2。则将所有瑕疵区块中与位置p1对应的瑕疵区块作为第一训练样本,将所有瑕疵区块中与位置p2对应的瑕疵区块作为第二训练样本。以第一训练样本训练神经网络获得一个瑕疵识别模型m1,以第二训练样本训练神经网络获得一个瑕疵识别模型m2。当需要在对测试图片进行检测时,将测试图片切分为两个测试区块,该两个测试区块在所述测试图片中的位置分别为p1和p2。那么,可将与位置p1对应的测试区块输入至所述瑕疵识别模型m1进行检测,将与位置p2对应的测试区块输入至所述瑕疵识别模型m2进行检测。由此实现了不同测试区块同时检测的目的,提升了检测速率。
[0058]
步骤s4、执行模块302根据所述每个测试区块的检测结果确定所述产品的检测结果。
[0059]
本实施例中,当所有测试区块的检测结果均为无瑕疵时,所述执行模块302确定所述产品无瑕疵,通过测试。当任一测试区块的检测结果为有瑕疵时,所述执行模块302确定所述产品存在瑕疵,没有通过测试。
[0060]
在一个实施例中,所述执行模块302可以生成第一用户界面,将所述产品的检测结果显示在所述第一用户界面。所述执行模块302还可以从所述第一用户界面接收用户的第一输入信号,响应所述第一输入信号显示所述第一预设数量的测试区块中的每个测试区块的检测结果。
[0061]
在一个实施例中,所述执行模块302还可以根据所述第一预设数量的测试区块中的每个测试区块在所述测试图片中的位置显示该每个测试区块的检测结果。
[0062]
在一个实施例中,所述执行模块302还可以响应所述第一输入信号生成第二用户界面;及在所述第二用户界面显示第一预设数量的图案,所述第一预设数量的图案中的每个图案代表所述第一预设数量的测试区块中的其中一个测试区块的检测结果,其中,所述图案以不同样式区分不同的检测结果。例如,图案为灰色时表示对应的测试区块有瑕疵,没有通过测试,而图案为其他颜色例如白色时表示对应的测试区块没有瑕疵,通过测试。
[0063]
在一个实施例中,所述执行模块302在所述第一用户界面显示一个指定按钮,所述第一输入信号为从所述指定按钮所接收的信号。该信号可以为例如触摸信号或双击信号。
[0064]
例如,参阅图4所示,所述执行模块302于从第一用户界面5上的按钮51接收到信号时,生成第二用户界面6。所述执行模块302在所述第二用户界面6显示20个图案60,该20个图案60分别代表20个测试区块的检测结果,该20个图案60在所述第二用户界面6的位置与所述20个区块在测试图片中的位置一一对应。其中,图案为灰色时表示对应的测试区块有瑕疵,没有通过测试,而图案为白色时表示对应的测试区块没有瑕疵,通过测试。
[0065]
在一个实施例中,所述执行模块302还可以将所述第一预设数量的图案中的每个图案与对应的测试区块建立关联;从所述第二用户界面侦测用户的第二输入信号及该第二输入信号的输入位置;当所述第二输入信号的输入位置位于所述第一预设数量的图案中的任一图案所在位置时,将与该任一图案对应的测试区块显示在所述第二用户界面。
[0066]
例如,参阅图5所示,当所述执行模块302从灰色图案所在位置接收到用户的输入信号时,所述执行模块302则显示所述测试图片中,与该灰色图案所在位置所对应的区块61。在一个实施例中,所述执行模块302还可以在所述第二用户界面显示一个指定按钮;及当从所述指定按钮接收到用户的第三输入信号时,从所述第二用户界面切换到所述第一用户界面。
[0067]
例如,参阅图5所示,所述执行模块302在所述第二用户界面5显示按钮51,当所述执行模块302从所述按钮51接收到用户的输入信号时,所述执行模块302则从所述第二用户界面6切换到所述第一用户界面5。
[0068]
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0069]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0070]
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0071]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此
外,显然“包括”一词不排除其他单元或,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
[0072]
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献