1.本发明涉及图像处理技术领域,尤其涉及一种基于圆拟合的特征点提取方法、装置、设备及计算机可读存储介质。
背景技术:2.姿态估计在许多计算机视觉应用中具有非常重要的作用,典型的任务有:机器人导航、增强现实、三维重建等。基于图像的姿态估计方法是基于搜索真实环境中的路标点和其对应的2d图像投影形成的特征点之间的对应关系。由于特征提取技术和环境变化等条件限制,通常使用marker来完成特征关联。
3.目前,最流行的一种方法是使用方形二进制标靶,通过四个角点来获得相机的姿态,但是由于特征提取和相机畸变参数的影响,使得角点的提取精度较低,从而影响相机的姿态估计精度。因此,如何解决目前传统标定方案中角点的提取精度低成为了亟待解决的技术问题。
技术实现要素:4.本发明的主要目的在于提供一种基于圆拟合的特征点提取方法、装置、设备及计算机可读存储介质,旨在解决目前传统标定方案中角点的提取精度低的技术问题。
5.为实现上述目的,本发明提供一种基于圆拟合的特征点提取方法,所述基于圆拟合的特征点提取方法包括:获取待测图像中的预设标记板,并基于所述待测图像中的预设标记板,提取正方形图案的角点;其中,所述预设标记板包括:所述正方形图案、圆形图案和编码矩阵;基于各角点之间的真实尺寸,计算所述待测图像以及待测图像对应的正视图之间的透视变换矩阵,并基于所述透视变换矩阵,将所述待测图像变换到正视图视角,获得正视图像;基于预设圆拟合算法,在所述正视图像中确定所述圆形图案的圆心拟合坐标,并基于所述透视变换矩阵,将所述圆心拟合坐标变换到所述待测图像中,获得所述圆形图案的圆心坐标。
6.进一步地,所述基于预设圆拟合算法,在所述正视图像中提取所述圆形图案的圆心拟合坐标,包括:
7.基于边缘检测算法和所述透视变换矩阵,确定所述各圆形图案的边界坐标;
8.基于所述各圆形图案的边界坐标和最小二乘法,构建各圆形图案对应的超定方程,并基于所述超定方程,获得所述各圆形图案的所述圆心拟合坐标。
9.进一步地,所述基于边缘检测算法和所述透视变换矩阵,确定所述各圆形图案的边界坐标,包括:
10.基于所述透视变换矩阵,将所述方形候选框从所述待测图像变换到正视图像视角中,获得所述正视图视角下的目标候选框;
11.基于预设滤波算法,对所述目标候选框进行滤波处理,获得二值化图像,并基于边缘检测算法,对所述二值化图像进行边界提取,获得所述正视图视角下的圆形图案边界像
素坐标;
12.基于所述透视变换矩阵,将所述边界像素坐标变换到所述待测图像中,获得所述各圆形图案的所述边界坐标。
13.进一步地,基于所述透视变换矩阵,将所述圆心拟合坐标变换到所述待测图像中,获得所述圆形图案的圆心坐标之前,还包括:
14.基于预设滤波算法,对所述正视图像进行阈值滤波,获得滤波图像,并基于所述滤波图像中的所述编码矩阵,确定当前预设标记板的id信息;
15.基于所述id信息和预设信息库,确定所述当前预设标记板中各圆形图案的半径和圆心间距。
16.进一步地,基于所述透视变换矩阵,将所述圆心拟合坐标变换到所述待测图像中,获得所述圆形图案的圆心坐标之后,还包括:
17.获取至少两张所述待测图像,并基于各待测图像中相同id的所述预设标记板,获得各待测图像中各圆形图案的所述圆心坐标;
18.基于所述圆形图案的所述圆心间距以及所述圆心坐标,计算各待测图像之间相同id的所述预设标记板的相对姿态变化,并基于所述相对姿态变化,确定所述各待测图像对应的相机位姿。
19.进一步地,基于所述待测图像中的预设标记板,提取正方形图案的角点之前,还包括:
20.基于圆形图案边界检测,确定包含所述圆形图案的目标区域;
21.基于所述目标区域中的所述圆形图案的分布位置,建立一个包含所述圆形图案的矩形区域,并基于所述矩形区域,对所述待测图片进行裁剪,获得所述预设标记板。
22.进一步地,所述基于各角点之间的真实尺寸,计算所述待测图像以及待测图像对应的正视图之间的透视变换矩阵,包括:
23.基于所述预设标记板,计算所述正方形图案的角点在所述待测图像视角坐标系下的坐标;
24.基于所述各角点之间的真实尺寸和所述坐标,计算所述待测图像在当前视角和正视视角之间的所述透视变换矩阵。
25.此外,为实现上述目的,本发明还提供一种基于圆拟合的特征点提取装置,所述基于圆拟合的特征点提取装置包括:角点提取模块,用于获取待测图像中的预设标记板,并基于所述待测图像中的预设标记板,提取正方形图案的角点;其中,所述预设标记板包括所述正方形图案、圆形图案和编码矩阵;正视图像获得模块,用于获取各角点之间的真实尺寸,计算所述待测图像以及待测图像对应的正视图之间的透视变换矩阵,并基于所述透视变换矩阵,将所述待测图像变换到正视图视角,获得正视图像;圆心坐标拟合模块,用于基于预设圆拟合算法,在所述正视图像中确定所述圆形图案的圆心拟合坐标,并基于所述透视变换矩阵,将所述圆心拟合坐标变换到所述待测图像中,获得所述圆形图案的圆心坐标。
26.此外,为实现上述目的,本发明还提供一种基于圆拟合的特征点提取设备,所述基于圆拟合的特征点提取设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的基于圆拟合的特征点提取程序,其中所述基于圆拟合的特征点提取程序被所述处理器执行时,实现如上述的基于圆拟合的特征点提取方法的步骤。
27.此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于圆拟合的特征点提取程序,其中所述基于圆拟合的特征点提取程序被处理器执行时,实现如上述的基于圆拟合的特征点提取方法的步骤。
28.本发明提供一种基于圆拟合的特征点提取方法,所述方法获取待测图像中的预设标记板,并基于所述待测图像中的预设标记板,提取正方形图案的角点;其中,所述预设标记板包括:所述正方形图案、圆形图案和编码矩阵;基于各角点之间的真实尺寸,计算所述待测图像以及待测图像对应的正视图之间的透视变换矩阵,并基于所述透视变换矩阵,将所述待测图像变换到正视图视角,获得正视图像;基于预设圆拟合算法,在所述正视图像中确定所述圆形图案的圆心拟合坐标,并基于所述透视变换矩阵,将所述圆心拟合坐标变换到所述待测图像中,获得所述圆形图案的圆心坐标。通过上述方式,本发明基于预设标记板中的圆点在待测图像中的像素坐标,以及正方形图案的圆点之间的真实尺寸,从而计算透视变换矩阵,对待测图像进行透视变换,从而获得待测图像的正视图,便于对待测图像中的预设标记板进行识别;同时,在正视图下能够使得对于当前待测图像中的预设标记板的圆形图案的识别和提取更精准,从而在通过预设圆拟合算法提取圆形图案时,能够获得更精确的圆心拟合坐标,进而使得变换后的待测图像中的圆心坐标更加精确,从而提高图像中的特征点提取精度,解决了目前传统标定方案中角点的提取精度低的技术问题。
附图说明
29.图1为本发明实施例方案中涉及的基于圆拟合的特征点提取设备的硬件结构示意图;
30.图2为本发明基于圆拟合的特征点提取方法第一实施例的流程示意图;
31.图3为本发明基于圆拟合的特征点提取方法第二实施例的流程示意图;
32.图4为本发明基于圆拟合的特征点提取方法第三实施例的流程示意图;
33.图5为本发明基于圆拟合的特征点提取装置第一实施例的功能模块示意图。
34.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
35.应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
36.本发明实施例涉及的基于圆拟合的特征点提取方法主要应用于基于圆拟合的特征点提取设备,该基于圆拟合的特征点提取设备可以是pc、便携计算机、移动终端等具有显示和处理功能的设备。
37.参照图1,图1为本发明实施例方案中涉及的基于圆拟合的特征点提取设备的硬件结构示意图。本发明实施例中,基于圆拟合的特征点提取设备可以包括处理器1001(例如cpu),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口);存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。
38.本领域技术人员可以理解,图1中示出的硬件结构并不构成对基于圆拟合的特征
点提取设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
39.继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、网络通信模块以及基于圆拟合的特征点提取程序。
40.在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的基于圆拟合的特征点提取程序,并执行本发明实施例提供的基于圆拟合的特征点提取方法。
41.本发明实施例提供了一种基于圆拟合的特征点提取方法。
42.参照图2,图2为本发明基于圆拟合的特征点提取方法第一实施例的流程示意图。
43.本实施例中,所述基于圆拟合的特征点提取方法包括以下步骤:
44.步骤s10,获取待测图像中的预设标记板,并基于所述待测图像中的预设标记板,提取正方形图案的角点;其中,所述预设标记板包括所述正方形图案、圆形图案和编码矩阵;
45.本实施例中,在拍摄待测图像之前,需要设计用于识别的标记marker,即预设标记板。marker的设计包括:内置标记设计、外围圆形尺寸设计、marker的id编码、marker内置方形标记。
46.其中,marker的内置标记设计可以采用宽黑边框和内部二进制矩阵构成,采用黑色边框的主要目的是为了能够在待测图像中快速检测到marker位置,内置的二进制编码允许识别并应用错误检测和纠正错误。
47.marker外围圆形尺寸设计包含8个黑色圆形图案,利用黑色圆形图案的主要目的是为了能够方便在待测图像中进行边缘检测,得到圆形图像边界像素坐标。
48.marker的id是特定应用中的二进制编码列表。根据标记的大小和边界的大小,待测图像将会被分成不同的单元。可以通过计算每个单元中黑色或白色像素的数量,以确定该待测图像的id信息是否属于特定的编码列表中。
49.在一示例性的实施方式中,marker板外形可以是正方形区域,边长是350mm。其坐标系原点可以位于marker的几何中心处,x轴朝向右侧,y轴朝向下侧,z轴朝向前侧。marker板外围共计包含8个圆形图案,每个圆形图案的直径是40mm,其边界距离marker外围尺寸是15mm,每个圆形图案圆心之间的距离是140mm,其距离内置宽矩形之间的距离是15mm。8个圆形图案的几何中心在marker坐标系下面的坐标分别为:左上(-140mm,-140mm),中上(0,-140mm),右上(140mm,-140mm),右中(140mm,0),右下(140mm,140mm),中下(0,140mm),左下(-140mm,140mm),左中(-140mm,0)。中间黑色边框是由正方形构成,其边长为210mm,其周围的四个角点坐标为:左上(-105mm,-105mm),右上(105mm,-105mm),右下(105mm,105mm),左下(-105mm,105mm)。内部二进制编码矩阵的是4x4的16位矩阵形式,用于编码marker板的唯一id。
50.在一示例性的实施方式中,检测待测图像中的marker标记,并提取marker内置方形标记的四个角点,利用各角点在正视图下面的像素坐标,以及检测到的各角点在当前视角下的像素坐标,可以计算透视变换,提取marker区域在正视图下的像素坐标信息。其中,正视图即为marker标记的图纸视图,其真实尺寸为已知的标准尺寸,以正视图为依据,将角点像素坐标与真实尺寸形成比例映射。根据真实尺寸和尺寸比例,即可计算角点像素坐标,
并根据角点像素坐标和正视图坐标的对应关系,计算透视变换矩阵。
51.步骤s20,基于各角点之间的真实尺寸,计算所述待测图像以及待测图像对应的正视图之间的透视变换矩阵,并基于所述透视变换矩阵,将所述待测图像变换到正视图视角,获得正视图像;
52.本实施例中,基于预设标记板中的正方形图案的角点在待测图像中的像素坐标,以及正方形图案的角点之间的真实尺寸,从而计算透视变换矩阵,对待测图像进行透视变换,从而获得待测图像的正视图,便于对待测图像中的预设标记板进行识别。
53.进一步地,所述基于各角点之间的真实尺寸,计算所述待测图像以及待测图像对应的正视图之间的透视变换矩阵,具体包括:
54.基于所述预设标记板,计算所述正方形图案的角点在所述待测图像视角坐标系下的坐标;
55.基于所述各角点之间的真实尺寸和所述坐标,计算所述待测图像在当前视角和正视视角之间的所述透视变换矩阵。
56.本实施例中,marker内置方形标记的顶点处,是可以提取出角点的特征点,这样的特征点有4个,当以marker方形标记的坐标系作为参考时,根据marker的设计尺寸可以计算这四个角点在中心坐标系下面的几何坐标。因此,通过这四个角点,可以计算出当前图像视角和正视图视角之间的透视变换。
57.在一示例性的实施方式中,利用黑色边框可以快速的判断出原始图像中是否存在marker板。随后计算中间方形矩形框的四个角点坐标,利用角点在实际marker坐标系下面的坐标构建对应点集,从而计算出当前图像视角和正视图视角之间的透视变换。
58.在一示例性的实施方式中,marker的设计尺寸可以是标准尺寸,从而获得待测图片中各角点之间的真实尺寸,利用各角点之间的真实尺寸,以及各角点在当前视图的坐标系中的像素坐标,可以计算透视变换矩阵,并利用透视变换矩阵,将待测图像从当前视图变换到正视视图。
59.在一示例性的实施方式中,marker的外形尺寸可以是350mm
×
350mm,在其内部设计的标记,是由宽黑边的正方形构成,其外形尺寸大小为210mm
×
210mm。marker局部坐标系中心位于正方形中心,因此可以提前预知正方形的角点在正视图视角的图像坐标系下面的实际坐标信息,即各角点之间的真实尺寸。根据实际坐标信息和检测到的角点坐标信息得到透视变换矩阵,即透视变换矩阵。通过透视变换矩阵,将当前视角的待测图片变换到正视图视角中,获得正视图视角的内置二进制编码矩阵。基于内置二进制编码矩阵,计算出每个图片单元中黑色或白色像素的具体数量,以此来判断该marker是否属于当前特定的字典中,即确定该内置二进制编码矩阵对应的当前标记的id信息。
60.步骤s30,基于预设圆拟合算法,在所述正视图像中确定所述圆形图案的圆心拟合坐标,并基于所述透视变换矩阵,将所述圆心拟合坐标变换到所述待测图像中,获得所述圆形图案的圆心坐标。
61.本实施例中,通过非线性最小二乘方法,构建超定方程,进行迭代优化,从而拟合出每个圆形图像的圆心拟合坐标,利用逆透视变换,重建将坐标信息转换到原始的图像视角下面去,进而得到8个圆形图案在当前视角对应的图像坐标系中的圆心坐标。
62.在一示例性的实施方式中,在正视图下能够使得对于当前待测图像中的预设标记
板的圆形图案的识别和提取更精准,从而在通过预设圆拟合算法提取圆形图案时,降低图像畸变的影响,能够获得更精确的圆心拟合坐标,进而使得变换后的待测图像中的圆心坐标更加精确,从而提高图像中的特征点提取精度。
63.进一步地,基于所述透视变换矩阵,将所述圆心拟合坐标变换到所述待测图像中,获得所述圆形图案的圆心坐标之前,还包括:
64.基于预设滤波算法,对所述正视图像进行阈值滤波,获得滤波图像,并基于所述滤波图像中的所述编码矩阵,确定当前预设标记板的id信息;
65.基于所述id信息和预设信息库,确定所述当前预设标记板中各圆形图案的半径和圆心间距。
66.本实施例中,对于任意一张原始图像,内部二进制编码矩阵的是4
×
4的16位矩阵形式,用于编码marker板的唯一id。
67.在一示例性的实施方式中,从每个检测到标记位置开始进行id识别,利用透视变换将内部二进制编码矩阵变换到正视图中,对其内部的编码矩阵进行解码,判断区域内黑色和白色矩形框的数量,计算出当前marker板的唯一的id信息。首先通过透视变换将内部标记转换成正视图下面的标准形式,随后对图像进行阀值滤波,以实现黑色像素与白色像素的分离。根据marker内置正方形尺寸的大小,将其分割成不同的子单元,随后计算每个单元中黑色或白色像素的数量,判断其是否属于特定的字典,从而完成id识别。
68.本实施例提供一种基于圆拟合的特征点提取方法,所述方法获取待测图像中的预设标记板,并基于所述待测图像中的预设标记板,提取正方形图案的角点;其中,所述预设标记板包括所述正方形图案、圆形图案和编码矩阵;基于各角点之间的真实尺寸,计算所述待测图像以及待测图像对应的正视图之间的透视变换矩阵,并基于所述透视变换矩阵,将所述待测图像变换到正视图视角,获得正视图像;基于预设圆拟合算法,在所述正视图像中确定所述圆形图案的圆心拟合坐标,并基于所述透视变换矩阵,将所述圆心拟合坐标变换到所述待测图像中,获得所述圆形图案的圆心坐标。通过上述方式,本发明基于预设标记板中的正方形图案的圆点在待测图像中的像素坐标,以及正方形图案的圆点之间的真实尺寸,从而计算透视变换矩阵,对待测图像进行透视变换,从而获得待测图像的正视图,便于对待测图像中的预设标记板进行识别;同时,在正视图下能够使得对于当前待测图像中的预设标记板的圆形图案的识别和提取更精准,从而在通过预设圆拟合算法提取圆形图案时,能够获得更精确的圆心拟合坐标,进而使得变换后的待测图像中的圆心坐标更加精确,从而提高图像中的特征点提取精度,解决了目前传统标定方案中角点的提取精度低的技术问题。
69.参照图3,图3为本发明基于圆拟合的特征点提取方法第二实施例的流程示意图。
70.基于上述图2所示实施例,本实施例中,所述步骤s30具体包括:
71.步骤s31,基于边缘检测算法和所述透视变换矩阵,确定所述各圆形图案的边界坐标;
72.步骤s32,基于所述各圆形图案的边界坐标和最小二乘法,构建各圆形图案对应的超定方程,并基于所述超定方程,获得所述各圆形图案的所述圆心拟合坐标。
73.本实施例中,为了能够减少相机畸变参数和视角拍摄的影响,在非正视图视角下,圆形图案将会变成椭圆。因此首先将在图像视角中得到的圆形边界像素坐标转换到正视图
下,利用迭代加权最小二乘法,构建不同圆形边界测量值的像素坐标和圆心坐标的超定方程,对方程进行求解,就可以得到每个位置的圆心坐标信息。
74.在一示例性的实施方式中,当知道在正视图中内置方形图案的顶点坐标以后,将在正视图视角下得到的8个不同位置的圆心坐标统一转换到当前图像的视角中去,8个原始图像的圆心位置就可以利用其相对于角点坐标系的位置计算出圆心坐标。
75.在一示例性的实施方式中,当得到8个圆形图像在当前视角的待测图像中的大致位置以后,可以进行阀值滤波以提高候选区域黑色和白色区域的亮度,之后进行边缘检测,并进行去除图像畸变操作,得到每个圆形图案的边界坐标。利用透视变换矩阵,将8个圆形坐标变换到正视图中。对检测到的圆形图像的边界坐标,利用最小二乘方法方法,将多个边界坐标构建成超定方程,对其进行求解,以此得到每个圆形图像在正视图中的圆心拟合坐标。根据逆透视变换矩阵将8个正视图下面的圆形坐标全部的转换到当前视图去,从而得到8个圆形图案在待测图像中的圆心坐标。
76.参照图4,图4为本发明基于圆拟合的特征点提取方法第三实施例的流程示意图。
77.基于上述图3所示实施例,本实施例中,所述步骤s31具体包括:
78.步骤s311,基于所述透视变换矩阵,将所述方形候选框从所述待测图像变换到正视图像视角中,获得所述正视图视角下的目标候选框;
79.本实施例中,对于marker中的圆形图案边界检测,首先选择出包含圆形图像的感兴趣区域,提高提取精度。
80.在一示例性的实施方式中,首先在正视图中8个圆心的周围建立一个矩形区域,比如图像的半径是40mm,可以以圆心为中心,建立边长为50mm的矩形区域。这个矩形区域相对于marker中心坐标系的坐标就可以间接得到。
81.步骤s312,基于预设滤波算法,对所述目标候选框进行滤波处理,获得二值化图像,并基于边缘检测算法,对所述二值化图像进行边界提取,获得所述正视图视角下的圆形图案边界像素坐标;
82.本实施例中,对于仅保存感兴趣区域的图像,为了能够提高圆心边界提取精度,首先进行阀值滤波,将感兴趣区域变成黑白图像,以增加对比度,边界位于黑白像素交界处,通过执行边缘检测就可以直接分割出每个圆形图案的边界。根据正视图中的圆点边界坐标以及透视变换矩阵,对待测图片中感兴趣区域进行裁剪,能够提高圆形图案的提取精度,进而提高圆心坐标的提取精度。
83.在一示例性的实施方式中,为了能够提高边缘检测精度,首先对每个候选框直接阀值滤波,仅保留黑白两种像素,圆形图案的边界也就位于黑白图像的交界处。将感兴趣区域全部的变成黑白像素以后,对8个区域执行canny边缘检测,首先对原始感兴趣区域进行高斯滤波,进而平滑图像,随后计算区域中,每个像素的梯度方向和幅值。应用非极大抑制算法消除边缘检测带来的杂散响应。使用双阀值法划分成强边缘和弱边缘,并消除孤立的弱边缘,得到8个感兴趣区域的圆形边界像素坐标。
84.步骤s313,基于所述透视变换矩阵,将所述边界像素坐标变换到所述待测图像中,获得所述各圆形图案的所述边界坐标。
85.本实施例中,由于原始图像视角中,可能是非正视角观察到的图像,每个感兴趣区域中得到的圆形边界将会变成椭圆,因此首先根据透视变换矩阵,将每个边界像素坐标变
换到原始视图中。
86.在一示例性的实施方式中,当为8个圆心建立好感兴趣区域以后,利用透视变换矩阵,将每个圆心周围的感兴趣区域重新变换到当前图像的视角上面去,当得到感兴趣区域以后,就可以得到圆形图案在当前待测图像视角中的大致位置;当找到大致的感兴趣区域以后,对原始图像进行裁剪,仅保留原始图像中的感兴趣区域的图像,方便后续进行检测。
87.进一步地,基于上述图2所示实施例,本实施例中,所述步骤s30之后,具体还包括:
88.获取至少两张所述待测图像,并基于各待测图像中相同id的所述预设标记板,获得各待测图像中各圆形图案的所述圆心坐标;
89.基于所述圆形图案的所述圆心间距以及所述圆心坐标,计算各待测图像之间相同id的所述预设标记板的相对姿态变化,并基于所述相对姿态变化,确定所述各待测图像对应的相机位姿。
90.本实施例中,利用marker板的主要目的是为了能够实现特征点跟踪从而对相机的姿态进行估计,因此当多个图像同时观测到相同id的marker板以后,利用边缘检测和透视变换进行圆心坐标的检测,就可以在不同图像中的圆形路标点在不同图像上面的观测信息。由于预先已经知道了marker的直接尺度信息,在进行姿态估计的过程中就可以直接计算出真实尺度下的相机姿态信息,这对于局部姿态估计精度至关重要,展示了不同图像观测到相同id的marker,进行联合姿态估计的重建结果。
91.进一步地,基于上述图2所示实施例,本实施例中,所述步骤s10之前,具体还包括:
92.基于圆形图案边界检测,确定包含所述圆形图案的目标区域;
93.基于所述目标区域中的所述圆形图案的分布位置,建立一个包含所述圆形图案的矩形区域,并基于所述矩形区域,对所述待测图片进行裁剪,获得所述预设标记板。
94.本实施例中,对于marker中的圆形图案边界检测,首先选择出包含圆形图像的感兴趣区域,提高提取精度。根据正视图下的8个圆心的坐标,计算出每个圆形周围的一个正方形区域,变成为50mm,例如以第一个圆心作为参考坐标系,其方形候选框的四个边界坐标为:左上(-25mm,-25mm),右上(25mm,-25mm),右下(25mm,25mm),左下(-25mm,25mm)。将8个圆形图案的候选方形框,利用透视变换,转换到当前图像视角中。随后利用变换后的候选框,对当前图像直接裁剪,仅保留每个圆形图像在当前图像视角下面得到的候选框。
95.此外,本发明实施例还提供一种基于圆拟合的特征点提取装置。
96.参照图5,图5为本发明基于圆拟合的特征点提取装置第一实施例的功能模块示意图。
97.本实施例中,所述基于圆拟合的特征点提取装置包括:
98.角点提取模块10,用于获取待测图像中的预设标记板,并基于所述待测图像中的预设标记板,提取正方形图案的角点;其中,所述预设标记板包括所述正方形图案、圆形图案和编码矩阵;
99.正视图像获得模块20,用于基于各角点之间的真实尺寸,计算所述待测图像以及待测图像对应的正视图之间的透视变换矩阵,并基于所述透视变换矩阵,将所述待测图像变换到正视图视角,获得正视图像;
100.圆心坐标拟合模块30,用于基于预设圆拟合算法,在所述正视图像中确定所述圆形图案的圆心拟合坐标,并基于所述透视变换矩阵,将所述圆心拟合坐标变换到所述待测
图像中,获得所述圆形图案的圆心坐标。
101.进一步地,所述圆心坐标拟合模块30具体包括:
102.边界坐标确定单元,用于基于边缘检测算法和所述透视变换矩阵,确定所述各圆形图案的边界坐标;
103.圆心拟合坐标拟合单元,用于基于所述各圆形图案的边界坐标和最小二乘法,构建各圆形图案对应的超定方程,并基于所述超定方程,获得所述各圆形图案的所述圆心拟合坐标。
104.进一步地,所述边界坐标确定单元具体包括:
105.目标候选框获得子单元,用于基于所述透视变换矩阵,将所述方形候选框从所述待测图像变换到正视图像视角中,获得所述正视图视角下的目标候选框;
106.边界像素坐标获取子单元,用于基于预设滤波算法,对所述目标候选框进行滤波处理,获得二值化图像,并基于边缘检测算法,对所述二值化图像进行边界提取,获得所述正视图视角下的边界像素坐标;
107.边界坐标获得子单元,用于基于所述透视变换矩阵,将所述边界像素坐标变换到所述待测图像中,获得所述各圆形图案的所述边界坐标。
108.进一步地,所述基于圆拟合的特征点提取装置还包括圆心间距确定模块,所述圆心间距确定模块具体包括:
109.id信息确定单元,用于基于预设滤波算法,对所述正视图像进行阈值滤波,获得滤波图像,并基于所述滤波图像中的所述编码矩阵,确定当前预设标记板的id信息;
110.圆心间距确定单元,用于基于所述id信息和预设信息库,确定所述当前预设标记板中各圆形图案的半径和圆心间距。
111.进一步地,所述基于圆拟合的特征点提取装置还包括相机位姿确定模块,所述相机位姿确定模块具体包括:
112.圆心坐标获得单元,用于获取至少两张所述待测图像,并基于各待测图像中相同id的所述预设标记板,获得各待测图像中各圆形图案的所述圆心坐标;
113.相机位姿优化单元,用于基于所述圆形图案的所述圆心间距以及所述圆心坐标,计算各待测图像之间相同id的所述预设标记板的相对姿态变化,并基于所述相对姿态变化,确定所述各待测图像对应的相机位姿。
114.进一步地,所述基于圆拟合的特征点提取装置还包括预设标记板获得模块,所述预设标记板获得模块具体包括:
115.目标区域确定单元,用于基于圆形图案边界检测,确定包含所述圆形图案的目标区域;
116.预设标记板获得单元,用于基于所述目标区域中的所述圆形图案的分布位置,建立一个包含所述圆形图案的矩形区域,并基于所述矩形区域,对所述待测图片进行裁剪,获得所述预设标记板。
117.进一步地,所述正视图像获得模块20具体包括:
118.角点坐标计算单元,用于基于所述预设标记板,计算所述正方形图案的角点在所述待测图像视角坐标系下的坐标;
119.透视变换矩阵计算单元,用于基于所述各角点之间的真实尺寸和所述坐标,计算
所述待测图像在当前视角和正视视角之间的所述透视变换矩阵。
120.其中,上述基于圆拟合的特征点提取装置中各个模块与上述基于圆拟合的特征点提取方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
121.此外,本发明实施例还提供一种计算机可读存储介质。
122.本发明计算机可读存储介质上存储有基于圆拟合的特征点提取程序,其中所述基于圆拟合的特征点提取程序被处理器执行时,实现如上述的基于圆拟合的特征点提取方法的步骤。
123.其中,基于圆拟合的特征点提取程序被执行时所实现的方法可参照本发明基于圆拟合的特征点提取方法的各个实施例,此处不再赘述。
124.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
125.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
126.本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
127.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
128.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。