基于视觉的转轴位姿检测方法和装置

文档序号:26142713发布日期:2021-08-03 14:27阅读:126来源:国知局
基于视觉的转轴位姿检测方法和装置

本申请涉及位姿检测技术领域,特别是涉及一种基于视觉的转轴位姿检测方法、装置、计算机设备和存储介质。



背景技术:

视觉测量技术具有实时性强、精度高、自动化程度高等一系列优点,以及广泛应用于工业视觉检测、遥感影像分析和飞行器视觉导航等一系列领域。在工业视觉检测领域,对自动化设备的转轴位姿检测是一种常用的检测技术,转轴位姿检测是指通过采集目标图像并对图像进行特征提取,以此来解算目标的位姿信息。

目前在工程中大都使用光电编码器或者磁编码器来检测转轴位姿,但是通过这些编码器对转轴进行位姿检测时,都需要通过机械方式与轴端进行配合才能进行测量,测量过程复杂,测得的转轴信息不准确。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高转轴位姿信息计算准确率的基于视觉的转轴位姿检测方法、装置、计算机设备和存储介质。

第一方面,提供了一种基于视觉的转轴位姿检测方法,该方法包括:

获取双目相机对目标转轴的工装部件进行采集得到的图像组,图像组包含的图像的采集时间相同;

根据预设的图像识别策略,识别图像组包含的每个图像中的工装部件色块,并对识别出的工装部件色块分别进行标记,得到每个图像对应的标定图像;

针对每个标定图像,在标定图像中识别各色块之间的分割线位置;

根据各色块之间的分割线位置,计算目标转轴的位姿信息。

在其中一个实施例中,目标转轴的位姿信息至少包括目标转轴的坐标与转动角度;

根据各色块之间的分割线位置,计算目标转轴的位姿信息,包括:

在各标定图像中,确定匹配的各色块之间的分割线位置,作为目标位置对;

根据目标位置对,计算工装部件与双目相机之间的深度值;

根据深度值计算圆心坐标;

将目标位置对两两组合进行角度值计算,得到多个角度值,对多个角度值进行聚类,选取密度最大的角度分布区域中角度值对应的目标位置对计算目标转轴的半径值;

根据半径值与目标转轴的标准半径值计算半径残差值,将大于预设残差阈值的半径残差值对应的目标位置对丢弃;

根据剩余的目标位置对计算的角度值求取平均值,得到目标转轴的转动角度;

根据剩余的目标位置对计算的圆心坐标求取平均值,得到目标转轴的坐标。

在其中一个实施例中,在各标定图像中,确定匹配的各色块之间的分割线位置,作为目标位置对,包括:

当各标定图像识别的不同分割线位置两边色块的颜色差异度小于预设的差异度阈值,则得到目标位置对。

在其中一个实施例中,对识别出的工装部件色块分别进行标记,得到每个图像对应的标定图像,包括:

根据预先采集的工装部件中不同色块对应的色调范围,在六角椎体模型空间中识别图像组包含的每个图像中的工装部件色块对应的色调值;

将识别出的工装部件色块的色调值按照标准化的色调值进行标记,得到每个图像对应的标定图像。

在其中一个实施例中,针对每个标定图像,在标定图像中识别各色块之间的分割线位置,包括:

提取标定图像的边缘特征,得到边缘图像;

检测边缘图像中工装部件的上边界和下边界;

提取工装部件的上边界和下边界中间的图像,得到裁剪图像;

通过预设的分割线检测算法,检测裁剪图像中各色块之间的分割线,得到各色块之间的分割线位置。

在其中一个实施例中,提取标定图像的边缘特征,得到边缘图像之后,还包括:

填充边缘图像中的不连续区域,得到完整边缘图像;

计算完整边缘图像的中每个闭合轮廓的面积,将闭合轮廓面积小于预设面积阈值的轮廓剔除;

将剔除之后的完整边缘图像进行多边形拟合,提取拟合后面积大于预设面积阈值的轮廓,得到目标图像;

检测边缘图像中工装部件的上边界和下边界,包括:

检测目标图像中工装部件的上边界和下边界。

在其中一个实施例中,该方法还包括:

获取通过多个图像组计算得到的目标转轴的位姿信息;

在得到的多个目标转轴的位姿信息中的多个角度值中,选择在预设误差范围内的角度值,当在预设误差范围内的角度值的个数达到预设数量,则计算在预设误差范围内的角度值的平均值及其所对应的转轴坐标平均值,得到目标转轴的最终角度值和最终转轴坐标值。

第二方面,提供了一种基于视觉的转轴位姿检测装置,该装置包括:

获取模块,用于获取双目相机对目标转轴的工装部件进行采集得到的图像组,图像组包含的图像的采集时间相同;

标记模块,用于根据预设的图像识别策略,识别图像组包含的每个图像中的工装部件色块,并对识别出的工装部件色块分别进行标记,得到每个图像对应的标定图像;

识别模块,用于针对每个标定图像,在标定图像中识别各色块之间的分割线位置;

计算模块,用于根据各色块之间的分割线位置,计算目标转轴的位姿信息。

第三方面,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行所述计算机程序时实现以下步骤:

获取双目相机对目标转轴的工装部件进行采集得到的图像组,图像组包含的图像的采集时间相同;

根据预设的图像识别策略,识别图像组包含的每个图像中的工装部件色块,并对识别出的工装部件色块分别进行标记,得到每个图像对应的标定图像;

针对每个标定图像,在标定图像中识别各色块之间的分割线位置;

根据各色块之间的分割线位置,计算目标转轴的位姿信息。

第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:

获取双目相机对目标转轴的工装部件进行采集得到的图像组,图像组包含的图像的采集时间相同;

根据预设的图像识别策略,识别图像组包含的每个图像中的工装部件色块,并对识别出的工装部件色块分别进行标记,得到每个图像对应的标定图像;

针对每个标定图像,在标定图像中识别各色块之间的分割线位置;

根据各色块之间的分割线位置,计算目标转轴的位姿信息。

上述基于视觉的转轴位姿检测方法、装置、计算机设备和存储介质,通过获取双目相机对目标转轴的工装部件进行采集得到的图像组,图像组包含的图像的采集时间相同;根据预设的图像识别策略,识别图像组包含的每个图像中的工装部件色块,并对识别出的工装部件色块分别进行标记,得到每个图像对应的标定图像;针对每个标定图像,在标定图像中识别各色块之间的分割线位置;根据各色块之间的分割线位置,计算目标转轴的位姿信息。该方法通过获取双目相机对目标转轴上工装部件的采集的图像组,识别图像组中工装部件的不同色块的位置信息,并根据不同色块的位置信息计算转轴的位姿信息,成本较低并且能够适用于各种自动化场景的转轴位姿测试方法,同时可以提高转轴位姿信息测量的准确性。

附图说明

图1为一个实施例中基于视觉的转轴位姿检测方法的流程示意图;

图2为一个实施例中工装部件的结构示意图;

图3为一个实施例中双目相机与工装部件位置关系的正视图;

图4为一个实施例中双目相机与工装部件位置关系的轴侧图;

图5为一个实施例中双目相机采集的图像组中一个图像的示意图;

图6为一个实施例中标定图像的示意图;

图7为一个实施例中对标定图像灰度化之后的示意图;

图8为一个实施例中边缘图像的示意图;

图9为一个实施例中完整边缘图像的示意图;

图10为一个实施例中差异度检测窗口的示意图;

图11(a)和(b)为一个实施例中目标位置对的示意图;

图12为一个实施例中角度计算的示意图;

图13为一个实施例中基于视觉的转轴位姿检测的完整流程图;

图14为一个实施例中目标转轴的坐标分布点图;

图15为一个实施例中目标转轴的转动角度误差分布点图;

图16为一个实施例中基于视觉的转轴位姿检测装置的结构框图;

图17为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

转轴位姿信息在各项自动化设备中都是非常常见的反馈信息,这些反馈信息在对整个系统的后续控制和与外界的协作中都起到非常关键的作用。

对于定轴问题,转轴的位置一般是固定的,转轴的位姿只涉及到自转自由度;然而对于动轴问题,转轴的位姿则还会涉及到控制位置的自由度。在工程中常用到检测转轴位姿的方法是使用光电编码器,对于定轴问题,可以将编码器直接装在轴端进行角度的输出,对于复杂的动轴问题,则需要依据其他的位置约束信息来对不同编码器的输出进行计算才能得到完整的转轴位姿信息。

光电编码器虽然具有精度高、非接触等的优点,但是它对很多恶劣环境无法适用,因此磁编码器的使用也逐渐推广。虽然这两种编码器能够非常精确地输出转轴的转角信息,但是它们都需要通过机械方式与轴端配合才能进行测量。这样的限制对于一些高成本的设备自动化改造非常不友好,因为对该种固有设备的零件进行重新设计与装配的试错成本非常高。

除此之外,单一编码器输出的信息只能够体现当前轴的角度信息,无法获取到其他的自由度信息,因此从信息量的获取上单一编码器的检测方式也较为受限。

虽然目前国内和国际上还有着其他的精密测量转轴的方法,例如使用激光干涉仪、球杆仪或是显微镜等仪器进行测量,但是这些方法对使用场合的要求都非常苛刻,并且仪器本身使用成本就非常高昂。

由上述内容可知,目前转轴位姿测量的受限之处在于:1、对现有装备改造的成本限制;2、位姿信息量较为受限;3、用于测量位姿的仪器本身使用条件要求苛刻;4、用于测量位姿的仪器本身造价成本昂贵。

因此,本申请提出一种自身造价成本低廉、能够适用于各种自动化场合、对原有装备改动较少、输出信息量较多的基于视觉的转轴位姿检测,以解决上述不足。

在一个实施例中,如图1所示,提供了一种基于视觉的转轴位姿检测方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:

步骤102,获取双目相机对目标转轴的工装部件进行采集得到的图像组。

其中,如图1所示,工装部件是一个圆环形状、外圈上喷涂有不同颜色的一个部件。工装部件可以套在目标转轴上,工装部件内圈与目标转轴装配贴合,工装部件可以随着目标转轴一起转动。图2为工装部件的示意图,如图3和图4所示,可以配合场地限制与需求将双目相机架设在与工装部件水平对齐的位置。

具体地,终端首先用张氏标定方法对双目相机进行内参标定,然后使用立体校正的算法将两相机的水平方向像素点对齐。终端使用校正之后的双目相机对装配在目标转轴上的工装部件进行拍摄,双目相机进行一次拍摄可以获取到一个图像组,一个图像组包含双目相机采集的两张图像,这两张图像的采集时间相同。终端可以通过双目相机进行多次拍摄,得到多个图像组,以便根据每一个图像组分别进行计算目标转轴的位姿信息。

进一步地,将双目相机稳定地固定在安装处,调整好焦距。终端使用内点数为11×9的网格纸以不同角度对工装部件进行拍摄,将所拍摄的网格纸通过基于python3.6的opencv中的stereocalibrate函数进行立体标定,得到双目相机中两个摄像机之间的畸变矩阵和内参矩阵、旋转矩阵、平移矩阵、本征矩阵和基础矩阵。将得到的畸变矩阵和内参矩阵、旋转矩阵、平移矩阵、本征矩阵和基础矩阵使用opencv的stereorectify函数进行立体校正,得到两个摄像机的映射矩阵,并且将映射矩阵参数输入到采样程序中得到双目相机校正之后的视野。使用校正之后双目相机对工装部件进行拍摄,将拍摄到的图像通过外参矩阵计算标定板上角点的平均位移偏差;该误差用来权衡标定效果,误差越小则标定越准确。当得到的平均位移偏差小于0.13内时,校正过程结束,得到校正之后的双目相机。

步骤104,根据预设的图像识别策略,识别图像组包含的每个图像中的工装部件色块,并对识别出的工装部件色块分别进行标记,得到每个图像对应的标定图像。

具体地,终端将图像组中的两张图像转换到六角椎体模型空间中,在六角椎体模型空间中对每个图像进行色彩识别,色彩识别得到的工装部件中的不同色块,对不同色块分别用唯一标识进行标记,得到每个图像对应的标定图像。

步骤106,针对每个标定图像,在标定图像中识别各色块之间的分割线位置。

具体地,终端针对每个标定图像,通过预设的分割线检测算法,检测每个标定图像中不同色块之间的分割线,得到分割线的水平坐标,将分割线的水平坐标作为分割线位置。

步骤108,根据各色块之间的分割线位置,计算目标转轴的位姿信息。

具体地,终端根据各色块之间的分割线位置以及预先存储的工装部件中不同色块的顺序、以及每个色块对圆心张开的角度计算目标转轴的位姿信息。

上述基于视觉的转轴位姿检测方法中,通过获取双目相机对目标转轴的工装部件进行采集得到的图像组,图像组包含的图像的采集时间相同;根据预设的图像识别策略,识别图像组包含的每个图像中的工装部件色块,并对识别出的工装部件色块分别进行标记,得到每个图像对应的标定图像;针对每个标定图像,在标定图像中识别各色块之间的分割线位置;根据各色块之间的分割线位置,计算目标转轴的位姿信息。该方法通过获取双目相机对目标转轴上工装部件的采集的图像组,识别图像组中工装部件的不同色块的位置信息,并根据不同色块的位置信息计算转轴的位姿信息,成本较低并且能够适用于各种自动化场景的转轴位姿测试方法,同时可以提高转轴位姿信息测量的准确性。

在一个可选的实施例中,根据各色块之间的分割线位置,计算目标转轴的位姿信息,包括:在各标定图像中,确定匹配的各色块之间的分割线位置,作为目标位置对;根据目标位置对,计算工装部件与双目相机之间的深度值;根据深度值计算圆心坐标;将目标位置对两两组合进行角度值计算,得到多个角度值,对多个角度值进行聚类,选取密度最大的角度分布区域中角度值对应的目标位置对计算目标转轴的半径值;根据半径值与目标转轴的标准半径值计算半径残差值,将大于预设残差阈值的半径残差值对应的目标位置对丢弃;根据剩余的目标位置对计算的角度值求取平均值,得到目标转轴的转动角度;根据剩余的目标位置对计算的圆心坐标求取平均值,得到目标转轴的坐标。

其中,目标转轴的位姿信息至少包括目标转轴的坐标与转动角度。

具体地,针对每个标定图像采用霍夫变换检测工装部件的上下边界和竖直线(即分割线),将两个标定图像中与工装部件的同一位置对应的分割线作为匹配的色块之间的分割线,相匹配的两条分割线的水平坐标即构成一个目标位置对。基于上述过程,可以得到多个目标位置对。如图11(a)和(b)所示,[2,3],[4,5],[5,5],[6,6],[7,7],[8,8],[9,9]为匹配上的7个目标位置对,其中,[5,5]表示图11(a)中的5号分割线与图11(b)中的5号分割线都是表示工装部件中紫色色块与红色色块之间的分割线,则将[5,5]作为一个目标位置对。

将目标位置对的水平坐标输入预先建立的深度计算函数中,依据双目成像规律计算得到该目标位置对与双目相机之间的深度值。深度计算函数如下:

dispi=|xileft-xiright|

其中,f为标定出的相机焦距,tx为标定出的两相机光心距离,disp为视差。xileft为目标位置对中左眼采集的标定图像中分割线的水平坐标,xiright为目标位置对中右眼采集的标定图像中分割线的水平坐标,yi为该目标位置对与双目相机之间的深度值。使用均方根误差进行工装部件圆心拟合和半径计算,使用的回归目标函数为:

r为已知的半径信息,通过计算可以得到利用第i对目标位置对计算出来的圆心坐标(xc,yc),xi为第i对目标位置对的水平坐标,yi为第i对目标位置对的深度值。

从目标位置对中随机选取两个目标位置对,进行两两组合,将每一个组合的两个目标位置对的水平坐标输入角度计算函数,计算得到角度值。假设有m组目标位置对,两两组合得到个组合,由于已知了工装的半径和圆心方向,每一个组合可以利用步骤13中的角度计算公式计算出一个角度,最后得到个角度值,角度计算示意图若图12所示。

角度计算函数如下:

其中,order为已知的色块在工装中的序号,根据目标位置对可以确定色块的序号,unit为每一个色块对圆心张开的角度,通过计算可以得到每一个组合的目标位置对计算出来的角度值。xcenter为圆心坐标的横坐标,xi为目标位置对的水平坐标,radius为已知的工装部件的半径,arrayi为目标位置对的序号,arrayradius为目标位置对的计算的半径值。

个角度值利用dbscan聚类方法,选取密度最大的角度分布区域,将密度最大的角度分布区域中的目标位置对作为正确匹配的目标位置对。将正确匹配的目标位置对输入回归目标函数计算半径值,将得到的多个半径值与已知的标准目标值做差,得到该目标位置对的半径残差值,使用误差点丢弃算法去除误差点。误差点丢弃算法如下所示:

其中,多个目标位置对计算的半径值组成估算半径向量,对应的,半径残差值组成半径残差向量,k为向量中半径值或者残差半径值的个数。

如图11(a)和(b)所示,[2,3],[4,5],[5,5],[6,6],[7,7],[8,8],[9,9]为匹配上的7个目标位置对,通过dbscan聚类方法得到的密度最大的角度分布区域中包含了[5,5],[6,6],[7,7],[8,8],[9,9]这5个目标位置对计算出的角度值,则[2,3],[4,5]这2个目标位置对计算的角度值为离群点,这两个目标位置对属于错误匹配的目标位置对,需要丢弃。

根据去除误差之后的目标位置对计算的角度值求平均,得到目标转轴的转动角度。根据去除误差之后的目标位置对计算的圆心坐标求取平均值,得到目标转轴的坐标。还可以根据目标转轴的坐标与转动角度计算欧拉角。

本实施例中,通过颜色差异度函数确定匹配的目标位置对,通过聚类去除待错误匹配的目标位置对,最后根据剩余的目标位置对计算目标转轴的转动角度和坐标,去除错误匹配和单个目标位置对的影响,计算的目标转轴的位姿信息更准确。

在一个可选的实施例中,在各标定图像中,确定匹配的各色块之间的分割线位置,作为目标位置对,包括:当各标定图像识别的不同分割线位置两边色块的颜色差异度小于预设的差异度阈值,则得到目标位置对。

具体地,根据检测出的标定图像中工装部件的上下边界计算水平穿越工装部件色块的中心线的坐标。如图10所示,在中心线周围建立一个尺寸为w×l的差异度检测窗口,w小于上下边界直接的距离h,l大于工装部件中一个色块的横向宽度。将差异度检测窗口在两个标定图像中不同色块之间同时移动,并根据颜色差异度函数检测差异度检测两个标定图像中差异度检测窗口所在的两个色块之间的颜色差异度,当颜色差异度小于预设的差异度阈值,则得到两个标定图像中的描述同一位置两个色块中间的目标位置对。

颜色差异度函数如下所示:

式中i为识别到标定图像中的色块的规范化的色调值,用以代表色块种类;第2个加和号下的left与right是指差异度检测窗口中两个色块,左边的色块为left,右边的色块为right。由于校正之后的视野水平线已经对齐,所以在同一水平线上对左右两眼采集到的两个标定图像中以分割线为界,对两边色块的规范化的色调值进行相减,然后将相减的结果除以总像素数量,得到在该条分割线左右两张标定图像的颜色差异度。当颜色差异度小于预设的差异度阈值,则得到两个标定图像中与工装部件同一位置对应的两个色块中间的目标位置对,并记录确定出的目标位置对。

在一个可选的实施例中,对识别出的工装部件色块分别进行标记,得到每个图像对应的标定图像,包括:根据预先采集的工装部件中不同色块对应的色调范围,在六角椎体模型空间中识别图像组包含的每个图像中的工装部件色块对应的色调值;将识别出的工装部件色块的色调值按照标准化的色调值进行标记,得到每个图像对应的标定图像。

其中,预先采集的工装部件中不同色块对应的色调范围是终端在预处理阶段在六角椎体模型空间中对工装部件中的所有色块的色调范围进行采集得到的,并将得到工装部件上不同色块对应的色调值范围并存储在终端存储器中。

具体地,当终端获取到双目相机采集的图像组时,首先将一个图像组中的两张图像转换到六角椎体模型空间中,对每张图像中每个像素进行色调值标记,然后根据预先存储的工装部件上不同色块对应的色调值范围对每张图像中的不同色块进行识别,根据对识别出的不同色块的色调值按照标准化的色调值进行规范化处理,并将规范化处理之后的图像转换到rgb空间,得到每个图像对应的标定图像。每个色块的标准化色调值可以是该色块的色调值范围的平均值,也可以是人为指定的色块对应的标识。

例如预先采集的工装部件上蓝色色块对应的色调值范围为[120-130]。图5为双目相机拍摄到的图像组中一张图像的示意图,当终端对每张图像中的像素进行色调值标记之后,将色调值在[120-130]范围内的像素作为蓝色色块,并将蓝色色块中的所有色调值用125进行标记,其他色块进行类似处理,处理之后将图像转换到rgb空间,如图6所示,得到每张图像对应的标定图像。

本实施例中,通过对双目相机拍摄的图像组中的原始图像进行色彩分割,并用标准化的色调值对不同色块进行标记,得到标定图像,标定图像中不同色块之间的对比度增强,可以进一步提高处理的准确性。

在一个可选的实施例中,针对每个标定图像,在标定图像中识别各色块之间的分割线位置,包括:提取标定图像的边缘特征,得到边缘图像;检测边缘图像中工装部件的上边界和下边界;提取工装部件的上边界和下边界中间的图像,得到裁剪图像;通过预设的分割线检测算法,检测裁剪图像中各色块之间的分割线,得到各色块之间的分割线位置。

具体地,针对每个标定图像进行灰度化处理,得到的图像如图7所示;再使用卷积核对灰度化后的图像进行卷积,提取标定图像的边缘特征,得到边缘图像。如图8所示,卷积之后得到的边缘图像是二值图像。

将边缘图像传入霍夫变换,根据调试经验得到的检测阈值检测边缘图像中的水平线,将边缘图像中距离最远的两条水平线作为工装部件的上边界和下边界。由于在工装部件安装前对双目相机进行过对焦,嘈杂的背景在前述操作中会被基本去除,所以这里不考虑背景对该步的影响。

获取到工装部件的上边界和下边界之后,提取工装部件的上边界和下边界中间的图像,得到裁剪图像,并记录上下边界之间的距离h。

对裁剪图像再次进行霍夫变换,检测竖直线,竖直线中的长度检测阈值为α·h,α为设定的比例,该比例越大越难检测出直线,比例越小越容易检测出直线,但是可能会得到不准确的直线,在测试中使用的α为0.5;角度检测阈值设置为2°,表示在偏转范围为±1°范围内检测出来的直线都认为是竖直线。对每一族检测出的竖直线计算出水平坐标,作为分割线位置,计算公式为:x=rcosθ,r为霍夫变换检测出的极径,θ为霍夫变换检测出的极角。将水平坐标差距在30像素内的直线认为是同一条直线,通过求取平均得到该直线的具体水平坐标并且分别记录下两张裁剪图像中的两组分割线位置。

在一个可选的实施例中,提取标定图像的边缘特征,得到边缘图像之后,还包括:填充边缘图像中的不连续区域,得到完整边缘图像;计算完整边缘图像的中每个闭合轮廓的面积,将闭合轮廓面积小于预设面积阈值的轮廓剔除;将剔除之后的完整边缘图像进行多边形拟合,提取拟合后面积大于预设面积阈值的轮廓,得到目标图像。相应的,检测边缘图像中工装部件的上边界和下边界的步骤,具体包括:检测目标图像中工装部件的上边界和下边界。

具体地,对每个边缘图像进行形态学关闭操作,即对边缘图像先进行膨胀再进行腐蚀,能够有效填充边缘图像中边界上的细小空间,使得边缘更加连续饱满,将填充之后的图像作为完整边缘图像。

使用opencv的findcontours函数,在设置参数为retr_tree和chain_approx_none下获得完整边缘图像的轮廓参数。使用contourarea计算完整边缘图像中每个闭合轮廓的面积大小,将闭合轮廓面积小于预设面积阈值的轮廓剔除,在测试中使用的阈值为100。将剩下的轮廓使用approxpolydp函数进行多边形拟合,拟合后将面积大于预设面积阈值的轮廓绘制出来得到目标图像。之后基于目标图像检测工装部件的上边界和下边界并检测分割线,得到各色块之间的分割线位置。

如图9所示,为对图8进行形态学关闭操作以及轮廓处理之后得到的目标图像,图9中工装部件中不同色块的边缘完整,可以去除图像中其他噪声的影响。

在一个可选的实施例中,该方法还包括:获取通过多个图像组计算得到的目标转轴的位姿信息;在得到的多个目标转轴的位姿信息中的多个角度值中,选择在预设误差范围内的角度值,当在预设误差范围内的角度值的个数达到预设数量,则计算在预设误差范围内的角度值的平均值及其所对应的转轴坐标平均值,得到目标转轴的最终角度值和最终转轴坐标值。

具体地,终端通过双目相机进行多次拍摄,得到多个图像组,对每一个图像组分别计算目标转轴的位姿信息,将得到的多组目标转轴的位姿信息中的多个转动角度通过随机平均误差内点算法选取在预设误差范围内的角度值,作为内点,当内点的个数达到预设数量,则计算多个内点的角度平均值作为目标转轴的最终转动角度,计算多个内点的转轴坐标平均值作为最终转轴坐标值。

随机平均误差内点算法如下:

本实施例中,通过随机误差内点算法挑选置信度大的角度值,可以提升目标转轴的转动角度计算的精度与准确度。该方法能够在不改变设备的内部结构的情况下,以低成本的方式适应各种恶劣场合,测量出目标转轴的坐标和转动角度。

为了易于理解本申请实施例提供的技术方案,如图13所示,以完整的基于视觉的转轴位姿检测过程对本申请实施例提供的基于视觉的转轴位姿检测方法进行简要说明:

(1)获取双目相机对目标转轴的工装部件进行采集得到的图像组。

(2)根据预先采集的工装部件中不同色块对应的色调范围,在六角椎体模型空间中识别图像组包含的每个图像中的工装部件色块对应的色调值;

将识别出的工装部件色块的色调值按照标准化的色调值进行标记,得到每个图像对应的标定图像。

(3)提取标定图像的边缘特征,得到边缘图像。

(4)填充边缘图像中的不连续区域,得到完整边缘图像;

计算完整边缘图像的中每个闭合轮廓的面积,将闭合轮廓面积小于预设面积阈值的轮廓剔除;

将剔除之后的完整边缘图像进行多边形拟合,提取拟合后面积大于预设面积阈值的轮廓,得到目标图像;

检测目标图像中工装部件的上边界和下边界。

(5)提取工装部件的上边界和下边界中间的图像,得到裁剪图像;

通过预设的分割线检测算法,检测裁剪图像中各色块之间的分割线,得到各色块之间的分割线位置;

当各裁剪图像识别的不同分割线位置两边色块的颜色差异度小于预设的差异度阈值,则得到目标位置对。

(6)根据目标位置对,计算工装部件与双目相机之间的深度值;

根据深度值计算圆心坐标;

将目标位置对两两组合进行角度值计算,得到多个角度值,对多个角度值进行聚类,选取密度最大的角度分布区域中角度值对应的目标位置对计算目标转轴的半径值。

(7)根据半径值与目标转轴的标准半径值计算半径残差值,将大于预设残差阈值的半径残差值对应的目标位置对丢弃;

根据剩余的目标位置对计算的角度值求取平均值,得到目标转轴的转动角度;

根据剩余的目标位置对计算的圆心坐标求取平均值,得到目标转轴的坐标。

(8)获取通过多个图像组计算得到的目标转轴的位姿信息;

在得到的多个目标转轴的位姿信息中的多个角度值中,选择在预设误差范围内的角度值,当在预设误差范围内的角度值的个数达到预设数量,则计算在预设误差范围内的角度值的平均值及其所对应的转轴坐标平均值,得到目标转轴的最终角度值和最终转轴坐标值。在终端的控制面板上显示目标转轴的最终角度值和最终转轴坐标值。终端的控制面板还用于输入基于视觉的转轴位姿检测过程中所涉及的所有阈值。

最后,对本申请提出的基于视觉的转轴位姿检测方法的效果进行验证。为验证本发明所提出的基于视觉检测转轴位姿的方法的有效性,使用两台baslerace-aca2440-35uc工业相机在zt505sw01精密三维电动旋转台作为对照下进行了模拟实验。参数如下:

硬件安装参数为:两相机光心的距离约为28.5cm,夹角约为30°,工装圆心距双目相机的基线约为0.9m,工装棱边距离圆心的半径为66mm,工装的上色面为16个等分平面,分别使用了绿色、红色、紫色、黄色和蓝色对工装各面进行不同组合地上色。

反馈算法中的参数为:轮廓参数阈值为100像素,水平线提取阈值为120像素,竖直线提取阈值为0.5,圆心坐标浮动阈值为0.001,色彩匹配度阈值为0.3,采样组图片数设置为8张/组,算法1中std设置为0.01,算法2中d设置为2,iters设置为100,batch设置为2。

对于电动旋转台以定轴旋转模式输出的不同角度作为对照,使用了该方法进行了测量,以获取对比验证的结果。其中图14为圆心坐标的计算浮动值,单位是毫米(mm),可以看到坐标分布较为集中;图15为旋转角度残差值,可以看到在0.9m的距离上,该方法基本可以使转角误差在1°以内,轴上的任意一点的误差在1.15毫米以内。

环境适应性分析:本发明提出的方法采用了双目相机进行图像采集的操作,该采集方式造价不昂贵,并且不会受到原本转轴内部的机械设计限制,采用的是外部检测的方式,对相机保护盒进行合理的设计可以使得相机在各种高危场景下进行工作;对工装进行合理的材料选择也可以使得工装能够较长时间的发挥作用。因此该方法对于环境有较强的适应性,在一些对于精度要求不是特别高的非精密仪器设备中有着比较广阔的应用前景。

综上所述,本发明提出的基于色环工装和视觉检测转轴位姿的方法对于不便进行机械内部改造的转轴轴心坐标和转角检测问题具有较高的适用性。

应该理解的是,虽然图1、图13的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、图13中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图16所示,提供了一种基于视觉的转轴位姿检测装置,包括:获取模块1602、标记模块1604、识别模块1606和计算模块1608,其中:

获取模块1602,用于获取双目相机对目标转轴的工装部件进行采集得到的图像组,图像组包含的图像的采集时间相同。

标记模块1604,用于根据预设的图像识别策略,识别图像组包含的每个图像中的工装部件色块,并对识别出的工装部件色块分别进行标记,得到每个图像对应的标定图像。

识别模块1606,用于针对每个标定图像,在标定图像中识别各色块之间的分割线位置。

计算模块1608,用于根据各色块之间的分割线位置,计算目标转轴的位姿信息。

在其中一个实施例中,目标转轴的位姿信息至少包括目标转轴的坐标与转动角度;计算模块1608还用于在各标定图像中,确定匹配的各色块之间的分割线位置,作为目标位置对;以及根据目标位置对,计算工装部件与双目相机之间的深度值;以及根据深度值计算圆心坐标;以及将目标位置对两两组合进行角度值计算,得到多个角度值,对多个角度值进行聚类,选取密度最大的角度分布区域中角度值对应的目标位置对计算目标转轴的半径值;以及根据半径值与目标转轴的标准半径值计算半径残差值,将大于预设残差阈值的半径残差值对应的目标位置对丢弃;以及根据剩余的目标位置对计算的角度值求取平均值,得到目标转轴的转动角度;以及根据剩余的目标位置对计算的圆心坐标求取平均值,得到目标转轴的坐标。

在其中一个实施例中,计算模块1608还用于当各标定图像识别的不同分割线位置两边色块的颜色差异度小于预设的差异度阈值,则得到目标位置对。

在其中一个实施例中,标记模块1604还用于根据预先采集的工装部件中不同色块对应的色调范围,在六角椎体模型空间中识别图像组包含的每个图像中的工装部件色块对应的色调值;以及将识别出的工装部件色块的色调值按照标准化的色调值进行标记,得到每个图像对应的标定图像。

在其中一个实施例中,识别模块1606还用于提取标定图像的边缘特征,得到边缘图像;以及检测边缘图像中工装部件的上边界和下边界;以及提取工装部件的上边界和下边界中间的图像,得到裁剪图像;以及通过预设的分割线检测算法,检测裁剪图像中各色块之间的分割线,得到各色块之间的分割线位置。

在其中一个实施例中,识别模块1606还用于填充边缘图像中的不连续区域,得到完整边缘图像;以及计算完整边缘图像的中每个闭合轮廓的面积,将闭合轮廓面积小于预设面积阈值的轮廓剔除;以及将剔除之后的完整边缘图像进行多边形拟合,提取拟合后面积大于预设面积阈值的轮廓,得到目标图像;以及检测目标图像中工装部件的上边界和下边界。

在其中一个实施例中,计算模块1608还用于获取通过多个图像组计算得到的目标转轴的位姿信息;以及在得到的多个目标转轴的位姿信息中的多个角度值中,选择在预设误差范围内的角度值,当在预设误差范围内的角度值的个数达到预设数量,则计算在预设误差范围内的角度值的平均值及其所对应的转轴坐标平均值,得到目标转轴的最终角度值和最终转轴坐标值。

关于基于视觉的转轴位姿检测装置的具体限定可以参见上文中对于基于视觉的转轴位姿检测方法的限定,在此不再赘述。上述基于视觉的转轴位姿检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图17所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种基于视觉的转轴位姿检测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图17中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1