CN115082552B - 标记孔的定位方法、装置、装配设备及存储介质 - Google Patents

标记孔的定位方法、装置、装配设备及存储介质 Download PDF

Info

Publication number
CN115082552B
CN115082552B CN202210873883.1A CN202210873883A CN115082552B CN 115082552 B CN115082552 B CN 115082552B CN 202210873883 A CN202210873883 A CN 202210873883A CN 115082552 B CN115082552 B CN 115082552B
Authority
CN
China
Prior art keywords
positioning
circle
pixel
radius
hole
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
Application number
CN202210873883.1A
Other languages
English (en)
Other versions
CN115082552A (zh
Inventor
程曦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202210873883.1A priority Critical patent/CN115082552B/zh
Publication of CN115082552A publication Critical patent/CN115082552A/zh
Application granted granted Critical
Publication of CN115082552B publication Critical patent/CN115082552B/zh
Priority to EP23772740.9A priority patent/EP4336449A1/en
Priority to US18/553,885 priority patent/US20240185414A1/en
Priority to PCT/CN2023/095634 priority patent/WO2024021803A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30141Printed circuit board [PCB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Robotics (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

本申请提供一种标记孔的定位方法、装置、装配设备及存储介质,涉及机器视觉领域,该方法中,装配设备获取包含待定位的标记孔的目标图像,并在目标图像中提取标记孔的轮廓点。其次,装配设备以轮廓点为辅助圆的圆心,生成辅助圆的圆心集合。再次,装配设备遍历圆心集合中的每一个圆心和半径集合中的每一个半径取值,在目标图像中生成多个辅助圆,并在不同半径取值下,累计目标图像中的各个像素点与多个辅助圆的相交次数。最后,根据相交次数最多的第一像素点和第一像素点对应的辅助圆的半径取值,确定标记孔的亚像素定位信息,并根据标记孔的亚像素定位信息定位标记孔。通过该方式,在保证了标记孔的定位精度的同时,提高了标记孔定位的鲁棒性。

Description

标记孔的定位方法、装置、装配设备及存储介质
技术领域
本申请涉及机器视觉技术领域,尤其涉及一种标记孔的定位方法、装置、装配设备及存储介质。
背景技术
机器视觉是通过机器替代人眼进行测量和判断的技术。在智能制造中,机器视觉广泛应用于手机中框、印制电路板(Printed Circuit Board,PCB)、板材等标记(Mark)孔的定位。通过机器视觉可以实现Mark孔的图像定位,再配合运动控制系统完成机械坐标定位,从而可以使机械手根据定位的机械坐标实现Mark孔的装配等操作。
相关技术中,可以基于霍夫(Hough)变换或模板匹配来进行Mark孔的图像定位。其中,Hough变换是先将Mark孔的图像中的具有一定关系(例如,直线关系、圆关系)的像素进行聚类,再取聚类后的累加个数最多的像素点作为检测结果。模板匹配通常可以在Mark孔的图像上通过最小二乘法拟合圆,再计算需拟合轮廓上的点与模板圆方程的误差,通过不断调整圆的圆心与半径参数从而减小误差值。
然而,上述通过Hough变换或模板匹配进行的Mark孔的定位,当Mark孔存在凸包、毛刺等边缘不规则的情况时或者Mark孔被部分遮挡时,定位的偏差较大。因此,现有的Mark孔的定位方式,无法在保证Mark的定位精度的同时提高Mark定位的鲁棒性。
发明内容
本申请提供一种标记孔的定位方法、装置、装配设备及存储介质,以在保证标记孔的定位精度的同时提高标记孔定位的鲁棒性。
第一方面,本申请提供了一种标记孔的定位方法,应用于装配设备,本申请提供的方法包括:
装配设备首先获取包含待定位的标记孔的目标图像,在所述目标图像中提取所述标记孔的轮廓点。其次,装配设备以所述轮廓点为辅助圆的圆心,生成所述辅助圆的圆心集合,该辅助圆用于在所述目标图像中定位所述标记孔的圆心。再次,装配设备遍历所述圆心集合中的每一个圆心和辅助圆的半径集合中的每一个半径取值,在目标图像中生成多个辅助圆,并在所述辅助圆的不同半径取值下,累计所述目标图像中的各个像素点与所述多个辅助圆的相交次数。最后,装配设备根据所述各个像素点中与所述多个辅助圆的相交次数最多的第一像素点和所述第一像素点对应的辅助圆的半径取值,确定所述标记孔的亚像素定位信息,所述亚像素定位信息包括所述标记孔的圆心的像素坐标和所述标记孔的半径,并根据所述标记孔的亚像素定位信息,定位所述标记孔。
本申请提供的标记孔的定位方法,由于通过以标记孔的轮廓点为辅助圆的圆心,在目标图像上生成多个辅助圆,从而通过辅助圆和目标图像中的各个像素点的相交次数,来定位标记孔。当标记孔存在凸包、毛刺等边缘不规则的情况时或者标记孔被部分遮挡时,由于标记孔的大部分轮廓点正常分布,因此,对于辅助圆和目标图像中的各个像素点的相交次数的影响较小,进而对于标记孔的定位精度同样影响较小。因此,本申请提供的标记孔的定位方法,在保证了标记孔的定位精度的同时,提高了标记孔定位的鲁棒性。
在一种可能的实施方式中,装配设备获取包含待定位的标记孔的目标图像,可以包括:装配设备首先获取所述标记孔的原始图像,随后,装配设备根据预设的第一定位圆和第二定位圆,在所述原始图像中获取所述目标图像。其中,所述第一定位圆的半径为所述标记孔的最大半径,所述第二定位圆的半径为所述标记孔的最小半径。
这样一来,通过预设的第一定位圆和第二定位圆,可以在原始图像中获取所述目标图像,从而通过目标图像进行后续的标记孔定位,提高了标记孔的定位效率。
在一种可能的实施方式中,装配设备根据预设的第一定位圆和第二定位圆,在所述原始图像中获取所述目标图像,可以包括:装配设备首先通过将所述标记孔包含在所述第一定位圆内,预定位出所述标记孔所在的目标区域。随后,装配设备使用所述第二定位圆校验所述目标区域中的标记孔的半径是否大于所述最小半径。若目标区域中的标记孔的半径大于所述最小半径,则在所述原始图像中截取所述目标区域的图像,生成所述目标图像。若目标区域中的标记孔的半径小于所述最小半径,则确定所述目标区域中的标记孔为无效标记孔。
这样一来,通过预设的第一定位圆来确定包含标记孔所在的目标区域,通过预设的第二定位圆来确保目标区域中的标记孔符合要求,从而可以保证从原始图像中获取到的目标图像为包含标记孔的图像。
在一种可能的实施方式中,所述目标图像为正方形图像,所述正方形图像的边长等于所述第一定位圆的直径。
在一种可能的实施方式中,所述半径集合中的半径取值小于等于所述第一定位圆的半径且大于等于所述第二定位圆的半径。
在一种可能的实施方式中,装配设备在所述目标图像中提取所述标记孔的轮廓点之前,还可以将所述目标图像进行灰度图转换,并对转换后的目标图像进行高斯滤波,去除所述转换后的目标图像中的高斯噪声。
这样一来,装配设备可以对目标图像进行灰度转换和噪声过滤,从而便于后续快速准确地识别出标记孔的轮廓。
在一种可能的实施方式中,装配设备在所述目标图像中提取所述标记孔的轮廓点,包括:装配设备首先使用梯度算子计算所述目标图像中每个像素点的像素梯度变化值。最后,装配设备将所述目标图像中像素梯度变化值最大的像素点确定为所述轮廓点。
在一种可能的实施方式中,装配设备根据所述各个像素点中与所述多个辅助圆的相交次数最多的第一像素点和所述第一像素点对应的辅助圆的半径取值,定位所述标记孔,包括:装配设备首先将所述标记孔的亚像素定位信息转换为所述标记孔的机械定位信息。随后,装配设备根据所述标记孔的机械定位信息对所述标记孔进行定位。
在一种可能的实施方式中,装配设备根据所述各个像素点中与所述多个辅助圆的相交次数最多的第一像素点和所述第一像素点对应的辅助圆的半径取值,确定所述标记孔的亚像素定位信息,包括:装配设备首先生成所述第一像素点对应的第一矩阵,所述第一矩阵包括三维信息,所述三维信息包括所述第一像素点在两个方向上的坐标和所述第一像素点对应的辅助圆的半径取值。其次,装配设备确定所述三维信息中的每一维信息对应的邻域矩阵。再次,装配设备根据所述每一维信息对应的邻域矩阵和所述第一矩阵,分别确定所述三维信息对应的亚像素定位信息。最后,装配设备根据所述三维信息对应的亚像素定位信息,确定所述标记孔的亚像素定位信息。
在一种可能的实施方式中,所述邻域矩阵包括第一邻域矩阵和第二邻域矩阵,所述第一邻域矩阵中的目标维度信息小于所述第一矩阵中的目标维度信息,所述第二邻域矩阵中的目标维度信息大于所述第一矩阵中的目标维度信息,所述目标维度信息为所述第一邻域矩阵和所述第二邻域矩阵对应的维度信息。
在一种可能的实施方式中,装配设备根据所述每一维信息对应的邻域矩阵和所述第一矩阵,分别确定所述三维信息对应的亚像素定位信息,包括:装配设备首先分别从所述每一维信息对应的第一邻域矩阵中确定出第二矩阵并从所述每一维信息对应的第二邻域矩阵中确定出第三矩阵。随后,装配设备使用高斯分布模型对所述每一维信息对应的第一矩阵、所述第二矩阵和所述第三矩阵进行拟合,分别确定所述三维信息对应的亚像素定位信息。
在一种可能的实施方式中,装配设备根据所述三维信息对应的亚像素定位信息,确定所述标记孔的亚像素定位信息,包括:装配设备首先将所述第一像素点在两个方向上的亚像素坐标,确定为所述标记孔的圆心的像素坐标。随后,装配设备将所述第一像素点对应的辅助圆的半径取值,确定为所述标记孔的半径。
第二方面,本申请还提供一种标记孔的定位装置,该装置包括:
获取模块,用于获取包含待定位的标记孔的目标图像;
相交模块,用于在所述目标图像中提取所述标记孔的轮廓点;以所述轮廓点为辅助圆的圆心,生成所述辅助圆的圆心集合,所述辅助圆用于在所述目标图像中定位所述标记孔的圆心;遍历所述圆心集合中的每一个圆心和所述辅助圆的半径集合中的每一个半径取值,在所目标图像中生成多个辅助圆;
定位模块,用于在所述辅助圆的不同半径取值下,累计所述目标图像中的各个像素点与所述多个辅助圆的相交次数;根据所述各个像素点中与所述多个辅助圆的相交次数最多的第一像素点和所述第一像素点对应的辅助圆的半径取值,定位所述标记孔。
第三方面,本申请还提供一种装配设备,包括处理器和存储器,存储器用于存储代码指令;处理器用于运行代码指令,使得电子设备以执行如第一方面或第一方面的任一种实现方式中描述的标记孔的定位方法。
第四方面,本申请还提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令被执行时,使得计算机执行如第一方面或第一方面的任一种实现方式中描述的标记孔的定位方法。
应当理解的是,本申请的第二方面至第四方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例提供的一种标记孔的定位示意图;
图2为本申请实施例提供的另一种标记孔的定位示意图;
图3为本申请实施例提供的一种手机中框的示意图;
图4为本申请实施例提供的一种装配设备的结构示意图;
图5为本申请实施例提供的一种标记孔的定位方法的流程示意图;
图6为本申请实施例提供的一种原始图像的示意图;
图7为本申请实施例提供的一种目标图像的示意图;
图8为本申请实施例提供的一种标记孔的轮廓点的示意图;
图9为本申请实施例提供的一种辅助圆的示意图;
图10为本申请实施例提供的一种第一矩阵的邻域示意图;
图11为本申请实施例提供的一种高斯模型分布的示意图;
图12a-12d为本申请实施例提供的标记孔的定位效果示意图;
图13为本申请实施例提供的另一种标记孔的定位方法的流程示意图;
图14为本申请实施例提供的一种标记孔的定位装置的结构示意图;
图15为本申请实施例提供的一种终端设备的硬件结构示意图;
图16为本申请实施例提供的一种芯片的结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一值和第二值仅仅是为了区分不同的值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
机器视觉是通过机器替代人眼进行测量和判断的技术。在智能制造中,机器视觉广泛应用于手机中框、印制电路板(Printed Circuit Board,PCB)、板材等标记(Mark)孔的定位。通过机器视觉可以实现Mark孔的图像定位,再配合运动控制系统完成机械坐标定位,从而可以使机械手根据定位的机械坐标实现Mark孔的装配等操作。
由于Mark孔的定位是后续操作的前提,Mark孔的定位精度影响后续操作的完成质量。若Mark孔的定位交叉,机械手在执行后续的Mark孔的装配等操作时,可能会出现屏幕贴合时不对中、刮手等质量问题。在相关技术中,可以基于霍夫(Hough)变换或模板匹配来进行Mark孔的图像定位,来保证Mark孔的定位精度。
其中,Hough变换是先将Mark孔的图像中的具有一定关系的像素进行聚类的方法。示例性的,可以将具有直线关系,或者,圆关系的像素进行聚类,再取聚类后的累加个数最多的像素点作为检测结果。需要说明的是,由于Hough变换使用的是Mark空的边界轮廓线信息,因此在识别过程中,首先要获取Mark孔的图像的边界轮廓线。
模板匹配是一种模式识别方法。通过计算模板和目标图像上元素的相似关系,得到检测结果。示例性的,通过模板匹配,可以在Mark孔的图像中使用最小二乘法拟合圆,并计算需拟合轮廓上的点与模板圆方程的误差,通过不断调整拟合圆的圆心与半径参数使得误差值最小。
然而,上述通过Hough变换或模板匹配进行的Mark孔的定位,在Mark孔轮廓清晰时,定位精度和定位成功率均较高。但当Mark孔存在凸包、毛刺等边缘不规则的情况时或者Mark孔被部分遮挡时,定位的偏差较大。
示例性的,图1为本申请实施例提供的一种标记孔的定位示意图,图2为本申请实施例提供的另一种标记孔的定位示意图。如图1所示的标记孔上存在凸包,如图2所示的标记孔被部分遮挡。若对图1所示的标记孔采用最小二乘法拟合圆的方式来定位标记孔时,由于边缘出现凸包,拟合的圆中心会与实际圆中心出现偏差,从而导致标记孔的定位偏差较大。若对图2所示的标记孔采用Hough变换的方式来定位标记孔时,由于圆心被遮挡,容易造成圆识别错误,进而影响标记孔的定位精度。
因此,现有的标记孔的定位方式,无法在保证标记孔的定位精度的同时提高标记孔定位的鲁棒性。
有鉴于此,本申请提供了一种标记孔的定位方法、装置、装配设备及存储介质,由于通过以标记孔的轮廓点为辅助圆的圆心,在目标图像上生成多个辅助圆,从而通过辅助圆和目标图像中的各个像素点的相交次数,来定位标记孔。当标记孔存在凸包、毛刺等边缘不规则的情况时或者标记孔被部分遮挡时,由于标记孔的大部分轮廓点正常分布,因此,对于辅助圆和目标图像中的各个像素点的相交次数的影响较小,进而对于标记孔的定位精度同样影响较小。因此,本申请提供的标记孔的定位方法,在保证了标记孔的定位精度的同时,提高了标记孔定位的鲁棒性。
下面对本申请涉及的标记孔的定位方法的应用场景进行说明。
图3为本申请实施例提供的一种手机中框的示意图。如图3所示,在手机中框上可以设置多个标记孔,手机中框在装配设备上进行操作时,可以通过定位手机中框上的标记孔,来定位出手机中框的位置。
其中,装配设备为用于对各个零部件进行装配的设备。
应理解,本申请实施例对于装配设备在定位Mark孔后的操作不做限制,示例性的,可以在定位Mark孔后进行点胶操作、装配屏幕操作和装配电池操作。
需要说明的是,上述标记孔的定位方法的应用场景并不构成对本申请的限定,本申请提供的标记孔的定位方法可以应用于任何需要进行Mark孔的场景中。
为了下述各实施例的描述清楚简洁,下面对本申请实施例涉及的装配设备的结构进行说明。
图4为本申请实施例提供的一种装配设备的结构示意图。如图4所示,该装配设备包括操作机构11、一个或多个摄像机12、视觉处理器13、运动机构控制器14和支撑平台15。
可以理解的是,本实施例示意的装配设备的结构并不构成对该设备的具体限定。在另一些实施例中,该装配设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者,不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
其中,操作机构11(或称为机械手)用于抓取和移动待组装零件,如手机屏幕、手机中框等。支撑平台15用于支撑另一待组装零件。
在一示例性实施例中,该支撑平台15上设置有用于固定待组装零件的定位底座,支撑平台15可以平移、升降运动,使得定位底座实现水平方向和竖直方向的运动,进一步,固定在定位底座上的零件跟随定位底座移动。
例如,需要将A零件组装到B零件上,则可以将B零件固定在支撑平台15上,利用操作机构11夹持A零件,进一步通过移动操作机构11和/或支撑平台15将A零件装配至B零件上。
摄像机12(或称为相机)用于拍摄待组装零件的图像,得到待组装组件的位置。
需要说明的是,图像传感器是摄像机的重要组成部分,根据构成图像传感器的元件种类不同,图像传感器可分为电荷耦合元件(Charge coupled Device,CCD)和金属氧化物半导体元件(Complementary Metal Oxide Semiconductor,CMOS)两大类。由CCD元件组成的相机称为CCD相机,由CMOS元件组成的相机称为CMOS相机。摄像机12可以采用CCD相机、CMOS相机中的任意一种。
摄像机12和运动机构控制器14均与视觉处理器13通过通信总线连接。
摄像机12可以接收视觉处理器13发送的拍摄指令,(即第一拍摄指令);同时,摄像机12可以向视觉处理器13发送拍摄得到的图像,以便视觉处理器13基于该图像进行进一步的操作。
视觉处理器13可以根据摄像机12拍摄的图像获得目标物体或目标物体上个某个对象的位置坐标,进一步根据该位置坐标生成控制操作机构11或支撑平台15的运动控制指令(即,第一运动控制指令)并发送至运动机构控制器14,运动机构控制器14基于该运动控制指令控制操作机构11或支撑平台15的动作,例如,控制操作机构11抓取物体、移动,或者,控制支撑平台15平移或升降,或者,执行上述Mark孔的相关操作。
其中,摄像机12获得的位置坐标基于图像,即图2中的xyz坐标系。而运动机构(操作机构和支撑平台)基于机械运动坐标系,即图2中的XYZ坐标系。这两个坐标系的原点、正方向和单位长度不同,因此,需要标定视觉坐标系与机械运动坐标系之间的位置关系。该标定过程可以由视觉处理器13执行相应的标定程序实现。
视觉处理器13可以包括一个或多个处理单元,例如,视觉处理器13可以包括标定处理器、运动控制处理器等。其中,标定处理器主要用于运行标定程序实现视觉坐标系到机械运动坐标的映射。运动控制处理器主要用于控制各运动机构的操作,如操作机构11、支撑平台15等。
在本申请的一个实施例中,视觉处理器13和运动机构控制器14的功能可以集成在同一处理器中,本申请对此不做限定。
可以理解,上述标记孔的定位方法可以通过本公开实施例提供的标记孔的定位装置实现,标记孔的定位装置可以是某个设备的部分或全部,例如上述装配设备或装配设备的处理器。
下面以装配设备为例,并结合具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图5为本申请实施例提供的一种标记孔的定位方法的流程示意图。本实施例提供的标记孔的定位方法应用于装配设备,用于定位待装配的对象上的标记孔,如图5所示,该标记孔的定位方法包括:
S201、获取包含待定位的标记孔的目标图像。
在本申请中,当进行装配时,若需要定位待装配部件上的标记(Mark)孔时,可以获取包含待定位的标记孔的目标图像。
本申请实施例对于Mark孔的形状不做限制,Mark孔的形状可以是圆形,也可以是其他正多边形,例如,正六边形。
其中,目标图像可以为原始图像中的感兴趣区域(Region Of Interest,ROI)的图像,在本申请中,装配设备在定位标记孔时的ROI,即为包含待定位的标记孔的区域。
应理解,本申请实施例对于如何获取目标图像不做限制,在一些实施例中,装配设备可以首先获取标记孔的原始图像。随后,装配设备可以根据预设的第一定位圆和第二定位圆,在原始图像中获取目标图像。
需要说明的是,本申请实施例对于如何设置第一定位圆和第二定位圆不做限制,在一些实施例中,第一定位圆和第二定位圆的半径可以基于标记孔的半径设置。示例性的,第一定位圆的半径为标记孔的最大半径,第二定位圆的半径为标记孔的最小半径。
在一些实施例中,装配设备中通常设置有图像采集系统,若需要对待装配部件的标记孔进行定位时,可以通过图像采集系统中的CCD相机拍摄标记孔的原始图像,随后,再对标记孔的原始图像进行处理,从其中获取包含待定位的标记孔的目标图像。
应理解,上述预设的第一定位圆和第二定位圆用于从原始图像中定位出目标图像。在一些实施例中,装配设备可以首先通过将标记孔包含在第一定位圆内,预定位出标记孔所在的目标区域。随后,再使用第二定位圆校验目标区域中的标记孔的半径是否大于等于最小半径。
若目标区域中的标记孔的半径大于等于最小半径,装配设备则在原始图像中截取目标区域的图像,生成目标图像。若目标区域中的标记孔的半径小于最小半径,则确定目标区域中的标记孔为无效标记孔。确定目标区域中的标记孔为无效标记孔。
示例性的,图6为本申请实施例提供的一种原始图像的示意图,图7为本申请实施例提供的一种目标图像的示意图。如图6所示,在图像采集系统拍摄的原始图像中包含有两个标记孔,装配设备可以逐一采集两个标记孔的目标图像。在目标图的定位过程中,可以采用第一定位圆和第二定位圆的方式实现。如图7所示,首先,装配设备可以采用第一定位圆确定预定位的标记孔是否满足半径上限。若第一定位圆可以包含预定位的标记孔,则确定预定位的标记孔满足半径上限。相应的,如图7所示,第一定位圆通过包含预定位的标记孔所定位出的区域,可以为标记孔所在的目标区域。随后,可以采用第一定位圆确定预定位的标记孔是否满足半径下限。若目标区域中的标记孔的半径大于等于第二定位圆的半径,则确定预定位的标记孔满足半径下限,相应的,该预定位的标记孔经校验合格,可以截图目标区域的图像作为目标图像。若目标区域中的标记孔的半径小于第二定位圆的半径,则确定预定位的标记孔为无效标记孔,无需进行后续的定位操作。
应理解,本申请实施例对于如何截图目标图像不做限制,在一些实施例中,目标图像可以为正方形图像,该正方形图像的边长等于第一定位圆的直径。示例性的,如图7所示,目标图像可以为正方形图像,通过以第一定位圆的圆心为目标图像的中心,可以从原始图像中截取出目标图像。
本申请通过上述目标图像的定位方式,只需保证标记孔的圆心落在第一定位圆范围内即可完成识别定位,可允许设备运动或物料的公差导致标记孔偏移为第一定位圆的半径的像素当量,从而提高了标记孔的视觉定位的动态范围。并且,不会受到标记孔内部的第二定位圆的干扰,即不会呈现多个圆被识别的情况,造成系统报警。通过更改第一定位圆和第二定位圆的半径,可以实现不同尺寸的标记孔的识别。
在一些实施例中,装配设备在获取目标图像后,还将目标图像进行灰度图转换,并对转换后的目标图像进行高斯滤波,去除转换后的目标图像中的高斯噪声。
应理解,本申请实施例对于如何对目标图像进行高斯滤波不做限制,在一些实施例,装配设备可以3*3的内核进行高斯滤波,从而去除目标图像上的高斯噪声。
应理解,本申请实施例对于如何对目标图像进行灰度图转换不做限制,可以采用常用的灰度图转换方式。
S202、在目标图像中提取标记孔的轮廓点。
在本步骤中,当装配设备获取包含待定位的标记孔的目标图像后,可以在目标图像中提取标记孔的轮廓点。
其中,标记孔的轮廓点可以标记孔在目标图像中的边缘的线条上的像素点。
应理解,本申请实施例对于如何提取标记孔的轮廓点不做限制,在一些实施例中,装配设备可以先使用梯度算子计算目标图像中每个像素点的像素梯度变化值。随后,装配设备可以将目标图像中像素梯度变化值最大的像素点确定为轮廓点。
其中,上述梯度算子可以为凯尼(canny)、索贝尔(sobel)、拉普拉斯(laplacian)等梯度算子。
示例性的,图8为本申请实施例提供的一种标记孔的轮廓点的示意图,如图8所示的白色圆环轮廓中的点为目标图像中像素梯度变化值最大的像素点,即为标记孔的轮廓点。
S203、以轮廓点为辅助圆的圆心,生成辅助圆的圆心集合。
其中,上述辅助圆用于在目标图像中定位标记孔的圆心。
在一些实施例中,各个轮廓点可以通过该轮廓点对应的像素坐标表示。示例性的,辅助圆的圆心集合P可以为{(x 1 y 1 ),(x 2 y 2 )…(x i y i )…(x n y n )}。其中,集合P中的每一个坐标均为各个轮廓点的像素坐标。
在一些实施例中,辅助圆的圆心集合P中的圆心的坐标可以为整数坐标。
S204、遍历圆心集合中的每一个圆心和半径集合中的每一个半径取值,在目标图像中生成多个辅助圆。
在本步骤中,当装配设备生成辅助圆的圆心集合后,可以相应的获取辅助圆的半径集合,从而遍历圆心集合中的每一个圆心和半径集合中的每一个半径取值,在目标图像中生成多个辅助圆。
其中,上述半径集合可以预先设置辅助圆的半径集合,其设置集合可以根据实际情况具体设置。在一些实施例中,辅助圆的半径集合中的半径的取值范围可以为标记孔的最大半径和最小半径之间,即,半径集合中的半径取值小于等于第一定位圆的半径且大于等于第二定位圆的半径。辅助圆的半径集合中相邻的半径之间的差值可以为固定值,例如1像素单位。
示例性的,图9为本申请实施例提供的一种辅助圆的示意图。如图9所示,装配设备可以从圆心集合P:{(x 1 y 1 ),(x 2 y 2 )…(x i y i )…(x n y n )}中依次提取辅助圆的圆心。在提取辅助圆的第一个圆心(x 1,y1)后,以(x 1,y1)为圆心,可以遍历提取辅助圆的半径集合中的半径,依次在目标图像中画辅助圆,该辅助圆的公司可以如公式(1)所示:
Figure 148985DEST_PATH_IMAGE001
(1)
其中,h为目标图像中的第一像素坐标(例如,横轴方向的坐标),w为目标图像中的第二像素坐标(例如,纵轴方向的坐标),Z 1 为辅助圆的半径,R min 为标记孔的最小半径,R max 为标记孔的最大半径。
需要说明的是,通过Z 1 R min 开始在目标图像上画辅助圆,并在生成该辅助圆后,将Z 1的取值加1,并重复在目标图像上画辅助圆,直至Z 1的取值大于R max 。相应的,在遍历完以(x 1 y 1 )为圆心的辅助圆后,可以依次在圆心集合中提取每一个圆心,重复执行上述操作,直至提取完圆心集合中所有的圆心。
S205、在辅助圆的不同半径取值下,累计目标图像中的各个像素点与多个辅助圆的相交次数。
在本步骤中,当装配设备在目标图像中生成多个辅助圆后,可以在辅助圆的不同半径取值下,累计目标图像中的各个像素点与多个辅助圆的相交次数。
需要说明的是,上述累计各个像素点与多个辅助圆的相交次数,可以理解为,统计每一个半径取值下经过同一个像素点的辅助圆的个数。
示例性的,装配设备可以建立一个三维空间矩阵(hwr),其初始值为0。其中,h为目标图像中的第一像素坐标,w为目标图像中的第二像素坐标,r为对应的半径取值。
在统计相交次数时,针对公式(1)中的圆,若rR min ,辅助圆与像素点的坐标(h 0w 0 )相交对应的三维空间全0矩阵为(h 0 w 0 R min )。当rR max 的辅助圆每次经过(h 0 w 0 )时,通过公式(2)为三维空间矩阵(h 0 w 0 R min )的值加1。
Figure 62715DEST_PATH_IMAGE002
(2)
其中,
Figure 259210DEST_PATH_IMAGE003
Counth 0 w 0 R min )为三维空间矩阵(h 0 w 0 R min )的计数值。
应理解,在每一个圆心对应的辅助圆中,在统计完一个半径取值下的各像素点与辅助圆的相交次数后,可以将半径取值Z 1 加1,即Z 1= R min +1,重复上述步骤,统计Counth 0 w 0 R min +1)的计数值。
应理解,本申请实施例中,可以统计每一个圆心点在不同半径取值下的三维空间矩阵的计数值,从而确定各个像素点与多个辅助圆的相交次数。
示例性的,某个三维空间矩阵的计数值可以如公式(3)所示:
Figure 433839DEST_PATH_IMAGE004
(3)
其中,(x i y i )∈P,
Figure 175530DEST_PATH_IMAGE005
,其中,P为上述圆心集合。
S206、根据各个像素点中与多个辅助圆的相交次数最多的第一像素点和第一像素点对应的辅助圆的半径取值,确定标记孔的亚像素定位信息。
在一些实施例中,装配设备可以先根据各个像素点中与多个辅助圆的相交次数最多的第一像素点和第一像素点对应的辅助圆的半径取值,确定标记孔的亚像素定位信息,该亚像素定位信息包括标记孔的圆心的像素坐标和标记孔的半径。随后,装配设备将标记孔的亚像素定位信息转换为标记孔的机械定位信息。
其中,上述亚像素定位信息可以为标记孔在原始图像或目标图像上的位置信息,亚像素定位信息包括标记孔的圆心的像素坐标和标记孔的半径。
在一些实施例中,在确定标记孔的亚像素定位信息时,装配设备可以通过第一像素点对应的第一矩阵和第一矩阵的邻域矩阵实现。装配设备可以先生成第一像素点对应的第一矩阵,该第一矩阵包括三维信息,该三维信息包括第一像素点在两个方向上的坐标和第一像素点对应的辅助圆的半径取值。其次,装配设备可以确定三维信息中的每一维信息对应的邻域矩阵。再次,装配设备可以根据每一维信息对应的邻域矩阵和第一矩阵,分别确定三维信息对应的亚像素定位信息。最后,装配设备可以根据三维信息对应的亚像素定位信息,确定标记孔的亚像素定位信息。
应理解,本申请实施例对于上述第一矩阵的类型不做限制,包含第一像素点在两个方向上的坐标和第一像素点对应的辅助圆的半径取值即可。在一些实施例中,第一矩阵可以为上述三维空间矩阵。
其中,邻域矩阵包括第一邻域矩阵和第二邻域矩阵,第一邻域矩阵中的目标维度信息小于第一矩阵中的目标维度信息,第二邻域矩阵中的目标维度信息大于第一矩阵中的目标维度信息,目标维度信息为第一邻域矩阵和第二邻域矩阵对应的维度信息。
相应的,装配设备可以分别从每一维信息对应的第一邻域矩阵中确定出第二矩阵并从每一维信息对应的第二邻域矩阵中确定出第三矩阵。随后,装配设备可以使用高斯分布模型对每一维信息对应的第一矩阵、第二矩阵和第三矩阵进行拟合,分别确定三维信息对应的亚像素定位信息。
在一些实施例中,若第一矩阵可以为(h max ,w max ,r max )。其中,(h max ,w max 为所需拟合圆的圆心整数坐标,r max 为所需拟合圆的圆心整数半径。图10为本申请实施例提供的一种第一矩阵的邻域示意图。如图10所示,装配设备可以提取第一矩阵周边左侧的3*3*3的9邻域的计数值如下:(h max -1,w max -1,r max +1),(h max -1,w max ,r max +1),(h max -1,w max +1,r max +1),(h max - 1,w max -1,r max ),(h max -1,w max ,r max ),(h max -1,w max +1,r max ),(h max -1,w max -1,r max -1),(h max -1, w max ,r max -1),(h max -1,w max +1,r max -1)。
随后,以第一维信息h为例,装配设备可以从9个左侧的邻域矩阵的计数值中确定出左侧邻域h l 最大的数值Count(h l )。相应的,装配设备可以提取第一矩阵周边右侧的3*3*3的9邻域的计数值,并从9个右侧的邻域矩阵的计数值中确定出右侧邻域h r 最大的数值Count(h r )。
图11为本申请实施例提供的一种高斯模型分布的示意图。如图11所示,统计点数由圆心向周边逐渐降低,并呈现高斯模型分布。图11中的线条A为理想的高斯分布模型μ= h max *Count(h l )= Count(h r ),然而,实际的计数值Count(h l )和Count(h r )可能并不相等,此时高斯模型中参数μ偏移至h*的位置,即线条B。此时,高斯模型中μ=h*(即圆形h轴亚像素坐标)
将(h l, Count(h l ))、(h max, Count(h max ))、(h r, Count(h r ))三点的值带入公式(4),推导出公式(5)求出μ的值。通过求出μ的值即可确定
Figure 435610DEST_PATH_IMAGE006
对应的亚像素坐标h*。
Figure 170217DEST_PATH_IMAGE007
(4)
Figure 340298DEST_PATH_IMAGE008
(5)
需要说明的是,上述求取9邻域的最大值,也可使用平均值或者中位数进行代替,可以根据实际情况具体设置,本申请实施例对此不作限制。
需要说明的是,另外两维的亚像素坐标w*和r*可以参考h*的计算方式,在此不作赘述。表1为亚像素检测数据结果示意图,如表1所示,通过上述高斯模型分布确定的亚像素坐标,可以提高亚像素坐标的精度。
表1
Figure 643103DEST_PATH_IMAGE009
需要说明的是,上述通过高斯分布模型拟合确定的亚元素坐标并不构成对本申请的限定,在一些实施例中,还可以通过其他方式替代高斯分布模型拟合,例如,圆心插值法。
在一些实施例中,装配设备可以将第一像素点在两个方向上的亚像素坐标,确定为标记孔的圆心的像素坐标。将第一像素点对应的辅助圆的半径取值,确定为标记孔的半径。
S207、根据标记孔的亚像素定位信息,定位标记孔。
其中,上述机械定位信息可以为标记孔在装配设备上的定位信息。
应理解,本申请实施例对于如何将亚像素定位信息转换为机械定位信息不做限制,在一些实时流中,可以预先设置亚像素定位信息和机械定位信息之间的映射关系,按照映射关系,可以将亚像素定位信息转换为机械定位信息。
本申请提供的标记孔的定位方法,以标记孔的轮廓点为圆心画圆,统计相交次数最大的像素点作为辅助圆的圆心,可以在保证了标记孔的定位精度的同时,提高了标记孔定位的鲁棒性。
图12a-12d为本申请实施例提供的标记孔的定位效果示意图。如图12a-12d所示,在标记孔存在凸包、毛刺等边缘不规则的情况时或者标记孔被部分遮挡时,仍然可以较准确的定位出标记孔。
本申请实施例提供的标记孔的定位方法,装配设备首先获取包含待定位的标记孔的目标图像,并在目标图像中提取标记孔的轮廓点。其次,装配设备以轮廓点为辅助圆的圆心,生成辅助圆的圆心集合。再次,装配设备遍历圆心集合中的每一个圆心和半径集合中的每一个半径取值,在目标图像中生成多个辅助圆,并在辅助圆的不同半径取值下,累计目标图像中的各个像素点与多个辅助圆的相交次数。最后,根据各个像素点中与多个辅助圆的相交次数最多的第一像素点和第一像素点对应的辅助圆的半径取值,定位标记孔。由于通过以标记孔的轮廓点为辅助圆的圆心,在目标图像上生成多个辅助圆,从而通过辅助圆和目标图像中的各个像素点的相交次数,确定标记孔的亚像素定位信息,亚像素定位信息包括标记孔的圆心的像素坐标和标记孔的半径;根据标记孔的亚像素定位信息,定位标记孔。当标记孔存在凸包、毛刺等边缘不规则的情况时或者标记孔被部分遮挡时,由于标记孔的大部分轮廓点正常分布,因此,对于辅助圆和目标图像中的各个像素点的相交次数的影响较小,进而对于标记孔的定位精度同样影响较小。因此,本申请提供的标记孔的定位方法,在保证了标记孔的定位精度的同时,提高了标记孔定位的鲁棒性。
图13为本申请实施例提供的另一种标记孔的定位方法的流程示意图。本实施例提供的标记孔的定位方法应用于装配设备,用于定位待装配的对象上的标记孔,如图13所示,该标记孔的定位方法包括:
S301、获取标记孔的原始图像。
S302、根据预设的第一定位圆和第二定位圆,在原始图像中获取目标图像。
其中,第一定位圆的半径为标记孔的最大半径,第二定位圆的半径为标记孔的最小半径。
S303、将目标图像进行灰度图转换。
S304、对转换后的目标图像进行高斯滤波,去除转换后的目标图像中的高斯噪声。
S305、在目标图像中提取标记孔的轮廓点。
S306、以轮廓点为辅助圆的圆心,生成辅助圆的圆心集合,辅助圆用于在目标图像中定位标记孔的圆心。
S307、遍历圆心集合中的每一个圆心和半径集合中的每一个半径取值,在目标图像中生成多个辅助圆。
S308、在辅助圆的不同半径取值下,累计目标图像中的各个像素点与多个辅助圆的相交次数。
S309、确定各个像素点中与多个辅助圆的相交次数最多的第一像素点和第一像素点对应的辅助圆的半径取值。
S310、根据第一像素点和第一像素点对应的辅助圆的半径取值,使用高斯分布模型拟合出标记孔的亚像素定位信息,亚像素定位信息包括标记孔的圆心的像素坐标和标记孔的半径。
S311、将标记孔的亚像素定位信息转换为标记孔的机械定位信息。
S312、根据标记孔的机械定位信息对标记孔进行定位。
本申请实施例提供的标记孔的定位方法,由于通过以标记孔的轮廓点为辅助圆的圆心,在目标图像上生成多个辅助圆,从而通过辅助圆和目标图像中的各个像素点的相交次数,来定位标记孔。当标记孔存在凸包、毛刺等边缘不规则的情况时或者标记孔被部分遮挡时,由于标记孔的大部分轮廓点正常分布,因此,对于辅助圆和目标图像中的各个像素点的相交次数的影响较小,进而对于标记孔的定位精度同样影响较小。因此,本申请提供的标记孔的定位方法,在保证了标记孔的定位精度的同时,提高了标记孔定位的鲁棒性。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图14为本申请实施例提供的一种标记孔的定位装置的结构示意图。该标记孔的定位装置可以通过软件、硬件或者两者的结合实现,可例如上述实施例中的装配设备或装配设备的处理器,以执行上述实施例中的标记孔的定位方法。如图14,该标记孔的定位装置400包括:获取模块401、相交模块402和定位模块403。
获取模块401,用于获取包含待定位的标记孔的目标图像;
相交模块402,用于在目标图像中提取标记孔的轮廓点;以轮廓点为辅助圆的圆心,生成辅助圆的圆心集合,辅助圆用于在目标图像中定位标记孔的圆心;遍历圆心集合中的每一个圆心和半径集合中的每一个半径取值,在所目标图像中生成多个辅助圆;
定位模块403,用于在辅助圆的不同半径取值下,累计目标图像中的各个像素点与多个辅助圆的相交次数;根据各个像素点中与多个辅助圆的相交次数最多的第一像素点和第一像素点对应的辅助圆的半径取值,确定标记孔的亚像素定位信息,亚像素定位信息包括标记孔的圆心的像素坐标和标记孔的半径;根据标记孔的亚像素定位信息,定位标记孔。
在一种可选的实施方式中,获取模块401,具体用于获取标记孔的原始图像;根据预设的第一定位圆和第二定位圆,在原始图像中获取目标图像。
其中,第一定位圆的半径为标记孔的最大半径,第二定位圆的半径为标记孔的最小半径。
在一种可选的实施方式中,获取模块401,具体用于通过将标记孔包含在第一定位圆内,预定位出标记孔所在的目标区域;使用第二定位圆校验目标区域中的标记孔的半径是否大于等于最小半径;若是,则在原始图像中截取目标区域的图像,生成目标图像。
在一种可选的实施方式中,获取模块401,还用于若否,则确定目标区域中的标记孔为无效标记孔。
在一种可选的实施方式中,目标图像为正方形图像,正方形图像的边长等于第一定位圆的直径。
在一种可选的实施方式中,半径集合中的半径取值小于等于第一定位圆的半径且大于等于第二定位圆的半径。
在一种可选的实施方式中,获取模块401,还用于将目标图像进行灰度图转换;对转换后的目标图像进行高斯滤波,去除转换后的目标图像中的高斯噪声。
在一种可选的实施方式中,相交模块402,具体用于使用梯度算子计算目标图像中每个像素点的像素梯度变化值;将目标图像中像素梯度变化值最大的像素点确定为轮廓点。
在一种可选的实施方式中,定位模块403,具体用于将标记孔的亚像素定位信息转换为标记孔的机械定位信息;根据标记孔的机械定位信息对标记孔进行定位。
在一种可选的实施方式中,定位模块403,具体用于生成第一像素点对应的第一矩阵,第一矩阵包括三维信息,三维信息包括第一像素点在两个方向上的坐标和第一像素点对应的辅助圆的半径取值;确定三维信息中的每一维信息对应的邻域矩阵;根据每一维信息对应的邻域矩阵和第一矩阵,分别确定三维信息对应的亚像素定位信息;根据三维信息对应的亚像素定位信息,确定标记孔的亚像素定位信息。
在一种可选的实施方式中,邻域矩阵包括第一邻域矩阵和第二邻域矩阵,第一邻域矩阵中的目标维度信息小于第一矩阵中的目标维度信息,第二邻域矩阵中的目标维度信息大于第一矩阵中的目标维度信息,目标维度信息为第一邻域矩阵和第二邻域矩阵对应的维度信息。
在一种可选的实施方式中,定位模块403,具体用于分别从每一维信息对应的第一邻域矩阵中确定出第二矩阵并从每一维信息对应的第二邻域矩阵中确定出第三矩阵;使用高斯分布模型对每一维信息对应的第一矩阵、第二矩阵和第三矩阵进行拟合,分别确定三维信息对应的亚像素定位信息。
在一种可选的实施方式中,定位模块403,具体用于将第一像素点在两个方向上的亚像素坐标,确定为标记孔的圆心的像素坐标;将第一像素点对应的辅助圆的半径取值,确定为标记孔的半径。
需要说明的,图14示实施例提供的标记孔的定位装置,可用于执行上述任意实施例所提供的方法,具体实现方式和技术效果类似,这里不再进行赘述。
图15为本申请实施例提供的一种终端设备的硬件结构示意图,如图15所示,该终端设备包括处理器501,通信线路504以及至少一个通信接口(图15中示例性的以通信接口503为例进行说明),该终端设备可以为上述装配设备。
处理器501可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路504可包括在上述组件之间传送信息的电路。
通信接口503,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线局域网(wireless local area networks,WLAN)等。
可能的,该终端设备还可以包括存储器502。
存储器502可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路504与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器502用于存储执行本申请方案的计算机执行指令,并由处理器501来控制执行。处理器501用于执行存储器502中存储的计算机执行指令,从而实现本申请实施例所提供的曝光控制方法。
可能的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器501可以包括一个或多个CPU,例如图5中的CPU0和CPU1。
在具体实现中,作为一种实施例,终端设备可以包括多个处理器,例如图5中的处理器501和处理器505。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
示例性的,图16为本申请实施例提供的一种芯片的结构示意图。芯片60包括一个或两个以上(包括两个)处理器610和通信接口630。
在一些实施方式中,存储器640存储了如下的元素:可执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
本申请实施例中,存储器640可以包括只读存储器和随机存取存储器,并向处理器610提供指令和数据。存储器640的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
本申请实施例中,存储器640、通信接口630以及存储器640通过总线系统620耦合在一起。其中,总线系统620除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。为了便于描述,在图6中将各种总线都标为总线系统620。
上述本申请实施例描述的方法可以应用于处理器610中,或者由处理器610实现。处理器610可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器610中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器610可以是通用处理器(例如,微处理器或常规处理器)、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门、晶体管逻辑器件或分立硬件组件,处理器610可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。其中,软件模块可以位于随机存储器、只读存储器、可编程只读存储器或带电可擦写可编程存储器(electricallyerasable programmable read only memory,EEPROM)等本领域成熟的存储介质中。该存储介质位于存储器640,处理器610读取存储器640中的信息,结合其硬件完成上述方法的步骤。
在上述实施例中,存储器存储的供处理器执行的指令可以以计算机程序产品的形式实现。其中,计算机程序产品可以是事先写入在存储器中,也可以是以软件形式下载并安装在存储器中。
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。例如,可用介质可以包括磁性介质(例如,软盘、硬盘或磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请实施例还提供了一种计算机可读存储介质。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
作为一种可能的设计,计算机可读介质可以包括紧凑型光盘只读储存器(compactdisc read-only memory,CD-ROM)、RAM、ROM、EEPROM或其它光盘存储器;计算机可读介质可以包括磁盘存储器或其它磁盘存储设备。而且,任何连接线也可以被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,DSL或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘(CD),激光盘,光盘,数字通用光盘(digital versatile disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。
上述的组合也应包括在计算机可读介质的范围内。以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (16)

1.一种标记孔的定位方法,其特征在于,所述方法包括:
获取包含待定位的标记孔的目标图像;
在所述目标图像中提取所述标记孔的轮廓点;
以所述轮廓点为辅助圆的圆心,生成所述辅助圆的圆心集合,所述辅助圆用于在所述目标图像中定位所述标记孔的圆心;
遍历所述圆心集合中的每一个圆心和所述辅助圆的半径集合中的每一个半径取值,在所述目标图像中生成多个辅助圆;
在所述辅助圆的不同半径取值下,累计所述目标图像中的各个像素点与所述多个辅助圆的相交次数;
根据所述各个像素点中与所述多个辅助圆的相交次数最多的第一像素点和所述第一像素点对应的辅助圆的半径取值,确定所述标记孔的亚像素定位信息,所述亚像素定位信息包括所述标记孔的圆心的像素坐标和所述标记孔的半径;
根据所述标记孔的亚像素定位信息,定位所述标记孔。
2.根据权利要求1所述的方法,其特征在于,所述获取包含待定位的标记孔的目标图像,包括:
获取所述标记孔的原始图像;
根据预设的第一定位圆和第二定位圆,在所述原始图像中获取所述目标图像;
其中,所述第一定位圆的半径为所述标记孔的最大半径,所述第二定位圆的半径为所述标记孔的最小半径。
3.根据权利要求2所述的方法,其特征在于,所述根据预设的第一定位圆和第二定位圆,在所述原始图像中获取所述目标图像,包括:
通过将所述标记孔包含在所述第一定位圆内,预定位出所述标记孔所在的目标区域;
使用所述第二定位圆校验所述目标区域中的标记孔的半径是否大于等于所述最小半径;
若是,则在所述原始图像中截取所述目标区域的图像,生成所述目标图像。
4.根据权利要求3所述的方法,其特征在于,在所述使用所述第二定位圆校验所述目标区域中的标记孔的半径是否大于所述最小半径之后,所述方法还包括:
若否,则确定所述目标区域中的标记孔为无效标记孔。
5.根据权利要求2-4任一项所述的方法,其特征在于,所述目标图像为正方形图像,所述正方形图像的边长等于所述第一定位圆的直径。
6.根据权利要求2所述的方法,其特征在于,所述半径集合中的半径取值小于等于所述第一定位圆的半径且大于等于所述第二定位圆的半径。
7.根据权利要求1所述的方法,其特征在于,在所述目标图像中提取所述标记孔的轮廓点之前,所述方法还包括:
将所述目标图像进行灰度图转换;
对转换后的目标图像进行高斯滤波,去除所述转换后的目标图像中的高斯噪声。
8.根据权利要求7所述的方法,其特征在于,所述在所述目标图像中提取所述标记孔的轮廓点,包括:
使用梯度算子计算所述目标图像中每个像素点的像素梯度变化值;
将所述目标图像中像素梯度变化值最大的像素点确定为所述轮廓点。
9.根据权利要求8所述的方法,其特征在于,所述根据所述标记孔的亚像素定位信息,定位所述标记孔,包括:
将所述标记孔的亚像素定位信息转换为所述标记孔的机械定位信息;
根据所述标记孔的机械定位信息对所述标记孔进行定位。
10.根据权利要求9所述的方法,其特征在于,所述根据所述各个像素点中与所述多个辅助圆的相交次数最多的第一像素点和所述第一像素点对应的辅助圆的半径取值,确定所述标记孔的亚像素定位信息,包括:
生成所述第一像素点对应的第一矩阵,所述第一矩阵包括三维信息,所述三维信息包括所述第一像素点在两个方向上的坐标和所述第一像素点对应的辅助圆的半径取值;
确定所述三维信息中的每一维信息对应的邻域矩阵;
根据所述每一维信息对应的邻域矩阵和所述第一矩阵,分别确定所述三维信息对应的亚像素定位信息;
根据所述三维信息对应的亚像素定位信息,确定所述标记孔的亚像素定位信息。
11.根据权利要求10所述的方法,其特征在于,所述邻域矩阵包括第一邻域矩阵和第二邻域矩阵,所述第一邻域矩阵中的目标维度信息小于所述第一矩阵中的目标维度信息,所述第二邻域矩阵中的目标维度信息大于所述第一矩阵中的目标维度信息,所述目标维度信息为所述第一邻域矩阵和所述第二邻域矩阵对应的维度信息。
12.根据权利要求11所述的方法,其特征在于,所述根据所述每一维信息对应的邻域矩阵和所述第一矩阵,分别确定所述三维信息对应的亚像素定位信息,包括:
分别从所述每一维信息对应的第一邻域矩阵中确定出第二矩阵并从所述每一维信息对应的第二邻域矩阵中确定出第三矩阵;
使用高斯分布模型对所述每一维信息对应的第一矩阵、所述第二矩阵和所述第三矩阵进行拟合,分别确定所述三维信息对应的亚像素定位信息。
13.根据权利要求10所述的方法,其特征在于,所述根据所述三维信息对应的亚像素定位信息,确定所述标记孔的亚像素定位信息,包括:
将所述第一像素点在两个方向上的亚像素坐标,确定为所述标记孔的圆心的像素坐标;
将所述第一像素点对应的辅助圆的半径取值,确定为所述标记孔的半径。
14.一种标记孔的定位装置,其特征在于,所述装置包括:
获取模块,用于获取包含待定位的标记孔的目标图像;
相交模块,用于在所述目标图像中提取所述标记孔的轮廓点;以所述轮廓点为辅助圆的圆心,生成所述辅助圆的圆心集合,所述辅助圆用于在所述目标图像中定位所述标记孔的圆心;遍历所述圆心集合中的每一个圆心和所述辅助圆的半径集合中的每一个半径取值,在所目标图像中生成多个辅助圆;
定位模块,用于在所述辅助圆的不同半径取值下,累计所述目标图像中的各个像素点与所述多个辅助圆的相交次数;根据所述各个像素点中与所述多个辅助圆的相交次数最多的第一像素点和所述第一像素点对应的辅助圆的半径取值,确定所述标记孔的亚像素定位信息,所述亚像素定位信息包括所述标记孔的圆心的像素坐标和所述标记孔的半径;根据所述标记孔的亚像素定位信息,定位所述标记孔。
15.一种装配设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使得所述装配设备执行如权利要求1至13任一项所述的方法。
16.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得计算机执行如权利要求1至13任一项所述的方法。
CN202210873883.1A 2022-07-25 2022-07-25 标记孔的定位方法、装置、装配设备及存储介质 Active CN115082552B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202210873883.1A CN115082552B (zh) 2022-07-25 2022-07-25 标记孔的定位方法、装置、装配设备及存储介质
EP23772740.9A EP4336449A1 (en) 2022-07-25 2023-05-22 Mark hole positioning method and apparatus, assembly device, and storage medium
US18/553,885 US20240185414A1 (en) 2022-07-25 2023-05-22 Mark hole positioning method and apparatus, assembly device, and storage medium
PCT/CN2023/095634 WO2024021803A1 (zh) 2022-07-25 2023-05-22 标记孔的定位方法、装置、装配设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210873883.1A CN115082552B (zh) 2022-07-25 2022-07-25 标记孔的定位方法、装置、装配设备及存储介质

Publications (2)

Publication Number Publication Date
CN115082552A CN115082552A (zh) 2022-09-20
CN115082552B true CN115082552B (zh) 2022-12-27

Family

ID=83243269

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210873883.1A Active CN115082552B (zh) 2022-07-25 2022-07-25 标记孔的定位方法、装置、装配设备及存储介质

Country Status (4)

Country Link
US (1) US20240185414A1 (zh)
EP (1) EP4336449A1 (zh)
CN (1) CN115082552B (zh)
WO (1) WO2024021803A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115082552B (zh) * 2022-07-25 2022-12-27 荣耀终端有限公司 标记孔的定位方法、装置、装配设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101334263A (zh) * 2008-07-22 2008-12-31 东南大学 圆形目标的圆心定位方法
CN102806554A (zh) * 2012-06-14 2012-12-05 中联重科股份有限公司 起重机配重定位销的定位方法和划线工具
CN108205395A (zh) * 2018-01-16 2018-06-26 安徽慧视金瞳科技有限公司 一种标定点中心坐标精准定位方法
CN113436461A (zh) * 2021-05-31 2021-09-24 荣耀终端有限公司 发送停车位信息的方法、车机设备及计算机可读存储介质
CN113706607A (zh) * 2021-08-18 2021-11-26 广东江粉高科技产业园有限公司 一种基于圆环阵列图的亚像素定位方法、计算机设备与装置
CN114511630A (zh) * 2021-12-30 2022-05-17 合肥联宝信息技术有限公司 一种图像定位方法、装置、电子设备及存储介质
CN114648518A (zh) * 2022-04-01 2022-06-21 陕西科技大学 一种基于内窥图像的孔内表面缺陷检测及测量方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103093222A (zh) * 2011-11-07 2013-05-08 鸿富锦精密工业(深圳)有限公司 主板圆孔定位方法及系统
CN105894544A (zh) * 2015-12-14 2016-08-24 乐视云计算有限公司 一种检测图像中圆心位置的方法及装置
CN109816675A (zh) * 2018-12-28 2019-05-28 歌尔股份有限公司 物体的检测方法、检测装置及存储介质
JP7099971B2 (ja) * 2019-03-04 2022-07-12 富士フイルム株式会社 内視鏡装置、キャリブレーション装置、及びキャリブレーション方法
CN112288693B (zh) * 2020-10-19 2024-02-13 佛山(华南)新材料研究院 圆孔检测方法、装置、电子设备及存储介质
CN115082552B (zh) * 2022-07-25 2022-12-27 荣耀终端有限公司 标记孔的定位方法、装置、装配设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101334263A (zh) * 2008-07-22 2008-12-31 东南大学 圆形目标的圆心定位方法
CN102806554A (zh) * 2012-06-14 2012-12-05 中联重科股份有限公司 起重机配重定位销的定位方法和划线工具
CN108205395A (zh) * 2018-01-16 2018-06-26 安徽慧视金瞳科技有限公司 一种标定点中心坐标精准定位方法
CN113436461A (zh) * 2021-05-31 2021-09-24 荣耀终端有限公司 发送停车位信息的方法、车机设备及计算机可读存储介质
CN113706607A (zh) * 2021-08-18 2021-11-26 广东江粉高科技产业园有限公司 一种基于圆环阵列图的亚像素定位方法、计算机设备与装置
CN114511630A (zh) * 2021-12-30 2022-05-17 合肥联宝信息技术有限公司 一种图像定位方法、装置、电子设备及存储介质
CN114648518A (zh) * 2022-04-01 2022-06-21 陕西科技大学 一种基于内窥图像的孔内表面缺陷检测及测量方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
《圆心确定的方法》;jule_zhou;《https://blog.csdn.net/jule_zhou/article/details/115623069》;20210412;第1-3页 *
《基于ZigBee电缆隧道巡检机器人通讯系统设计》;吕德稳 等;《内蒙古工业大学学报(自然科学版)》;20210815;第04卷(第40期);第278-283页 *
《基于改进Hough变换的刹车蹄块片安装孔定位检测法》;黄永华 等;《贵州大学学报(自然科学版)》;20190215;第36卷(第01期);第76-81页 *
《核电蒸汽发生器支撑板群孔形位参数测量方法研究》;蒋鑫;《中国博士学位论文全文数据库 工程科技Ⅱ辑》;20220515(第05期);第C040-2页 *

Also Published As

Publication number Publication date
WO2024021803A9 (zh) 2024-06-13
US20240185414A1 (en) 2024-06-06
EP4336449A1 (en) 2024-03-13
CN115082552A (zh) 2022-09-20
WO2024021803A1 (zh) 2024-02-01

Similar Documents

Publication Publication Date Title
US20220270293A1 (en) Calibration for sensor
CN109479082B (zh) 图象处理方法及装置
CN112837371A (zh) 基于3d匹配的物体抓取方法、装置及计算设备
JP2004334819A (ja) ステレオキャリブレーション装置とそれを用いたステレオ画像監視装置
CN115609591B (zh) 一种基于2D Marker的视觉定位方法和系统、复合机器人
CN108090486B (zh) 一种台球比赛中的图像处理方法及装置
CN112017232A (zh) 图像内圆形图案的定位方法、装置及设备
CN115082552B (zh) 标记孔的定位方法、装置、装配设备及存储介质
CN103824275A (zh) 在图像中搜寻鞍点状结构并测定其信息的系统和方法
CN116092086A (zh) 一种机床数据面板字符提取识别方法、系统、装置和终端
CN110866475A (zh) 手部脱离方向盘及图像分割模型训练方法、装置、终端、介质
CN110673607B (zh) 动态场景下的特征点提取方法、装置、及终端设备
CN114037992A (zh) 仪表示数识别方法、装置、电子设备及存储介质
CN114742789A (zh) 一种基于面结构光的通用零件拾取方法、系统及电子设备
CN111724444A (zh) 目标物的抓取点的确定方法、装置及抓取系统
CN111354038A (zh) 锚定物检测方法及装置、电子设备及存储介质
CN115546016B (zh) Pcb的2d和3d图像的采集和处理方法及相关装置
CN109493387B (zh) 一种多摄像头光轴对齐的方法和装置
CN111353945A (zh) 鱼眼图像校正方法、装置及存储介质
CN116309817A (zh) 一种基于rgb-d相机的托盘检测与定位方法
CN113160259B (zh) 边缘检测方法、装置、计算机设备及存储介质
CN112529943B (zh) 一种物体检测方法、物体检测装置及智能设备
JP6749528B1 (ja) 変状管理装置、変状管理方法、および変状管理プログラム
CN114359192A (zh) 芯片模板标定方法及装置、电子设备及存储介质
JP2018088228A (ja) 交点検出装置、カメラ校正システム、交点検出方法、カメラ校正方法、プログラムおよび記録媒体

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