CN110197509B - 一种基于彩色人工标识的相机位姿求解法 - Google Patents

一种基于彩色人工标识的相机位姿求解法 Download PDF

Info

Publication number
CN110197509B
CN110197509B CN201910361625.3A CN201910361625A CN110197509B CN 110197509 B CN110197509 B CN 110197509B CN 201910361625 A CN201910361625 A CN 201910361625A CN 110197509 B CN110197509 B CN 110197509B
Authority
CN
China
Prior art keywords
identification
dictionary
color
distance
color artificial
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
CN201910361625.3A
Other languages
English (en)
Other versions
CN110197509A (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.)
University of Shanghai for Science and Technology
Original Assignee
University of Shanghai for Science and Technology
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 University of Shanghai for Science and Technology filed Critical University of Shanghai for Science and Technology
Priority to CN201910361625.3A priority Critical patent/CN110197509B/zh
Publication of CN110197509A publication Critical patent/CN110197509A/zh
Application granted granted Critical
Publication of CN110197509B publication Critical patent/CN110197509B/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/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
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Abstract

本发明提出了一种基于彩色人工标识的相机位姿求解法,首先创建预定义字典自动生成法以生成字典,根据所需标识的个数m与标识的阶数大小n,即可自动产生满足要求的字典;然后通过图像处理技术实现了人工标识的检测,将检测到的标识与字典中的标识进行匹配,即可完成标识的识别;最后根据人工标识提供的4组对应点,采用levenberg一marquardt算法对平面单应性矩阵进行求解,可获得相机位姿。本发明提出了预定义字典自动生成算法,提高了字典的容量,使人工标识的编码更加灵活,其使用场景也得以拓展。同时人工标识的纠错能力得到了提升。

Description

一种基于彩色人工标识的相机位姿求解法
技术领域
本发明属于人工识别技术领域,尤其涉及一种基于彩色人工标识的相机位姿求解法。
背景技术
位姿估计是计算机视觉领域的研究热点,在增强现实、机器人视觉导航、相机标定等领域发挥着重要的作用。根据位姿求解方式的不同,可分为基于硬件的位姿估计和基于视觉的位姿估计。基于硬件的位姿估计方法通过各种传感器如激光、红外、超声等,可对物体的位姿进行正确测量,但硬件成本高昂。基于视觉的位姿估计技术根据检测目标的不同,又可分为基于自然特征的位姿估计和基于人工标识的位姿估计。基于自然特征的位姿估计方法通过检测关键点或纹理来求解位姿,但自然特征检测困难,算法计算量大,效率较低,不适用于对实时性要求较高的应用场合。而人工标识的检测具有难度低、速度快、定位精度高等优点,使用人工标识可摆脱应用场景的限制,通过人工标识还可以实现与虚拟物体的实时交互。因此,设计出性能优异的人工标识具有很大的价值。
发明内容
本发明的目的在于提供一种基于彩色人工标识的相机位姿求解法,提出了预定义字典自动生成法,字典的生成更加灵活方便,同时提高了字典的容量,其使用场景也得以拓展。为实现上述目的,本发明所采用的技术方案为:
一种基于彩色人工标识的相机位姿求解法,包括预定义字典自动生成法,具体包括以下步骤:
步骤S1:设计彩色人工标识;所述彩色人工标识包括(n+2)×(n+2)个单元格;所述彩色人工标识包括编码部分和包绕所述编码部分的外围部分;所述编码部分包括n×n个单元格;所述编码部分的单元格填充三种不同的颜色;所述三种颜色依次通过数字0、1、2进行表示;所述外围部分包括4个用于求解位姿的顶点;
步骤S2:创建一空字典,同时设置距离阀值的初始值、初始化无效迭代次数的计算变量为零、设置最大无效迭代次数;所述距离阀值为标识间距离的最大值;
步骤S3:判断所述字典中的人工彩色标识的数量;若数量小于预设值,则进行步骤S4;
步骤S4:从所述彩色人工标识包含的三进制数串构成的集合中,随机选择n个三进制数串而构成一个标识元素;若标识元素与字典中元素的距离大于距离阀值,则将所述标识元素添加至字典中,无效迭代次数的计算变量的值不变;否则,进行步骤S5;
步骤S5:舍弃该标识元素,无效迭代次数的计算变量的值自加,同时判断是否达到最大无效迭代次数;如是,则距离阀值自减,将无效迭代次数的计算变量重新初始化为零;判断结束后执行下一次迭代,执行步骤S3。
优选地,在步骤S4中,所述距离包括标识元素和字典中每个标识元素之间的汉明距离
Figure BDA0002047012860000021
的最小值、同一标识元素4种旋转状态下,单元格间的汉明距离S(mi)的最小值。
优选地,在步骤S4中,距离阀值的初始值满足以下公式:
Figure BDA0002047012860000031
优选地,在步骤S4中,数串在每次迭代中被选中的概率为:
Figure BDA0002047012860000032
Figure BDA0002047012860000033
Figure BDA0002047012860000034
优选地,在字典自动生成后,进一步包括彩色人工标识的检测,具体包括以下步骤:
步骤S6:获取彩色人工标识的边缘图像;
步骤S7:对所述边缘图像进行轮廓提取并对提取的轮廓进行多边形近似处理以获取彩色人工标识所在的区域;
步骤S8:对所述彩色人工标识所在的区域进行编码提取;
步骤S9:在所述字典中搜索所述编码。
优选地,在步骤S9中,若所述字典中不存在与所述编码匹配的标识编码,则计算错误标识与字典中所有标识元素之间的汉明距离
Figure BDA0002047012860000035
如果汉明距离不大于
Figure BDA0002047012860000036
则字典中与该错误标识距离最小的标识元素为纠正后的标识。
优选地,彩色人工标识的检测完成后,进一步包括基于彩色人工标识的位姿估计,具体包括以下步骤:
步骤S10:指定彩色人工标识所在的平面为世界坐标系中Zw=0的平面,坐标系原点指定为标识的中心;
步骤S11:根据摄像机成像模型,将彩色人工标识上的点投影到图像上;
步骤S12:根据人工标识提供的4组顶点,采用levenberg一marquardt算法对平面单应性矩阵进行求解,可获得相机位姿。
与现有技术相比,本发明的优点为:通过对彩色人工标识进行数学建模完成其创建,同时求解字典可具有的最大标识间距离并最终创建相应的预定义字典自动生成法,实现了字典的自动生成,使得字典的生成更加灵活方便,同时提高了字典的容量,其使用场景也得以拓展。
附图说明
图1(a)~(c)为黑、白、红三色彩色人工标识示意图;
图2(a)~(b)为单元格路径变化示意图;
图3(a)~(b)为情况一示意图:相同颜色的单元格为对角关系;
图4(a)~(d)为情况二示意图:相同颜色的单元格为相邻关系;
图5(a)~(d)为彩色人工标识所在的区域提取过程示意图;
图6为人工标识编码提取示意图;
图7为摄像机成像过程示意图;
图8为根据位姿估计结果在人工标识上绘制坐标系效果图;
图9为立方体注册效果图。
具体实施方式
下面将结合示意图对本发明的基于彩色人工标识的相机位姿求解法进行更详细的描述,其中表示了本发明的优选实施例,应该理解本领域技术人员可以修改在此描述的本发明,而仍然实现本发明的有利效果。因此,下列描述应当被理解为对于本领域技术人员的广泛知道,而并不作为对本发明的限制。
本实施例中,提出了一种基于彩色人工标识的相机位姿求解法,包括预定义字典自动生成法,具体包括步骤S1~S5:
步骤S1:设计彩色人工标识;彩色人工标识采用正方形设计,因为正方形易于检测;考虑到人工标识的可扩展性,将彩色人工标识划分为(n+2)×(n+2)个单元格;所述彩色人工标识包括编码部分和包绕所述编码部分的外围部分;外围部分的一圈单元格使用黑色填充;编码部分包括n×n个单元格;编码部分的单元格填充任意三种不同的颜色从而对标识进行编码;三种颜色依次通过数字0、1、2进行表示;所述外围部分包括4个用于求解位姿的顶点;本实施例采用黑、白、红三种颜色填充单元格,如图1所示。下文以此形式的彩色人工标识为基础,进行预定义字典自动生成法的说明,该方法根据所需标识的个数m与标识的阶数大小n,即可自动产生满足要求的字典,具体如下:
假设所有大小为n×n的标识构成了集合
Figure BDA0002047012860000051
那么问题在于从该集合中选择m个标识构成所求字典,使得它们间的距离尽可能大,并且标识的位转换次数也尽可能大。该问题的求解目标为寻找使设计准则/>
Figure BDA0002047012860000052
最大时的字典/>
Figure BDA0002047012860000053
Figure BDA0002047012860000054
即使对于较小的n,完全搜索整个集合寻求最优解也是不可行的。因此,本实施例提出了寻找次优解的随机算法,具体如步骤S2~S5。
步骤S2:创建一空字典,同时设置距离阀值的初始值、初始化无效迭代次数的计算变量为零、设置最大无效迭代次数;所述距离阀值为标识间距离的最大值;彩色人工标识包括大小为(n+2)×(n+2)的单元格,编码过程中,黑、白、红三种颜色依次通过数字0、1、2进行表示。其中,外围部分的单元格被置为黑色,创建易于检测的外部边界。剩下的编码部分的大小为n×n的单元格用来进行编码。因此,一个标识m可定义为由n个长为n的三进制数串w组成的元组,通过式(2)、(3)描述:
m=(W0,w1,...,Wn-1) (2)
w=(t0,t1,...,tn-1|ti∈{0,1,2}) (3)
定义
Figure BDA0002047012860000061
为所有的长为n的三进制数串所构成的集合,则该集合的基数为
Figure BDA0002047012860000062
步骤S3:判断所述字典中的人工彩色标识的数量;若数量小于预设值,则进行步骤S4;
步骤S4:从彩色人工标识包含的三进制数串构成的集合中,,随机选择n个三进制数串而构成一个标识元素;若标识元素与字典中元素的距离大于距离阀值,则将所述标识元素添加至字典中,无效迭代次数的计算变量的值不变;否则,进行步骤S5;
步骤S5:舍弃该标识元素,无效迭代次数的计算变量的值自加,同时判断是否达到最大无效迭代次数;如是,则距离阀值自减,将无效迭代次数的计算变量重新初始化为零,判断结束后执行下一次迭代,执行步骤S3。
步骤S2~S5总结如下:
Figure BDA0002047012860000071
在本实施例中,在步骤S4中,所述距离包括标识元素和字典中每个标识元素之间的汉明距离
Figure BDA0002047012860000072
的最小值、同一标识元素4种旋转状态下,单元格间的汉明距离S(mi)的最小值。如前所述,若某一标识与字典/>
Figure BDA0002047012860000073
中所有标识的距离都大于距离阀值τ,则将该标识添加到字典/>
Figure BDA0002047012860000074
中。因此,有必要对标识间的距离进行准确的定义。标识通过n×n的单元格进行编码,可定义两个标识间的距离如下:
Figure BDA0002047012860000081
式(7)中,函数H表示两个标识单元格之间的汉明距离,其被定义为对应数串之间的汉明距离的总和。Rk是一个算子,可将标识单元格按顺时针方向旋转k×90°。函数D表示两个标识之间的汉明距离,具有旋转不变性。进一步可定义某个标识mi与某个字典
Figure BDA0002047012860000082
之间的距离。计算该标识与字典/>
Figure BDA0002047012860000083
中每个标识之间的汉明距离,最小值即为所求,定义如式(8)所示。
Figure BDA0002047012860000084
为顺利进行相机位姿估计,不仅需要对不同的标识进行区分,还须准确判定标识的方向。每个标识具有4种旋转状态,分别计算初始状态与4种旋转状态下单元格间的汉明距离,取最小值并将其记为标识的自身距离,定义如式(9)所示。为满足要求,需保证标识的自身距离大于τ。
Figure BDA0002047012860000085
总之,只有当S(mi)与
Figure BDA0002047012860000086
满足大于等于τ时,将标识添加到字典中,否则,舍弃该标识并随机生成一个新的标识。对于任一字典,无论是手动生成还是自动生成的,最小距离/>
Figure BDA0002047012860000087
可通过式(10)计算获得:
Figure BDA0002047012860000088
在本实施例中,在步骤S4中,距离阀值的初始值满足以下公式:
Figure BDA0002047012860000091
Figure BDA0002047012860000092
需要确定距离阈值的初始值τ0。当算法进行第一次迭代时,字典为空,所以仅需考虑标识的自身距离。对于阶数为n的标识,其最大自身距离通过符号/>
Figure BDA0002047012860000093
来表示,该距离即为拥有该类型标识的字典可具有的最大自身距离。本节主要介绍如何确定/>
Figure BDA0002047012860000094
该问题等同于求取n×n位标识的最大自身距离。不停地对某一标识进行90°的旋转操作,以此来分析单元格的路径变化。显然,对于坐标为(x,y)处的单元格,会依次变换到3个不同的坐标位置,直到变换为初始位置。图2(a)~(b)中以2×2标识和3×3标识为例进行说明,将标识按顺时针方向旋转90°,箭头所指方向表示单元格在旋转后所处的新位置。一个标识的自身距离只与该标识的其它3种旋转状态有关,因此,可定义一个由这4个位置坐标组成的4元集合如下:
{(x,y),(n-y-1,x),(n-x-1,n-y-1),(y,n-x-1)}。
通常,n×n位标识所含有的4元集合的总数可通过式(11)计算:
Figure BDA0002047012860000095
式(11)中,
Figure BDA0002047012860000096
表示向下取整函数。当n为奇数时,标识中心的位置坐标在旋转后并未改变。因此,该位置坐标所构成的4元集合对于求解标识的自身距离S并未提供额外的约束条件。
若将一个4元集合通过各坐标位置处的颜色编码表示为一个编码串,即可将90°的旋转操作转换为循环位移操作。举例来说,若某个4元集合表示的编码串为0102,则旋转操作将导致编码串变换为2010→0201→1020。对于计算
Figure BDA0002047012860000101
来说,上面所述的4个编码串实际上是等价的,可将它们视为一组,归为集合Qi之中。任一4元集合对S的影响可通过旋转后的编码串与初始编码串间的汉明距离给出。比如编码串0102在旋转时对S的影响通过距离给出的结果为(4,2,4):
H(0102,2010)=4;H(0102,0201)=2;H(0102,1020)=4.
同理,若初始编码串为2010,旋转操作可导致编码串依次变换为0201→1020→0102,但计算出的距离依然为(4,2,4):
H(2010,0201)=4;H(2010,1020)=2;H(2010,0102)=4.
对于一个4元集合而言,可使用黑、白、红三种颜色分别填充4个坐标位置处的单元格,有多种填充方式。如果在单元格中填充单一的某种颜色,或者在三种颜色中任意选择两种颜色随机地填充单元格,虽然获得的4元集合满足要求,但很显然,这对于求解参数τ0的意义不大。因此,需要充分使用三种颜色。由于共有4个坐标位置处的单元格需要被填充,所以某种颜色不可避免地会被使用两次。根据该颜色在4元集合中的位置关系,可分为以下两种情况进行讨论。
情况一,当两个相同颜色的单元格在4元集合中为对角关系时,如图3(a)~(b)所示,图中的一组方格代表一个4元集合,标有旗子的两个单元格表示用相同颜色进行填充。将该4元集合通过各坐标位置处的编码表示为一个编码串,该编码串在旋转时对S的影响通过距离给出的结果为(4,2,4),将满足情况一的4元集合归为集合G1之中。情况二,当两个相同颜色的单元格在4元集合中为相邻关系时,如图4(a)~(d)所示,计算出的汉明距离为(3,4,3),将满足情况二的4元集合归为集合G2之中。
如前所述,计算
Figure BDA0002047012860000111
即为求取阶数为n的标识所具有的最大自身距离,通过以上分析,将问题进行转化,对标识所具有的C个4元集合进行合理分配,即可求解。这是一个多目标优化问题,其中,每个集合Qi都是可能的解,优化目标是使标识在每次旋转后与原始标识单元格间的距离都达到最大值。可观察到G1和G2中的元素支配着余下所有的解,因此G1和G2中的元素为Pareto解,这些解构成的集合即为Pareto front。问题得到简化,只需将G1和G2中的元素分配给一个标识的C个4元集合。
通过简单的分析可推断出,只要按照{G2,G2,G1}的顺序从G1和G2中选择元素,循环不停地对标识进行4元集合的分配,直到分配完成即可获得
Figure BDA0002047012860000112
以最简单的2×2标识为例,其C=1,从集合G2中选择某一个元素为其分配,得到/>
Figure BDA0002047012860000121
对于一个3×3的标识而言,C=2,两次均在集合G2中选择元素为标识进行分配,获得/>
Figure BDA0002047012860000122
对于4×4的标识,C=4,按照{G2,G2,G1,G2}的方式进行分配,获得/>
Figure BDA0002047012860000123
因此,对于具有C个4元集合的标识,推导可得
Figure BDA0002047012860000124
满足如下规律:
Figure BDA0002047012860000125
故在本文所提算法中,距离阈值的初始值应置为
Figure BDA0002047012860000126
在本实施例中,在步骤S4中,数串在每次迭代中被选中的概率为:
Figure BDA0002047012860000127
Figure BDA0002047012860000128
算法每次迭代时,数串的选择是基于随机过程的。该随机过程将大概率分配给位转换次数较多并且尚未添加到字典
Figure BDA0002047012860000129
中的标识;对于任一/>
Figure BDA00020470128600001210
定义其在每次迭代中被选中的概率为:
Figure BDA00020470128600001211
式(4)将数串wi被选中的概率定义为两个函数的组合。第一个函数T(wi)∈[0,1],它与数串的位转换次数有关,定义如式(5)所示:
Figure BDA0002047012860000131
其中,
Figure BDA0002047012860000132
表示数串wi的第j位,当/>
Figure BDA0002047012860000133
与/>
Figure BDA0002047012860000134
相等时,δ的值取为0,否则为1。随着位转换次数的增大,T(wi)趋于1,随着位转换次数的减小,T(wi)趋于0。举例来说,数串012112与020011对应的数值分别为T=4/5和T=3/5,与其位转换次数成比例。
另一方面,函数
Figure BDA0002047012860000135
与数串wi出现在字典/>
Figure BDA0002047012860000136
中的频率有关。该函数被定义在区间[0,1]上,如式(6)所示:
Figure BDA0002047012860000137
式(6)中,双重累加求和运算统计了数串wi出现在字典
Figure BDA0002047012860000138
中的次数,而分母表示字典/>
Figure BDA0002047012860000139
中所有数串的总和。因此,当wi不在/>
Figure BDA00020470128600001310
中时,/>
Figure BDA00020470128600001311
取值为1,随着wi在字典/>
Figure BDA00020470128600001312
中出现频次的增加,/>
Figure BDA00020470128600001313
的值趋于0。当算法进行第一次迭代时,字典/>
Figure BDA00020470128600001314
为空,满足
Figure BDA00020470128600001315
此时函数被定义为1,所有数串等可能地被选中。
因此,对于一个数串wi而言,若其位转换次数较大,并且其在字典
Figure BDA00020470128600001316
中出现的频率较低,那么该数串被选中的概率P{w=wi}就比较大。
在本实施例中,在字典自动生成后,进一步包括彩色人工标识的检测,人工标识检测的主要目标是检测彩色人工标识所在的区域,并从中提取出标识的编码,具体包括以下步骤S6~S9:
步骤S6:获取彩色人工标识的边缘图像;将彩色人工标识图像转化为灰度图像,采用Canny边缘检测算法获取边缘图像。图5(a)为某次试验的原图,边缘检测效果如图5(b)所示。
步骤S7:对所述边缘图像进行轮廓提取并对提取的轮廓进行多边形近似处理以获取彩色人工标识所在的区域;采用Suzuki算法对边缘图像进行轮廓提取。该过程的执行会产生一系列的图像轮廓,如图5(c)所示,但大部分轮廓与最终目的无关。为过滤掉无关轮廓,只保留人工标识的轮廓,采用Douglas-Peucker算法对轮廓进行多边形近似,只有近似结果为方形的轮廓才会被保留下来。在多数情况下,一些边缘会产生内外两层轮廓,只保留外部的轮廓。最终获得的人工标识候选区域如图5(d)所示。
步骤S8:对所述彩色人工标识所在的区域进行编码提取;首先,对彩色人工标识所在的区域即候选区域进行透视矫正。然后,根据所要检测的字典,将透视变换后的图像划分为(n+2)×(n+2)的单元格,提取每个单元格中的颜色信息,根据颜色信息确定单元格的编码,如图6所示。在分析编码之前,首先判断黑色的边界框是否存在。
步骤S9:在所述字典中搜索所述编码。一旦提取了候选标识的编码,则获得了4个不同的编码表示符,分别对应4种不同的旋转情况。若在字典中搜索到其中任意一个,则将该候选标识视为有效标识。
在本实施例中,在步骤S9中,若所述字典中不存在与所述编码匹配的标识编码,则计算错误标识与字典中所有标识元素之间的汉明距离
Figure BDA0002047012860000141
如果汉明距离不大于
Figure BDA0002047012860000151
则字典中与该错误标识距离最小的标识元素为纠正后的标识。考虑到字典
Figure BDA0002047012860000152
中任意两个标识之间的最小距离为/>
Figure BDA0002047012860000153
因此最多可纠正/>
Figure BDA0002047012860000154
个单元格的检测错误,相比于传统人工标识系统具有明显优势。采用更大阶数的人工标识将进一步增强字典的纠错能力。该过程的线性复杂度达到了/>
Figure BDA0002047012860000155
因为候选单元格每次旋转后所对应的编码都必须与整个字典进行比较。不过,由于该过程是一个高度可并行化的过程,在计算机中可以有效实现。
在本实施例中,,彩色人工标识的检测完成后,进一步包括基于彩色人工标识的位姿估计,具体包括以下步骤:
步骤S10:指定彩色人工标识所在的平面为世界坐标系中Zw=0的平面,坐标系原点指定为标识的中心;则标识的任一顶点P的世界坐标为(Xw,Yw,0)。
步骤S11:根据摄像机成像模型,将彩色人工标识上的点投影到图像上;
步骤S12:根据人工标识提供的4组顶点,采用levenberg一marquardt算法对平面单应性矩阵进行求解,可获得相机位姿。
姿态估计问题是确定某一三维目标物体的方位指向问题,求解该问题的基础是找到世界坐标系与像素坐标系之间的对应点。而本文所采用的方形人工标识提供了求解相机位姿的4组对应点,即标识的4个顶点。
将标识上的点投影到图像上时,会涉及到以下几个坐标系之间的转换:标识世界坐标系、摄像机坐标系、像平面坐标系以及像素坐标系。成像过程如图7所示。图中,标识世界坐标系通过Xw,Yw,Zw三个坐标轴描述,O点表示摄像机光心,z轴为摄像机光轴,O-xyz为摄像机坐标系,OO1表示摄像机焦距,P表示人工标识的某一顶点,其在像平面上的投影点为点p。
使用齐次坐标,对成像过程进行数学描述,可得下式(13):
Figure BDA0002047012860000161
其中,(Xw,Yw,Zw)为空间点P的世界坐标;Zc为摄像机坐标系下的Z坐标;(u,v)表示点p的像素坐标;R、T分别表示旋转矩阵和平移向量,由世界坐标系与摄像机坐标系间的相对位置决定;f为相机焦距;dx,dy为离散化的单位长度;(u0,v0)表示O1在像素坐标系下的坐标。
标识上任一顶点P的世界坐标为(Xw,Yw,0),因此令式(13)中的Zw=0,可得:
Figure BDA0002047012860000162
式(14)中:H是3×3的平面单应性矩阵。
H=[h1 h2 h3] (15)
根据式(14),可得:
[h1 h2 h3]=λK[r1 r2 t] (16)
式(16)中:λ为一任意常数。
单应性矩阵H是一个齐次矩阵,有8个未知数需要求解,至少需要提供8个方程。根据人工标识提供的4组对应点,采用levenberg一marquardt算法对平面单应性矩阵进行求解,可获得相机位姿。
使用相机标定算法获得相机内参数后,旋转向量与平移向量可通过下式计算得出:
Figure BDA0002047012860000171
式(17)中,旋转矩阵R=[r1 r2 r3],单应矩阵H=[h1 h2 h3]。
根据求解获得的旋转矩阵与平移向量,将固连在人工标识上的三维坐标系绘制出来,结果如图8所示。
在VS2015环境下,以OpenGL为渲染工具,在获得相机内外参后,将一个立方体模型注册到人工标识上,实现了简单的增强现实,如图9所示。
上述仅为本发明的优选实施例而已,并不对本发明起到任何限制作用。任何所属技术领域的技术人员,在不脱离本发明的技术方案的范围内,对本发明揭露的技术方案和技术内容做任何形式的等同替换或修改等变动,均属未脱离本发明的技术方案的内容,仍属于本发明的保护范围之内。

Claims (5)

1.一种基于彩色人工标识的相机位姿求解法,其特征在于,包括预定义字典自动生成法,具体包括以下步骤:
步骤S1:设计彩色人工标识;所述彩色人工标识包括(n+2)×(n+2)个单元格;所述彩色人工标识包括编码部分和包绕所述编码部分的外围部分;所述编码部分包括n×n个单元格;所述编码部分的单元格填充三种不同的颜色;所述三种颜色依次通过数字0、1、2进行表示;所述外围部分包括4个用于求解位姿的顶点;
步骤S2:创建一空字典,同时设置距离阀值的初始值、初始化无效迭代次数的计算变量为零、设置最大无效迭代次数;所述距离阀值为标识间距离的最大值;
步骤S3:判断所述字典中的人工彩色标识的数量;若数量小于预设值,则进行步骤S4;
步骤S4:从所述彩色人工标识包含的三进制数串构成的集合中,随机选择n个三进制数串而构成一个标识元素;若标识元素与字典中元素的距离大于距离阀值,则将所述标识元素添加至字典中,无效迭代次数的计算变量的值不变;否则,进行步骤S5;
步骤S5:舍弃该标识元素,无效迭代次数的计算变量的值自加,同时判断是否达到最大无效迭代次数;如是,则距离阀值自减,将无效迭代次数的计算变量重新初始化为零;判断结束后执行下一次迭代,执行步骤S3;
在所述字典自动生成后,进一步包括彩色人工标识的检测,具体包括以下步骤:
步骤S6:获取彩色人工标识的边缘图像;
步骤S7:对所述边缘图像进行轮廓提取并对提取的轮廓进行多边形近似处理以获取彩色人工标识所在的区域;
步骤S8:对所述彩色人工标识所在的区域进行编码提取;
步骤S9:在所述字典中搜索所述编码;
彩色人工标识的检测完成后,进一步包括基于彩色人工标识的位姿估计,具体包括以下步骤:
步骤S10:指定彩色人工标识所在的平面为世界坐标系中Zw=0的平面,坐标系原点指定为标识的中心;
步骤S11:根据摄像机成像模型,将彩色人工标识上的点投影到图像上;
步骤S12:根据人工标识提供的4组顶点,采用levenberg一marquardt算法对平面单应性矩阵进行求解,可获得相机位姿。
2.根据权利要求1所述的基于彩色人工标识的相机位姿求解法,其特征在于,在步骤S4中,所述距离包括标识元素和字典中每个标识元素之间的汉明距离
Figure FDA0004274719370000021
的最小值、同一标识元素4种旋转状态下,单元格间的汉明距离S(mi)的最小值,mi表示第i个标识,/>
Figure FDA0004274719370000022
表示字典。
3.根据权利要求1所述的基于彩色人工标识的相机位姿求解法,其特征在于,在步骤S4中,距离阀值的初始值满足以下公式:
Figure FDA0004274719370000023
其中:τ0表示距离阈值的初始值,
Figure FDA0004274719370000024
表示求取阶数为n的标识所具有的最大自身距离,C表示n×n位标识所含有的4元集合的总数,/>
Figure FDA0004274719370000025
表示向下取整函数。
4.根据权利要求1所述的基于彩色人工标识的相机位姿求解法,其特征在于,在步骤S4中,数串在每次迭代中被选中的概率为:
Figure FDA0004274719370000031
Figure FDA0004274719370000032
Figure FDA0004274719370000033
5.根据权利要求1所述的基于彩色人工标识的相机位姿求解法,其特征在于,在步骤S9中,若所述字典中不存在与所述编码匹配的标识编码,则计算错误标识与字典中所有标识元素之间的汉明距离
Figure FDA0004274719370000034
如果汉明距离不大于/>
Figure FDA0004274719370000035
则字典中与该错误标识距离最小的标识元素为纠正后的标识,/>
Figure FDA0004274719370000036
表示任意两个标识之间的最小距离。
CN201910361625.3A 2019-04-30 2019-04-30 一种基于彩色人工标识的相机位姿求解法 Active CN110197509B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910361625.3A CN110197509B (zh) 2019-04-30 2019-04-30 一种基于彩色人工标识的相机位姿求解法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910361625.3A CN110197509B (zh) 2019-04-30 2019-04-30 一种基于彩色人工标识的相机位姿求解法

Publications (2)

Publication Number Publication Date
CN110197509A CN110197509A (zh) 2019-09-03
CN110197509B true CN110197509B (zh) 2023-07-11

Family

ID=67752286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910361625.3A Active CN110197509B (zh) 2019-04-30 2019-04-30 一种基于彩色人工标识的相机位姿求解法

Country Status (1)

Country Link
CN (1) CN110197509B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112381941B (zh) * 2021-01-15 2021-03-26 武汉鸿宇飞规划设计技术有限公司 一种航飞影像坐标纠正的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107727104A (zh) * 2017-08-16 2018-02-23 北京极智嘉科技有限公司 结合标识的同时定位和地图创建导航方法、装置及系统
CN108562274A (zh) * 2018-04-20 2018-09-21 南京邮电大学 一种基于标志器的非合作目标位姿测量方法
CN109509226A (zh) * 2018-11-27 2019-03-22 广东工业大学 三维点云数据配准方法、装置、设备及可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8757477B2 (en) * 2011-08-26 2014-06-24 Qualcomm Incorporated Identifier generation for visual beacon

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107727104A (zh) * 2017-08-16 2018-02-23 北京极智嘉科技有限公司 结合标识的同时定位和地图创建导航方法、装置及系统
CN108562274A (zh) * 2018-04-20 2018-09-21 南京邮电大学 一种基于标志器的非合作目标位姿测量方法
CN109509226A (zh) * 2018-11-27 2019-03-22 广东工业大学 三维点云数据配准方法、装置、设备及可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于彩色标志点的增强现实注册算法研究;李玉等;《系统仿真学报》;20080229;全文 *

Also Published As

Publication number Publication date
CN110197509A (zh) 2019-09-03

Similar Documents

Publication Publication Date Title
CN101398907B (zh) 一种用于移动机器人的二维码结构及解码方法
Romero-Ramire et al. Fractal Markers: a new approach for long-range marker pose estimation under occlusion
Yu et al. Robust robot pose estimation for challenging scenes with an RGB-D camera
US20140105506A1 (en) Recognition and pose determination of 3d objects in multimodal scenes
CN110084243B (zh) 一种基于二维码和单目相机的档案识别与定位方法
CN110246168A (zh) 一种移动巡检机器人双目图像拼接的特征匹配方法
CN108369741A (zh) 用于配准数据的方法和系统
CN101702233B (zh) 视频帧中基于三点共线标记点的三维定位方法
CN109636854A (zh) 一种基于line-mod模板匹配的增强现实三维跟踪注册方法
Tang et al. Robust pattern decoding in shape-coded structured light
Andaló et al. Efficient height measurements in single images based on the detection of vanishing points
Tang et al. Three-dimensional surface reconstruction via a robust binary shape-coded structured light method
CN110197509B (zh) 一种基于彩色人工标识的相机位姿求解法
Ji et al. An evaluation of conventional and deep learning‐based image‐matching methods on diverse datasets
Zhang et al. A robust visual odometry based on RGB-D camera in dynamic indoor environments
Liu et al. Real time tracking method by using color markers
Zhang et al. Accurate real-time SLAM based on two-step registration and multimodal loop detection
CN104484647B (zh) 一种高分辨率遥感图像云高度检测方法
Seo et al. Learning 3D local surface descriptor for point cloud images of objects in the real-world
Han et al. L-split marker for augmented reality in aircraft assembly
Wang et al. Multi-surface hydraulic valve block technique hole plug inspection from monocular image
Wang et al. ReLoc: indoor visual localization with hierarchical sitemap and view synthesis
Ruf et al. Towards real-time change detection in videos based on existing 3D models
Liang et al. DIG-SLAM: an accurate RGB-D SLAM based on instance segmentation and geometric clustering for dynamic indoor scenes
Wang et al. A novel cross-circular coded target for photogrammetry

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