CN109816634B - 检测方法、模型训练方法、装置及设备 - Google Patents
检测方法、模型训练方法、装置及设备 Download PDFInfo
- Publication number
- CN109816634B CN109816634B CN201811644880.0A CN201811644880A CN109816634B CN 109816634 B CN109816634 B CN 109816634B CN 201811644880 A CN201811644880 A CN 201811644880A CN 109816634 B CN109816634 B CN 109816634B
- Authority
- CN
- China
- Prior art keywords
- model
- simulation
- image
- learning model
- dimensional
- 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
- 238000012549 training Methods 0.000 title claims abstract description 68
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000001514 detection method Methods 0.000 title claims abstract description 39
- 238000004088 simulation Methods 0.000 claims abstract description 97
- 238000004519 manufacturing process Methods 0.000 claims abstract description 27
- 230000000007 visual effect Effects 0.000 claims abstract description 12
- 239000011159 matrix material Substances 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 25
- 239000002131 composite material Substances 0.000 claims description 16
- 238000009826 distribution Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 claims description 12
- 230000000694 effects Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000004913 activation Effects 0.000 claims description 6
- 238000011176 pooling Methods 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 4
- 238000013215 result calculation Methods 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 27
- 238000002372 labelling Methods 0.000 description 11
- 238000012360 testing method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000036039 immunity Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000036544 posture Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000003319 supportive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Image Analysis (AREA)
Abstract
本申请实施例提供一种检测方法、模型训练方法、装置及设备。其中,检测方法包括如下的步骤:获取通过三维仿真模型生成的预设工件的仿真样本;基于所述仿真样本,对学习模型进行训练;其中,所述学习模型完成训练后即得到特征点识别模型;获取含有待检测对象的第一图像;将所述第一图像作为特征点识别模型的输入,执行所述特征点识别模型以得到特征点位置;基于所述特征点位置,完成对所述待检测对象的检测。本申请实施例提供的技术方案的特征点位置识别精度高,可以满足智能生产线上视觉引导的精度要求。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种检测方法、模型训练方法、装置及设备。
背景技术
智能制造被世界主要工业国家明确锁定为下一步的发展目标。而随着半导体技术的不断发展,芯片的处理能力大幅增长,为更加复杂算法的实时应用提供了可能,更为人工智能技术在产业中的落地提供了必要的支撑条件。作为智能制造的重要支撑性技术,工业机器视觉在智能制造的技术应用比例中占了较大的比重。
现有机器视觉算法中的特征点提取方法一般使用滑动窗口识别特征点,但特征点的识别往往在抗噪性、尺度不变性、旋转不变性等方面表现一般。由于特征点识别的准确性难以保证,导致算法设计者须面对大量特征点漏检、错配等问题,大大增加了算法的编制难度,应用限制较多;以至于特征点匹配的方式很难被广泛应用于生产线的视觉引导项目中。
发明内容
本申请实施例提供一种解决或部分解决上述问题的检测方法、模型训练方法、装置及设备。
在本申请的一个实施例中,提供了一种检测方法。该方法包括:
获取通过三维仿真模型生成的预设工件的仿真样本;
基于所述仿真样本,对学习模型进行训练;其中,所述学习模型完成训练后即得到特征点识别模型;
获取含有待检测对象的第一图像;
将所述第一图像作为特征点识别模型的输入,执行所述特征点识别模型以得到特征点位置;
基于所述特征点位置,完成对所述待检测对象的检测。
在本申请的另一个实施例中,提供了一种模型训练方法。该模型训练方法包括:
获取通过三维仿真模型生成的第一仿真样本,所述第一仿真样本中含有仿真图片以及所述仿真图片中需要识别的特征点位置;
将所述仿真图片作为所述学习模型的输入,执行所述学习模型得到第一输出结果;
根据所述仿真图片中需要识别的特征点位置及所述第一输出结果,计算代价函数;
所述代价函数符合收敛条件时,所述学习模型完成训练,能作为特征点识别模型用以识别图像中的特征点。
在本申请的又一个实施例中,还提供了一种检测装置。所述检测装置包括:存储器及处理器;其中,存储器及处理器;其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
获取通过三维仿真模型生成的预设工件的仿真样本;
基于所述仿真样本,对学习模型进行训练;其中,所述学习模型完成训练后即得到特征点识别模型;
获取含有待检测对象的第一图像;
将所述第一图像作为特征点识别模型的输入,执行所述特征点识别模型以得到特征点位置;
基于所述特征点位置,完成对所述待检测对象的检测。
在本申请的有一个实施例中,还提供了一种模型训练装置,其特征在于,包括:存储器及处理器;其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
获取通过三维仿真模型生成的第一仿真样本,所述第一仿真样本中含有仿真图片以及所述仿真图片中需要识别的特征点位置;
将所述仿真图片作为所述学习模型的输入,执行所述学习模型得到第一输出结果;
根据所述仿真图片中需要识别的特征点位置及所述第一输出结果,计算代价函数;
所述代价函数符合收敛条件时,所述学习模型完成训练,能作为特征点识别模型用以识别图像中的特征点。
在本申请的有一个实施例中,还提供了一种生产线设备。该生产线设备包括:
工作台,用于放置待检测部件;
摄像头,设置在所述工作台的上方,以用于采集所述工作台的图像;以及
检测装置,包括存储器及处理器;
其中,所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
获取通过三维仿真模型生成的预设工件的仿真样本;
基于所述仿真样本,对学习模型进行训练;其中,所述学习模型完成训练后即得到特征点识别模型;
获取含有待检测对象的第一图像;
将所述第一图像作为特征点识别模型的输入,执行所述特征点识别模型以得到特征点位置;
基于所述特征点位置,完成对所述待检测对象的检测。
本申请实施例提供的技术方案,采用通过三维仿真模型生成的预设工件的仿真样本对学习模型进行训练,可减少标注图片的工作量,样本生成效率高;另外,利用学习模型完成训练后得到的特征点识别模型对含有待检测对象的图像进行特征点识别,经测试,其识别结果精度高,可以满足智能生产线上视觉引导的精度要求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的检测方法的流程示意图;
图2为本申请一实施例提供的检测方法中特征点识别模型的计算流程示意图;
图3为本申请一实施例提供的检测方法中特征点识别模型的复合结构层的示意图;
图4为一具体概率分布图的局部截图;
图5示出了本申请一实施提供的模型训练方法的流程示意图;
图6示出了针对有一定材质特征的3D模拟工件图片,分别采用本申请方案、FAST算法、Harris角点识别算法、Shi-Tomasi角点识别算法进行几何角点识别的对比结果;
图7示出了针对有丰富背景噪声且有一定材质特征的3D模拟工件图片,分别采用本申请方案、FAST算法、Harris角点识别算法进行几何角点识别的对比结果;
图8示出了本申请一实施例提供的检测装置的结构示意图;
图9示出了本申请一实施例提供的生产线设备的结构示意图。
具体实施方式
以对传送带上工件识别定位为例,传统的机器视觉技术主要采用图像匹配、轮廓匹配和特征点匹配,对工件进行分类、定位(即确定工件的实际位置)和定姿(即确定工件的姿态)。基于图像匹配和轮廓匹配的方法对于工件的摆放姿态有较为严格的要求(不能倒放,不能相互遮挡叠摞,对不同种类工件难以同时处理等),从而在算法编制难度和实际应用效果上存在种种不足和限制。基于特征点匹配的方法,一般先用同一类方法分别提取模板图片和实拍图片的特征点,之后对两幅图片中所提取的特征点进行匹配,根据匹配度的高低筛选有效匹配点,之后根据匹配的结果来判断工件的种类、位置和姿态。
现有技术都存在特征点识别准确度低的问题,导致算法设计者须面对大量特征点漏检、错配等问题,大大增加了算法的编制难度,应用限制较多。以至于特征点匹配的方式很难被广泛应用于生产线的视觉引导项目中。
为解决工业机器视觉中的实际需求,本申请实施例提供一种基于学习模型(如深度神经网络模型)的特征点提取方案。本申请提供的技术方案在特征点位置识别的准确性、检测完整性、对噪声的鲁棒性等方面有具有超越常规水平的性能,且在计算复杂度方面不高,可以满足一般工业应用的实时性要求。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。另外,下述各实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1示出了本申请一实施例提供的检测方法的流程示意图。如图1所示,所述检测方法,包括:
101、获取通过三维仿真模型生成的预设工件的仿真样本。
102、基于所述仿真样本,对学习模型进行训练;其中,所述学习模型完成训练后即得到特征点识别模型。
103、获取含有待检测对象的第一图像。
104、将所述第一图像作为特征点识别模型的输入,执行所述特征点识别模型以得到特征点位置;
105、基于所述特征点位置,完成对所述待检测对象的检测。
在一种可实现的技术方案中,上述101中“获取通过三维仿真模型生成的仿真标注图片”可包括:
1011、获取预设工件的三维模型。
例如,利用三维CAD软件(如SolidWorks等)对预设工件进行三维建模。
1012、利用三维建模软件的脚本语言,在模拟场景中对所述三维模型进行位姿控制。
具体实施时,可将预设工件的三维模型放置到完全仿真的三维场景建模软件中(如Unity等);利用三维建模软件的脚本语言,在模拟产线(光线、背景等)的三维环境中对已有模型进行姿态及位置的控制。进行姿态及位置控制的目的是为了获得更多不同的仿真样本。进一步的,为了增强特征点识别模型对环境及噪声的免疫力,可以在模拟三维场景中加入各类光线、阴影、噪声、模糊(用于欠聚焦情况),也可以通过对图像后处理的方式以加入噪声影响。
1013、采集不同位姿对应的仿真图片。
具体实施时,可通过界面截图的方式采集不同位姿对应的仿真图片。仿真图片的采集可以自动的,也可由用户触发实现,本实施例对此不作具体限定。
104、将所述仿真图片中需要识别的特征点位置记录在与所述仿真图片关联的脚本文件中,以得到所述仿真样本。
以Unity为例,采用Camera.main.WorldToScreenPoint(transform.position)即可实现上述过程。
其中,上述步骤102中基于仿真样本对学习模型进行训练的过程,将在下文中详细说明。
上述103中,待检测对象可以放置于工作台上的工件或产品,或者是设置在工作台上的起位置校准作用的标识图案等。例如,生产线上的工件,需检测该工件在工作台上的位置姿态或检测工作台上工件的品类等。或者,生产线上的机械手臂或其他工作部件为了回位至初始位置或定位当前位姿,可通过采集含有标识图案的图像来定位出机械手臂或其他工作部件当前所在的位置或姿态等等。所述第一图像可通过深度摄像头,如单目摄像头、双目摄像头或RGB-D相机等采集。
上述104中,在将所述第一图像输入所述特征点识别模块之前,可先对第一图像进行如下处理,如:
将所述第一图像进行灰度化处理;
将灰度化处理后的第一图像的图像尺寸调整(resize)为所述特征点识别模型输入的维度。
其中,灰度化处理及图像尺寸resize处理均可参见现有技术中的相关内容,此处不作赘述。
在一种可实现的技术方案中,步骤104“将所述第一图像作为特征点识别模型的输入,执行所述特征点识别模型以得到特征点位置”,可具体包括如下步骤:
1041、将所述第一图像作为多个复合结构层的输入,经所述多个复合结构层的计算得到输出结果。
1042、将所述输出结果进行分类,得到三维结构矩阵。
1043、将所述三维结构矩阵中的一层信息去除,得到简化三维结构矩阵。
1044、根据所述简化三维结构矩阵,得到所述第一图像中各像素点作为待选特征点的概率分布图。
1045、从所述概率分布图中,提取符合设定要求的特征点位置。
上述1043中,被除去的一层信息不对应于所述第一图像中的实际像素。例如,图2所示的计算过程,经多个复合结构层输出后,将输出结果送入SoftMax分类激活层,经分类激活层处理后的三维矩阵结构如图2右上的三维结构所示。三维矩阵结构在z方向有N*N+1层,其中最后一层中数据表示在N*N的图像区域内是否存在特征点的几率,用于模型的训练和特征点的定位,并不对应于图像中的实际像素。因此,可将三维矩阵结构的最后一层的信息去除。即步骤1023“将所述三维结构矩阵中的一层信息去除,得到简化三维结构矩阵”可具体为:将所述三维结构矩阵中信息去除不对应于所述第一图像中的实际像素的一层信息,得到简化三维结构矩阵。
在一种可实现的技术方案中,如图3所示,本实施例提供的所述复合结构层可包括:二维卷积层、批标准化层和激活层;或者所述复合结构层包括:二维卷积层、批标准化层、激活层和池化层。具体实施时,所述复合结构层的数量为4~5个。
出于计算实时性的考虑,本实施例提供的所述多个复合结构层并未完全参照VGG-Encoder的卷积层结构,而是进行了适当的简化。主要是减少了两个相邻卷积层的情况(图3中不存在两相邻卷积层的情况),并且为了让训练更加顺利,在卷积层后面加上批标准化层,以便具有足够的梯度使模型尽快收敛;最大池化层(Max池化层)能够有效地提升关键点的检测准确性(实现平移不变性,旋转不变性,尺度不变性),但如果对于计算能力受限且实时性要求较高的场合,可以省略其中的池化层。
上述1044中,概率分布图(Heatmap,又称热图),如图4所示。通过检测大于人工设置的门限值的位置,并提取局部最大值,可以提取各特征点的准确位置。图4为经上述各步骤后得到概率分布图的局部截图;图4中像素灰度代表此像素位置作为特征点的几率,越白几率越大。将大于门限值的像素位置坐标进行记录,被记录下来的像素点的位置坐标即需从第一图像中识别出的特征点位置。
本实施例中的特征点识别模型的输入为灰度图片,可将工业摄像头拍摄的图像数据转换到灰度空间,之后经过特征点识别模型进行处理,得到一张与原图尺寸相同的概率分布图像,图像中每个像素的值代表着此像素位置对应角点的概率。使用者可以设置门限值,将大于门限值的像素位置坐标进行记录,它们即分别对应于原图像中角点的位置坐标。经测试,采用本实施例提供的特征点识别模型计算的特征点的位置与在图像中的真实位置的误差一般不超过1个像素,完全可以满足视觉引导的精度要求。
上述105中,对所述被检测对象进行的检测可具体包括:位置检测、姿态检测、产品类型检测等等,本实施例对此不作具体限定。
本实施例提供的技术方案,采用通过三维仿真模型生成的预设工件的仿真样本对学习模型进行训练,可减少标注图片的工作量,样本生成效率高;另外,利用学习模型完成训练后得到的特征点识别模型对含有待检测对象的图像进行特征点识别,经测试,其识别结果精度高,可以满足智能生产线上视觉引导的精度要求。
进一步的,学习模型的训练除采用仿真样本外,还需一定量在真实场景中拍摄的照片用于验证学习模型的训练效果,当然真实场景中拍摄的照片也可用于训练,这样有助提高学习模型的训练效果。即本实施例提供的所述方法还可包括如下步骤:
106、采集视角范围内包含预设工件的真实场景图像。
107、将所述真实场景图像转换为灰度图。
108、将所述灰度图的图像尺寸调整为所述特征点识别模型的输入维度,得到所述第二图像。
109、将所述第二图像中需要识别的特征点位置记录在与所述第二图像关联的文本文件中,以将所述第二图像及所述文本文件作为真实场景样本。
110、基于所述真实场景样本,对所述学习模型进行验证。
具体实施时,也可将真是场景样本作为训练样本,用以对学习模型进行训练。
进一步的,本实施例提供的方法还需包括:模型识别精确度验证的步骤。具体的,模型识别精确度验证的方式包括但不限于如下两种:
方式一、通过识别出的特征点位置和样本中标定的位置的误差平均值来验证模型识别精确度
其中,(x,y)为特征点识别模型识别出的特征点位置的坐标,(xi,yi)为与检测出特征点对应的脚本文件中标定的位置的坐标;n为特征点识别模型识别出的特征点的个数。此误差项表示将特征点识别模型识别出的特征点位置与相应特征点的标注坐标值间的平均距离误差(越小越精确,单位距离为像素)。对于特征点识别模型识别出的特征点但脚本文件中无相对应标注坐标的情况,以及漏检(脚本文件中有相关文件,但模型未检出)的情况,不包括在此公式中。
方式二、通过特征点的命中比例误差来验证模型识别精确度
其中,N为标注坐标的个数,n为算法模型检测出的特征点的个数。本参数值表征检测到的特征点与实际标注特征点的在数目上的准确性。比如对于某一图像,标注文件中记录有8个特征点,但实际检测只检测到7个,在这种情况下命中比例误差为12.5%;如果算法检测出9个特征点,命中比例误差也为12.5%。
上述实施例中学习模型的训练过程将在本实施例中进行详细说明。图5示出了本申请一实施提供的模型训练方法的流程示意图。如图5所示,所述模型训练方法,包括:
201、获取通过三维仿真模型生成的第一仿真样本。
其中,所述第一仿真样本中含有仿真图片以及所述仿真图片中需要识别的特征点位置。
202、将所述仿真图片作为所述学习模型的输入,执行所述学习模型得到第一输出结果。
203、根据所述仿真图片中需要识别的特征点位置及所述第一输出结果,计算代价函数。
204、所述代价函数符合收敛条件时,所述学习模型完成训练,能作为特征点识别模型用以识别图像中的特征点。
有关步骤201的具体内容,可参见上述实施例中的相关内容,此处不作赘述。
在一种可能的实现方案中,上述202中“将所述仿真图片作为所述学习模型的输入,执行所述学习模型得到第一输出结果”,可具体包括:
2021、将所述仿真图片作为多个复合结构层的输入,经所述多个复合结构层的计算得到第二输出结果;
2022、将所述第二输出结果进行分类,得到三维结构矩阵。
2023、将所述三维结构矩阵中的一层信息去除,得到简化三维结构矩阵。
其中,被去除掉的一层信息不对应于所述第一图像中的实际像素。例如,图2右上的三维结构所示。三维矩阵结构在z方向有N*N+1层,其中最后一层中数据表示在N*N的图像区域内是否存在特征点的几率,用于模型的训练和特征点的定位,并不对应于图像中的实际像素。经提取出相关信息后,将三维矩阵结构的最后一层的信息去除。
2024、根据所述简化三维结构矩阵,得到所述仿真图片中各像素点作为待选特征点的概率分布图。
其中,概率分布图(Heatmap,又称热图),如图4所示。通过检测大于人工设置的门限值的位置,并提取局部最大值,可以提取各特征点的准确位置。
2025、从所述概率分布图中,提取符合设定要求的特征点位置作为所述第一输出结果。
有关上述2021~2025的具体内容,可参见上述实施例中的相应内容,此处不作赘述。
本实施例提供的技术方案,采用通过三维仿真模型生成的预设工件的仿真样本对学习模型进行训练,可减少标注图片的工作量,样本生成效率高;另外,利用学习模型完成训练后得到的特征点识别模型对含有待检测对象的图像进行特征点识别,经测试,其识别结果精度高,可以满足智能生产线上视觉引导的精度要求。
学习模型需要大量的数据训练才能达到满意的效果,但标注图片的工作量十分庞大,费时费力。为了产生足够的训练数据,本实施例将三维仿真图像作为训练样本。但为了提高学习模型的训练效果,还需要有一定量的真实场景样本。即本实施例提供的所述方法还包括:
205、根据所述仿真图片中需要识别的特征点位置及所述输出结果计算代价函数不符合收敛条件时,调整所述学习模型中的参数,并进入下一次迭代。
其中,调整学习模型中的参数,可基于代价函数的取值来进行。具体的,基于代价函数的取值,调整学习模型中的参数的过程可参见现有技术中的相关内容,此处不作赘述。
进一步的,本实施例提供的所述方法,还可包括如下步骤:
206、将所述真实场景样本中的样本图像作为所述学习模型的输入,执行所述学习模型得到第三输出结果;
207、根据所述真实场景样本中的特征点位置及所述第三输出结果,验证所述学习模型的训练效果。
其中,上述207中学习模型的训练效果的验证方式可参见上述实施例中“模型识别精确度验证的步骤部分”的内容,此处不再赘述。
实际上,真实场景样本也可用于学习模型的训练,本实施例对此不作具体限定。
本实施例提供的技术方案,利用深度神经网络的方法建立特征点识别模型,通过使用工件三维仿真模型所自动生成的仿真标注图片对深度神经网络模型参数进行训练,从而实现对工件进行高精度、高可靠性地特征点识别,进而满足智能制造中单或多工件的分类、定位、定姿任务的具体要求。
在一具体实现方案中,本实施例中的“代价”(Cost)函数可采用如下形式:Cross_Entropy=TensorFlow.reduce_mean(TensorFlow.nn.softmax_cross_entropy_wi th_logits(labels=y_,logits=y_conv))
其中,y_为样本(如仿真样本或真是场景样本)中标定特征点位置输入通道,y_conv为图2中Softmax层所输出的输出结果。代价函数是否能够稳定地收敛到较小值上,决定着模型能否收敛。可通过如下形式的的函数判定代价函数是否满足收敛条件:
train_step=TensorFlow.train.AdamOptimizer(LearningRate).minimize(Cross_Entrop y)
需要说明的是,本申请各实施例中的特征点并非仅限于传统意义上的“几何角点”,还可以令本申请各实施例提供的方案在识别特征角点的同时,识别圆或椭圆的圆心,二维多边形面心,边的中位点,以及圆柱体的端面中心等具有明确几何含义的特征点。对于线段中位点、面心等较为复杂的特征点的识别,需要适当改造网络模型(建立更深的神经网络,如使用完整的VGG-Encoder)并使用专门的标注数据进行训练。具体来讲,还可以通过有针对性地训练算法模型,使其对某几类特定的特征点敏感,而对其它特征点不敏感。比如,与图片对应的标签文件中只记录某几类角点的位置信息,而对其它特征点完全忽略;这样,参数模型收敛后(上述代价函数稳定收敛到较小阈值水平时),算法一般仅对部分几何特征点敏感。
对于机器视觉的工业应用来讲,一般产线上的工件的形状确定,所以需要提取的特征点的种类特点也相对容易确定,特征点识别模型的适用性特点主要是通过被训练图片的标注特征决定的,也就是说,如果只对标注几何角点的特征图片进行大批量训练,模型参数收敛后,算法模型在几何角点识别方面的效果会比较好,而在其它类型特征点的识别方面则难以保证。
综上,本申请实施例提供的方案中,模型训练过程可简单总结为如下过程:
首先,将样本图片(包括仿真样本中的仿真图片及真实场景样本中的样本图像)进行编号,并将记录对应特征点坐标的脚本文件设为与样本图片同名;然后顺序读入样本图片和脚本文件,对学习模型(神经网络模型)进行训练;一般训练图片总量达到万张以上时,模型趋于收敛。
检测过程可简单总结为如下过程:
将实际采集到的图像作为特征点识别模型的输入,执行该特征点模型即可计算得出特征点位置。
本申请实施例提供的技术方案在原理上对图像中三维物体的几何形状进行分析以求得特征点的位置,由于图像中的噪声图像一般不具备规则的几何特征,所以本申请实施例提供的技术方案可以具备优异的鲁棒性,对图像内物体的非几何形状性纹理和图像背景噪声及干扰图案具有较强的免疫作用。图6示出了针对有一定材质特征的3D模拟工件图片,分别采用本申请方案、FAST算法、Harris角点识别算法、Shi-Tomasi角点识别算法进行几何角点识别的对比结果。由图6可见,工件的纹理材质一般不会影响申请实施例提供的技术方案对特征点(亦或称为角点)位置的判断,而采用传统FAST、Harris、Shi特征点识别算法,对于具有纹理特征的图片则很难正确找到并找全相应特征点。图7针对有丰富背景噪声且有一定材质特征的3D模拟工件图片,分别采用本申请方案、FAST算法、Harris角点识别算法进行几何角点识别的结果。对于本图像,Shi-Tomasi角点识别算法未正确识别出任何角点位置,所以未放在图7中进行对比。在图7中,图片背景中加入了丰富的无规则形状干扰噪声,而本申请方案仍然能够较好地正确识别工件的几何角点位置,而此种情况下传统的FAST、Harris及Shi算法基本难以正常发挥作用。说明本申请方案在抗噪性、准确性方面远超传统的图像处理算法。
本实施例提供的技术方案的执行速度取决于硬件计算能力和神经网络的参数总量。针对于320*240分辨率的图片,以配备NVIDIA GTX1050-Ti显卡情况为例,处理速度甚至可以控制在20ms以下;针对x86架构的芯片,单核运行速度一般可以控制在100ms以下。以当前显卡和多核CPU的计算能力来看,可以满足智能制造过程的实时性要求。
在实际应用场景中,识别出特征点位置后,可以通过计算特征点的描述子(Descriptor)的方式,对产线上拍摄的工件图像与工件模板图片进行特征点匹配,便可实现对工件的识别与定位、定姿。
本申请中的学习算法可采用VGG-like Encoder的形式实现,但具体形式并不限于此,可以根据复杂性和实时性的要求,采用不同的深度卷积网络设计形式(如MobileNet,SqueezeNet,ResNet,AlexNet等)。学习模型中的卷积网络部分和特征点的分类部分可以充分借鉴如MobileNet,SqueezeNet,ResNet中的设计形式,本实施例对此不作具体限定。
图8示出了本申请一实施例提供的检测装置的结构示意图。如图所示,所述检测装置包括:存储器11及处理器12。其中,存储器11可被配置为存储其它各种数据以支持在计算设备上的操作。这些数据的示例包括用于在检测装置上操作的任何应用程序或方法的指令。存储器11可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
所述处理器12,与所述存储器11耦合,用于执行所述存储器11中存储的所述程序,以用于:
获取通过三维仿真模型生成的预设工件的仿真样本;
基于所述仿真样本,对学习模型进行训练;其中,所述学习模型完成训练后即得到特征点识别模型;
获取含有待检测对象的第一图像;
将所述第一图像作为特征点识别模型的输入,执行所述特征点识别模型以得到特征点位置;
基于所述特征点位置,完成对所述待检测对象的检测。
本实施例提供的技术方案,采用通过三维仿真模型生成的预设工件的仿真样本对学习模型进行训练,可减少标注图片的工作量,样本生成效率高;另外,利用学习模型完成训练后得到的特征点识别模型对含有待检测对象的图像进行特征点识别,经测试,其识别结果精度高,可以满足智能生产线上视觉引导的精度要求。
其中,处理器12在执行存储器11中的程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面各实施例的描述。
进一步的,如图8所示,检测装置还可包括:显示器14、通信组件13、电源组件15等其它组件。图8中仅示意性给出部分组件,并不意味着检测装置只包括图8所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各实施例提供的检测方法的步骤或功能。
本申请实施例还提供的一种模型训练装置,同样的,该模型训练装置可包括:存储器及处理器。本实施例提供的所述模型训练装置的结构类同于上述图8所示的结构。具体的,所述存储器可被配置为存储其它各种数据以支持在模型训练装置上的操作。这些数据的示例包括用于在模型训练装置上操作的任何应用程序或方法的指令。所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
获取通过三维仿真模型生成的第一仿真样本,所述第一仿真样本中含有仿真图片以及所述仿真图片中需要识别的特征点位置;
将所述仿真图片作为所述学习模型的输入,执行所述学习模型得到第一输出结果;
根据所述仿真图片中需要识别的特征点位置及所述第一输出结果,计算代价函数;
所述代价函数符合收敛条件时,所述学习模型完成训练,能作为特征点识别模型用以识别图像中的特征点。
本实施例提供的技术方案,采用通过三维仿真模型生成的预设工件的仿真样本对学习模型进行训练,可减少标注图片的工作量,样本生成效率高;另外,利用学习模型完成训练后得到的特征点识别模型对含有待检测对象的图像进行特征点识别,经测试,其识别结果精度高,可以满足智能生产线上视觉引导的精度要求。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各实施例提供的模型训练方法的步骤或功能。
图9示出了本申请一实施例提供的生产线设备的结构示意图。如图9所示,所述生产线设备,其特征在于,包括:工作台23、摄像头22及检测装置21。其中,工作台23,用于放置待检测部件24,如工件。摄像头22,设置在所述工作台23的上方,以用于采集所述工作台23的图像。所述检测装置21可直接选用上述实施例提供的检测装置实现,具体实现方案可参见上文中的相应内容,此次不再赘述。
本实施例提供的技术方案,采用通过三维仿真模型生成的预设工件的仿真样本对学习模型进行训练,可减少标注图片的工作量,样本生成效率高;另外,利用学习模型完成训练后得到的特征点识别模型对含有待检测对象的图像进行特征点识别,经测试,其识别结果精度高,可以满足智能生产线上视觉引导的精度要求。
进一步的,本申请实施例提供的所述生产线设备还可包括:模型训练装置。该模型训练装置可直接选用上述实施例提供的模型训练装置实现,具体实现方案可参见上文中的相应内容,此次不再赘述。
当然,在具体实施时,所述生产线设备也可不具备模型训练装置。检测装置中的特征点识别模型可人工导入,或由服务端提供,本实施例对此不作具体限定。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种检测方法,其特征在于,包括:
获取通过三维仿真模型生成的预设工件的仿真样本;
基于所述仿真样本,对学习模型进行训练;其中,所述学习模型完成训练后即得到特征点识别模型;
获取含有待检测对象的第一图像;
将所述第一图像作为多个复合结构层的输入,经所述多个复合结构层的计算得到输出结果;其中,所述复合结构层包括:二维卷积层、批标准化层和激活层;或者所述复合结构层包括:二维卷积层、批标准化层、激活层和池化层;
将所述输出结果进行分类,得到三维结构矩阵;
将所述三维结构矩阵中的一层信息去除,得到简化三维结构矩阵;
根据所述简化三维结构矩阵,得到所述第一图像中各像素点作为待选特征点的概率分布图;
从所述概率分布图中,提取符合设定要求的特征点位置;
基于所述特征点位置,完成对所述待检测对象的检测。
2.根据权利要求1所述的方法,其特征在于,获取通过三维仿真模型生成的预设工件的仿真样本,包括:
获取预设工件的三维模型;
利用三维建模软件的脚本语言,在模拟场景中对所述三维模型进行位姿控制;
采集不同位姿对应的仿真图片;
将所述仿真图片中需要识别的特征点位置记录在与所述仿真图片关联的脚本文件中,以得到所述仿真样本。
3.根据权利要求2所述的方法,其特征在于,还包括:
采集视角范围内包含预设工件的真实场景图像;
将所述真实场景图像转换为灰度图;
将所述灰度图的图像尺寸调整为所述特征点识别模型的输入维度,得到第二图像;
将所述第二图像中需要识别的特征点位置记录在与所述第二图像关联的文本文件中,以将所述第二图像及所述文本文件作为真实场景样本;
基于所述真实场景样本,对所述学习模型进行验证。
4.根据权利要求1所述的方法,其特征在于,将所述三维结构矩阵中的一层信息去除,得到简化三维结构矩阵,包括:
将所述三维结构矩阵中不对应于所述第一图像中的实际像素的一层信息去除,得到简化三维结构矩阵。
5.一种模型训练方法,其特征在于,包括:
获取通过三维仿真模型生成的第一仿真样本,所述第一仿真样本中含有仿真图片以及所述仿真图片中需要识别的特征点位置;
将所述仿真图片作为学习模型的输入,执行所述学习模型得到第一输出结果;
根据所述仿真图片中需要识别的特征点位置及所述第一输出结果,计算代价函数;
所述代价函数符合收敛条件时,所述学习模型完成训练,能作为特征点识别模型用以识别图像中的特征点;
根据所述仿真图片中需要识别的特征点位置及所述输出结果计算代价函数不符合收敛条件时,调整所述学习模型中的参数,并进入下一次迭代。
6.根据权利要求5所述的方法,其特征在于,将所述仿真图片作为所述学习模型的输入,执行所述学习模型得到第一输出结果,包括:
将所述仿真图片作为多个复合结构层的输入,经所述多个复合结构层的计算得到第二输出结果;
将所述第二输出结果进行分类,得到三维结构矩阵;
将所述三维结构矩阵中的一层信息去除,得到简化三维结构矩阵;
根据所述简化三维结构矩阵,得到所述仿真图片中各像素点作为待选特征点的概率分布图;
从所述概率分布图中,提取符合设定要求的特征点位置作为所述第一输出结果。
7.根据权利要求5所述的方法,其特征在于,还包括:
将真实场景样本中的样本图像作为所述学习模型的输入,执行所述学习模型得到第三输出结果;
根据所述真实场景样本中的特征点位置及所述第三输出结果,验证所述学习模型的训练效果。
8.一种检测装置,其特征在于,包括:存储器及处理器;其中,存储器及处理器;其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于实现上述权利要求1至4中任一项所述的检测方法。
9.一种模型训练装置,其特征在于,包括:
存储器及处理器;其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于实现上述权利要求5至7中任一项所述的模型训练方法。
10.一种生产线设备,其特征在于,包括:
工作台,用于放置待检测部件;
摄像头,设置在所述工作台的上方,以用于采集所述工作台的图像;以及
如上述权利要求8所述的检测装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811644880.0A CN109816634B (zh) | 2018-12-29 | 2018-12-29 | 检测方法、模型训练方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811644880.0A CN109816634B (zh) | 2018-12-29 | 2018-12-29 | 检测方法、模型训练方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109816634A CN109816634A (zh) | 2019-05-28 |
CN109816634B true CN109816634B (zh) | 2023-07-11 |
Family
ID=66603064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811644880.0A Active CN109816634B (zh) | 2018-12-29 | 2018-12-29 | 检测方法、模型训练方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109816634B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111044939A (zh) * | 2019-12-27 | 2020-04-21 | 成都天奥测控技术有限公司 | 一种面向航电hmi接口的智能测试系统及测试方法 |
CN111428373A (zh) * | 2020-03-30 | 2020-07-17 | 苏州惟信易量智能科技有限公司 | 产品装配质量检测方法、装置、设备及存储介质 |
US20230078146A1 (en) * | 2021-09-15 | 2023-03-16 | Applied Materials, Inc. | Virtual measurement of conditions proximate to a substrate with physics-informed compressed sensing |
CN117441194A (zh) * | 2022-05-18 | 2024-01-23 | 北京小米移动软件有限公司 | 目标点确定方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106355151A (zh) * | 2016-08-30 | 2017-01-25 | 电子科技大学 | 一种基于深度置信网络的三维sar图像目标识别方法 |
CN107239740A (zh) * | 2017-05-05 | 2017-10-10 | 电子科技大学 | 一种多源特征融合的sar图像自动目标识别方法 |
CN108596827A (zh) * | 2018-04-18 | 2018-09-28 | 太平洋未来科技(深圳)有限公司 | 三维人脸模型生成方法、装置及电子设备 |
-
2018
- 2018-12-29 CN CN201811644880.0A patent/CN109816634B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106355151A (zh) * | 2016-08-30 | 2017-01-25 | 电子科技大学 | 一种基于深度置信网络的三维sar图像目标识别方法 |
CN107239740A (zh) * | 2017-05-05 | 2017-10-10 | 电子科技大学 | 一种多源特征融合的sar图像自动目标识别方法 |
CN108596827A (zh) * | 2018-04-18 | 2018-09-28 | 太平洋未来科技(深圳)有限公司 | 三维人脸模型生成方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109816634A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109816634B (zh) | 检测方法、模型训练方法、装置及设备 | |
CN110060237B (zh) | 一种故障检测方法、装置、设备及系统 | |
US20180260669A1 (en) | Image processing apparatus, image processing method, template generation apparatus, object recognition processor, and object recognition processing program | |
CN111160269A (zh) | 一种人脸关键点检测方法及装置 | |
CN111445459B (zh) | 一种基于深度孪生网络的图像缺陷检测方法及系统 | |
CN109934847B (zh) | 弱纹理三维物体姿态估计的方法和装置 | |
CN111768365B (zh) | 基于卷积神经网络多特征融合的太阳能电池缺陷检测方法 | |
CN111814850A (zh) | 缺陷检测模型训练方法、缺陷检测方法及相关装置 | |
CN110929795B (zh) | 高速焊线机焊点快速识别与定位方法 | |
CN108182397B (zh) | 一种多姿态多尺度的人脸验证方法 | |
CN107230203A (zh) | 基于人眼视觉注意机制的铸件缺陷识别方法 | |
CN111310631A (zh) | 一种旋翼作业飞行机器人目标跟踪方法及系统 | |
Ma et al. | Binocular vision object positioning method for robots based on coarse-fine stereo matching | |
CN113657423A (zh) | 适用于小体积零件与堆叠零件的目标检测方法及其应用 | |
EP4423710A1 (en) | Inspection method for inspecting an object and machine vision system | |
He et al. | ContourPose: Monocular 6-D Pose Estimation Method for Reflective Textureless Metal Parts | |
CN112633327B (zh) | 分阶段金属表面缺陷检测方法、系统、介质、设备及应用 | |
Abbas | Recovering homography from camera captured documents using convolutional neural networks | |
Madessa et al. | Leveraging an instance segmentation method for detection of transparent materials | |
CN112561885A (zh) | 基于YOLOv4-tiny的插板阀开度检测方法 | |
CN112199975A (zh) | 基于人脸特征的身份验证方法及装置 | |
CN113034418B (zh) | 面向电子行业的电路板识别与焊盘/芯片快速定位方法 | |
Xi et al. | Localizing 3-d anatomical landmarks using deep convolutional neural networks | |
CN110717406A (zh) | 一种人脸检测的方法、装置及终端设备 | |
CN112825122A (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 |