CN113129451B - 基于双目视觉定位的全息三维影像空间定量投影方法 - Google Patents
基于双目视觉定位的全息三维影像空间定量投影方法 Download PDFInfo
- Publication number
- CN113129451B CN113129451B CN202110278046.XA CN202110278046A CN113129451B CN 113129451 B CN113129451 B CN 113129451B CN 202110278046 A CN202110278046 A CN 202110278046A CN 113129451 B CN113129451 B CN 113129451B
- Authority
- CN
- China
- Prior art keywords
- coordinate system
- marker
- hololens
- pose
- model
- 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 61
- 239000003550 marker Substances 0.000 claims abstract description 145
- 230000000007 visual effect Effects 0.000 claims abstract description 23
- 238000012937 correction Methods 0.000 claims abstract description 15
- 239000011159 matrix material Substances 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000000694 effects Effects 0.000 claims description 14
- 230000003287 optical effect Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 239000013598 vector Substances 0.000 claims description 11
- 238000010146 3D printing Methods 0.000 claims description 8
- 230000003190 augmentative effect Effects 0.000 claims description 8
- 241000287196 Asthenes Species 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 6
- 230000004927 fusion Effects 0.000 claims description 5
- 238000009877 rendering Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 claims description 4
- 238000007476 Maximum Likelihood Methods 0.000 claims description 3
- 239000012482 calibration solution Substances 0.000 claims description 3
- 238000013499 data model Methods 0.000 claims description 3
- 238000000354 decomposition reaction Methods 0.000 claims description 3
- 230000008030 elimination Effects 0.000 claims description 3
- 238000003379 elimination reaction Methods 0.000 claims description 3
- 230000005484 gravity Effects 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 3
- 230000002441 reversible effect Effects 0.000 claims description 3
- 238000006467 substitution reaction Methods 0.000 claims description 3
- 230000035945 sensitivity Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012706 support-vector machine Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- 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
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
基于双目视觉定位的全息三维影像空间定量投影方法,包括:(1)视觉标记物识别、(2)HoloLens标定、(3)HoloLens显示及(4)HoloLens标定校正四个步骤。本发明的方法适用于复杂的环境中,噪声敏感度低,对Marker具有良好的辨识度;基于机器人手眼标定原理,利用双目相机和Marker辅助标定HoloLens局部坐标系,将虚拟空间与真实空间相互联系,为定量投影全息三维影像奠定基础;全息三维影像空间投影精准,具有良好的实时性和稳定性;具有良好的移植性,应用场景广泛。
Description
技术领域
本发明属于增强现实技术领域,尤其涉及一种基于双目视觉定位的全息三维影像空间定量投影方法。
背景技术
目前市场上先进的增强现实设备是Microsoft公司推出的HoloLens设备,现有与增强现实相关的研究与应用多数都是基于HoloLens设备。HoloLens是一款混合现实头戴式显示器,是第一款运行Windows 10操作系统的全息计算设备。HoloLens基于光学透视原理,仿照人眼自然成像方式,为用户营造沉浸式的舒适观看体验。HoloLens上有多个空间摄像头和传感器元件,不断地对周围环境扫描,通过即时定位与地图构建(SimultaneousLocalization and Mapping, SLAM)技术进行空间实时定位。HoloLens还具备语音、手势等多种交互功能,拥有先进的行业解决方案,并提供优秀的沉浸感体验。
开发者利用Unity等平台开发全息应用并部署于HoloLens设备中,当HoloLens启动全息应用时,会创建一个固定参考系(Stationary frame of reference),该坐标系是虚拟场景下的世界坐标系,伴随在全息应用的整个运行生命周期中,并保持其建立之初的定义而固定在真实空间中,所有的全息影像模型的位姿描述和渲染均基于此世界坐标系。除了固定参考系外,HoloLens还会创建一个用于表征设备自身位姿的附加参考系(Attachedframe of reference),该坐标系是虚拟场景下的局部坐标系,位于设备的主摄像头附近,通过HoloLens设备中的摄像头、陀螺仪等传感元件感知设备的旋转和平移,进而实时更新固定参考系。
简单举例来说,开发全息应用时将一个3D模型导入程序中,设置其位置为(1m,1m,1m),在HoloLens中运行该全息应用时,3D模型的全息影像将显示在相对虚拟场景世界坐标系(1m, 1m,1m)的位置,旋转姿态同理。即使用户四周走动,由于虚拟场景世界坐标系相对真实空间是固定的,所以全息影像相对真实世界的位置始终不变,仿佛全息影像放置于真实空间中一样,达到了虚实融合的效果。
但是,通常开发者无法知道虚拟场景中世界坐标系在真实空间的具体参考位置,如何将虚拟空间与真实空间准确联系起来,是空间定量投影的核心问题。尤其在涉及使用HoloLens的全息影像进行定量操作的引导时,例如增强现实手术导航、远程操作协助等,需要将全息影像与实物精准融合配准,从而实现精密操作可视化。
现有研究利用HoloLens提供的语音、手势等交互功能,人工手动调整全息影像的位置姿态,不仅操作不方便,耗费时间长,且无法保证投影精度,难以实际推广应用。
发明内容
针对上述不足,本发明提出了一种基于双目视觉定位的全息三维影像空间定量投影方法,通过双目视觉系统识别视觉标志物,并对HoloLens设备进行标定,建立双目相机坐标系与 HoloLens坐标系之间的映射关系,然后在双目相机坐标系所表征的真实空间中指定位置和姿态,本方法可以将HoloLens产生的全息三维影像准确定量地投影在对应位置,可以应用于手术导航等领域。
本发明的实施例提供一种基于双目视觉定位的全息三维影像空间定量投影方法,所述方法包括:(1)视觉标记物识别、(2)HoloLens标定、(3)HoloLens显示及(4)HoloLens标定校正四个步骤。
根据本发明的一种实施方式,例如,所述(1)视觉标记物识别包括:
空间立体定位需要选择合适的特征点组成视觉标记物,所述视觉标记物简称Marker, Marker一般采用采用辨识度高、易于制作且抗干扰能力强的X角点作为特征点;
利用双目相机获取X角点的三维位置信息,采用至少三个不共线X角点组成一个Marker,建立一个三维空间坐标系,进而表征真实空间中目标的位置和姿态信息;优选的,采用4个不共线X角点组成一个Marker;
注册Marker模板,对于每一个Marker,其X角点数量及X角点间的相对位置始终固定,利用这一特点,在注册Marker时定义其坐标系并将此时各角点在此坐标系下的坐标保存下来,在后续再识别时,可以通过匹配先前注册的Marker模板,继续按照初始定义的坐标系描述 Marker的位姿;
首先获取各X角点相对于双目相机坐标系的坐标位置,指定4个X角点组成的四边形重心为原点O,对点坐标相减获得的向量进行正交化及求外积,获得Marker坐标系三个坐标轴正方向的向量及对三个向量进行单位化,并将Marker坐标系相对于双目相机坐标系的转换关系记为则有:
对Marker进行识别,步骤如下:首先,获取所有X角点相对于双目相机坐标系的坐标位置;使用求出的三维坐标,对X角点两两之间计算距离;计算模板中前三个点两两之间的距离;在由X角点距离组成的集合中寻找与模板三个距离中任意两个匹配的元素,得出对应的三个候选X角点;依据已有的候选X角点求解剩余的角点,并验证所求得的所有角点是否完全与 Marker模板一致;其中,在距离匹配的过程中,考虑实际可能存在的多种误差,只要距离之差小于设定阈值,即认为二者匹配成功;
假设Marker含有N个X角点,分别构造3×N矩阵X=(x1,...,xN)与 Y=(y1,...,yN),其中,x1,...,xN分别表示Marker模板下N个X角点的坐标, y1,...,yN分别表示与模板成功匹配的N个X角点在双目相机坐标系的坐标,则Marker位姿的确定需要求解R、t,使得对于任意i∈(1,N),均满足:
yi=Rxi+t
考虑误差影响,该问题转化为最小化问题:
对M做奇异值分解:M=UDVT。
并令:
其中,Det(UVT)是UVT的行列式,则可以计算得出:R=USVT。
最终,Marker在双目相机坐标系下的位姿矩阵为:
即完成了Marker的位姿计算。
根据本发明的一种实施方式,例如,所述(2)HoloLens标定包括:
采用双目相机和视觉标记物Marker辅助标定HoloLens的局部坐标系与HoloLens上固定的视觉Marker坐标系之间的关系,HoloLens虚拟场景中的世界坐标系和局部坐标系分别记为 CHG和CHL,由双目相机表征真实空间中的坐标系,记为CC,HoloLens设备上固定一个由 4个X角点组成的Marker,记为CHM。
HoloLens标定包括数据采集和数据处理两部分。数据采集时,固定双目相机,并与计算机相连,将HoloLens静置于双目相机视野下,利用步骤(1)中的方法计算出HoloLens上Marker 坐标系相对于双目相机坐标系的位姿,记为同时计算机通过无线网络与HoloLens通信,从设备程序接口中获取HoloLens全息应用虚拟场景中局部坐标系CHL相对于世界坐标系 CHG的位姿,记为改变HoloLens在双目相机视野下的位姿,重复以上步骤,获取多组位姿数据,其中记标定需要解算的Marker坐标系相对于HoloLens局部坐标系的位姿为双目相机坐标系相对于虚拟世界坐标系的位姿为
数据采集完成后,进行数据处理,对于任意一组位姿数据i∈(1,N),均满足:
上述计算过程中未考虑坐标系定义问题,按照定义可分为左手坐标系和右手坐标系,虚拟场景中的世界坐标系和局部坐标系都是按照左手坐标系定义,而双目相机坐标系和Marker 坐标系按照右手坐标系定义,因此存在左右手坐标系转换问题;
为统一坐标系定义,需要将HoloLens两个坐标系转化为右手坐标系描述,X、Y、Z轴分别为左手坐标系的三个坐标轴,将左手坐标系的任一坐标轴反向,即可获得一个与左手坐标系固连的右手坐标系,其三个坐标轴分别为X'、Y'、Z';
对HoloLens虚拟场景中的世界坐标系和局部坐标系均做X轴反向处理建立与其固连的右手坐标系,分别记为C'HG和C'HL,因此上述数据处理过程中的实际代入计算应为固连的右手坐标系之间的相对位姿且相应的,标定求解得到的结果为Marker坐标系相对于与局部坐标系固连的右手坐标系位姿实际需要使用的Marker坐标系相对于局部坐标系的位姿为
根据本发明的一种实施方式,例如,所述(3)HoloLens显示包括:
HoloLens基于光学透视的原理实现增强现实效果,全息应用启动后,定位跟踪模块实时获取设备定位信息,场景渲染模块计算当前视角下需要显示的虚拟图像,光引擎输出对应光线,并投射到光波导半透镜内,经波导传播后射入人眼,而真实世界光直接通过光波导半透镜射入人眼,两种光线在人眼内融合后达到虚实融合的效果;
HoloLens的全息应用程序在Unity平台下完成开发,其虚拟模型数据源来自于Unity中导入的模型资源,空间定量投影显示模型需要将Unity中的虚拟模型与真实空间中的具体位置联系起来,求解得到虚拟模型相对虚拟场景世界坐标系的位姿,从而通过微软官方提供的模型显示接口将虚拟模型显示在相应的位置;
HoloLens显示过程中坐标系及相互转换关系如图7所示;记HoloLens虚拟场景中的虚拟世界坐标系为CHG,虚拟局部坐标系为CHL,固定的Marker坐标系为CHM;双目相机坐标系为CC,颈部CT模型坐标系为CCT,3D打印颈部模型上固定的模型Marker坐标系为CNM,导入Unity中的颈部虚拟模型坐标系为CNU;其中,CNU、CHL和CHG为左手坐标系,其余为右手坐标系,最终需要获得CNU相对于CHG的位姿
HoloLens设备中通过微软官方提供的接口实时获取局部坐标系相对于世界坐标系的位姿在步骤(2)中,通过标定HoloLens局部坐标系,最终获得了CHM相对于CHL的位姿 和利用步骤(1)中提到的方法由双目相机识别对应Marker直接得到;通过点云配准方法获得3D打印颈部模型上固定的Marker坐标系相对颈部CT模型坐标系当将颈部CT数据模型导入Unity平台时,Unity会自动将模型的所有点的X坐标取为相反数以适应Unity的左手坐标系环境,因此CNU相对于CCT的位姿为
因此,最终可以求得CNU相对于CHG的位姿,由下式计算:
将该位姿数据通过无线网络通信实时发送给HoloLens,HoloLens据此更新显示虚拟模型,即可实现颈部模型的空间定量投影显示。
根据本发明的一种实施方式,例如,所述(4)HoloLens标定校正包括:
利用标定方块辅助校正,标定方块形状规整、特征点明显,利用步骤(3)的显示原理,结合双目视觉完成对标定结果的校正;
相对于此前已有的方法,本发明的方案具有以下优点:
1)本发明的方法适用于复杂的环境中,噪声敏感度低,对Marker具有良好的辨识度。 Marker采用辨识度高、易于制作且抗干扰能力强的X角点作为特征点,组成结构简单,可以方便地贴在目标表面或制作Marker支架与目标固连,进而表征真实空间中目标的位置和姿态信息。通过注册Marker的方式稳定建立坐标系,识别时利用X角点间距离完成匹配,识别精度高、耗时短,具有很好的适应性。
2)本发明基于机器人手眼标定原理,利用双目相机和Marker辅助标定HoloLens局部坐标系,将虚拟空间与真实空间相互联系,为定量投影全息三维影像奠定基础。HoloLens局部坐标系相对设备自身是固定不动的,通过标定得到其局部坐标系与设备上固连的Marker转换关系后,可以在多个应用场景下重复使用标定结果,具有较好的鲁棒性。
3)本发明中全息三维影像空间投影精准,具有良好的实时性和稳定性。利用双目相机定位真实空间中目标位置,计算机与HoloLens设备无线通信,可以准确地将全息三维影像投影在相应的位置,达到虚实融合的效果。计算机实时处理数据能力高,显示过程中可以保证良好的实时性和稳定性。
4)本发明具有良好的移植性,应用场景广泛。在涉及将虚拟模型与真实场景相配合时均可以采用本发明的方法,如增强现实手术导航、远程操作协助等,需要将全息影像与实物精准融合配准,实现精密操作可视化。
附图说明
图1是X角点示意图。
图2是双目相机及4个X角点组成的Marker。
图3是HoloLens固定视觉标记物Marker侧视图及正视图。
图4是标定过程中坐标系及相互转换关系示意图。
图5是左右手坐标系转化关系图。
图6是HoloLens显示原理示意图。
图7是显示过程坐标系及相互关系转换示意图。
图8是颈部模型的空间定量投影显示示意图之一。
图9是颈部模型的空间定量投影显示示意图之二。
图10是标定方块模型示意图。
图11是初始显示效果示意图。
图12是微调显示效果示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。但本领域技术人员知晓,本发明并不局限于附图和以下实施例。
在发明的描述中,需要说明的是,对于方位词,如术语“长度”、“宽度”、“上”、“下”、“远”、“近”等所指示的方位或位置关系是基于附图所示的方位或位置关系,仅是为了便于叙述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定方位构造和操作,不能理解为限制本发明的具体保护范围。此外,术语“第一”、“第二”仅用于描述目的,用以区别技术特征,不具有实质含义,不能理解为指示或暗示相对重要性或隐含指明技术特征的数量。
本发明的实施例提供一种基于双目视觉定位的全息三维影像空间定量投影方法,所述方法主要包括视觉标记物识别、HoloLens标定、HoloLens显示及HoloLens标定校正四个步骤。
(1)视觉标记物识别
空间立体定位需要选择合适的特征点组成视觉标记物(简称Marker),一般采用采用辨识度高、易于制作且抗干扰能力强的X角点作为特征点,如图1所示。
利用双目相机可以获取X角点的三维位置信息,通常的X角点提取方法为:首先采集多张含X角点的图片样本,对其进行灰度化和高斯滤波等操作后,计算图片中各个像素的响应值,根据响应值对像素进行阈值过滤得到候选点。然后使用U-SURF特征提取方法提取各候选点特征,人工标记X角点位置得到标签向量,将特征和标签向量作为输入对支持向量机(Support Vector Machine,简称SVM)分类器进行训练。最后利用训练好的SVM分类器预测图片中X角点所在的像素点,并进行亚像素级定位,完成X角点提取。该方法在复杂场景下识别精度高、耗时短,对噪声的敏感度低,并且具有良好的移植性。
但是,单个X角点无法表示真实空间的姿态信息,本发明实施例采用至少三个不共线X角点组成一个Marker,建立一个三维空间坐标系,进而表征真实空间中目标的位置和姿态信息。在一个优选的实施例中,由4个不共线X角点组成一个Marker。所述由4个不共线X角点组成的 Marker如图2所示(其中,1为双目相机,2为Marker)。
为了防止目标处于不同位姿时,各X角点在双目相机图像中的相对位置发生改变而带来 Marker坐标系描述不一致的情况,应当采用适当的方法保证所建立坐标系的稳定性,即Marker 坐标系的定义应当具有缩放及旋转不变性。本发明的实施例通过注册Marker模板的方式解决这一问题。对于每一个Marker,其X角点数量及X角点间的相对位置始终固定,利用这一特点,在注册Marker时定义其坐标系并将此时各角点在此坐标系下的坐标保存下来。在后续再识别时,可以通过匹配先前注册的Marker模板,继续按照初始定义的坐标系描述Marker的位姿。
首先根据上述X角点提取方法获取各X角点相对于双目相机坐标系的坐标位置。指定4个 X角点组成的四边形重心为原点O,对点坐标相减获得的向量进行正交化及求外积,获得 Marker坐标系三个坐标轴正方向的向量及对三个向量进行单位化,并将Marker坐标系相对于双目相机坐标系的转换关系记为则有:
使用Marker表征空间位姿时需要对Marker进行识别,最简单的方法是计算Marker模板中所有点对的距离并在检测到的角点中寻找距离相对关系与模板一致的角点,但此方法时间复杂度太高。实际上3个X角点已经足够确定坐标系,因此可以对上述方法进行优化,本发明实施例所采用的具体步骤如下:
首先,根据上述X角点提取方法获取所有X角点相对于双目相机坐标系的坐标位置;使用求出的三维坐标,对X角点两两之间计算距离;计算模板中前三个点两两之间的距离;在由X 角点距离组成的集合中寻找与模板三个距离中任意两个匹配的元素,得出对应的三个候选X 角点;依据已有的候选X角点求解剩余的角点,并验证所求得的所有角点是否完全与Marker模板一致。其中,在距离匹配的过程中,考虑实际可能存在的多种误差,只要距离之差小于设定阈值,即认为二者匹配成功。
假设Marker含有N个X角点,分别构造3×N矩阵X=(x1,...,xN)与 Y=(y1,...,yN),其中,x1,...,xN分别表示Marker模板下N个X角点的坐标,y1,...,yN分别表示与模板成功匹配的N个X角点在双目相机坐标系的坐标,则Marker位姿的确定需要求解R、t,使得对于任意i∈(1,N),均满足:
yi=Rxi+t
考虑误差影响,该问题转化为最小化问题:
对M做奇异值分解:M=UDVT。
并令:
其中,Det(UVT)是UVT的行列式,则可以计算得出:R=USVT。
最终,Marker在双目相机坐标系下的位姿矩阵为:
即完成了Marker的位姿计算。
(2)HoloLens标定
HoloLens标定指的是通过一定的方法获得HoloLens虚拟空间中的坐标系与真实空间中的坐标系(本发明中的相机坐标系)之间的转换关系,从而将虚拟场景与真实空间联系起来,为在真实空间中定量投影全息三维影像奠定基础。但是由于每次运行全息应用时所建立的虚拟场景世界坐标系在真实环境中的参考位置并不一致,而局部坐标系相对HoloLens设备自身是固定不动的,因此本发明的实施例在本步骤中采用双目相机和视觉标记物Marker辅助标定 HoloLens的局部坐标系与HoloLens上固定的视觉Marker坐标系之间的关系。这样做的优点是:无需每次应用时都重新标定,因为HoloLen局部坐标系和视觉Marker坐标系之间是固定不变的。
HoloLens虚拟场景中的世界坐标系和局部坐标系分别记为CHG和CHL。由双目相机表征真实空间中的坐标系,记为CC。HoloLens设备上固定一个由4个X角点组成的Marker,记为 CHM,如图3所示。
HoloLens标定包括数据采集和数据处理两部分。数据采集时,固定双目相机,并与计算机相连,将HoloLens静置于双目相机视野下,利用步骤(1)中的方法计算出HoloLens上Marker 坐标系相对于双目相机坐标系的位姿,记为同时计算机通过无线网络与HoloLens通信,从设备程序接口中获取HoloLens全息应用虚拟场景中局部坐标系CHL相对于世界坐标系 CHG的位姿,记为改变HoloLens在双目相机视野下的位姿,重复以上步骤,获取多组位姿数据。各坐标系及相互转换关系如图4所示,其中记标定需要解算的Marker坐标系相对于 HoloLens局部坐标系的位姿为双目相机坐标系相对于虚拟世界坐标系的位姿为图4中,10代表双目相机坐标系,11代表虚拟世界坐标系,12代表虚拟局部坐标系,13代表 Marker坐标系。
数据采集完成后,进行数据处理。对于任意一组位姿数据i∈(1,N),均满足:
上述计算过程中未考虑坐标系定义问题,按照定义可分为左手坐标系和右手坐标系,虚拟场景中的世界坐标系和局部坐标系都是按照左手坐标系定义,而双目相机坐标系和Marker 坐标系按照右手坐标系定义,因此存在左右手坐标系转换问题。
为统一坐标系定义,需要将HoloLens两个坐标系转化为右手坐标系描述。如图5所示,X、 Y、Z轴分别为左手坐标系的三个坐标轴,将左手坐标系的任一坐标轴(此处为X轴)反向,即可获得一个与左手坐标系固连的右手坐标系,其三个坐标轴分别为X'、Y'、Z'。
对HoloLens虚拟场景中的世界坐标系和局部坐标系均做X轴反向处理建立与其固连的右手坐标系,分别记为C'HG和C'HL。因此上述数据处理过程中的实际代入计算应为固连的右手坐标系之间的相对位姿且相应的,标定求解得到的结果为Marker坐标系相对于与局部坐标系固连的右手坐标系位姿实际需要使用的Marker坐标系相对于局部坐标系的位姿为
(3)HoloLens显示
HoloLens基于光学透视的原理实现增强现实效果,全息应用启动后,定位跟踪模块实时获取设备定位信息,场景渲染模块计算当前视角下需要显示的虚拟图像,光引擎输出对应光线,并投射到光波导半透镜内,经波导传播后射入人眼,而真实世界光可直接通过光波导半透镜射入人眼,两种光线在人眼内融合后可以达到虚实融合的效果。原理如图6所示,其中, 20代表人眼,21代表真实世界光,22代表光波导,23代表光引擎,24代表虚拟图像,25代表定位跟踪模块,26代表定位信息,27代表场景渲染模块。
HoloLens的全息应用程序在Unity平台下完成开发,其虚拟模型数据源来自于Unity中导入的模型资源。因此,空间定量投影显示模型实际要解决的问题是将Unity中的虚拟模型与真实空间中的具体位置联系起来,进一步地,是求解得到虚拟模型相对虚拟场景世界坐标系的位姿,从而通过微软官方提供的模型显示接口将虚拟模型显示在相应的位置。本发明实施例提供的方法以颈部模型为例,将颈部虚拟模型定量投影显示在真实3D打印模型上,使二者完全重合,从而达到真实空间定量投影的效果。
HoloLens显示过程中坐标系及相互转换关系如图7所示(30代表Marker坐标系,31代表双目相机坐标系,32代表模型Marker坐标系,33代表CT模型坐标系,34代表虚拟模型坐标系, 35代表虚拟世界坐标系,36代表虚拟局部坐标系)。其中,记HoloLens虚拟场景中的虚拟世界坐标系为CHG,虚拟局部坐标系为CHL,固定的Marker坐标系为CHM;双目相机坐标系为CC,颈部CT模型坐标系为CCT,3D打印颈部模型上固定的模型Marker坐标系为CNM,导入Unity中的颈部虚拟模型坐标系为CNU。其中,CNU、CHL和CHG为左手坐标系,其余为右手坐标系,最终需要获得CNU相对于CHG的位姿
HoloLens设备中可以通过微软官方提供的接口实时获取局部坐标系相对于世界坐标系的位姿在步骤(2)中,通过标定HoloLens局部坐标系,最终获得了CHM相对于CHL的位姿 和可利用步骤(1)中提到的方法由双目相机识别对应Marker直接得到。通过点云配准方法可以获得3D打印颈部模型上固定的Marker坐标系相对颈部CT模型坐标系当将颈部CT数据模型导入Unity平台时,Unity会自动将模型的所有点的X坐标取为相反数以适应Unity的左手坐标系环境,因此CNU相对于CCT的位姿为
因此,最终可以求得CNU相对于CHG的位姿,由下式计算:
(4)HoloLens标定校正。
HoloLens标定过程中,由于设备传感器数据的更新以及周围环境因素(如管线变化、动态物体等)的影响,HoloLens对于周围环境的认知可能会发生变化,进而导致虚拟场景中世界坐标系的漂移。另外,数据采集过程中,由于无线网络信号问题或HoloLens设备处理繁忙导致数据传输的延迟。以上因素都会导致最终标定结果产生一定误差,因此还需要对标定结果进行校正。
虚拟模型显示误差主要来自标定误差和配准误差,当配准误差极小时,显示误差可用于校正标定结果。为了使配准误差降到最低,同时为了便于人眼观察虚拟模型与真实模型重合程度,本发明的实施例利用标定方块(如图10所示)辅助校正,标定方块形状规整、特征点明显,使用常规的配准方法即可将配准误差降至0.5mm以下。利用步骤(3)的显示原理,本步骤结合双目视觉完成对标定结果的校正。
Claims (4)
1.一种基于双目视觉定位的全息三维影像空间定量投影方法,其特征在于,所述方法包括:(1)视觉标记物识别、(2)HoloLens标定、(3)HoloLens显示及(4)HoloLens标定校正四个步骤;所述(1)视觉标记物识别包括:
空间立体定位需要选择合适的特征点组成视觉标记物,所述视觉标记物简称Marker,Marker采用辨识度高、易于制作且抗干扰能力强的X角点作为特征点;
利用双目相机获取X角点的三维位置信息,采用至少三个不共线X角点组成一个Marker,建立一个三维空间坐标系,进而表征真实空间中目标的位置和姿态信息;采用4个不共线X角点组成一个Marker;
注册Marker模板,对于每一个Marker,其X角点数量及X角点间的相对位置始终固定,利用这一特点,在注册Marker时定义其坐标系并将此时各角点在此坐标系下的坐标保存下来,在后续再识别时,通过匹配先前注册的Marker模板,继续按照初始定义的坐标系描述Marker的位姿;
首先获取各X角点相对于双目相机坐标系的坐标位置,指定4个X角点组成的四边形重心为原点O,对点坐标相减获得的向量进行正交化及求外积,获得Marker坐标系三个坐标轴正方向的向量及对三个向量进行单位化,并将Marker坐标系相对于双目相机坐标系的转换关系记为则有:
对Marker进行识别,步骤如下:首先,获取所有X角点相对于双目相机坐标系的坐标位置;使用求出的三维坐标,对X角点两两之间计算距离;计算模板中前三个点两两之间的距离;在由X角点距离组成的集合中寻找与模板三个距离中任意两个匹配的元素,得出对应的三个候选X角点;依据已有的候选X角点求解剩余的角点,并验证所求得的所有角点是否完全与Marker模板一致;其中,在距离匹配的过程中,考虑实际可能存在的多种误差,只要距离之差小于设定阈值,即认为二者匹配成功;
假设Marker含有N个X角点,分别构造3×N矩阵X=(x1,...,xN)与Y=(y1,...,yN),其中,x1,...,xN分别表示Marker模板下N个X角点的坐标,y1,...,yN分别表示与模板成功匹配的N个X角点在双目相机坐标系的坐标,则Marker位姿的确定需要求解R、t,使得对于任意i∈(1,N),均满足:
yi=Rxi+t
考虑误差影响,该问题转化为最小化问题:
对M做奇异值分解:M=UDVT,
并令:
其中,Det(UVT)是UVT的行列式,则能够计算得出:R=USVT,
最终,Marker在双目相机坐标系下的位姿矩阵为:
即完成了Marker的位姿计算。
2.根据权利要求1所述的基于双目视觉定位的全息三维影像空间定量投影方法,其特征在于,所述(2)HoloLens标定包括:
采用双目相机和视觉标记物Marker辅助标定HoloLens的局部坐标系与HoloLens上固定的视觉Marker坐标系之间的关系,HoloLens虚拟场景中的世界坐标系和局部坐标系分别记为CHG和CHL,由双目相机表征真实空间中的坐标系,记为CC,HoloLens设备上固定一个由4个X角点组成的Marker,记为CHM;
HoloLens标定包括数据采集和数据处理两部分,数据采集时,固定双目相机,并与计算机相连,将HoloLens静置于双目相机视野下,利用步骤(1)中的方法计算出HoloLens上Marker坐标系相对于双目相机坐标系的位姿,记为同时计算机通过无线网络与HoloLens通信,从设备程序接口中获取HoloLens全息应用虚拟场景中局部坐标系CHL相对于世界坐标系CHG的位姿,记为改变HoloLens在双目相机视野下的位姿,重复以上步骤,获取多组位姿数据,其中记标定需要解算的Marker坐标系相对于HoloLens局部坐标系的位姿为双目相机坐标系相对于虚拟世界坐标系的位姿为
数据采集完成后,进行数据处理,对于任意一组位姿数据i∈(1,N),均满足:
上述计算过程中未考虑坐标系定义问题,按照定义可分为左手坐标系和右手坐标系,虚拟场景中的世界坐标系和局部坐标系都是按照左手坐标系定义,而双目相机坐标系和Marker坐标系按照右手坐标系定义,因此存在左右手坐标系转换问题;
为统一坐标系定义,需要将HoloLens两个坐标系转化为右手坐标系描述,X、Y、Z轴分别为左手坐标系的三个坐标轴,将左手坐标系的任一坐标轴反向,即可获得一个与左手坐标系固连的右手坐标系,其三个坐标轴分别为X'、Y'、Z';
3.根据权利要求1或2所述的基于双目视觉定位的全息三维影像空间定量投影方法,其特征在于,所述(3)HoloLens显示包括:
HoloLens基于光学透视的原理实现增强现实效果,全息应用启动后,定位跟踪模块实时获取设备定位信息,场景渲染模块计算当前视角下需要显示的虚拟图像,光引擎输出对应光线,并投射到光波导半透镜内,经波导传播后射入人眼,而真实世界光直接通过光波导半透镜射入人眼,两种光线在人眼内融合后达到虚实融合的效果;
HoloLens的全息应用程序在Unity平台下完成开发,其虚拟模型数据源来自于Unity中导入的模型资源,空间定量投影显示模型需要将Unity中的虚拟模型与真实空间中的具体位置联系起来,求解得到虚拟模型相对虚拟场景世界坐标系的位姿,从而通过微软官方提供的模型显示接口将虚拟模型显示在相应的位置;
HoloLens显示过程,记HoloLens虚拟场景中的虚拟世界坐标系为CHG,虚拟局部坐标系为CHL,固定的Marker坐标系为CHM;双目相机坐标系为CC,颈部CT模型坐标系为CCT,3D打印颈部模型上固定的模型Marker坐标系为CNM,导入Unity中的颈部虚拟模型坐标系为CNU;其中,CNU、CHL和CHG为左手坐标系,其余为右手坐标系,最终需要获得CNU相对于CHG的位姿
HoloLens设备中通过微软官方提供的接口实时获取局部坐标系相对于世界坐标系的位姿在步骤(2)中,通过标定HoloLens局部坐标系,最终获得了CHM相对于CHL的位姿 和利用步骤(1)中提到的方法由双目相机识别对应Marker直接得到;通过点云配准方法获得3D打印颈部模型上固定的Marker坐标系相对颈部CT模型坐标系当将颈部CT数据模型导入Unity平台时,Unity会自动将模型的所有点的X坐标取为相反数以适应Unity的左手坐标系环境,因此CNU相对于CCT的位姿为
因此,最终求得CNU相对于CHG的位姿,由下式计算:
将该位姿数据通过无线网络通信实时发送给HoloLens,HoloLens据此更新显示虚拟模型,即可实现颈部模型的空间定量投影显示。
4.根据权利要求3所述的基于双目视觉定位的全息三维影像空间定量投影方法,其特征在于,所述(4)HoloLens标定校正包括:
利用标定方块辅助校正,标定方块形状规整、特征点明显,利用步骤(3)的显示原理,结合双目视觉完成对标定结果的校正;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110278046.XA CN113129451B (zh) | 2021-03-15 | 2021-03-15 | 基于双目视觉定位的全息三维影像空间定量投影方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110278046.XA CN113129451B (zh) | 2021-03-15 | 2021-03-15 | 基于双目视觉定位的全息三维影像空间定量投影方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113129451A CN113129451A (zh) | 2021-07-16 |
CN113129451B true CN113129451B (zh) | 2022-09-30 |
Family
ID=76773135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110278046.XA Active CN113129451B (zh) | 2021-03-15 | 2021-03-15 | 基于双目视觉定位的全息三维影像空间定量投影方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113129451B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112884838B (zh) * | 2021-03-16 | 2022-11-15 | 重庆大学 | 一种机器人自主定位方法 |
CN114742977A (zh) * | 2022-03-30 | 2022-07-12 | 青岛虚拟现实研究院有限公司 | 一种基于ar技术的视频透视方法 |
CN116486051B (zh) * | 2023-04-13 | 2023-11-28 | 中国兵器装备集团自动化研究所有限公司 | 一种多用户展示协同方法、装置、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109407547A (zh) * | 2018-09-28 | 2019-03-01 | 合肥学院 | 面向全景视觉感知的多摄像头在环仿真测试方法与系统 |
CN110353806B (zh) * | 2019-06-18 | 2021-03-12 | 北京航空航天大学 | 用于微创全膝关节置换手术的增强现实导航方法及系统 |
CN111784775B (zh) * | 2020-07-13 | 2021-05-04 | 中国人民解放军军事科学院国防科技创新研究院 | 一种标识辅助的视觉惯性增强现实注册方法 |
-
2021
- 2021-03-15 CN CN202110278046.XA patent/CN113129451B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113129451A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11741624B2 (en) | Method and system for determining spatial coordinates of a 3D reconstruction of at least part of a real object at absolute spatial scale | |
CN113129451B (zh) | 基于双目视觉定位的全息三维影像空间定量投影方法 | |
TWI574223B (zh) | 運用擴增實境技術之導航系統 | |
CN108765498A (zh) | 单目视觉跟踪方法、装置及存储介质 | |
CN109146965A (zh) | 信息处理装置和计算机程序 | |
CN111784775B (zh) | 一种标识辅助的视觉惯性增强现实注册方法 | |
CN112652016A (zh) | 点云预测模型的生成方法、位姿估计方法及其装置 | |
US20190272670A1 (en) | Real-time hand modeling and tracking using convolution models | |
US11280605B2 (en) | Three-dimensional measuring system and measuring method with multiple measuring modes | |
JP6762913B2 (ja) | 情報処理装置、情報処理方法 | |
CN109613974B (zh) | 一种大场景下的ar家居体验方法 | |
CA3018886C (en) | Three-dimensional measuring system and measuring method with multiple measuring modes | |
CN114360043B (zh) | 模型参数标定方法、视线追踪方法、装置、介质及设备 | |
CN113920191B (zh) | 一种基于深度相机的6d数据集构建方法 | |
CN114494582A (zh) | 一种基于视觉感知的三维模型动态更新方法 | |
JP2022011818A (ja) | 情報処理装置およびその制御方法 | |
CN116597020A (zh) | 外参数标定方法、计算设备、图像采集系统和存储介质 | |
WO2023088127A1 (zh) | 室内导航方法、服务器、装置和终端 | |
US20240159621A1 (en) | Calibration method of a portable electronic device | |
WO2023092638A1 (zh) | 头戴显示设备的标定方法、装置、设备、系统及存储介质 | |
CN114926542A (zh) | 基于光学定位系统的混合现实固定参考系校准方法 | |
WO2021111613A1 (ja) | 3次元地図作成装置、3次元地図作成方法、及び3次元地図作成プログラム | |
KR102260754B1 (ko) | 증강현실용 가이드 도구의 자세 추정을 위한 캘리브레이션 기구 및 이를 이용한 캘리브레이션 방법 | |
WO2024164812A1 (zh) | 多传感器融合的slam方法、设备及介质 | |
TW202314195A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |