一种基于神经检测网络的识别定位方法及系统

文档序号:31350234发布日期:2022-08-31 12:35阅读:51来源:国知局
一种基于神经检测网络的识别定位方法及系统

1.本发明涉及一种基于神经检测网络的识别定位方法及系统,属于工件识别 定位技术领域。


背景技术:

2.随着中国社会的发展和科技的腾飞,工业自动化与智能化成为了中国工业 发展的必经之路;所以越来越多的研究学者将深度学习应用于工业自动化,随 着工业自动化的发展,人们希望机器人能在各个工作领域完成更加复杂的任务 发挥更大的价值,深度学习就是实现机器人智能化的核心技术之一;深度学习 的目标识别在工业生产中可以分为目标检测和定位两部分;目前就目标检测与 定位技术通常使用传统图像处理方法或者较为复杂的卷积神经网络。
3.在传统的目标识别方法中需要对不同特征的目标进行分类识别,且不同类 别在特征和参数上无法共享,且传统方法在目标检测中计算时间较长,时效性 差且对环境要求就高,稳定性较差;复杂的卷积神经网络模型较大不方便部署 和使用,且就定位精度而言精度较低,不能满足较高精度额作业需求。


技术实现要素:

4.本发明的目的在于提供一种基于神经检测网络的识别定位方法及系统,提 高目标检测的鲁棒性,提高目标识别和定位的效率。
5.为实现以上目的,本发明是采用下述技术方案实现的:
6.第一方面,本发明提供了一种基于神经检测网络的识别定位方法,包括:
7.获取包含目标的图像;
8.将所述图像输入到训练好的神经检测网络中,得到目标识别结果及预测框;
9.从预测框中将目标区域从所述图像中截取出来,对目标区域进行预处理得 到预处理区域,对预处理区域进行边缘提取得到目标框架,对目标框架进行特 征点提取得到特征点的位置信息;
10.通过特征点的位置信息计算特征点的世界坐标后转化为目标的坐标,完成 定位。
11.结合第一方面,进一步的,所述图像通过以下方法得到:
12.通过双目相机采集目标所在区域,得到包含目标的图像;双目相机在采集 之前进行过相机标定和左右图像矫正,左右相机在采集图像时的帧数相同,且 在同一时刻进行采集。
13.结合第一方面,进一步的,所述神经检测网络为yolov5s检测网络。
14.结合第一方面,进一步的,所述神经检测网络通过以下方法进行训练:
15.获取训练数据集;
16.在pytroch深度学习框架中将训练数据集中的数据输入神经检测网络中,对 神经检测网络进行多次训练,直至所有数据全部用完,完成训练。
17.结合第一方面,进一步的,所述神经检测网络中的定位损失函数如下:
[0018][0019]
其中,l
ciou
是定位损失,iou是交并比,ρ2(b,b
gt
)是检测框到实际边框的 中心点距离,c是同时包含实际边框和检测框的最小外接矩形的对角线距离,v为 描述实际边框和检测框长宽比的比例一致性参数,α是权重系数;
[0020][0021][0022]
其中,和分别表示实际边框的长宽比和检测框的长宽比。
[0023]
结合第一方面,进一步的,对目标区域进行预处理得到预处理区域,包括: 对目标区域进行灰度化和中值滤波以减少图像中的干扰和噪声。
[0024]
结合第一方面,进一步的,对预处理区域进行边缘提取得到目标框架,包 括:
[0025]
使用canny边缘滤波算法使预处理区域中的目标与背景分离开,得到目标 轮廓,对目标轮廓进行线性拟合得到目标框架。
[0026]
结合第一方面,进一步的,对目标框架进行特征点提取得到特征点的位置 信息,包括:
[0027]
提取目标框架的形心点作为特征点,并获得特征点的位置信息。
[0028]
结合第一方面,进一步的,特征点的世界坐标通过以下方法计算得到:
[0029][0030][0031][0032]
其中,(x,y,z)是特征点的世界坐标,(u1,v1)是特征点在左相机成像 面上的像素坐标,u2是特征点在右相机成像面上的像素横坐标,f是左右相机的 焦距,b是两个传感器的光心距离,dist是特征点在右和左相机成像面上像素横 坐标之差。
[0033]
第二方面,本发明还提供了一种基于神经检测网络的识别定位系统,包括:
[0034]
图像获取模块:用于获取包含目标的图像;
[0035]
目标识别模块:用于将所述图像输入到训练好的神经检测网络中,得到目 标识别结果及预测框;
[0036]
特征点位置信息提取模块:用于从预测框中将目标区域从所述图像中截取 出来,对目标区域进行预处理得到预处理区域,对预处理区域进行边缘提取得 到目标框架,对目标框架进行特征点提取得到特征点的位置信息;
[0037]
定位模块:用于通过特征点的位置信息计算特征点的世界坐标后转化为目 标的坐标,完成定位。
[0038]
与现有技术相比,本发明所达到的有益效果是:
[0039]
本发明提供的一种基于神经检测网络的识别定位方法及系统,将神经检测 网络与本发明方案相融合,提高目标检测的鲁棒性和效率,将包含目标的图像 输入到训练好的神经检测网络中,得到目标识别结果及预测框,实现对目标的 快速识别,得到预测框后在预测框内进行目标的定位,不需要对整张图像进行 处理和定位,可以减少背景对目标定位的影响和减少计算时间,提高定位效率; 以目标的特征点进行坐标的求解,无需进行三维重建,提高定位速度;
[0040]
本发明方案使用的神经检测网络是yolov5s检测网络,当目标的结构较为 简单且没有复杂的特征时,在不影响检测精度的情况下可以减少神经网络结构 中的冗余结构,即在保持神经检测网络的深度不变的条件下,将yolov5s检测 网络的网络宽度减小,可以大大减小计算量和模型参数的大小。
附图说明
[0041]
图1是本发明实施例提供的一种基于神经检测网络的识别定位方法的流程 图;
[0042]
图2是本发明实施例提供的双目相机安装位置示意图;
[0043]
图3是本发明实施例提供的形心点坐标计算示意图。
具体实施方式
[0044]
下面结合附图对本发明作进一步描述,以下实施例仅用于更加清楚地说明 本发明的技术方案,而不能以此来限制本发明的保护范围。
[0045]
实施例1
[0046]
如图1所示,本发明实施例提供的一种基于神经检测网络的识别定位方法, 包括以下步骤:
[0047]
s1、获取包含目标的图像。
[0048]
通过双目相机实时采集包含目标的图像,通过设定使左右相机采集图像的 帧数相同,且在同一时刻采集图像,相机的安装方式如图2中展示,安装在机 械臂外(eye-to-hand)。
[0049]
双目相机在采图前先对相机进行标定和左右图像矫正,可以减少图像的畸 变提高后续目标的定位精度。
[0050]
s2、将所述图像输入到训练好的神经检测网络中,得到目标识别结果及预 测框。
[0051]
在本实施例中使用的神经检测网络是yolov5s检测网络。
[0052]
在进行识别定位之前,先对yolov5s检测网络进行训练,首先获取训练数 据集,即采用双目相机对目标不同位置与摆放角度采集的图像作为训练数据集, 使用make sense在线工具进行标注,生产“.txt”标注文件。
[0053]
在pytroch深度学习框架中对yolov5s检测网络进行优化,将制作好的训 练数据集进行输入,设置好相应的初始化方法、学习率、优化器和损失函数等, 对yolov5s检测网络进行多次训练,直至训练数据集中的所有数据使用完毕, 在多次调参和训练后,获得在
测试集表现良好的网络模型权重。
[0054]
传统目标检测方法应用在多目标检测时需要根据不同目标分别设定特征与 分类器,且每个分类器的相关参数无法共享,当检测的目标种类较多时计算量 较大,实时性差,且对环境要求较高稳定性较差;神经网络检测模型对目标的 定位是目标所在的一个范围,也就是预测框,定位精度较差,不适于较为精细 的作业,且卷积神经网络的参数量和浮点运算次数决定了网络对图像进行检测 的速度,一些大型的检测网络也不适用在对实时性要求较高的作业环境中;因 此,在本实施例中目标检测模型选用yolov5s检测网络,并基于此进一步进行 优化,在能够精确进行目标识别的同时提高检测速度,利用检测生产的目标预 测框于传统方式相结合,提高目标定位精度,该方法能较好的满足对实时性于 目标定位精度较高的工业应用场景。
[0055]
本实施例中使用yolov5s检测网络为基础,当目标的结构较为简单且没有 复杂的特征,在不影响算法检测精度的情况下减少神经网络结构中的冗余的结 构;首先保持检测网络的深度不变的条件下,将yolov5s的网络宽度减小,优 化后的网络可以保证检测的精度,且可以大大减小模型的计算量和模型参数的 大小。
[0056]
在本实施例中,yolov5s检测网络中的定位损失函数使用的是giou,相 对于yolov5中的giou不仅对边界框重叠和中心距离的问题进行了优化,还 加上了长宽比惩罚项,因此相对于giou来说loss值的收敛会更快且边界回归 框的回归会更加的精准。
[0057]
定位损失函数如下:
[0058][0059]
其中,l
ciou
是定位损失,iou是交并比,ρ2(b,b
gt
)是检测框到实际边框的 中心点距离,c是同时包含实际边框和检测框的最小外接矩形的对角线距离,v为 描述实际边框和检测框长宽比的比例一致性参数,α是权重系数;
[0060][0061][0062]
其中,和分别表示实际边框的长宽比和检测框的长宽比。
[0063]
将图像输入到训练好的神经检测网络中,得到目标识别结果及预测框,所 述目标识别结果包括目标的类别和数量,将预测框从图像中裁剪出来进行后续 的目标定位。
[0064]
s3、从预测框中将目标区域从所述图像中截取出来,对目标区域进行预处 理得到预处理区域,对预处理区域进行边缘提取得到目标框架,对目标框架进 行特征点提取得到特征点的位置信息。
[0065]
将目标区域从预测框中截取出来,得到目标区域后进行预处理,将图像中 的干扰减少,去除图像中无用的信息可以提高后续边界提取地精度,本实施例 中用到的预处理有灰度化与中值滤波去减少图像中地干扰与噪声。
[0066]
在得到预处理区域后,使用canny边缘滤波算法使目标在该区域内与背景 分离
开,得到目标轮廓。
[0067]
在实际中边缘检测的效果并不理想,由于采图过程中的采光、拍摄环境、 图像处理算法的选择和硬件设备的各个问题会使亚像素的边缘检测出现许多的 伪检测点、干扰噪声和断裂点,所以在边缘提取后对边缘信息进行线性拟合得 到较好的边缘信息,即对目标轮廓进行线性拟合得到目标框架。
[0068]
通过目标的形状特点进行特征点的提取,在本实施例中,提取目标框架的 形心点作为特征点,并获得特征点的位置信息,所述位置信息包括形心点在左 右相机成像面上的像素坐标。
[0069]
s4、通过特征点的位置信息计算特征点的世界坐标后转化为目标的坐标, 完成定位。
[0070]
如图3所示,特征点(形心点pw)的世界坐标通过以下方法计算得到:
[0071][0072][0073][0074]
其中,(x,y,z)是特征点的世界坐标,(u1,v1)是特征点在左相机成像 面上的像素坐标,(u2,v2)是特征点在右相机成像面上的像素坐标,f是左右 相机的焦距,b是两个传感器的光心距离,dist是特征点在右和左相机成像面上 像素横坐标之差。
[0075]
得到特征点的世界坐标后,再由相机的标定、相机与机械臂的手眼标定即 可得到目标相对机械臂坐标系下的坐标,从而实现目标的定位。
[0076]
实施例2
[0077]
本发明实施例提供的一种基于神经检测网络的识别定位系统,包括:
[0078]
图像获取模块:用于获取包含目标的图像;
[0079]
目标识别模块:用于将所述图像输入到训练好的神经检测网络中,得到目 标识别结果及预测框;
[0080]
特征点位置信息提取模块:用于从预测框中将目标区域从所述图像中截取 出来,对目标区域进行预处理得到预处理区域,对预处理区域进行边缘提取得 到目标框架,对目标框架进行特征点提取得到特征点的位置信息;
[0081]
定位模块:用于通过特征点的位置信息计算特征点的世界坐标后转化为目 标的坐标,完成定位。
[0082]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计 算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结 合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包 含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0083]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品 的流程
图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/ 或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或 方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式 处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机 或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流 程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0084]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备 以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的 指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流 程和/或方框图一个方框或多个方框中指定的功能。
[0085]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使 得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理, 从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程 或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0086]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通 技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变 形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1