CN108694716B - 一种工件检测方法、模型训练方法及设备 - Google Patents
一种工件检测方法、模型训练方法及设备 Download PDFInfo
- Publication number
- CN108694716B CN108694716B CN201810462298.6A CN201810462298A CN108694716B CN 108694716 B CN108694716 B CN 108694716B CN 201810462298 A CN201810462298 A CN 201810462298A CN 108694716 B CN108694716 B CN 108694716B
- Authority
- CN
- China
- Prior art keywords
- workpiece
- image
- training
- convolutional neural
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请公开了一种工件检测方法、模型训练方法及设备,包括:利用第一组训练数据对第一层卷积神经网络进行训练,其中以原始图像样本作为输入,以能够用于确定工件图像的第一信息作为输出;原始图像样本包括正样本和负样本;利用第二组训练数据,对第二层卷积神经网络进行训练,其中以工件图像作为输入,以能够用于确定工件位置关键点图像的第二信息作为输出;利用第三组训练数据,对第三层卷积神经网络中的N个卷积神经网络进行训练,其中在每次对第三层卷积神经网络中的任一个卷积神经网络进行训练时,以一个工件位置关键点图像作为输入,以该工件位置关键点的坐标作为输出。本申请能够有效提升工件检测的检测效率、检测精度以及适用范围。
Description
技术领域
本发明涉及工件检测技术领域,特别涉及一种工件检测方法、模型训练方法及设备。
背景技术
在工件制造、装配和检测过程中,对工件进行自动识别和定位等检测是非常重要的,它可以大大地推进生产的自动化程度,提升生产效率。自动识别定位技术有很多种,其中视觉识别定位技术以其非接触、采样周期短、柔性和智能化等优点迅速得到了广泛的应用。
然而,传统的视觉识别定位方法主要基于人工设计的特征,比如利用大量的特征点、特征线段和特征区域来实现识别和定位。其中基于图像特征线段和特征区域的方法在很大程度上依赖于图像的分割和边缘提取,这两种操作本身具有相当大的难度和计算量,一旦待检测目标局部发生变化(如部分遮挡或特征线断裂),则很可能导致图像的分割和边缘提取操作的失败,使得算法的效率和稳健性不高,制约了这两种方法的适用性。基于特征点的方法计算量大,需要很多特征点,一旦目标物体没有足够的特征点,很可能导致匹配的失败。
综上所述可以看出,如何提升工件检测的检测效率、检测精度以及适用范围是目前有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种工件检测方法、模型训练方法及设备,能够有效提升工件检测的检测效率、检测精度以及适用范围。其具体方案如下:
第一方面,本发明公开了一种工件检测模型训练方法,包括:
获取第一组训练数据、第二组训练数据和第三组训练数据;
利用所述第一组训练数据,对第一层卷积神经网络进行训练,得到第一训练模型;其中,在对所述第一层卷积神经网络进行训练时,以原始图像样本作为输入,以能够用于确定工件图像的第一信息作为输出;所述原始图像样本包括不含有工件的图像样本以及含有若干个工件的图像样本,并且,不同的工件图像与不同的工件之间呈一一对应关系;
利用所述第二组训练数据,对第二层卷积神经网络进行训练,得到第二训练模型;其中,在对所述第二层卷积神经网络进行训练时,以工件图像作为输入,以能够用于确定工件位置关键点图像的第二信息作为输出,并且,每个工件图像均对应于N个工件位置关键点,N为大于1的整数;
利用所述第三组训练数据,对第三层卷积神经网络中的N个卷积神经网络进行训练,得到N个第三训练模型;其中,在每次对所述第三层卷积神经网络中的任一个卷积神经网络进行训练时,以一个工件位置关键点图像作为输入,以该工件位置关键点的坐标作为输出。
可选的,所述第一信息为位于所述第一组训练数据中的能够反映感受野区域上包含工件或不包含工件的概率的热图;
所述第二信息为位于所述第二组训练数据中的工件位置关键点相对于工件图像的坐标;
所述第三训练模型输出的工件位置关键点的坐标为工件位置关键点相对于工件图像的坐标。
可选的,所述获取第一组训练数据,包括:
获取通过图像采集的方式得到的原始采集图像;
对所述原始采集图像进行位移和/或缩放和/或旋转处理得到处理后图像;
将所述原始采集图像和所述处理器后图像作为所述原始图像样本。
可选的,所述第一层卷积神经网络包括1个全卷积神经网络;
所述第二层卷积神经网络包括1个卷积神经网络,并且,该卷积神经网络中输入侧的一个工件图像对应于输出侧的5个工件位置关键点;
所述第三层卷积神经网络包括5个卷积神经网络。
第二方面,本发明公开了一种工件检测方法,包括:
对工件的作业现场进行图像采集,得到待检测原始图像;
将所述待检测原始图像输入至第一训练模型,得到第一信息;
利用所述第一信息确定出每个工件的工件图像,并将确定出的工件图像从所述待检测原始图像上裁剪出来,得到待检测工件图像;
将所述待检测工件图像输入至第二训练模型,得到第二信息;
利用所述第二信息确定出每个工件位置关键点图像,并将确定出的工件位置关键点图像从所述待检测工件图像上裁剪出来,得到待检测关键点图像;
将所述待检测关键点图像输入至第三训练模型,得到相应的工件位置关键点的坐标;
其中,所述第一训练模型、所述第二训练模型和所述第三训练模型为利用前述公开的工件检测模型训练方法得到的模型。
可选的,所述第二信息为工件位置关键点相对于工件图像的坐标;
通过所述第三训练模型得到的工件位置关键点的坐标为工件位置关键点相对于工件图像的坐标;
相应的,所述利用所述第二信息确定出每个工件位置关键点图像,包括:
对所述第二信息进行坐标变换,得到相应工件位置关键点在所述待检测原始图像上的第一像素坐标;
根据所述第一像素坐标,在所述待检测原始图像上确定出相应工件位置关键点所在区域对应的图像。
可选的,所述工件检测方法,还包括:
对通过所述第三训练模型得到的工件位置关键点的坐标进行坐标变换,得到相应工件位置关键点在所述待检测原始图像上的第二像素坐标;
利用所述图像采集的过程中所采用的相机内外参数,对所述第二像素坐标进行坐标变换,得到相应工件位置关键点的世界坐标。
可选的,所述工件检测方法,还包括:
利用任一工件对应的所有工件位置关键点的世界坐标,确定该工件的位姿信息。
第三方面,本发明公开了一种工件检测模型训练设备,包括处理器和存储器,其中,所述处理器执行所述存储器中保存的计算机程序时实现前述公开的工件检测模型训练方法。
第四方面,本发明公开了一种工件检测设备,包括处理器和存储器,其中,所述处理器执行所述存储器中保存的计算机程序时实现前述公开的工件检测方法。
可见,本申请一共设计了三层级联卷积神经网络用于进行工件检测模型的训练,其中,本申请以原始图像样本作为第一层卷积神经网络的输入,以能够用于确定工件图像的第一信息作为第一层卷积神经网络的输出,以工件图像作为第二层卷积神经网络的输入,以能够用于确定工件位置关键点图像的第二信息作为第二层卷积神经网络的输出,以工件位置关键点图像作为第三层卷积神经网络的输入,以工件位置关键点的坐标作为第三层卷积神经网络的输出,这样后续可以利用第一训练模型检测出待检测原始图像上的工件图像,利用第二训练模型可以检测出工件图像上的工件位置关键点图像以实现对工件的粗略定位,利用第三训练模型可以检测出工件位置关键点的坐标以实现对工件的精确定位,从而提升了检测精度,并且原始图像样本包括负样本和正样本,也即包括不含有工件的图像样本和含有若干个工件的图像样本,这样可以避免大量的坐标标记,只需采用二分类标记即可,由此减少了计算量,提高了检测效率,并且具有十分广泛的应用范围。综上,本申请能够有效提升工件检测的检测效率、检测精度以及适用范围。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种工件检测模型训练方法流程图;
图2为本申请实施例公开的一种工件检测方法流程图;
图3为C1网络的正样本示例图;
图4为C1网络的负样本示例图;
图5为一种具体的工件位置关键点图像示例图;
图6为C1网络检测工件的效果图;
图7为C2网络预测关键点的效果图;
图8为C3网络预测关键点的效果图;
图9为本申请实施例公开的一种工件检测模型训练装置结构示意图;
图10为本申请实施例公开的一种工件检测装置结构示意图;
图11为本申请实施例公开的一种工件检测设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种工件检测模型训练方法,参见图1所示,该方法包括:
步骤S11:获取第一组训练数据、第二组训练数据和第三组训练数据。
可以理解的是,本实施例中第一组训练数据包括预先采集的原始图像样本以及用于确定工件图像的第一信息,第二组训练数据包括预先从原始图像样本中提取出来的工件图像以及用于确定工件位置关键点图像的第二信息,第三组训练数据中包括预先从工件图像中提取出的工件位置关键点图像以及相应工件位置关键点的坐标。
本实施例中,原始图像样本可以是由图像采集设备对工件的作业现场进行图像采集后得到的用作正样本的原始图像样本,可以理解的是,用作正样本的每张原始图像样本上可以包含若干个工件,也即既可以包含一个工件,也可以包含多个工件,另外,本实施例中的原始图像样本还包括不包含工件的用作负样本的原始图像样本。可见,本实施例在对第一层卷积神经网络进行训练时,所采用的训练样本既包括正样本也包括负样本,这样可以使得在对第一层卷积神经网络进行训练时只需采用二分类标记即可,如将正样本和负样本分别标记为1和0,而无需进行大量的坐标标记,从而减少了很多的计算量。
为了确保第一组训练数据中拥有足够多的训练样本,并且避免图像采集设备的工作负荷较大,本实施例中,所述获取第一组训练数据,具体可以包括:先获取通过图像采集的方式得到的原始采集图像,然后对所述原始采集图像进行位移和/或缩放和/或旋转处理得到处理后图像;最后将所述原始采集图像和所述处理器后图像作为所述原始图像样本。
步骤S12:利用所述第一组训练数据,对第一层卷积神经网络进行训练,得到第一训练模型;其中,在对所述第一层卷积神经网络进行训练时,以原始图像样本作为输入,以能够用于确定工件图像的第一信息作为输出;所述原始图像样本包括不含有工件的图像样本以及含有若干个工件的图像样本,并且,不同的工件图像与不同的工件之间呈一一对应关系。
本实施例中,所述第一信息具体可以为位于所述第一组训练数据中的能够反映感受野区域上包含工件或不包含工件的概率的热图。
可以理解的是,以一张包含多个工件的原始图像样本作为第一层卷积神经网络的输入时,将会输出与多个工件图像对应的多份第一信息。例如,假设原始图像样本A是对3个工件的作业现场进行图像采集后得到的,则以上述原始图像样本A作为第一层卷积神经网络的输入时,与原始图像样本A上的3个工件图像分别一一对应的3份第一信息会作为第一层卷积神经网络的输出。
步骤S13:利用所述第二组训练数据,对第二层卷积神经网络进行训练,得到第二训练模型;其中,在对所述第二层卷积神经网络进行训练时,以工件图像作为输入,以能够用于确定工件位置关键点图像的第二信息作为输出,并且,每个工件图像均对应于N个工件位置关键点,N为大于1的整数。
本实施例中,所述第二信息具体可以为位于所述第二组训练数据中的工件位置关键点相对于工件图像的坐标。
本实施例中,工件图像上的位置关键点是工件图像上用于对工件进行辅助定位的关键点,每个工件图像上一共有N个关键点。与任一个工件位置关键点对应的工件位置关键点图像是指从工件图像上提取出的包含该工件位置关键点的局部图像区域。
需要指出的是,上述N值是预先设定的数值。以任意一张工件图像作为第二层卷积神经网络的输入时,与该工件图像上的N个工件位置关键点图像分别一一对应的N份第二信息会作为第二层卷积神经网络的输出。
步骤S14:利用所述第三组训练数据,对第三层卷积神经网络中的N个卷积神经网络进行训练,得到N个第三训练模型;其中,在每次对所述第三层卷积神经网络中的任一个卷积神经网络进行训练时,以一个工件位置关键点图像作为输入,以该工件位置关键点的坐标作为输出。
本实施例中,所述第三训练模型输出的工件位置关键点的坐标具体为工件位置关键点相对于工件图像的坐标。
优选的,本实施例中,所述第一层卷积神经网络包括1个全卷积神经网络;所述第二层卷积神经网络包括1个卷积神经网络,并且,该卷积神经网络中输入侧的一个工件图像对应于输出侧的5个工件位置关键点;所述第三层卷积神经网络包括5个卷积神经网络。
可见,本申请实施例一共设计了三层级联卷积神经网络用于进行工件检测模型的训练,其中,本申请以原始图像样本作为第一层卷积神经网络的输入,以能够用于确定工件图像的第一信息作为第一层卷积神经网络的输出,以工件图像作为第二层卷积神经网络的输入,以能够用于确定工件位置关键点图像的第二信息作为第二层卷积神经网络的输出,以工件位置关键点图像作为第三层卷积神经网络的输入,以工件位置关键点的坐标作为第三层卷积神经网络的输出,这样后续可以利用第一训练模型检测出待检测原始图像上的工件图像,利用第二训练模型可以检测出工件图像上的工件位置关键点图像以实现对工件的粗略定位,利用第三训练模型可以检测出工件位置关键点的坐标以实现对工件的精确定位,从而提升了检测精度,并且原始图像样本包括负样本和正样本,也即包括不含有工件的图像样本和含有若干个工件的图像样本,这样可以避免大量的坐标标记,只需采用二分类标记即可,由此减少了计算量,提高了检测效率,并且具有十分广泛的应用范围。综上,本申请实施例能够有效提升工件检测的检测效率、检测精度以及适用范围。
进一步的,本申请实施例还公开了一种工件检测方法,该方法需要采用利用前述公开的工件检测模型训练方法得到的所述第一训练模型、所述第二训练模型和所述第三训练模型。参见图2所示,该工件检测方法包括:
步骤S21:对工件的作业现场进行图像采集,得到待检测原始图像。
步骤S22:将所述待检测原始图像输入至第一训练模型,得到第一信息。
本实施例中,上述步骤S22中的第一信息具体可以为能够反映感受野区域上包含工件或不包含工件的概率的热图。
步骤S23:利用所述第一信息确定出每个工件的工件图像,并将确定出的工件图像从所述待检测原始图像上裁剪出来,得到待检测工件图像。
步骤S24:将所述待检测工件图像输入至第二训练模型,得到第二信息。
步骤S25:利用所述第二信息确定出每个工件位置关键点图像,并将确定出的工件位置关键点图像从所述待检测工件图像上裁剪出来,得到待检测关键点图像。
本实施例中,所述第二信息具体为工件位置关键点相对于工件图像的坐标。相应的,所述利用所述第二信息确定出每个工件位置关键点图像,具体可以包括:
对所述第二信息进行坐标变换,得到相应工件位置关键点在所述待检测原始图像上的第一像素坐标;根据所述第一像素坐标,在所述待检测原始图像上确定出相应工件位置关键点所在区域对应的图像。
步骤S26:将所述待检测关键点图像输入至第三训练模型,得到相应的工件位置关键点的坐标。
本实施例中,通过所述第三训练模型得到的工件位置关键点的坐标为工件位置关键点相对于工件图像的坐标。
本实施例中,为了获取工件在世界坐标系中的实际位姿信息,上述工件检测方法,还进一步包括:
对通过所述第三训练模型得到的工件位置关键点的坐标进行坐标变换,得到相应工件位置关键点在所述待检测原始图像上的第二像素坐标;利用所述图像采集的过程中所采用的相机内外参数,对所述第二像素坐标进行坐标变换,得到相应工件位置关键点的世界坐标。
在获知任一工件对应的所有工件位置关键点的世界坐标之后,本实施例还可以进一步包括:利用任一工件对应的所有工件位置关键点的世界坐标,确定该工件的位姿信息。
进一步的,下面通过实际应用举例的方式来对本申请中的模型训练和工件检测过程进行详细说明。
首先,在模型训练之前,先确定出每层卷积神经网络的网络结构。其中,表1、表2和表3中分别示出了第一层卷积神经网络C1、第二层卷积神经网络C2和第三层卷积神经网络C3的网络结构。其中,第一层卷积神经网络包括1个全卷积神经网络,第二层卷积神经网络包括1个卷积神经网络,第三层卷积神经网络包括5个卷积神经网络,分别为C31、C32、C33、C34和C35。
由上可见,第一层卷积神经网络C1、第二层卷积神经网络C2和第三层卷积神经网络C3的网络结构互不相同,而第三层卷积神经网络中的5个卷积神经网络C31、C32、C33、C34和C35的网络结构是相同的,不过这5个卷积神经网络分别采用不同的样本图片进行训练。
表1 C1神经网络结构参数
输入层 | 类型 | 特征数 | 神经元数 | 卷积核、下采样尺寸 |
0 | 输入层 | 180×180 | ||
1 | 卷积层 | 32 | 176×176 | 5×5 |
2 | 下采样层 | 32 | 88×88 | 2×2 |
3 | 卷积层 | 64 | 84×84 | 5×5 |
4 | 下采样层 | 64 | 42×42 | 2×2 |
5 | 卷积层 | 32 | 40×40 | 3×3 |
6 | 下采样层 | 32 | 10×10 | 4×4 |
7 | 卷积层 | 2 | 1 | 10×10 |
8 | 输出层 | 2 |
表2 C2神经网络结构参数
输入层 | 类型 | 特征数 | 神经元数 | 卷积核、下采样尺寸 |
0 | 输入层 | 68×68 | ||
1 | 卷积层 | 32 | 64×64 | 5×5 |
2 | 下采样层 | 32 | 32×32 | 2×2 |
3 | 卷积层 | 64 | 28×28 | 5×5 |
4 | 下采样层 | 64 | 14×14 | 2×2 |
5 | 卷积层 | 16 | 10×10 | 5×5 |
6 | 下采样层 | 16 | 5×5 | 2×2 |
7 | 全连接层 | 100 | ||
8 | 输出层 | 10 |
表3 C3神经网络结构参数
本申请实施例采集了1000张包含工件的彩色图片,并进行裁剪得到尺寸为180×180,作为C1网络的正样本,如图3所示。以及在公开数据库随机挑选了10000张不含有工件的彩色图片,作为C1网络的负样本,如图4所示。由于在训练阶段,C1网络只能接受固定分辨率的图片,本文将所有负样本的分辨率都统一制作成180×180,并计算出训练集的均值,在将训练样本输入给C1网络模型进行训练之前,减去训练集的均值。由于本实施例采集的正样本图片只有1000个,难以充分训练神经网络。为此,需要对数据进行扩充,本实施例先从每张工件图片中截取出9张内容不同但尺寸均为170×170的图片块,并将这些图片块放大到180×180的大小,最终得到10000张正样本图片以及10000张负样本图片。
本实施例中,第二层卷积神经网络C2作为关键点检测网络,用于提取图像的局部特征并预测关键点。本实施例预先获取1000张工件图像,为了训练C2网络,本实施例需要将上述1000张工件图像的尺寸调整为68×68,并为上述1000张工件图像上的共5000个关键点制作了标签。
为了训练第三层卷积神经网络C3中的5个神经网络,本实施例采集了五组工件位置关键点图像,每组1000张图片,每张图片的中心区域都包含工件的一个关键点,如图5中的黑色小点所示,并分别制作每组图片的标签,作为C31、C32、C33、C34、C35网络的训练数据。
本实施例使用Caffe(Convolution Architecture for Feature Embedding)框架进行训练和预测,Caffe只需要简单的文本配置,就可以搭建实验所需的CNN模型,并且支持GPU计算,使框架拥有强大的图形处理能力,大幅提升训练速度。在开源深度学习框架caffe下以及win10系统上,实验中训练了7个神经网络模型。训练结果表4所示:
表4
本实施例中,在训练完上述7个神经网络模型后,便可以验证算法的准确率和精度。其中图6为C1网络检测工件的效果图。图7为使用神经网络C2预测一个工件上5个关键点的效果图,图7中的5个黑色小点表示预测出的5个关键点,结果表明C2网络预测关键点的位置不够精确。图8为使用C3网络预测关键点的效果图,图8中五角星对应的关键点是预测后的关键点,可以发现关键点的预测精度明显提升。
具体的,利用上述训练得到的3层卷积神经网络来检测工件的过程包括:
首先,采集一副现场的图片,作为C1神经网络的输入。经过C1神经网络前向计算后,输出两张热图,其中一副热图中颜色越红的地方表示该像素对应的感受野有更大的概率包含工件。根据非极大值抑制算法,并根据感受野递推公式,计算得到对应的工件区域。
然后,将原图上对应的工件区域裁剪出来,并把图片尺寸降为68×68,得到相应的工件图像,并作为C2神经网络的输入。经过C2神经网络前向计算后,输出10个值,分别表示5个关键点在输入图片上的像素坐标,经过尺寸比例关系运算得到关键点在原图上的像素坐标。
接着,在原图上分别以每个关键点为中心,裁剪出5副尺寸为30×30的图片,作为第三层卷积神经网络的输入。经过第三层卷积神经网络前向计算后,分别预测每个关键点的坐标信息,并经过坐标关系换算,得到关键点在原图上的像素坐标。
最后,根据相机的内外参数计算得到关键点的世界坐标,然后基于关键点的世界坐标确定出工件的位姿信息。
具体的,本实施例中,在得到任一工件的5个关键点后,可以根据上述5个关键点估计该工件的位姿。实验中工件的位姿估计公式为:
式中,Θ表示工件的姿态信息,P表示工件的位置信息,表示通过模型预测得到的关键点A和关键点C之间的连线与世界坐标系X方向的夹角,和的含义与此类似,在此不再赘述,θac表示通过实际测量得到的工件上a点和c点之间的连线与工件等分线的夹角,θad、θbe和θce的含义与此类似,在此不再赘述,P(A)、P(B)、P(C)和P(D)分别表示关键点A、关键点B、关键点C和关键点D的世界坐标。
本实施例中,部分实验结果如表5和表6所示:
表5
表6
从表4、表5和表6可以看出,C2神经网络输出的结果,平均误差已经降到1.57个像素。经过C3神经网络进一步计算后,平均误差降低到0.937个像素,工件的位姿估计与实际值误差较小。实验结果表明,本文所提出的基于级联卷积神经网络的算法能够很好的应用到复杂形状物体的位姿估计中。
进一步的,本申请实施例还公开了一种工件检测模型训练装置,参见图9所示,该装置包括:
训练数据获取模块11,用于获取第一组训练数据、第二组训练数据和第三组训练数据;
第一训练模块12,用于利用所述第一组训练数据,对第一层卷积神经网络进行训练,得到第一训练模型;其中,在对所述第一层卷积神经网络进行训练时,以原始图像样本作为输入,以能够用于确定工件图像的第一信息作为输出;所述原始图像样本包括不含有工件的图像样本以及含有若干个工件的图像样本,并且,不同的工件图像与不同的工件之间呈一一对应关系;
第二训练模块13,用于利用所述第二组训练数据,对第二层卷积神经网络进行训练,得到第二训练模型;其中,在对所述第二层卷积神经网络进行训练时,以工件图像作为输入,以能够用于确定工件位置关键点图像的第二信息作为输出,并且,每个工件图像均对应于N个工件位置关键点,N为大于1的整数;
第三训练模块14,用于利用所述第三组训练数据,对第三层卷积神经网络中的N个卷积神经网络进行训练,得到N个第三训练模型;其中,在每次对所述第三层卷积神经网络中的任一个卷积神经网络进行训练时,以一个工件位置关键点图像作为输入,以该工件位置关键点的坐标作为输出。
关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
进一步的,本申请实施例还公开了一种工件检测装置,参见图10所示,该装置包括:
图像采集模块21,用于对工件的作业现场进行图像采集,得到待检测原始图像;
第一检测模块22,用于将所述待检测原始图像输入至第一训练模型,得到第一信息;
第一处理模块23,用于利用所述第一信息确定出每个工件的工件图像,并将确定出的工件图像从所述待检测原始图像上裁剪出来,得到待检测工件图像;
第二检测模块24,用于将所述待检测工件图像输入至第二训练模型,得到第二信息;
第二处理模块25,用于利用所述第二信息确定出每个工件位置关键点图像,并将确定出的工件位置关键点图像从所述待检测工件图像上裁剪出来,得到待检测关键点图像;
第三检测模块26,用于将所述待检测关键点图像输入至第三训练模型,得到相应的工件位置关键点的坐标;
其中,所述第一训练模型、所述第二训练模型和所述第三训练模型为利用前述实施例公开的工件检测模型训练装置得到的模型。
关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
进一步的,本申请实施例还公开了一种工件检测模型训练设备,包括处理器和存储器,其中,所述处理器执行所述存储器中保存的计算机程序时实现以下步骤:
获取第一组训练数据、第二组训练数据和第三组训练数据;利用所述第一组训练数据,对第一层卷积神经网络进行训练,得到第一训练模型;其中,在对所述第一层卷积神经网络进行训练时,以原始图像样本作为输入,以能够用于确定工件图像的第一信息作为输出;所述原始图像样本包括不含有工件的图像样本以及含有若干个工件的图像样本,并且,不同的工件图像与不同的工件之间呈一一对应关系;利用所述第二组训练数据,对第二层卷积神经网络进行训练,得到第二训练模型;其中,在对所述第二层卷积神经网络进行训练时,以工件图像作为输入,以能够用于确定工件位置关键点图像的第二信息作为输出,并且,每个工件图像均对应于N个工件位置关键点,N为大于1的整数;利用所述第三组训练数据,对第三层卷积神经网络中的N个卷积神经网络进行训练,得到N个第三训练模型;其中,在每次对所述第三层卷积神经网络中的任一个卷积神经网络进行训练时,以一个工件位置关键点图像作为输入,以该工件位置关键点的坐标作为输出。
本实施例中,所述第一信息为位于所述第一组训练数据中的能够反映感受野区域上包含工件或不包含工件的概率的热图;所述第二信息为位于所述第二组训练数据中的工件位置关键点相对于工件图像的坐标;所述第三训练模型输出的工件位置关键点的坐标为工件位置关键点相对于工件图像的坐标。
本实施例中,所述处理器执行所述存储器中保存的计算机子程序时,具体可以实现以下步骤:获取通过图像采集的方式得到的原始采集图像;对所述原始采集图像进行位移和/或缩放和/或旋转处理得到处理后图像;将所述原始采集图像和所述处理器后图像作为所述原始图像样本。
本实施例中,所述第一层卷积神经网络包括1个全卷积神经网络;所述第二层卷积神经网络包括1个卷积神经网络,并且,该卷积神经网络中输入侧的一个工件图像对应于输出侧的5个工件位置关键点;所述第三层卷积神经网络包括5个卷积神经网络。
进一步的,本申请实施例还公开了一种工件检测设备,参见图11所示,工件检测设备30包括处理器31和存储器32,其中,所述处理器31执行所述存储器32中保存的计算机程序时实现以下步骤:
对工件的作业现场进行图像采集,得到待检测原始图像;将所述待检测原始图像输入至第一训练模型,得到第一信息;利用所述第一信息确定出每个工件的工件图像,并将确定出的工件图像从所述待检测原始图像上裁剪出来,得到待检测工件图像;将所述待检测工件图像输入至第二训练模型,得到第二信息;利用所述第二信息确定出每个工件位置关键点图像,并将确定出的工件位置关键点图像从所述待检测工件图像上裁剪出来,得到待检测关键点图像;将所述待检测关键点图像输入至第三训练模型,得到相应的工件位置关键点的坐标;其中,所述第一训练模型、所述第二训练模型和所述第三训练模型为利用前述工件检测模型训练设备得到的模型。
本实施例中,所述第二信息为工件位置关键点相对于工件图像的坐标;通过所述第三训练模型得到的工件位置关键点的坐标为工件位置关键点相对于工件图像的坐标。
本实施例中,所述处理器31执行所述存储器32中保存的计算机子程序时,具体可以实现以下步骤:对所述第二信息进行坐标变换,得到相应工件位置关键点在所述待检测原始图像上的第一像素坐标;根据所述第一像素坐标,在所述待检测原始图像上确定出相应工件位置关键点所在区域对应的图像。
本实施例中,所述处理器31执行所述存储器32中保存的计算机子程序时,具体可以实现以下步骤:对通过所述第三训练模型得到的工件位置关键点的坐标进行坐标变换,得到相应工件位置关键点在所述待检测原始图像上的第二像素坐标;利用所述图像采集的过程中所采用的相机内外参数,对所述第二像素坐标进行坐标变换,得到相应工件位置关键点的世界坐标。
本实施例中,所述处理器31执行所述存储器32中保存的计算机子程序时,具体可以实现以下步骤:利用任一工件对应的所有工件位置关键点的世界坐标,确定该工件的位姿信息。
进一步的,本实施例中的工件检测设备30还可以包括:
图像采集器33,用于采集工件的作业现场的图像,以及采集不含有工件的场景的图像。具体的,图像采集器33可以包括用于采集工件作业现场的图像的工业相机,以及用于采集不含有工件的场景图像的普通数码相机。图像采集器33采集到的图像可以输入至处理器31中进行相应的处理,也可以传输至存储器32中进行保存。
输入接口34,用于获取外界输入的各种参数和各种指令,并将获取到的指令参数传输至处理器31,以对处理器31的处理流程进行控制。
通讯接口35,用于将处理器31处理后得到的各种数据传输至预设的通讯终端,以便该通讯终端的用户对处理器31得到的各种数据进行实时浏览、监视等,也可以用于获取通讯终端发送的各种参数和指令等,然后传输至处理器31。其中,通讯接口35可以是有线通讯接口,如USB接口、串行接口等,也可以是无线通讯接口,如WIFI通讯接口、蓝牙通讯接口等。
显示器36,用于对处理器31得到的预测结果进行显示,包括但不限于液晶显示器、投影仪等。
电源37,用于为工件检测设备30中的其他器件提供电能,以维持工件监测设备30的正常工作。
进一步的,本发明实施例还公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现如前述实施例中公开的工件检测模型训练方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
进一步的,本发明实施例还公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现如前述实施例中公开的工件检测方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种工件检测方法、模型训练方法及设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种工件检测模型训练方法,其特征在于,包括:
获取第一组训练数据、第二组训练数据和第三组训练数据;
利用所述第一组训练数据,对第一层卷积神经网络进行训练,得到第一训练模型;其中,在对所述第一层卷积神经网络进行训练时,以原始图像样本作为输入,以能够用于确定工件图像的第一信息作为输出;所述原始图像样本包括不含有工件的图像样本以及含有若干个工件的图像样本,并且,不同的工件图像与不同的工件之间呈一一对应关系;当一张所述原始图像样本中包含多个工件时,所述第一层卷积神经网络相应地输出与所述多个工件对应的多份所述第一信息;
利用所述第二组训练数据,对第二层卷积神经网络进行训练,得到第二训练模型;其中,在对所述第二层卷积神经网络进行训练时,以工件图像作为输入,以能够用于确定工件位置关键点图像的第二信息作为输出,并且,每个工件图像均对应于N个工件位置关键点,N为大于1的整数;
利用所述第三组训练数据,对第三层卷积神经网络中的N个卷积神经网络进行训练,得到N个第三训练模型;其中,在每次对所述第三层卷积神经网络中的任一个卷积神经网络进行训练时,以一个工件位置关键点图像作为输入,以该工件位置关键点的坐标作为输出。
2.根据权利要求1所述的工件检测模型训练方法,其特征在于,
所述第一信息为位于所述第一组训练数据中的能够反映感受野区域上包含工件或不包含工件的概率的热图;
所述第二信息为位于所述第二组训练数据中的工件位置关键点相对于工件图像的坐标;
所述第三训练模型输出的工件位置关键点的坐标为工件位置关键点相对于工件图像的坐标。
3.根据权利要求1所述的工件检测模型训练方法,其特征在于,所述获取第一组训练数据,包括:
获取通过图像采集的方式得到的原始采集图像;
对所述原始采集图像进行位移和/或缩放和/或旋转处理得到处理后图像;
将所述原始采集图像和所述处理后图像作为所述原始图像样本。
4.根据权利要求1至3任一项所述的工件检测模型训练方法,其特征在于,
所述第一层卷积神经网络包括1个全卷积神经网络;
所述第二层卷积神经网络包括1个卷积神经网络,并且,该卷积神经网络中输入侧的一个工件图像对应于输出侧的5个工件位置关键点;
所述第三层卷积神经网络包括5个卷积神经网络。
5.一种工件检测方法,其特征在于,包括:
对工件的作业现场进行图像采集,得到待检测原始图像;
将所述待检测原始图像输入至第一训练模型,得到第一信息;
利用所述第一信息确定出每个工件的工件图像,并将确定出的工件图像从所述待检测原始图像上裁剪出来,得到待检测工件图像;
将所述待检测工件图像输入至第二训练模型,得到第二信息;
利用所述第二信息确定出每个工件位置关键点图像,并将确定出的工件位置关键点图像从所述待检测工件图像上裁剪出来,得到待检测关键点图像;
将所述待检测关键点图像输入至第三训练模型,得到相应的工件位置关键点的坐标;
其中,所述第一训练模型、所述第二训练模型和所述第三训练模型为利用如权利要求1所述的工件检测模型训练方法得到的模型。
6.根据权利要求5所述的工件检测方法,其特征在于,
所述第二信息为工件位置关键点相对于工件图像的坐标;
通过所述第三训练模型得到的工件位置关键点的坐标为工件位置关键点相对于工件图像的坐标;
相应的,所述利用所述第二信息确定出每个工件位置关键点图像,包括:
对所述第二信息进行坐标变换,得到相应工件位置关键点在所述待检测原始图像上的第一像素坐标;
根据所述第一像素坐标,在所述待检测原始图像上确定出相应工件位置关键点所在区域对应的图像。
7.根据权利要求6所述的工件检测方法,其特征在于,还包括:
对通过所述第三训练模型得到的工件位置关键点的坐标进行坐标变换,得到相应工件位置关键点在所述待检测原始图像上的第二像素坐标;
利用所述图像采集的过程中所采用的相机内外参数,对所述第二像素坐标进行坐标变换,得到相应工件位置关键点的世界坐标。
8.根据权利要求7所述的工件检测方法,其特征在于,还包括:
利用任一工件对应的所有工件位置关键点的世界坐标,确定该工件的位姿信息。
9.一种工件检测模型训练设备,其特征在于,包括处理器和存储器,其中,所述处理器执行所述存储器中保存的计算机程序时实现如权利要求1至4任一项所述的工件检测模型训练方法。
10.一种工件检测设备,其特征在于,包括处理器和存储器,其中,所述处理器执行所述存储器中保存的计算机程序时实现如权利要求5至8任一项所述的工件检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810462298.6A CN108694716B (zh) | 2018-05-15 | 2018-05-15 | 一种工件检测方法、模型训练方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810462298.6A CN108694716B (zh) | 2018-05-15 | 2018-05-15 | 一种工件检测方法、模型训练方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108694716A CN108694716A (zh) | 2018-10-23 |
CN108694716B true CN108694716B (zh) | 2022-05-17 |
Family
ID=63846280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810462298.6A Active CN108694716B (zh) | 2018-05-15 | 2018-05-15 | 一种工件检测方法、模型训练方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108694716B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110097599B (zh) * | 2019-04-19 | 2021-08-13 | 电子科技大学 | 一种基于部件模型表达的工件位姿估计方法 |
CN110363127A (zh) * | 2019-07-04 | 2019-10-22 | 陕西丝路机器人智能制造研究院有限公司 | 机器人对工件关键点识别与定位的方法 |
CN110687120A (zh) * | 2019-09-18 | 2020-01-14 | 浙江工商大学 | 法兰外观质量检测系统 |
CN112329886A (zh) * | 2020-11-26 | 2021-02-05 | 珠海大横琴科技发展有限公司 | 双车牌识别方法、模型训练方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102721364A (zh) * | 2011-03-30 | 2012-10-10 | 比亚迪股份有限公司 | 一种工件的定位方法及其装置 |
CN108010078A (zh) * | 2017-11-29 | 2018-05-08 | 中国科学技术大学 | 一种基于三级卷积神经网络的物体抓取检测方法 |
-
2018
- 2018-05-15 CN CN201810462298.6A patent/CN108694716B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102721364A (zh) * | 2011-03-30 | 2012-10-10 | 比亚迪股份有限公司 | 一种工件的定位方法及其装置 |
CN108010078A (zh) * | 2017-11-29 | 2018-05-08 | 中国科学技术大学 | 一种基于三级卷积神经网络的物体抓取检测方法 |
Non-Patent Citations (1)
Title |
---|
结合人脸检测的人脸特征点定位方法研究;董瑞霞;《中国优秀硕士学位论文全文数据库》;20180115;第21-48页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108694716A (zh) | 2018-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108694716B (zh) | 一种工件检测方法、模型训练方法及设备 | |
CN108764048B (zh) | 人脸关键点检测方法及装置 | |
CN106845408B (zh) | 一种复杂环境下的街道垃圾识别方法 | |
CN108960135B (zh) | 基于高分辨遥感图像的密集舰船目标精确检测方法 | |
CN111080693A (zh) | 一种基于YOLOv3的机器人自主分类抓取方法 | |
JP2019514123A (ja) | 地理的領域におけるコンテナ内に格納された量の遠隔決定 | |
CN110599537A (zh) | 基于Mask R-CNN的无人机图像建筑物面积计算方法及系统 | |
CN112991447A (zh) | 一种动态环境下视觉定位与静态地图构建方法及系统 | |
CN112508975A (zh) | 一种图像识别方法、装置、设备及存储介质 | |
CN108986152B (zh) | 一种基于差分图像的异物检测方法及装置 | |
CN107480585B (zh) | 基于dpm算法的目标检测方法 | |
CN111259704B (zh) | 一种虚线车道线端点检测模型的训练方法 | |
CN110751154B (zh) | 一种基于像素级分割的复杂环境多形状文本检测方法 | |
CN109858327B (zh) | 一种基于深度学习的字符分割方法 | |
CN111008576B (zh) | 行人检测及其模型训练、更新方法、设备及可读存储介质 | |
CN112053441B (zh) | 一种室内鱼眼图像的全自动布局恢复方法 | |
CN111259710B (zh) | 采用停车位框线、端点的停车位结构检测模型训练方法 | |
CN113689445B (zh) | 结合语义分割与边缘检测的高分辨率遥感建筑物提取方法 | |
JP2019200512A (ja) | 構造物劣化検出システム | |
CN111696072A (zh) | 彩色图像的直线检测方法、装置、电子设备及存储介质 | |
CN111626241A (zh) | 一种人脸检测方法及装置 | |
CN116071651B (zh) | 一种均压场识别方法、装置、存储介质及终端 | |
CN114758002B (zh) | 一种基于航拍图像的光伏组串位置确定方法及系统 | |
CN116052097A (zh) | 一种地图要素检测方法、装置、电子设备和存储介质 | |
CN115731477A (zh) | 图像识别方法、违建检测方法、终端设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |