CN113393505B - 图像配准方法、视觉定位方法及相关装置、设备 - Google Patents
图像配准方法、视觉定位方法及相关装置、设备 Download PDFInfo
- Publication number
- CN113393505B CN113393505B CN202110713164.9A CN202110713164A CN113393505B CN 113393505 B CN113393505 B CN 113393505B CN 202110713164 A CN202110713164 A CN 202110713164A CN 113393505 B CN113393505 B CN 113393505B
- Authority
- CN
- China
- Prior art keywords
- pose
- image frame
- image
- current
- current image
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 134
- 230000000007 visual effect Effects 0.000 title claims abstract description 51
- 230000009466 transformation Effects 0.000 claims abstract description 294
- 238000005457 optimization Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 9
- 230000004807 localization Effects 0.000 claims description 3
- 238000000605 extraction Methods 0.000 description 16
- 238000001514 detection method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000013519 translation Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
- Studio Devices (AREA)
- Image Processing (AREA)
Abstract
本申请公开了一种图像配准方法、视觉定位方法及相关装置、设备,其中,图像配准方法包括:获取当前图像帧;基于当前图像帧与其他图像帧中的目标图像信息,确定当前图像帧与其他图像帧之间的第一变换参数,其中,目标图像信息为关于目标图像的图像信息;基于第一变换参数、以及其他图像帧与目标图像之间的第二变换参数,得到当前图像帧与目标图像之间的第三变换参数。通过该方法,提高了配准速度且图像配准的准确度较高。
Description
技术领域
本申请涉及人工智能技术领域,特别是涉及一种图像配准方法、视觉定位方法及相关装置、设备。
背景技术
随着电子信息技术的发展,增强现实(Augmented Reality,AR)、虚拟现实(Virtual Reality,VR)等成为计算机视觉领域中的应用热点,通过相机作为输入设备,并利用图像算法处理,可以数字化周围环境,从而获取与真实环境进行交互的使用体验。图像配准是AR、VR等计算机视觉领域中的研究重点,通过图像配准技术可以获取相机拍摄到的当前图像与目标图像之间的变换参数,从而后续可以通过变换参数,得到目标图像在当前图像中的位置。
当前,已有的图像配准技术仅是在配准时,将每一帧图像都与目标图像进行配准,以此获得变换参数,这样的配准方法,运算量大且准确度不高。
因此,如何提高图像的配准准确度已成为亟待解决的问题。
发明内容
本申请提供一种图像配准方法、视觉定位方法及相关装置、设备。
本申请第一方面提供了一种图像配准方法,方法包括:获取当前图像帧;基于当前图像帧与其他图像帧中的目标图像信息,确定当前图像帧与其他图像帧之间的第一变换参数,其中,目标图像信息为关于目标图像的图像信息;基于第一变换参数、以及其他图像帧与目标图像之间的第二变换参数,得到当前图像帧与目标图像之间的第三变换参数。
因此,通过获得当前图像帧与其他图像帧之间的第一变换参数,再结合第一变换参数和其他图像帧与目标图像之间的第二变换参数,可以直接利用当前图像帧与其他图像帧中的目标图像信息,实现了当前图像帧与目标图像的配准,相比于利用当前图像帧与其他图像帧中所有图像信息进行图像配准,该方法计算量较小,提高了配准速度且图像配准的准确度较高。
其中,上述的基于当前图像帧与其他图像帧中的目标图像信息,确定当前图像帧与其他图像帧之间的第一变换参数,包括:从其他图像帧中查找出关于目标图像的至少一个第一特征点;从当前图像帧中查找出关于目标图像的至少一个第二特征点;基于第一特征点和第二特征点,确定第一变换参数。
因此,通过得到其他图像帧上的第一特征点,以及当前图像帧上的第二特征点,可以实现当前图像帧和其他图像帧的配准。
其中,上述的从其他图像帧中查找出关于目标图像的至少一个第一特征点,包括:基于第二变换参数确定目标图像在其他图像帧中的目标区域;从目标区域中提取至少一个第一特征点;上述的在从当前图像帧中查找出关于目标图像的至少一个第二特征点,包括:分别对至少一个第一特征点进行跟踪,得到当前图像帧中关于目标图像的至少一个第二特征点。
因此,通过利用第二变换参数,可以确定其他图像帧上的目标区域,由此可以获得至少一个第一特征点,用于后续的图像配准。另外,通过利用特征点跟踪的方法,可以获得当前图像帧中与第一特征点对应的特征点,继而得到至少一个第二特征点,用于后续的图像配准。
其中,上述的基于第一变换参数、以及其他图像帧与目标图像之间的第二变换参数,得到当前图像帧与目标图像帧之间的第三变换参数,包括:将第一变换参数与第二变换参数的乘积,作为第三变换参数;和/或,在基于第一变换参数、以及其他图像帧与目标图像之间的第二变换参数,得到当前图像帧与目标图像帧之间的第三变换参数之后,方法还包括:利用预设优化方式,对第三变换参数进行优化。
因此,通过进一步对第三变换参数进行优化,以得到更加准确的第三变换参数。
本申请第二方面提供了一种视觉定位方法,方法包括:获取当前图像帧与目标图像之间的当前变换参数,其中,当前变换参数为利用权利要求1至4任一项方法获得的第三变换参数;利用当前变换参数,得到当前图像帧在世界坐标系中的第一位姿,其中,世界坐标系是基于目标图像所在的平面建立的。
因此,通过获取当前图像帧与目标图像之间的当前变换参数,并且基于目标图像所在的平面建立世界坐标系,可以得到当前图像帧在世界坐标系中的第一位姿,实现了对拍摄设备的视觉定位。
其中,在上述的利用当前变换参数,得到当前图像帧在世界坐标系中的第一位姿之前,方法还包括:响应于当前变换参数满足预设要求,执行利用当前变换参数,得到当前图像帧在世界坐标系中的第一位姿;响应于当前变换参数不满足预设要求,利用其他图像在世界坐标系中的第二位姿、以及当前图像帧与其他图像帧之间的光度误差,确定第一位姿。
因此,通过判断当前变换参数是否满足预设要求,在满足预设要求时可以通过当前变换参数得到第一位姿,在不满足预设要求时,通过其他方法得到第一位姿,由此可以得到更加准确的第一位姿。
其中,在上述获取当前图像帧与目标图像之间的当前变换参数之前,方法还包括:响应于上一图像帧的位姿获取方式为图像跟踪方式,执行获取当前图像帧与目标图像之间的当前变换参数,其中,图像跟踪方式为利用上一图像帧与目标图像之间的变换参数确定上一图像帧在世界坐标系中的位姿。
因此,通过确定上一图像帧的位姿获取方式为图像跟踪方式,可以继续执行获取当前图像帧与目标图像之间的当前变换参数。
其中,上述的其他图像帧和当前图像帧是由设备的拍摄装置先后拍摄得到;上述的利用其他图像在世界坐标系中的第二位姿、以及当前图像帧与其他图像帧之间的光度误差,确定第一位姿,包括:获取第一参考姿态,其中,第一参考姿态是拍摄装置对应于当前图像帧的拍摄时刻且相对于参考平面的姿态;利用参考平面与世界坐标系中的预设平面之间的偏移量,对第一参考姿态进行调整,得到第二参考姿态;基于第二参考姿态、第二位姿和当前图像帧与历史图像帧之间的光度误差,确定第一位姿。
因此,通过获取参考平面与世界坐标系中的预设平面之间的偏移量,可以基于该偏移量对第一参考姿态信息进行调整,得到第二参考姿态信息,以此就可以获得了另外获得相对于参考平面以外的平面(例如是世界坐标系的预设平面)的参考姿态信息,使得世界坐标系的预设平面可以位于参考平面以外的任意平面,并且也同时可以利用参考姿态信息来优化最终位姿信息,提高了最终位姿的准确度。
其中,在上述的利用参考平面与世界坐标系中的预设平面之间的偏移量,对第一参考姿态进行调整,得到第二参考姿态之前,方法还包括:获取第一历史图像帧在世界坐标系中的第三位姿,以及获取第三参考姿态,其中,第三参考姿态是拍摄装置对应于第一历史图像帧的拍摄时刻且相对于参考平面的姿态,第三位姿是基于目标图像确定的,预设平面为目标图像所在的平面;利用第三位姿中的姿态和第三参考姿态,得到偏移量,其中,第三位姿中的姿态是相对于预设平面的姿态。
因此,通过计算当前图像帧与其他图像帧之间的光度误差,并利用第二参考姿态来减小误差,可以提高最终位姿的准确度。
其中,上述的基于第二参考姿态、第二位姿和当前图像帧与历史图像帧之间的光度误差,确定第一位姿,包括:获取至少一个第一候选位姿,基于第二参考姿态、第二位姿和当前图像帧和其他图像帧之间的第一像素值差异,选择一第一候选位姿作为第一位姿。
因此,通过利用第二参考姿态、第二位姿和当前图像帧和其他图像帧之间的第一像素值差异来选择第一候选位姿,可以得到更加准确的第一候选位姿。
其中,上述的第一候选位姿是基于当前图像帧在世界坐标系中的初始位姿确定的,初始位姿是基于当前图像帧和其他图像帧之间的光度误差确定的;上述的基于第二参考姿态、第二位姿和当前图像帧和其他图像帧之间的第一像素值差异,选择一第一候选位姿作为第一位姿,包括:利用第二位姿,确定与其他图像帧中的第一特征点对应的空间点;基于每个第一候选位姿和空间点从当前图像帧中确定与第一候选位姿对应的第二特征点,获取第一特征点与第二特征点的第一像素值差异,并基于第一像素值差异以及第二参考姿态与第一候选位姿之间的位姿差异,选择一第一候选位姿作为第一位姿。
因此,通过利用确定空间中的三维点在其他图像帧中以及在当前图像帧中的对应的点,就可以通过计算像素值的差异方法,来求得较为准确的第一候选位姿。此外,通过计算第二像素值的差异,以此求得符合要求的初始位姿;然后再基于初始位姿,结合检测数据(第二参考姿态)和光度误差来求最终的误差信息,继而能够得到符合要求的最终位姿。通过利用第二参考姿态的校正,可以得到准确度更高的最终位姿。
其中,视觉定位方法还包括以下步骤,以获得第三位姿:基于第一历史图像帧与目标图像之间的第一匹配点对,确定第一历史图像帧与目标图像之间的第四变换参数,利用第四变换参数得到第二位姿;或者,基于第一历史图像帧与第二历史图像帧之间的第二匹配点对,确定第一历史图像帧与第二历史图像帧之间的第五变换参数,利用第五变换参数和第二历史图像帧与目标图像之间的第六变换参数得到第四变换参数,利用第四变换参数得到第二位姿,其中,第二历史图像帧位于第一历史图像帧之前。
因此,通过获得第一历史图像帧与目标图像之间的第四变换参数,或是通过利用第一历史图像帧与第二历史图像帧之间的第五变换参数和第二历史图像帧与目标图像之间的第六变换参数来得到第四变换参数,均可以获得第一历史图像帧的第三位姿,实现视觉定位。
其中,在上述的利用第四变换参数得到第二位姿之前,方法还包括:响应于第四变换参数满足预设要求,确定处于图像跟踪状态,并执行利用第四变换参数得到第二位姿。
因此,通过判断第四变换参数是否满足预设要求,可以利用准确度较高的第四变换参数来获得更加准确的第三位姿。
本申请第三方面提供了一种图像配准装置,包括:图像配准装置、第一参数获取模块和第二参数获取模块,其中,图像获取模块用于获取当前图像帧;第一参数获取模块用于基于当前图像帧与其他图像帧中的目标图像信息,确定当前图像帧与其他图像帧之间的第一变换参数,其中,目标图像信息为关于目标图像的图像信息;第二参数获取模块用于基于第一变换参数、以及其他图像帧与目标图像之间的第二变换参数,得到当前图像帧与目标图像之间的第三变换参数。
本申请第四方面提供了一种视觉定位装置,包括:参数获取模块和位姿获取模块,其中,参数获取模块用于获取当前图像帧与目标图像之间的当前变换参数,其中,当前变换参数为利用权利要求1至4任一项方法获得的第三变换参数;位姿获取模块用于利用当前变换参数,得到当前图像帧在世界坐标系中的第一位姿,其中,世界坐标系是基于目标图像所在的平面建立的。
本申请第五方面提供了一种电子设备,包括相互耦接的存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述第一方面中的图像配准方法和第二方面的视觉定位方法。
本申请第四方面提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述第一方面中的图像配准方法和第二方面的视觉定位方法。
上述方案,通过获得当前图像帧与其他图像帧之间的第一变换参数,再结合第一变换参数和其他图像帧与目标图像之间的第二变换参数,可以直接利用当前图像帧与其他图像帧中的目标图像信息,实现了当前图像帧与目标图像的配准,相比于利用当前图像帧与其他图像帧中所有图像信息进行图像配准,该方法计算量较小,提高了配准速度且图像配准的准确度较高。
附图说明
图1是本申请图像配准方法第一实施例的第一流程示意图;
图2是本申请图像配准方法第一实施例的第二流程示意图;
图3是本申请视觉定位方法第一实施例的流程示意图;
图4是本申请视觉定位方法第二实施例的第一流程示意图;
图5是本申请视觉定位方法第二实施例的第二流程示意图;
图6是本申请视觉定位方法实施例中偏移量获取方法的流程示意图;
图7是本申请视觉定位方法第三实施例的流程示意图;
图8是本申请图像配准装置一实施例的框架示意图;
图9是本申请视觉定位装置一实施例的框架示意图;
图10是本申请电子设备一实施例的框架示意图;
图11为本申请计算机可读存储介质一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
请参阅图1,图1是本申请图像配准方法第一实施例的第一流程示意图。具体而言,可以包括如下步骤:
步骤S11:获取当前图像帧。
在一个实施场景中,当前图像帧可以是相机拍摄到的图像。例如,在AR、VR等应用场景中,当前图像可以是诸如手机、平板电脑、智能眼镜等电子设备所拍摄到的图像;或者,在视频监控场景中,待配准图像可以是监控相机所拍摄到的图像,在此不做限定。其他场景可以以此类推,在此不再一一举例。当前图像帧中可以包括目标图像。若当前图像帧中包括目标图像,可以实现当前图像帧与目标图像的配准。
步骤S12:基于当前图像帧与其他图像帧中的目标图像信息,确定当前图像帧与其他图像帧之间的第一变换参数。
在本申请,两帧图像之间的变换参数,例如是单应性矩阵H,后续不再进行说明。
目标图像可以是平面上的图像,例如是在平整的地面上,平整的墙面上。目标图像可以是预先获取的,也即目标图像可以在执行本申请的图像配准方法之前预先确定。目标图像可以根据实际应用情况进行设置。例如,在需要确定待配准图像中建筑物A的位置的情况下,可以预先获取建筑物A的图像;或者,在需要确定待配准图像中人物B的位置的情况下,可以预先获取人物B的图像,其他情况可以以此类推,在此不再一一举例。在另一些实施场景中,可以从已经获取的图像中,确定目标图像。例如,可以预先对建筑物的内部情况进行拍照,以得到一定数量的建筑物内部图像,然后在这些图像中,选择特定的作为目标图像,如图像中包括一幅画,则可以将这幅画作为目标图像。
目标图像信息为关于目标图像的图像信息。在一个实施场景中,例如是对当前图像帧与其他图像帧中的目标图像进行特征提取,得到的特征点以及相应的特征表示。特征提取算法例如是FAST(features from accelerated segment test)算法,SIFT(Scale-invariant feature transform)算法,ORB(Oriented FAST and Rotated BRIEF)算法等等。在一个具体实施场景中,特征提取算法为ORB(Oriented FAST and Rotated BRIEF)算法。在利用ORB算法提取特征点时,通过ORB算法得到的描述子可以作为特征表示。在本实施例中,基于图像帧进行特征提取的特征点,可以认为是与目标图像处于同一个平面。
在一个实施场景中,以上实施例提及的通过特征提取算法进行特征提取得到的特征点,都可以认为是与目标图像位于同一平面。
在当前图像帧和其他帧图像中,均可以包括目标图像,用于实现本申请的图像配准方法。其他帧图像与当前图像帧类似,同样可以是拍摄得到,或是视频监控机拍摄得到的等等。
在一个实施场景中,其他图像帧和当前图像帧是由设备的拍摄装置先后拍摄得到。也即,其他图像帧的拍摄时间早于当前图像帧的拍摄时间。
在一个具体实施场景中,可以是已知目标图像在其他图像帧的位置,然后利用特征点跟踪的方法,例如是光流算法,来跟踪其他图像帧上的目标图像上的点在当前图像帧的位置,以此确定目标图像在当前图像帧的位置,进而可以获得当前图像帧与其他图像帧中的目标图像信息。
在得到当前图像帧与其他图像帧中的目标图像信息后,可以基于通用的图像配准方法来对当前图像帧与其他图像帧进行配准,图像配准算法例如是基于灰度和模板的算法,或者是基于特征的匹配方法。例如,关于基于特征的匹配方法,可以获得一定数量的关于待配准图像与目标图像的匹配点对,然后利用随机一致性采样算法(RANSAC)来计算待配准图像与目标图像的变换参数,以此实现图像的配准。
步骤S13:基于第一变换参数、以及其他图像帧与目标图像之间的第二变换参数,得到当前图像帧与目标图像之间的第三变换参数。
在其他图像帧中包括目标图像,以此可以利用其他图像帧与目标图像进行配准。其他图像帧与目标图像之间的第二变换参数可以是利用通用的图像配准算法得到的。其中,获得第二变换参数的方式不做限制。在一些实施例中,第二变换参数的获取方法,可以是通过模板匹配的方法来获取,或者是基于特征的匹配方法等。例如,在基于特征的匹配方法中,通过获取其他图像帧上的特征点与目标图像上的特征点,然后进行匹配计算,最后获得第二变换参数。在另一些实施例中,若其他图像帧A的之前图像帧B(如前一图像帧)已确定该之前变换帧B与目标图像之间的变换参数,则可以采用类似本实施例方法得到该第二变换参数,即利用其他图像帧A与其之前图像帧B之间的变换参数、以及之前图像帧B与目标图像之间的变换参数,得到其他图像帧A与目标图像之间的变换参数,即上述第二变换参数。
在得到第一变换参数和第二变换参数以后,可以根据已经获得当前图像帧与其他图像帧之间的第一变换参数,以及其他图像帧与目标图像之间的第二变换参数,将其他图像帧作为联结点,建立当前图像帧与目标图像的配准关系,即是基于第一变换参数、以及第二变换参数,得到第三变换参数。
在一个实施场景中,可以将第一变换参数与第二变换参数的乘积,作为第三变换参数,计算公式(1)公式如下:
其中,为当前图像帧与目标图像之间的第三变换参数;为其他图像帧与目标图像之间的第二变换参数;为当前图像帧与其他图像帧之间的第一变换参数。
因此,通过获得当前图像帧与其他图像帧之间的第一变换参数,再结合第一变换参数和其他图像帧与目标图像之间的第二变换参数,可以直接利用当前图像帧与其他图像帧中的目标图像信息,实现了当前图像帧与目标图像的配准,相比于利用当前图像帧与其他图像帧中所有图像信息进行图像配准,该方法计算量较小,提高了配准速度且图像配准的准确度较高。
请参阅图2,图2是本申请图像配准方法第一实施例的第二流程示意图。在本实施例中,是对上述提及的“基于当前图像帧与其他图像帧中的目标图像信息,确定当前图像帧与其他图像帧之间的第一变换参数”进一步扩展,具体可以包括以下步骤S121至步骤S123。
步骤S121:从其他图像帧中查找出关于目标图像的至少一个第一特征点。
其他图像上包括目标图像,因此可以在其他图像帧中查找出关于目标图像的至少一个第一特征点。第一特征点可以是利用特征提取算法得到,如ORB算法。在本申请中,对图像帧提取的特征点,可以包括对基于该图像帧建立的图像金字塔中的一系列的图像帧进行特征提取得到的特征点。
在一个实施场景中,可以通过以下步骤S1221和步骤S1222得到至少一个第一特征点。
步骤S1211:基于第二变换参数确定目标图像在其他图像帧中的目标区域;
已知其他图像帧与目标图像之间的第二变换参数,即是建立了目标图像上的点与其他图像帧上的点的对应关系,因此可以确定目标图像的点在其他图像帧中对应的点,由此可以确定目标区域。
步骤S1212:从目标区域中提取至少一个第一特征点。
确定目标区域以后,可以从目标区域中提取至少一个第一特征点,例如利用特征提取算法得到至少一个第一特征点。
通过利用第二变换参数,可以确定其他图像帧上的目标区域,由此可以获得至少一个第一特征点,用于后续的图像配准。
步骤S122:从当前图像帧中查找出关于目标图像的至少一个第二特征点。
在一个实施场景中,当前图像帧中查找出关于目标图像的至少一个第二特征点,可以是在当前图像帧中利用特征提取算法,得到一系列的特征点,然后将这些特征点与上述的第一特征点进行匹配,最后将匹配程度满足要求的特征点作为第二特征点。在另一个实施场景中,也可以是将从当前图像帧上得到的特征点与从目标图像上得到的特征点进行匹配,然后将匹配程度满足要求的特征点作为第二特征点。
在一个实施场景中,可以利用特征点跟踪的方法,来获得第二特征点。特征点跟踪的方法例如是光流算法。具体可以是分别对至少一个第一特征点进行跟踪,得到当前图像帧中关于目标图像的至少一个第二特征点,即可以对每一个第一特征点进行跟踪,以获得每一个第一特征点在当前图像帧中对应的点,然后对这些对应的点,进行特征提取,最后获得第二特征点。由此,通过利用特征点跟踪的方法,可以获得当前图像帧中与第一特征点对应的特征点,继而得到至少一个第二特征点,用于后续的图像配准。
步骤S123:基于第一特征点和第二特征点,确定第一变换参数。
在得到第一特征点和第二特征点以后,可以基于第一特征点和第二特征点的特征信息,来得到第一变换参数。例如,可以基于特征点匹配的方法,来计算第一变换参数。具体的,可以利用随机一致性采样算法,来计算得到第一变换参数。
由此,通过得到其他图像帧上的第一特征点,以及前图像帧中上的第二特征点,可以实现当前图像帧和其他图像帧的配准。
在一个实施例中,在得到当前图像帧与目标图像帧之间的第三变换参数之后,还可以进一步对第三变换参数进行优化,以得到更加准确的第三变换参数。具体可以是利用预设优化方式,对第三变换参数进行优化。
在一个实施场景中,可以通过迭代优化的方法,计算目标图像与当前帧图像上的目标图像的相似度,来优化第三变换参数。
在一个具体实施场景,优化第三变换参数的公式(2)如下:
Score=maxHf(T,F(H-1)) (2)
其中,F(H-1)表示当前帧图像F经第三候选变换参数H变换的结果,f函数用于计算目标图像T和F(H-1)之间的相似度,即f函数用于计算目标图像与当前帧图像的相似程度,具体可以为误差平方和(Sum of Squared Differences,SSD)函数,或者归一化互相关(Normalized Cross Correlation,NCC)函数等。表示利用迭代优化的方法优化H,使得目标图像与当前帧图像的相似程度尽可能的提高。迭代优化的方法例如是高斯—牛顿(Gauss-Newton)迭代法或是Levenberg-Marquard algorithm算法等等。Score代表的相似度得分,得分越高,代表目标图像与当前帧图像越相似。
在一个具体实施场景中,SSD函数的表达式如下:
其中,∑x,y表示对目标图像T中像素点(x,y)以及由第三变换参数H在当前图像帧F中确定的与其对应的像素点(x′,y′)所组成的对应的点对的像素值进行误差平方求和。由此可见,相似度SSD(T,F)越小,目标图像与当前图像帧之间的相似度越高,反之,相似度SSD(T,F)越大,目标图像与待配准图像之间的相似度越低。
在一个具体实施场景中,SSD函数的表达式如下:
其中,∑x,y表示对目标图像F中像素点(x,y)以及由第三变换参数H在当前图像帧F中确定的与其对应的像素点(x′,y′)所组成的对应的点对的像素值进行归一化互相关处理。此外,表示目标图像中像素点(x,y)像素值的平均值,表示当前图像帧中像素点(x′,y′)像素值的平均值。需要说明的是,NCC(T,F)的值域范围为-1至1,且NCC(T,F)越接近于1,表示目标图像与当前图像帧之间的相似度越高。
以此,通过对第三变换参数进行优化,可以得到更加准确的第三变换参数,提高了图像配准的效果。
请参阅图3,图3是本申请视觉定位方法第一实施例的流程示意图。具体的,包括以下步骤:
步骤S21:获取当前图像帧与目标图像之间的当前变换参数。
在本公开实施中,当前变换参数为利用上述的图像配准方法得到的第三变换参数。
步骤S22:利用当前变换参数,得到当前图像帧在世界坐标系中的第一位姿。
在本公开实施中,世界坐标系是基于目标图像所在的平面建立的。具体的,可以以目标图像所在的平面为世界坐标系的预设平面,例如以目标图像所在的平面为世界坐标系的XOY面,或者是XOZ面、YOZ面等等。在一个具体实施场景中,目标图像的中心在世界坐标系的原点,目标图像的横轴平行于世界坐标系的X轴,目标图像的纵轴平行于世界坐标系的Y轴,世界坐标系的Z轴垂直于目标图像平面。
由此,因为已经知道了当前图像帧与目标图像之间的当前变换参数,并且世界坐标系也是基于目标图像所在的平面建立的,就可以通过对当前变换参数进行换算,从而得到当前图像帧在世界坐标系中的第一位姿,也即是得到拍摄设备在拍的当前图像帧时的世界坐标系。对当前变换参数进行换算得到第一位姿的算法例如是PnP(Perspective-n-Point)算法。
由此,通过获取当前图像帧与目标图像之间的当前变换参数,并且基于目标图像所在的平面建立世界坐标系,可以得到当前图像帧在世界坐标系中的第一位姿,实现了对拍摄设备的视觉定位。
请参阅图4,图4是本申请视觉定位方法第二实施例的第一流程示意图。具体的,在执行上述的“利用当前变换参数,得到当前图像帧在世界坐标系中的第一位姿”步骤之前,还可以执行以下步骤S31至步骤S33。
步骤S31:判断当前变换参数是否满足预设要求。
判断是否满足预设要求代表判断当前变换参数的准确度高低,当满足预设要求,则可以认为当前变换参数的准确度能够接受;当不满足预设要求,则可以认为当前变换参数的准确度较低,不能利用当前变换参数来得到第一位姿。
在一个实施场景中,预设要求是利用当前变换参数计算得到的当前图像帧与目标图像之间的相似度是否满足要求。
在一个具体实施场景中,满足预设要求可以是上述的图像配准方法实施例中提及的公式(2)的得分满足要求。
满足预设要求时,执行步骤S32;不满足预设要求时,执行步骤S33。
步骤S32:响应于当前变换参数满足预设要求,执行利用当前变换参数,得到当前图像帧在世界坐标系中的第一位姿。
在当前变换参数满足预设要求的情况下,意味着当前变换参数的准确度较高,此时执行本申请视觉定位方法的设备可以响应于当前变换参数满足预设要求,执行利用当前变换参数,得到当前图像帧在世界坐标系中的第一位姿步骤。
步骤S33:响应于当前变换参数不满足预设要求,利用其他图像在世界坐标系中的第二位姿、以及当前图像帧与其他图像帧之间的光度误差,确定第一位姿。
当前变换参数不满足预设要求,意味着当前变换参数的准确度不高,通过当前变换参数得到的第一位姿也不高。此时执行本申请视觉定位方法的设备可以响应于当前变换参数不满足预设要求,利用其他图像在世界坐标系中的第二位姿、以及当前图像帧与其他图像帧之间的光度误差,确定第一位姿。
由此,通过判断当前变换参数是否满足预设要求,在满足预设要求时可以通过当前变换参数得到第一位姿,在不满足预设要求时,通过其他方法得到第一位姿,由此可以得到更加准确的第一位姿。
在一个公开实施例中,在执行上述的“获取当前图像帧与目标图像之间的当前变换参数”之前,还可以先执行获取于上一图像帧的位姿获取方式的步骤,依此来确定于上一图像帧的位姿获取方式。在本实施例中,上一图像帧的位姿获取方式可以是通过图像跟踪的方式来获取,也可以是通过其他方式来获取的,例如是视觉导航等方法。
在一个实施方式中,执行本申请视觉定位方法的设备可以响应于上一图像帧的位姿获取方式为图像跟踪方式,来执行获取当前图像帧与目标图像之间的当前变换参数。其中,图像跟踪方式为利用上一图像帧与目标图像之间的变换参数确定上一图像帧在世界坐标系中的位姿,例如是上一图像帧与目标图像之间的单应性矩阵来获取上一图像帧在世界坐标系中的位姿。因为上一图像帧的位姿是通过图像跟踪方式获取的,意味着上一图像帧中存在目标图像,那么当前图像帧也可能会存在目标图像,因此可以选择通过当前图像帧与目标图像之间的当前变换参数,来得到当前图像帧在世界坐标系中的第一位姿。
在一个实施方式中,若上一图像帧的位姿获取方式不是通过图像跟踪方式获取的,则意味着上一图像帧中不存在目标图像,因此可以选择通过其他方法来获得当前图像帧的位姿。
在一个公开实施例中,本申请的视觉定位方法包括两种状态,一种是图像跟踪状态,一种是视觉导航状态。在执行上述的“获取当前图像帧与目标图像之间的当前变换参数”之前,还可以先执行判断当前处于什么状态的步骤,以确定是否获取当前图像帧与目标图像之间的当前变换参数。当前状态是由上一图像帧在世界坐标系中的位姿的获取方式确定的。若上一图像帧在世界坐标系中的位姿的获取方式,是通过图像配准方法,以对目标图像进行检测得到的,通过得到变换参数来得到位姿,则可以确定当前状态为图像跟踪状态。图像配准方法包括上述实施例提及图像配准方法。若不是通过图像配准方法得到的位姿,则可以确定当前状态视觉导航状态。
若当前不处于图像跟踪状态,则意味着当前处于视觉导航状态,此时可以执行获取当前图像帧与目标图像之间的当前变换参数,使得后续可以获得第一位姿。在当前处于视觉导航状态的情况下,此时可以直接执行上述的步骤S33。
在一个公开实施例中,在上述的步骤“判断当前变换参数是否满足预设要求”之后,意味着已经执行了“获取当前图像帧与目标图像之间的当前变换参数”这一步骤,可以确认目前处于图像跟踪状态。在后续,可以根据判断结果,再次确定图像的当前状态。在当前变换参数满足预设要求的情况下,保持处于图像跟踪状态。当前变换参数满足预设要求,表示可以通过当前变换参数获得当前图像帧的第一位姿,因此可以保持处于图像跟踪状态。在当前变换参数不满足预设要求的情况下,表示不能通过当前变换参数来获得当前图像帧的第一位姿,此时可以切换至视觉导航状态,并执行上述的步骤S33。
因此,通过当前变换参数是否满足预设要求,可以确定当前状态,进而确定获取第一位姿的具体方法。请参阅图5,图5是本申请视觉定位方法第二实施例的第二流程示意图。在本实施例中,其他图像帧和当前图像帧是由设备的拍摄装置先后拍摄得到的。在此情况下,上述提及的“利用其他图像在世界坐标系中的第二位姿、以及当前图像帧与其他图像帧之间的光度误差,确定第一位姿”,具体包括:
步骤S331:获取第一参考姿态,其中,第一参考姿态是拍摄装置对应于当前图像帧的拍摄时刻且相对于参考平面的姿态。
在一个实施场景中,第一参考姿态是拍摄装置对应于当前图像帧的拍摄时刻且相对于参考平面的姿态。第一参考姿态例如是设备的旋转信息,即设备相对于参考平面的旋转信息。
在一个实施场景中,第一参考姿态由设备的传感装置检测得到的。传感装置例如是陀螺仪。
在一个实施场景中,第一参考姿态的检测时刻与当前图像帧的拍摄时刻之间的差值不超过第一预设时间差。第一预设差值例如是20毫秒,15毫秒等等,具体时间可以根据需要设置。在一个具体实施场景中,当存在多个检测时刻与当前图像帧的拍摄时刻之间的差值均不超过第一预设时间差的情况下,可以选择与当前图像帧的拍摄时刻最接近的检测时刻来获取第一参考姿态。因为检测时刻与当前图像帧的拍摄时刻之间的差值不超过第一预设时间差,此时可以认为第一参考姿态是当前图像帧的拍摄时刻的设备的姿态信息。传感装置例如是设备的陀螺仪。参考平面例如是基于陀螺仪确定的某一平面。
步骤S332:利用参考平面与世界坐标系中的预设平面之间的偏移量,对第一参考姿态进行调整,得到第二参考姿态。
世界坐标系中的预设平面,例如是世界坐标系的XOY平面,或是XOZ平面,YOZ平面等等。在一个实施场景中,预设平面例如是世界坐标系的XOY平面。在一个具体实施场景中,目标图像所在的平面为预设平面。
在得到第一参考姿态以后,意味着已经获得设备相对于参考平面的旋转信息。此时,可以获取参考平面与其他平面之间的偏移量,并利用偏移量来对第一参考姿态进行调整,以此来得到设备相对于其他平面的第二参考姿态,即获得设备相对其他平面的旋转信息。
在本实施例中,其他平面是世界坐标系中的预设平面,因此第二参考姿态可以认为是设备相对于世界坐标系的预设平面的旋转信息。
在一个实施场景中,因为第一参考姿态是由陀螺仪检测得到的,参考平面是基于陀螺仪确定的某一平面,此时,通过利用考平面与世界坐标系中的预设平面之间的偏移量来对第一参考姿态进行调整后,得到的第二参考姿态,也可以认为是将参考平面变换到预设平面需要的旋转量。
因此,通过获取参考平面与世界坐标系中的预设平面之间的偏移量,可以基于该偏移量对第一参考姿态信息进行调整,得到第二参考姿态信息,以此就可以获得了另外获得相对于参考平面以外的平面(例如是世界坐标系的预设平面)的参考姿态信息,使得世界坐标系的预设平面可以位于参考平面以外的任意平面,并且也同时可以利用参考姿态信息来优化最终位姿信息,提高了最终位姿的准确度。
请参阅图6,图6是本申请视觉定位方法实施例中偏移量获取方法的流程示意图。在一个实施场景中,在执行上述的步骤S332之前,还可以执行以下步骤S41和步骤S42,以获得偏移量。
步骤S41:获取第一历史图像帧在世界坐标系中的第三位姿,以及获取第三参考姿态。
在一个实施场景中,预设平面为目标图像所在的平面。在一个实施场景中,第三位姿是基于目标图像确定的,例如是基于目标图像,利用图像配准算法进行检测得到第一历史图像帧与目标图像之间的第四变换参数,然后进行换算后得到的。
在一个实施场景中,第三参考姿态是拍摄装置对应于第二历史图像帧的拍摄时刻且相对于参考平面的姿态。第二历史图像帧位于第一历史图像帧之前。第三参考姿态例如是由设备的传感装置检测得到的。第三参考姿态的检测时刻与第一历史图像帧的拍摄时刻之间的差值不超过第二预设时间差。以此,可以认为第三参考姿态与第三位姿的姿态信息相同。
在一个具体实施场景中,可以通过对第一历史图像帧和目标图像分别进行特征提取,可以得到与第一历史图像帧对应的第一特征点,以及与目标图像对应的第二特征点。特征点的数量不做具体限制。特征提取算法例如是FAST(features from acceleratedsegment test)算法,SIFT(Scale-invariant feature transform)算法,ORB(OrientedFAST and Rotated BRIEF)算法等等。在一个具体实施场景中,特征提取算法为ORB(Oriented FAST and Rotated BRIEF)算法。另外,在得到特征点以后,还会得到与每个特征点对应的特征表示,特征表示例如是特征向量。因此,每一个特征点,均有一个与其对应的特征表示。
通过计算每一个第一特征点与每一个第二特征点的匹配程度,可以得到一系列的匹配点对,然后可以选择匹配程度高的匹配点作为第一匹配点对。计算第一特征点和第二特征点的匹配程度,可以是计算两个特征点的特征表示之间的距离,距离越近视为越匹配。然后,可以利用基于得到的一系列第一匹配点对,利用图像配准算法,确定第一历史图像帧与目标图像之间的第四变换参数,并利用第四变换参数得到第三位姿。图像配准算法例如是随机一致性采样算法(RANSAC)。
在一个具体实施场景中,还可以基于第一历史图像帧与第二历史图像帧之间的第二匹配点对,确定第一历史图像帧与第二历史图像帧之间的第五变换参数。获得第二匹配点对的具体过程,可以参照上述获得第一匹配点对的具体描述,此处不再赘述。在一个实施场景中,得到第五变换参数的可以参照上述的图像配准方法实施例,此处不再赘述。然后,利用第五变换参数和第二历史图像帧与目标图像之间的第六变换参数,得到第四变换参数,最后再基于第四变换参数得到第三位姿。第二历史图像帧与目标图像之间的第六变换参数可以基于图像配准算法得到,此处不再赘述。
因此,通过获得第一历史图像帧与目标图像之间的第四变换参数,或是通过利用第一历史图像帧与第二历史图像帧之间的第五变换参数和第二历史图像帧与目标图像之间的第六变换参数来得到第四变换参数,均可以获得第一历史图像帧的第三位姿,实现视觉定位。
在一个实施场景中,在得到第四变换参数后,执行利用第四变换参数得到第三位姿之前,还可以先判断第四变换参数是否满足预设要求。是否预设要求的判断方法和上述一致,此处不再赘述。执行本申请视觉定位方法的设备可以响应于响应于第四变换参数满足预设要求,则确定处于图像跟踪状态,并执行利用第四变换参数得到第三位姿。在第四变换参数不满足预设要求的情况下,则确定处于视觉导航状态,执行上述的“利用其他图像在世界坐标系中的第二位姿、以及当前图像帧与其他图像帧之间的光度误差,确定第一位姿”步骤。
因此,通过判断第四变换参数是否满足预设要求,可以利用准确度较高的第四变换参数来获得更加准确的第三位姿。
在一个实施场景中,上述的获得第一历史图像帧与目标图像的第四变换参数,或者是获得第二历史图像帧与目标图像的第六变换参数的具体过程,可以包括以下步骤1和步骤2。
步骤1:选择其中一组第一匹配点对作为目标匹配点对。
在本实施场景中,对目标图像进行特征提取得到的特征点定义为第三特征点,基于第一历史图像帧或者第二历史图像帧进行特征提取得到的特征点定义为第四特征点。在一个实施场景中,可以计算第三特征点与第四特征点的匹配程度,来得到第一匹配点对。
然后,再选择一组第一匹配点对作为目标匹配点对。在选择时,可以从最匹配的点对开始选起。在目标匹配点中,第三特征点为第一匹配点,第四特征点为第二匹配点。
步骤2:基于目标匹配点对的方向信息,得到与目标匹配点对相对应的单应性矩阵。
目标匹配点对的方向信息代表第一历史帧图像相对于目标图像的旋转角度,或者是第二历史帧图像相对于目标图像的旋转角度。具体的,首先可以在目标图像中提取以第一匹配点为中心的第一图像区域,并在第一历史图像帧或者第二历史图像帧中提取以第二匹配点为中心的第二图像区域。然后,确定第一图像区域的第一偏转角度和第二图像区域的第二偏转角度。最后,基于第一偏转角度和第二偏转角度,得到变换参数,具体可以是基于目标匹配点对的方向信息,以及目标匹配点对中的第一匹配点与第二匹配点的像素坐标信息,来得到变换参数。
在一个具体实施场景中,第一偏转角度为第一图像区域的形心与第一图像区域的中心的连线与预设方向(例如是世界坐标系的X轴)之间的有向夹角。第二偏转角度为第二图像区域的形心与第二图像区域的中心的连线与预设方向之间的有向夹角。
在另一个具体实施场景中,第一偏转角度θ可以直接通过下式得到:
θ=arctan(∑yI(x,y),∑xI(x,y)) (3)
上述公式(3)中,(x,y)表示第一图像区域中某一像素点相对第一图像区域中心的偏移量,I(x,y)表示该像素点的像素值,∑表示求和,其求和范围为第一图像区域中的像素点。同理,第二偏转角度也可以按照相同的方法计算得到。
在一个具体实施方式中,可以通过以下步骤a和步骤b得到第一历史帧图像或者第二历史帧图像与目标图像之间的变换参数。
步骤a:获取第一偏转角度与第二偏转角度之间的角度差。
角度差例如是第一偏转角度与第二偏转角度的差值。
在一个实施场景中,计算角度差的公式(4)如下:
其中,θ为角度差,为第一偏转角度,T表示目标图像,为第二偏转角度,F表示第一历史帧图像或者第二历史帧图像。
步骤b:基于角度差和第一匹配点对所对应的尺度,得到第一候选变换参数。
第一候选变换参数例如是第一历史帧图像或者第二历史帧图像与目标图像之间对应的单应性矩阵。单应性矩阵的计算公式(5)如下:
H=HlHsHRHr (5)
其中,H为目标图像与第一历史帧图像或者第二历史帧图像之间对应的单应性矩阵,即第一候选变换参数;Hr表示第一历史帧图像或者第二历史帧图像相对于目标图像的平移量;Hs代表的第一匹配点对所对应的尺度,尺度即为在对目标图像进行缩放时的比例信息;HR代表的是第一历史帧图像或者第二历史帧图像相对于目标图像的旋转量,Hl代表平移之后复位的平移量。
为了利用上述的求得角度差,可以对上述的公式(5)进行变换,得到公式(6)。
其中,为第一匹配点在目标图像上的像素坐标;为第二匹配点在第一历史帧图像或者第二历史帧图像上的像素坐标;s为第一匹配点对所对应的尺度,即点对应的尺度;θ为角度差。
因此,通过计算目标匹配点对的方向信息,以此来获得第一历史帧图像或者第二历史帧图像相对于目标图像的旋转角度,以此可以利用该旋转角度信息得到第一历史帧图像或者第二历史帧图像与目标图像之间的变换参数,实现了利用匹配点对计算变换参数。
步骤S42:利用第三位姿中的姿态和第三参考姿态,得到偏移量。
第三位姿中的姿态是相对于预设平面的姿态,即为相对于预设平面的旋转量信息。由此,可以基于第三位姿中的姿态,以及第三参考姿态,得到偏移量。
在一个实施场景中,可以将第三位姿中的姿态和第三参考姿态之间的比值,作为偏移量。以此,可以通过求取比值的方式,获得偏移量。
在一个实施场景中,第三位姿中的姿态为R1,第二参考姿态位R2,δ表示偏移量,则偏移量的计算公式(7)如下:
δ=R1(R2)-1 (7)
因此,通过获取第三位姿中的姿态信息(该姿态信息是相对于预设平面的姿态信息),以及可以视为与第三位姿信息拍摄时刻同时刻获取的第三参考姿态(该第三参考姿态是相对于参考平面的姿态信息),即可以获得参考平面与世界坐标系中的预设平面之间的偏移量。
在一个实施场景中,本申请的实施例提及的通过特征提取算法进行特征提取得到的特征点,都可以认为是与目标图像位于同一平面。
步骤S333:基于第二参考姿态、第二位姿和当前图像帧与历史图像帧之间的光度误差,确定第一位姿。
在一个具体实施场景中,可以是首先得到当前图像帧与其他图像帧之间的相对位姿变化并计算当前图像帧与其他图像帧之间的光度误差,接着利用相对位姿变化得到当前图像帧的最终位姿,然后利用第二参考姿态作为约束因素,来优化并尽可能减小光度误差,最终得到前图像帧在世界坐标系中的最终位姿。
在一个具体实施场景中,可以是首先得到当前图像帧在世界坐标系中的位姿信息作为初始的最终位姿,然后利用其他图像帧在世界坐标系中的的位姿信息,得到当前图像帧与其他图像帧之间的光度误差,然后利用第二参考姿态作为约束因素,来优化并尽可能减小光度误差,最终得到当前图像帧在世界坐标系中的最终位姿。
因此,通过获取参考平面与世界坐标系中的预设平面之间的偏移量,可以基于该偏移量对第一参考姿态信息进行调整,得到第二参考姿态信息,以此就可以获得了另外获得相对于参考平面以外的平面(例如是世界坐标系的预设平面)的参考姿态信息,使得世界坐标系的预设平面可以位于参考平面以外的任意平面,并且也同时可以利用参考姿态信息来优化最终位姿信息,提高了最终位姿的准确度。
在一个公开实施例中,可以上述的步骤S333提及的“基于第二参考姿态、第二位姿和当前图像帧与历史图像帧之间的光度误差,确定第一位姿”具体可以是:获取至少一个第一候选位姿,基于第二参考姿态、第二位姿和当前图像帧和其他图像帧之间的第一像素值差异,选择一第一候选位姿作为第一位姿。
在本公开实施例中,第一候选位姿是当前图像帧在世界坐标系中的位姿信息。第一候选位姿可以是基于图像处理算法计算得到若干个第一候选位姿,也可以通过计算当前图像帧和其他图像帧的相对位姿变化和其他图像帧的第二位姿,得到第一候选位,还可以直接选择距离当前图像帧最近的具有位姿信息的图像帧的位姿作为一个候选第一候选位姿。然后,可以利用迭代优化的方法,生成多个第一候选位姿。
在此基础上,可以基于每一个第一候选位姿,并基于第二参考姿态和当前图像帧和其他图像帧之间的第一像素值差异,得到对应于每一个第一候选位姿的第一像素值差异,然后选择一个第一候选位姿作为最终位姿。当前图像帧和其他图像帧之间的第一像素值差异,可以是当前图像帧上的像素点在其他图像帧上对应的像素点的像素值差异。例如。空间中有三维点A,A在当前图像帧上的为a1,A在其他图像帧上的为a2,a1像素点则为其在其他图像帧上的点a2对应的像素点。与此同时,利用第二参考姿与第一候选位姿中的姿态之间的姿态差异来优化第一像素值差异。
因此,通过利用第二参考姿态、第二位姿和当前图像帧和其他图像帧之间的第一像素值差异来选择第一候选位姿,可以得到更加准确的第一候选位姿。
在其中一个具体实施场景中,可以利用以下公式(8)来选择一第一候选位姿作为最终位姿。
其中,C为最终的误差信息;为第一候选位姿,为旋转量信息(也可以称为旋转量或朝向),为平移量信息;是第二参考姿与第一候选位姿中的姿态之间的姿态差异;空间三维点Xp是基于第一候选位姿确定与其他图像帧中的特征点对应的空间点,为空间三维点Xp投影在当前图像帧上的特征点,为空间三维点Xp在当前图像帧上对应的特征点的像素值,K为设备拍摄装置的内存矩阵;I(xp)为空间三维点Xp在其他图像帧上对应的特征点的像素值;为第一像素值差异;∑p表示对当前图像帧与其他图像帧上存在对应的特征点计算第一像素值差异,并求和;α,β为两个约束项的调整参数。可通过实际使用进行比例设定。表示利用迭代优化的方法,生成多个第一候选位姿,并从中选择出最终的误差信息C最小的时候,对应的第一候选位姿。
在一个实施场景中,的计算公式(9)如下:
其中,是传感装置检测得到的,表示相对于预设平面的旋转量信息,δ是上述公式(2)求得偏移量。
在公式(9)中,是传感装置检测,例如是通过陀螺仪检测得到的数据,然后利用偏移量求得的相对于预设平面的旋转量信息,而为通过计算得到的第一候选位姿中的旋转量信息,也是相对于预设平面的旋转量信息,二者理论上应当是相同的。因此,可以用来优化的第一候选位姿的约束信息。
由此,通过利用陀螺仪的数据来对第一候选位姿进行约束,可以在对第一候选位姿进行迭代优化时,求得更加准确的第一候选位姿。
在一个公开实施例中,可以在求得最终的误差信息以后,选择最终的误差信息满足第一预设要求的第二特征点所对应的第一候选位姿,作为最终位姿。第一预设要求可以根据需要设置,此处不做限定。在一个实施场景中,若是通过上述的公式(8)计算第一像素值差异和姿态差异,则是选择满足预设要求的C对应的第一候选位姿信息作为最终位姿。由此,通过筛选满足预设要求的第一候选位姿,可以获得相对准确的位姿信息。
在一个实施场景中,上述的步骤S3331提及的“获取至少一个第一候选位姿,并基于第二参考姿态、第二位姿和当前图像帧和其他图像帧之间的第一像素值差异,选择一第一候选位姿作为第一位姿”具体可以包括以下步骤1和步骤2。
步骤1:利用第二位姿,确定与其他图像帧中的第五特征点对应的空间点。在本公开实施例中,第五特征点即为权利要求书中权利要求11中的第一特征点。
其他图像帧在世界坐标系中的第二位姿,可以是基于图像配准算法计算得到的,也可以是利用视觉跟踪算法得到的,此处不做限制。在得到第二位姿以后,可以计算空间中第五特征点对应的空间点的深度值,然后就可以计算该空间点的三维坐标,以此可以确定该空间点的位置。由此,可以确定一定数量的其他图像帧中的第五特征点对应的空间点。
步骤2:基于每个第一候选位姿和空间点从当前图像帧中确定与第一候选位姿对应的第六特征点,基于第一像素值差异以及第二参考姿态与第一候选位姿之间的位姿差异,选择一第一候选位姿作为第一位姿。
在本公开实施例中,第六特征点即为权利要求书中权利要求11中的第二特征点。
在得到其他图像帧中的第五特征点对应的空间点的三维坐标,其他图像帧在世界坐标系中的第二位姿,以及当前帧图像在世界坐标系中的第一候选位姿以后,可以利用投影的方式,在当前图像帧中确定与空间点对应的第六特征点。该第六特征点即为其他图像帧上的第五特征点在当前图像中上对应的点。
然后,可以基于第五特征点和第六特征点得到第一像素值差异,具体是基于第五特征点的像素值和第六特征点的像素值得到第一像素值差异。最后,就可以基于第一像素值差异以及第二参考姿态与第一候选位姿之间的姿态差异,选择一第一候选位姿作为最终位姿。具体的计算方法可以参考上述的公式(8)。
因此,通过利用确定空间中的三维点在其他图像帧中以及在当前图像帧中的对应的点,就可以通过计算像素值的差异方法,来求得较为准确的第一候选位姿。
在一个公开实施例中,第一候选位姿是基于当前图像帧在世界坐标系中的初始位姿确定的。也即,可以基于初始位姿,基于迭代优化的方法,得到一系列的第一候选位姿,再从这一些列的第一候选位姿中选择一个最终位姿。
在一个具体实施场景中,初始位姿是基于当前图像帧和其他图像帧之间的光度误差确定的。也即,可以利用光度误差方程,结合迭代优化的方法,求得初始位姿。
在一个具体实施场景中,可以执行以下步骤1得到初始位姿。
步骤1:获取至少一个第二候选位姿,并基于当前图像帧和其他图像帧之间的第二像素值差异,选择一第二候选位姿作为初始位姿。
第二候选位姿例如是其他图像帧相对于世界坐标系的位姿信息。第二候选位姿可以是基于图像处理算法计算得到若干个第二候选位姿,也可以直接选择距离当前图像帧最近的具有位姿信息的图像帧的位姿作为一个候选第二候选位姿,或者直接将第二位姿作为第二候选位姿。然后,可以利用迭代优化的方法,生成多个第二候选位姿。在一个实施场景中,第二候选位姿可以是基于上述的第二位姿确定的,具体可以是以第二位姿为基础,利用迭代优化的方法,生成多个第二候选位姿。
在此基础上,可以基于每一个第二候选位姿,并基于当前图像帧和其他图像帧之间的第二像素值差异,然后选择一个第二候选位姿作为初始位姿。当前图像帧和其他图像帧之间的第二像素值差异,可以是当前图像帧上的像素点在其他图像帧上对应的像素点的像素值差异。例如。空间中有三维点B,B在当前图像帧上的为B1,B在其他图像帧上的为B2,B1像素点则为其在其他图像帧上点B2对应的像素点。
在一个具体实施场景中,可以通过以下公式(10)来选择一个第二候选位姿作为当前图像帧与其他图像帧之间的初始变化位姿。
上述公式(10),C为第二像素值差异;为第二候选位姿,为旋转量信息;为平移量信息;空间三维点Xp是基于第二候选位姿确定与其他图像帧中的第五特征点对应的空间点;为空间三维点Xp投影在当前图像帧上的第六特征点,为当前图像帧上第六的特征点的像素值,K为设备拍摄装置的内存矩阵;I(xp)为其他图像帧上对应的第五特征点的像素值;为第二像素值差异;∑p表示对当前图像帧与其他图像帧上存在对应的点(第五特征点和第六特征点)计算第二像素值差异,并求和;表示利用迭代优化的方法,生成多个第二候选位姿,并从中选择出第二像素值差异C最小时对应的第二候选位姿,作为初始位姿。
在一个实施场景中,在得到第二像素值差异,还可以选择第二像素值差异满足第二预设要求的第二特征点所对应的第二候选位姿,作为初始变化位姿。第二预设要求可以根据需要设置,此处不做限定。若是通过上述的公式(10)计算第二像素值差异,则是选择满足预设要求的C对应的第二候选位姿信息作为初始位姿。由此,通过筛选满足预设要求的第二候选位姿,可以获得相对准确的位姿信息。
因此,通过计算第二像素值的差异,以此求得符合要求的初始位姿;然后再基于初始位姿,结合检测数据(第二参考姿态)和光度误差来求最终的误差信息,继而能够得到符合要求的最终位姿。通过利用第二参考姿态的校正,可以得到准确度更高的最终位姿。
上述方案,通过获得当前图像帧与其他图像帧之间的第一变换参数,再结合第一变换参数和其他图像帧与目标图像之间的第二变换参数,可以直接利用当前图像帧与其他图像帧中的目标图像信息,实现了当前图像帧与目标图像的配准,相比于利用当前图像帧与其他图像帧中所有图像信息进行图像配准,该方法计算量较小,提高了配准速度且图像配准的准确度较高。
请参阅图7,图7是本申请视觉定位方法第三实施例的流程示意图。在本公开实施例中,视觉定位方法执行过程如下:
步骤S51:初始化:进行图像配准,获取初始图像位姿。
图像配准是用利用设备拍摄到的当前图像帧与目标图像进行图像配准检测,若检测成功,则可以获得当前图像帧在基于目标图像建立的世界坐标系的初始图像位姿。即设备在世界坐标系中的位姿。
在一个实施场景中,还可以判断变换参数是否满足预设要求,若满足,则认为在当前图像帧检测到目标图像,图像配准检测成功,可以获取初始图像位姿。
若图像配准检测成功,则重复执行步骤1,直至获得初始图像位姿为止。
步骤S52:利用图像配准方法,获得第二图像帧与第一图像帧对应的图像变换参数。
获得初始图像位姿时对应的图像帧定义为第一图像帧。在获得初始图像位姿以后,设备会获取第二图像帧。
因为第一图像帧是利用图像配准方法得到的初始位姿,可以确定此时设备处于图像跟踪状态。此时,设备会执行上述实施例提及的图像配准方法,以此可以获得与第二图像帧与第一图像帧对应的变换参数。
步骤S53:判断图像变换参数是否满足预设要求。
判断图像变换参数是否满足预设要求的方法,可以参照上述实施例,此处不再赘述。
若满足预设要求,则执行步骤4;若不满足,则执行步骤5。
步骤S54:进入图像跟踪状态,利用图像变换参数获取第二位姿。
图像变换参数满足预设要求,则可以确认维持处于图像跟踪状态。并会利用该图像变换参数获得第二图像帧对应的第二位姿。
步骤S55:进入视觉导航状态,利用其他图像在世界坐标系中的第二位姿、以及当前图像帧与其他图像帧之间的光度误差,确定第一位姿。
因为图像变换参数不满足预设要求,此时会确认设备进入视觉导航状态,并执行“利用其他图像在世界坐标系中的第二位姿、以及当前图像帧与其他图像帧之间的光度误差,确定第一位姿”步骤。关于本步骤的具体描述,请参照上述步骤S33,此处不再赘述。
在后续的过程中,若执行了步骤S54,则会重新执行步骤S52获得第三图像帧与第二图像帧的图像变换参数,并继续执行后续步骤。若执行了步骤S55,则会重复执行步骤S55,设备持续处于视觉导航状态。
在一个实施例中,当设备重新执行了步骤S51时,则重新开始执行后续的步骤。
请参阅图8,图8是本申请图像配准装置一实施例的框架示意图。图像配准装置80包括图像获取模块81、第一参数获取模块82和第二参数获取模块83。其中,图像获取模块用于获取当前图像帧;第一参数获取模块用于基于当前图像帧与其他图像帧中的目标图像信息,确定当前图像帧与其他图像帧之间的第一变换参数,其中,目标图像信息为关于目标图像的图像信息;第二参数获取模块用于基于第一变换参数、以及其他图像帧与目标图像之间的第二变换参数,得到当前图像帧与目标图像之间的第三变换参数。
其中,上述的第一参数获取模块用于基于当前图像帧与其他图像帧中的目标图像信息,确定当前图像帧与其他图像帧之间的第一变换参数,具体包括:从其他图像帧中查找出关于目标图像的至少一个第一特征点;在从当前图像帧中查找出关于目标图像的至少一个第二特征点;基于第一特征点和第二特征点,确定第一变换参数。
其中,上述的第一参数获取模块用于从其他图像帧中查找出关于目标图像的至少一个第一特征点,包括:基于第二变换参数确定目标图像在其他图像帧中的目标区域;从目标区域中提取至少一个第一特征点。上述的第一参数获取模块用于在从当前图像帧中查找出关于目标图像的至少一个第二特征点,包括:分别对至少一个第一特征点进行跟踪,得到当前图像帧中关于目标图像的至少一个第二特征点。
其中,上述的第二参数获取模块用于基于第一变换参数、以及其他图像帧与目标图像之间的第二变换参数,得到当前图像帧与目标图像帧之间的第三变换参数,包括:将第一变换参数与第二变换参数的乘积,作为第三变换参数。图像配准装置还包括优化模块,在第二参数获取模块用于基于第一变换参数、以及其他图像帧与目标图像之间的第二变换参数,得到当前图像帧与目标图像之间的第三变换参数之后,优化模块用于利用预设优化方式,对第三变换参数进行优化。
请参阅图9,图9是本申请视觉定位装置一实施例的框架示意图。视觉定位装置90包括参数获取模块91和第一位姿获取模块92,其中,参数获取模块用于获取当前图像帧与目标图像之间的当前变换参数,其中,当前变换参数为利用权利要求1至4任一项方法获得的第三变换参数;第一位姿获取模块用于利用当前变换参数,得到当前图像帧在世界坐标系中的第一位姿,其中,世界坐标系是基于目标图像所在的平面建立的。
其中,视觉定位装置还包括判断模块和第二位姿获取模块,在第一位姿获取模块用于利用当前变换参数,得到当前图像帧在世界坐标系中的第一位姿之前,判断模块用于判断当前变换参数满足是否预设要求。响应于当前变换参数满足预设要求,第一位姿获取模块用于利用当前变换参数,得到当前图像帧在世界坐标系中的第一位姿;响应于当前变换参数不满足预设要求,第二位姿获取模块利用其他图像在世界坐标系中的第二位姿、以及当前图像帧与其他图像帧之间的光度误差,确定第一位姿。
其中,视觉定位装置还包括状态确定模块,在参数获取模块用于获取当前图像帧与目标图像之间的当前变换参数之前,状态确定模块还用于:响应于上一图像帧的位姿获取方式为图像跟踪方式,执行获取当前图像帧与目标图像之间的当前变换参数,其中,图像跟踪方式为利用上一图像帧与目标图像之间的变换参数确定上一图像帧在世界坐标系中的位姿。
其中,上述的其他图像帧和当前图像帧是由设备的拍摄装置先后拍摄得到。上述的第二位姿获取模块用于述利用其他图像在世界坐标系中的第二位姿、以及当前图像帧与其他图像帧之间的光度误差,确定第一位姿,包括:获取第一参考姿态,其中,第一参考姿态是拍摄装置对应于当前图像帧的拍摄时刻且相对于参考平面的姿态;利用参考平面与世界坐标系中的预设平面之间的偏移量,对第一参考姿态进行调整,得到第二参考姿态;基于第二参考姿态、第二位姿和当前图像帧与历史图像帧之间的光度误差,确定第一位姿。
其中,视觉定位装置还包括偏移量获取模块,在第二位姿获取模块用于利用参考平面与世界坐标系中的预设平面之间的偏移量,对第一参考姿态进行调整,得到第二参考姿态之前,偏移量获取模块用于获取第一历史图像帧在世界坐标系中的第三位姿,以及获取第三参考姿态,其中,第三参考姿态是拍摄装置对应于第一历史图像帧的拍摄时刻且相对于参考平面的姿态,第三位姿是基于目标图像确定的,预设平面为目标图像所在的平面;利用第三位姿中的姿态和第三参考姿态,得到偏移量,其中,第三位姿中的姿态是相对于预设平面的姿态。
其中,上述的第二位姿获取模块用于基于第二参考姿态、第二位姿和当前图像帧与历史图像帧之间的光度误差,确定第一位姿,包括:获取至少一个第一候选位姿,基于第二参考姿态、第二位姿和当前图像帧和其他图像帧之间的第一像素值差异,选择一第一候选位姿作为第一位姿。
其中,上述的第一候选位姿是基于当前图像帧在世界坐标系中的初始位姿确定的,初始位姿是基于当前图像帧和其他图像帧之间的光度误差确定的;和/或,上述的第二位姿获取模块用于基于第二参考姿态、第二位姿和当前图像帧和其他图像帧之间的第一像素值差异,选择一第一候选位姿作为第一位姿,包括:利用第二位姿,确定与其他图像帧中的第一特征点对应的空间点;基于每个第一候选位姿和空间点从当前图像帧中确定与第一候选位姿对应的第二特征点,获取第一特征点与第二特征点的第一像素值差异,并基于第一像素值差异以及第二参考姿态与第一候选位姿之间的位姿差异,选择一第一候选位姿作为第一位姿。
其中,视觉定位装置还包括历史图像帧位姿获取模块,用于获得第三位姿,历史图像帧位姿获取模块具体用于基于第一历史图像帧与目标图像之间的第一匹配点对,确定第一历史图像帧与目标图像之间的第四变换参数,利用第四变换参数得到第二位姿;或者,基于第一历史图像帧与第二历史图像帧之间的第二匹配点对,确定第一历史图像帧与第二历史图像帧之间的第五变换参数,利用第五变换参数和第二历史图像帧与目标图像之间的第六变换参数得到第四变换参数,利用第四变换参数得到第二位姿,其中,第二历史图像帧位于第一历史图像帧之前。
其中,在历史图像帧位姿获取模块用于利用第四变换参数得到第二位姿之前,历史图像帧位姿获取模块还用于判断第四变换参数是否满足预设要求;响应于第四变换参数满足预设要求,历史图像帧位姿获取模块用于确定处于图像跟踪状态,并执行利用第四变换参数得到第二位姿。
请参阅图10,图10是本申请电子设备一实施例的框架示意图。电子设备100包括相互耦接的存储器101和处理器102,处理器101用于执行存储器101中存储的程序指令,以实现上述任一图像配准方法实施例的步骤,或者是上述任一觉定位方法实施例的步骤。在一个具体的实施场景中,电子设备100可以包括但不限于:微型计算机、服务器,此外,电子设备100还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
具体而言,处理器102用于控制其自身以及存储器101以实现上述任一图像配准方法实施例的步骤,或者是上述任一觉定位方法实施例的步骤。处理器102还可以称为CPU(Central Processing Unit,中央处理单元)。处理器102可能是一种集成电路芯片,具有信号的处理能力。处理器102还可以是通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器102可以由集成电路芯片共同实现。
请参阅图11,图11为本申请计算机可读存储介质一实施例的框架示意图。计算机可读存储介质111存储有能够被处理器运行的程序指令1111,程序指令1111用于实现上述任一图像配准方法实施例的步骤,或者是上述任一觉定位方法实施例的步骤。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (13)
1.一种视觉定位方法,其特征在于,包括:
获取当前图像帧与目标图像之间的当前变换参数;
利用所述当前变换参数,得到所述当前图像帧在世界坐标系中的第一位姿,其中,所述世界坐标系是基于所述目标图像所在的平面建立的;
所述方法还包括:响应于所述当前变换参数不满足预设要求,获取第一参考姿态,其中,第一参考姿态是拍摄装置对应于所述当前图像帧的拍摄时刻且相对于参考平面的姿态,所述第一参考姿态是由传感装置检测得到的,所述参考平面是由所述传感装置确定的平面;利用所述参考平面与世界坐标系中的预设平面之间的偏移量,对所述第一参考姿态进行调整,得到第二参考姿态;基于所述第二参考姿态、其他图像在所述世界坐标系中的第二位姿和所述当前图像帧与其他图像帧之间的光度误差,确定所述第一位姿,所述其他图像帧和当前图像帧是由设备的拍摄装置先后拍摄得到;
其中,所述基于所述第二参考姿态、其他图像在所述世界坐标系中的第二位姿和所述当前图像帧与其他图像帧之间的光度误差,确定所述第一位姿,包括:
获取所述当前图像帧在世界坐标系中的位姿信息作为初始的最终位姿,并利用其他图像帧在世界坐标系中的第二位姿确定所述当前图像帧与其他图像帧之间的光度误差,利用第二参考姿态作为约束因素以减小所述光度误差,得到所述当前图像帧在所述世界坐标系下的第一位姿;或,获取当前图像帧与其他图像帧之间的相对位姿变化,计算所述当前图像帧与其他图像帧之间的光度误差,并利用所述相对位姿变化和所述第二位姿确定所述当前图像帧的最终位姿,将所述第二参考姿态作为约束因素以减小所述光度误差,得到所述当前图像帧在所述世界坐标系下的第一位姿;
或,所述基于所述第二参考姿态、其他图像在所述世界坐标系中的第二位姿和所述当前图像帧与其他图像帧之间的光度误差,确定所述第一位姿,包括:
获取至少一个第一候选位姿,所述第一候选位姿是基于所述当前图像帧在世界坐标系中的初始位姿确定的,所述初始位姿是基于所述当前图像帧和所述其他图像帧之间的光度误差确定的;
利用所述第二位姿,确定与所述其他图像帧中的第一特征点对应的空间点;
基于每个所述第一候选位姿和所述空间点从所述当前图像帧中确定与所述第一候选位姿对应的第二特征点,获取所述第一特征点与第二特征点的第一像素值差异,并基于所述第一像素值差异以及所述第二参考姿态与第一候选位姿之间的位姿差异,选择一所述第一候选位姿作为第一位姿。
2.根据权利要求1所述的方法,其特征在于,所述获取当前图像帧与目标图像之间的当前变换参数,包括:
获取当前图像帧;
基于所述当前图像帧与其他图像帧中的目标图像信息,确定所述当前图像帧与所述其他图像帧之间的第一变换参数,其中,所述目标图像信息为关于目标图像的图像信息;
基于所述第一变换参数、以及所述其他图像帧与所述目标图像之间的第二变换参数,得到所述当前图像帧与所述目标图像之间的第三变换参数,所述第三变换参数为所述当前变换参数。
3.根据权利要求2所述的方法,其特征在于,所述基于所述当前图像帧与其他图像帧中的目标图像信息,确定所述当前图像帧与所述其他图像帧之间的第一变换参数,包括:
从所述其他图像帧中查找出关于所述目标图像的至少一个第一特征点;
从所述当前图像帧中查找出关于所述目标图像的至少一个第二特征点;
基于所述第一特征点和第二特征点,确定所述第一变换参数。
4.根据权利要求3所述的方法,其特征在于,所述从所述其他图像帧中查找出关于所述目标图像的至少一个第一特征点,包括:
基于所述第二变换参数确定所述目标图像在所述其他图像帧中的目标区域;
从所述目标区域中提取至少一个所述第一特征点;
所述从所述当前图像帧中查找出关于所述目标图像的至少一个第二特征点,包括:
分别对所述至少一个第一特征点进行跟踪,得到所述当前图像帧中关于所述目标图像的至少一个第二特征点。
5.根据权利要求2至4任一项所述的方法,其特征在于,所述基于所述第一变换参数、以及所述其他图像帧与所述目标图像之间的第二变换参数,得到所述当前图像帧与所述目标图像之间的第三变换参数,包括:
将所述第一变换参数与所述第二变换参数的乘积,作为所述第三变换参数;
和/或,在所述基于所述第一变换参数、以及所述其他图像帧与所述目标图像之间的第二变换参数,得到所述当前图像帧与所述目标图像之间的第三变换参数之后,所述方法还包括:
利用预设优化方式,对所述第三变换参数进行优化。
6.根据权利要求5所述的方法,其特征在于,在所述利用所述当前变换参数,得到所述当前图像帧在世界坐标系中的第一位姿之前,所述方法还包括:
响应于所述当前变换参数满足预设要求,执行所述利用所述当前变换参数,得到所述当前图像帧在世界坐标系中的第一位姿。
7.根据权利要求6所述的方法,其特征在于,在所述获取当前图像帧与目标图像之间的当前变换参数之前,所述方法还包括:
响应于上一图像帧的位姿获取方式为图像跟踪方式,执行所述获取当前图像帧与目标图像之间的当前变换参数,其中,所述图像跟踪方式为利用所述上一图像帧与目标图像之间的变换参数确定所述上一图像帧在所述世界坐标系中的位姿。
8.根据权利要求1所述的方法,其特征在于,在所述利用所述参考平面与世界坐标系中的预设平面之间的偏移量,对所述第一参考姿态进行调整,得到第二参考姿态之前,所述方法还包括:
获取第一历史图像帧在所述世界坐标系中的第三位姿,以及获取第三参考姿态,其中,所述第三参考姿态是所述拍摄装置对应于所述第一历史图像帧的拍摄时刻且相对于参考平面的姿态,所述第三位姿是基于所述目标图像确定的,所述预设平面为所述目标图像所在的平面;
利用所述第三位姿中的姿态和第三参考姿态,得到所述偏移量,其中,所述第三位姿中的姿态是相对于所述预设平面的姿态。
9.根据权利要求8所述的方法,其特征在于,
所述方法还包括以下步骤,以获得所述第三位姿:
基于所述第一历史图像帧与所述目标图像之间的第一匹配点对,确定所述第一历史图像帧与所述目标图像之间的第四变换参数,利用所述第四变换参数得到所述第二位姿;或者,
基于所述第一历史图像帧与第二历史图像帧之间的第二匹配点对,确定所述第一历史图像帧与第二历史图像帧之间的第五变换参数,利用所述第五变换参数和所述第二历史图像帧与所述目标图像之间的第六变换参数得到所述第四变换参数,利用所述第四变换参数得到所述第二位姿,其中,所述第二历史图像帧位于所述第一历史图像帧之前。
10.根据权利要求9所述的方法,其特征在于,在所述利用所述第四变换参数得到所述第二位姿之前,所述方法还包括:
响应于所述第四变换参数满足预设要求,确定处于图像跟踪状态,并执行所述利用所述第四变换参数得到所述第二位姿。
11.一种视觉定位装置,其特征在于,包括:
参数获取模块,用于获取当前图像帧与目标图像之间的当前变换参数;
第一位姿获取模块,用于利用所述当前变换参数,得到所述当前图像帧在世界坐标系中的第一位姿,其中,所述世界坐标系是基于所述目标图像所在的平面建立的;
第二位姿获取模块,响应于所述当前变换参数不满足预设要求,获取第一参考姿态,其中,第一参考姿态是拍摄装置对应于所述当前图像帧的拍摄时刻且相对于参考平面的姿态,所述第一参考姿态是由传感装置检测得到的,所述参考平面是由所述传感装置确定的平面;利用所述参考平面与世界坐标系中的预设平面之间的偏移量,对所述第一参考姿态进行调整,得到第二参考姿态;基于所述第二参考姿态、其他图像在所述世界坐标系中的第二位姿和所述当前图像帧与其他图像帧之间的光度误差,确定所述第一位姿,所述其他图像帧和当前图像帧是由设备的拍摄装置先后拍摄得到;
其中,所述第二位姿获取模块,基于所述第二参考姿态、其他图像在所述世界坐标系中的第二位姿和所述当前图像帧与其他图像帧之间的光度误差,确定所述第一位姿,包括:
获取所述当前图像帧在世界坐标系中的位姿信息作为初始的最终位姿,并利用其他图像帧在世界坐标系中的第二位姿确定所述当前图像帧与其他图像帧之间的光度误差,利用第二参考姿态作为约束因素以减小所述光度误差,得到所述当前图像帧在所述世界坐标系下的第一位姿;或,获取当前图像帧与其他图像帧之间的相对位姿变化,计算所述当前图像帧与其他图像帧之间的光度误差,并利用所述相对位姿变化和所述第二位姿确定所述当前图像帧的最终位姿,将所述第二参考姿态作为约束因素以减小所述光度误差,得到所述当前图像帧在所述世界坐标系下的第一位姿;
或,所述第二位姿获取模块,基于所述第二参考姿态、其他图像在所述世界坐标系中的第二位姿和所述当前图像帧与其他图像帧之间的光度误差,确定所述第一位姿,包括:
获取至少一个第一候选位姿,所述第一候选位姿是基于所述当前图像帧在世界坐标系中的初始位姿确定的,所述初始位姿是基于所述当前图像帧和所述其他图像帧之间的光度误差确定的;
利用所述第二位姿,确定与所述其他图像帧中的第一特征点对应的空间点;
基于每个所述第一候选位姿和所述空间点从所述当前图像帧中确定与所述第一候选位姿对应的第二特征点,获取所述第一特征点与第二特征点的第一像素值差异,并基于所述第一像素值差异以及所述第二参考姿态与第一候选位姿之间的位姿差异,选择一所述第一候选位姿作为第一位姿。
12.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至10任一项所述的视觉定位方法。
13.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至10任一项所述的视觉定位方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110713164.9A CN113393505B (zh) | 2021-06-25 | 2021-06-25 | 图像配准方法、视觉定位方法及相关装置、设备 |
PCT/CN2021/121049 WO2022267257A1 (zh) | 2021-06-25 | 2021-09-27 | 图像配准方法、视觉定位方法、装置、设备、介质及程序 |
TW110143067A TW202301273A (zh) | 2021-06-25 | 2021-11-18 | 圖像配准方法、視覺定位方法、電子設備和電腦可讀儲存介質 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110713164.9A CN113393505B (zh) | 2021-06-25 | 2021-06-25 | 图像配准方法、视觉定位方法及相关装置、设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113393505A CN113393505A (zh) | 2021-09-14 |
CN113393505B true CN113393505B (zh) | 2023-11-03 |
Family
ID=77624135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110713164.9A Active CN113393505B (zh) | 2021-06-25 | 2021-06-25 | 图像配准方法、视觉定位方法及相关装置、设备 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN113393505B (zh) |
TW (1) | TW202301273A (zh) |
WO (1) | WO2022267257A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113393505B (zh) * | 2021-06-25 | 2023-11-03 | 浙江商汤科技开发有限公司 | 图像配准方法、视觉定位方法及相关装置、设备 |
CN113763437B (zh) * | 2021-09-16 | 2023-12-05 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN113847907B (zh) * | 2021-09-29 | 2024-09-13 | 深圳市慧鲤科技有限公司 | 定位方法及装置、设备、存储介质 |
CN116740651B (zh) * | 2023-08-11 | 2023-10-17 | 南京吾悦农业科技有限公司 | 基于智能决策的食用菌栽培监控方法及系统 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339658A (zh) * | 2008-08-12 | 2009-01-07 | 北京航空航天大学 | 航拍交通视频的快速鲁棒配准方法 |
CN105046644A (zh) * | 2015-07-06 | 2015-11-11 | 嘉恒医疗科技(上海)有限公司 | 基于线性相关性的超声与ct图像配准方法和系统 |
CN106874949A (zh) * | 2017-02-10 | 2017-06-20 | 华中科技大学 | 一种基于红外图像的动平台运动目标检测方法及系统 |
CN108550104A (zh) * | 2018-02-28 | 2018-09-18 | 北京集光通达科技股份有限公司 | 图像配准方法、装置 |
CN108629843A (zh) * | 2017-03-24 | 2018-10-09 | 成都理想境界科技有限公司 | 一种实现增强现实的方法及设备 |
CN108682038A (zh) * | 2018-04-27 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 位姿确定方法、装置及存储介质 |
CN109242951A (zh) * | 2018-08-06 | 2019-01-18 | 宁波盈芯信息科技有限公司 | 一种脸部实时三维重建方法 |
CN110310338A (zh) * | 2019-06-24 | 2019-10-08 | 西北工业大学 | 一种基于多中心投影模型的光场相机标定方法 |
CN110335317A (zh) * | 2019-07-02 | 2019-10-15 | 百度在线网络技术(北京)有限公司 | 基于终端设备定位的图像处理方法、装置、设备和介质 |
CN111327840A (zh) * | 2020-02-27 | 2020-06-23 | 努比亚技术有限公司 | 一种多帧特效视频获取方法、终端及计算机可读存储介质 |
CN111402221A (zh) * | 2020-03-11 | 2020-07-10 | 联想(北京)有限公司 | 一种图像处理方法、装置及电子设备 |
CN111445526A (zh) * | 2020-04-22 | 2020-07-24 | 清华大学 | 一种图像帧之间位姿的估计方法、估计装置和存储介质 |
CN111932595A (zh) * | 2020-09-24 | 2020-11-13 | 平安科技(深圳)有限公司 | 图像配准方法、装置、电子设备及存储介质 |
CN112435223A (zh) * | 2020-11-11 | 2021-03-02 | 马鞍山市瀚海云星科技有限责任公司 | 目标检测方法、装置及存储介质 |
CN112884840A (zh) * | 2021-03-29 | 2021-06-01 | 湖南国科微电子股份有限公司 | 一种视觉定位方法、装置、设备及存储介质 |
CN112907620A (zh) * | 2021-01-25 | 2021-06-04 | 北京地平线机器人技术研发有限公司 | 相机位姿的估计方法、装置、可读存储介质及电子设备 |
CN112991411A (zh) * | 2021-03-05 | 2021-06-18 | 浙江大华技术股份有限公司 | 图像配准方法和设备、存储介质 |
CN113012226A (zh) * | 2021-03-22 | 2021-06-22 | 浙江商汤科技开发有限公司 | 相机位姿的估计方法、装置、电子设备及计算机存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9858681B2 (en) * | 2014-10-27 | 2018-01-02 | Digimarc Corporation | Signal detection, recognition and tracking with feature vector transforms |
CN107747941B (zh) * | 2017-09-29 | 2020-05-15 | 歌尔股份有限公司 | 一种双目视觉定位方法、装置及系统 |
CN110728705B (zh) * | 2019-09-24 | 2022-07-15 | Oppo广东移动通信有限公司 | 图像处理方法、装置、存储介质及电子设备 |
CN111932587B (zh) * | 2020-08-03 | 2024-09-03 | Oppo广东移动通信有限公司 | 图像处理方法和装置、电子设备、计算机可读存储介质 |
CN113393505B (zh) * | 2021-06-25 | 2023-11-03 | 浙江商汤科技开发有限公司 | 图像配准方法、视觉定位方法及相关装置、设备 |
-
2021
- 2021-06-25 CN CN202110713164.9A patent/CN113393505B/zh active Active
- 2021-09-27 WO PCT/CN2021/121049 patent/WO2022267257A1/zh active Application Filing
- 2021-11-18 TW TW110143067A patent/TW202301273A/zh unknown
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339658A (zh) * | 2008-08-12 | 2009-01-07 | 北京航空航天大学 | 航拍交通视频的快速鲁棒配准方法 |
CN105046644A (zh) * | 2015-07-06 | 2015-11-11 | 嘉恒医疗科技(上海)有限公司 | 基于线性相关性的超声与ct图像配准方法和系统 |
CN106874949A (zh) * | 2017-02-10 | 2017-06-20 | 华中科技大学 | 一种基于红外图像的动平台运动目标检测方法及系统 |
CN108629843A (zh) * | 2017-03-24 | 2018-10-09 | 成都理想境界科技有限公司 | 一种实现增强现实的方法及设备 |
CN108550104A (zh) * | 2018-02-28 | 2018-09-18 | 北京集光通达科技股份有限公司 | 图像配准方法、装置 |
CN108682038A (zh) * | 2018-04-27 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 位姿确定方法、装置及存储介质 |
CN109242951A (zh) * | 2018-08-06 | 2019-01-18 | 宁波盈芯信息科技有限公司 | 一种脸部实时三维重建方法 |
CN110310338A (zh) * | 2019-06-24 | 2019-10-08 | 西北工业大学 | 一种基于多中心投影模型的光场相机标定方法 |
CN110335317A (zh) * | 2019-07-02 | 2019-10-15 | 百度在线网络技术(北京)有限公司 | 基于终端设备定位的图像处理方法、装置、设备和介质 |
CN111327840A (zh) * | 2020-02-27 | 2020-06-23 | 努比亚技术有限公司 | 一种多帧特效视频获取方法、终端及计算机可读存储介质 |
CN111402221A (zh) * | 2020-03-11 | 2020-07-10 | 联想(北京)有限公司 | 一种图像处理方法、装置及电子设备 |
CN111445526A (zh) * | 2020-04-22 | 2020-07-24 | 清华大学 | 一种图像帧之间位姿的估计方法、估计装置和存储介质 |
CN111932595A (zh) * | 2020-09-24 | 2020-11-13 | 平安科技(深圳)有限公司 | 图像配准方法、装置、电子设备及存储介质 |
CN112435223A (zh) * | 2020-11-11 | 2021-03-02 | 马鞍山市瀚海云星科技有限责任公司 | 目标检测方法、装置及存储介质 |
CN112907620A (zh) * | 2021-01-25 | 2021-06-04 | 北京地平线机器人技术研发有限公司 | 相机位姿的估计方法、装置、可读存储介质及电子设备 |
CN112991411A (zh) * | 2021-03-05 | 2021-06-18 | 浙江大华技术股份有限公司 | 图像配准方法和设备、存储介质 |
CN113012226A (zh) * | 2021-03-22 | 2021-06-22 | 浙江商汤科技开发有限公司 | 相机位姿的估计方法、装置、电子设备及计算机存储介质 |
CN112884840A (zh) * | 2021-03-29 | 2021-06-01 | 湖南国科微电子股份有限公司 | 一种视觉定位方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
Automatic Calibration for Road Side Lidar and Camera Using Planar Target;Wang Qiuyuan 等;《SAE Technical Papers》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2022267257A1 (zh) | 2022-12-29 |
TW202301273A (zh) | 2023-01-01 |
CN113393505A (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113393505B (zh) | 图像配准方法、视觉定位方法及相关装置、设备 | |
CN113409391B (zh) | 视觉定位方法及相关装置、设备和存储介质 | |
JP6464934B2 (ja) | カメラ姿勢推定装置、カメラ姿勢推定方法およびカメラ姿勢推定プログラム | |
US11843865B2 (en) | Method and device for generating vehicle panoramic surround view image | |
EP3547256A1 (en) | Extracting a feature descriptor for an image feature | |
CN113409372B (zh) | 图像配准方法及相关装置、设备和存储介质 | |
JP6515039B2 (ja) | 連続的な撮影画像に映り込む平面物体の法線ベクトルを算出するプログラム、装置及び方法 | |
JP5833507B2 (ja) | 画像処理装置 | |
JP2019190974A (ja) | キャリブレーション装置、キャリブレーション方法、及びプログラム | |
CN112102404B (zh) | 物体检测追踪方法、装置及头戴显示设备 | |
JP6662382B2 (ja) | 情報処理装置および方法、並びにプログラム | |
CN113407030B (zh) | 视觉定位方法及相关装置、设备和存储介质 | |
CN113744307A (zh) | 一种基于阈值动态调整的图像特征点跟踪方法和系统 | |
CN109785373A (zh) | 一种基于散斑的六自由度位姿估计系统及方法 | |
WO2011048497A2 (en) | Computer vision based hybrid tracking for augmented reality in outdoor urban environments | |
CN114882106A (zh) | 位姿确定方法和装置、设备、介质 | |
CN112750164B (zh) | 轻量化定位模型的构建方法、定位方法、电子设备 | |
JP6086491B2 (ja) | 画像処理装置およびそのデータベース構築装置 | |
CN113570667B (zh) | 视觉惯导补偿方法、装置及存储介质 | |
CN113947686A (zh) | 一种图像的特征点提取阈值动态调整方法和系统 | |
CN113409365B (zh) | 图像处理方法及相关终端、设备和存储介质 | |
JP6835665B2 (ja) | 情報処理装置及びプログラム | |
CN113409373B (zh) | 图像处理方法及相关终端、设备和存储介质 | |
JP7262689B1 (ja) | 情報処理装置、生成方法、及び生成プログラム | |
CN112884047B (zh) | 在输入图像中确定注册图像的方法及相关装置、设备 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40050042 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |