CN116912403B - 一种xr设备及xr设备的障碍物信息感知方法 - Google Patents
一种xr设备及xr设备的障碍物信息感知方法 Download PDFInfo
- Publication number
- CN116912403B CN116912403B CN202310803058.9A CN202310803058A CN116912403B CN 116912403 B CN116912403 B CN 116912403B CN 202310803058 A CN202310803058 A CN 202310803058A CN 116912403 B CN116912403 B CN 116912403B
- Authority
- CN
- China
- Prior art keywords
- image
- binocular camera
- cluster
- node
- binocular
- 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 35
- 238000012216 screening Methods 0.000 claims abstract description 23
- 238000009877 rendering Methods 0.000 claims abstract description 17
- 238000010276 construction Methods 0.000 claims abstract description 14
- 230000033001 locomotion Effects 0.000 claims description 20
- 239000013598 vector Substances 0.000 claims description 19
- 230000000875 corresponding effect Effects 0.000 claims description 17
- 238000012937 correction Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000005457 optimization Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 8
- 230000003287 optical effect Effects 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000003708 edge detection Methods 0.000 claims description 4
- 230000008447 perception Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 230000002596 correlated effect Effects 0.000 claims description 3
- 230000005484 gravity Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 5
- 230000004069 differentiation Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 101150064138 MAP1 gene Proteins 0.000 description 3
- 101100075995 Schizosaccharomyces pombe (strain 972 / ATCC 24843) fma2 gene Proteins 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000035772 mutation Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000010339 dilation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000004611 spectroscopical analysis Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- 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
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本发明提供一种XR设备及XR设备的障碍物信息感知方法,XR设备的障碍物信息感知方法包括:坐标系构建步骤、三维点云采集步骤、三维点云管理步骤、连通区域聚类步骤、有效簇筛选步骤以及渲染步骤。该方法使得XR设备能够向用户提供周围障碍物的警示信息。
Description
技术领域
本发明涉及计算机视觉领域,特别涉及一种XR设备及XR设备的障碍物信息感知方法。
背景技术
XR设备是VR设备、AR设备及MR设备等智能头戴式设备的统称,是一种可以提供虚拟世界沉浸式体验的电子产品。在这一领域中,视觉SLAM(Simultaneous Localizationand Mapping,即时定位与地图构建)主要依赖的6DoF技术,指的是机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置和地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现机器人的自主定位和导航。
在满足XR设备自身6DoF定位的同时,为了避免用户与现实世界中的物体发生碰撞,尤其是当用户进行高强度运动或复杂任务时,需要XR设备向用户提供周围障碍物的警示信息以提醒用户,从而保证用户在虚拟世界中安全地体验游戏或者应用。
发明内容
本发明的目的在于,提供一种XR设备及XR设备的障碍物信息感知方法,以解决现有技术中XR设备不能够向用户提供周围障碍物的警示信息这一技术问题。
为解决上述问题,本发明提供一种XR设备的障碍物信息感知方法,包括如下步骤:坐标系构建步骤,建立世界坐标系,所述世界坐标系的Z轴方向与重力方向在同一直线上;三维点云采集步骤,通过XR设备的双目相机采集实时环境图像,根据实时环境图像获取XR设备的环境空间对应的三维点云,所述三维点云为表达所述实时环境图像的空间分布与表面光谱性的点集合;三维点云管理步骤,将当前帧之前的连续n帧的双目相机图像生成的三维点云筛选后插入至一数据结构中;连通区域聚类步骤,将所述数据结构中所有状态被占用的节点划分为多个簇,每个簇中的节点在空间上是连通的;有效簇筛选步骤,筛选出当前帧下所述数据结构中的有效簇;渲染步骤,将所述有效簇的所包含节点的坐标转化为线条图渲染到用户屏幕上。
进一步地,在所述坐标系构建步骤之前,所述XR设备的障碍物信息感知方法还包括初始化步骤,获取XR设备的双目相机的参数,根据该参数计算用于双目立体校正的映射矩阵。
进一步地,所述三维点云采集步骤,具体包括如下步骤:数据获取步骤,获取当前帧的双目相机图像,包括第一图像及第二图像;双目立体校正步骤,使用映射矩阵对所述双目相机图像进行双目立体校正处理,得到双目相机校正图像;双目立体匹配步骤,对所述双目相机校正图像进行双目立体匹配处理,得到第一图像与第二图像的视差图;三维点云计算步骤,根据所述视差图计算所述视差图对应的三维点云的坐标集。
进一步地,在所述双目立体校正步骤中,
dst(x,y)=src(map_x(x,y),map_y(x,y))
其中,src为双目相机图像,dst(x,y)为被校正处理后的双目相机校正图像,map_x、map_y为映射矩阵。
进一步地,所述双目立体匹配步骤具体包括如下步骤:半稠密光流计算步骤,根据双目相机图像计算半稠密光流,得到所述双目相机图像中多个像素点的运动向量;运动向量筛选步骤,从多个像素点的运动向量筛选出水平方向的运动向量;以及视差图构建步骤,根据每一所述像素点的视差值构建双目相机图像的视差图。
进一步地,所述三维点云计算步骤中,任一像素点在三维点云空间中的坐标(X,Y,Z)为:
其中双目相机的基线长度为b,焦距为f,主点为(cx,cy),该像素点坐标为(u,v),其视差值为disparity(u,v)。
进一步地,在所述三维点云管理步骤中,三维点云的筛选条件包括:任一点与所述XR设备之间的距离小于第一阈值;任一点与地面之间的距离大于0且小于第二阈值;点与所述XR设备之间的距离和点的深度不确定度成正相关,限制点的深度不确定度,能够得出第一阈值;
Hmax=α1H1+α2H2+α3H3
其中Hmax为第二阈值,α1、α2、α3为权重系数,H1为人类最大身高,H2为用户的身高数据,H3为所述XR设备与地面之间的距离。
进一步地,所述连通区域聚类步骤具体包括如下步骤:障碍物感知范围定义步骤,设置障碍物感知范围,所述障碍物感知范围是以所述原点为中心的圆柱体区域,所述圆柱体区域的半径与高度能够被用户实时调整;节点聚类步骤,递归当前帧时所述障碍物感知范围内每一个节点的相邻节点,并将每一节点与其相邻的节点纳入同一个簇;簇计算步骤,计算并存储所述每一个簇的属性,所述属性包括簇包含的节点数量、簇包围盒的大小、簇的坐标以及簇与所述原点之间的距离。
进一步地,所述有效簇筛选步骤包括:从所述数据结构中所有簇中去除包含节点数量不足且与其他有效簇的距离相远的簇。
进一步地,所述有效簇筛选步骤与所述渲染步骤之间还包括节点优化步骤,所述节点优化步骤具体包括如下步骤:缩小节点规模步骤,访问每一有效簇中的所有节点,当一个节点的正上方存在其他节点时,去除该节点;点对构建步骤,将每一节点与其在地面上的投影点组成一个点对。
进一步地,所述渲染步骤具体包括如下步骤:缩略图构建步骤,构建一个与所述双目相机图像长宽比相同的缩略图,所述缩略图的大小为所述双目相机图像大小的1/10至1/4;点对投影步骤,将所述点对投影至所述缩略图中,再填充所述点对之间的全部像素,形成一个像素线段;膨胀步骤,对所述缩略图进行膨胀处理,填补所述像素线段中的空洞;屏幕渲染步骤,对所述缩略图执行边缘检测算法,得到包含障碍物信息的线条图,将所述线条图渲染至所述XR设备的显示器上。
本发明还提供了一种XR设备,包括存储器以及处理器。存储器用以存储可执行程序代码;处理器用以读取所述可执行程序代码,以运行与所述可执行程序代码对应的计算机程序,以执行上述方法中的至少一步骤。
进一步地,所述的XR设备还包括壳体以及双目相机。所述壳体包括电路板,用以安装所述存储器及所述处理器;所述双目相机安装至所述壳体,且电连接至所述处理器。
本发明的优点在于,提供一种XR设备及XR设备的障碍物信息感知方法,建立世界坐标系,通过XR设备的双目相机实时采集实时环境图像,根据实时环境图像获取XR设备所处的环境空间对应的多个点组成的三维点云。将点云经过筛选后插入至一数据结构,再通过连通区域聚类并筛选出有效簇,最后将包含有障碍物坐标信息的有效簇转化为代表障碍物边界的线条图渲染到XR设备的显示器上,从而使得XR设备能够向用户提供周围障碍物的警示信息。
附图说明
图1为本发明实施例1和实施例2中XR设备的示意图;
图2为本发明实施例1和实施例2中XR设备的障碍物信息感知方法的流程图;
图3为本发明实施例1和实施例2中三维点云采集步骤的流程图;
图4为本发明实施例1和实施例2中双目立体匹配步骤的流程图;
图5为本发明实施例1和实施例2中连通区域聚类步骤的流程图;
图6为本发明实施例1和实施例2中节点优化步骤的流程图;
图7为本发明实施例1和实施例2中渲染步骤的流程图。
图中标号如下所示:
1存储器,2处理器,3摄像头。
具体实施例
以下参考说明书附图介绍本发明的优选实施例,用以举例证明本发明可以实施,这些实施例可以向本领域中的技术人员完整介绍本发明的技术内容,使得本发明的技术内容更加清楚和便于理解。然而本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
如图1所示,本实施例提供了一种XR设备,XR设备包括壳体,壳体内设有电路板,电路板上安装有存储器1以及处理器2。存储器1用以存储可执行程序代码。处理器2用以读取可执行程序代码,以运行可执行程序代码对应的计算机程序,以执行一种XR设备的障碍物信息感知方法中的至少一步骤。
XR设备还包括多个摄像头3,摄像头3安装至所述壳体表面,且电连接至处理器2;至少两个摄像头3的镜头朝向正前方、正下方和/或斜下方。其中,有两个横向并列设置的摄像头3分别被称为左目相机和右目相机,也被统称为双目相机。当XR设备被戴在用户的头上时,左目相机和右目相机分别与用户的双眼的位置相对设置,左目相机和右目相机的镜头朝向正前方、正下方和/或斜下方,其视野内能够显示地面的全部或部分影像。
XR设备还包括显示器,用以显示XR设备所处空间内的多个物体的影像,特别是可以显示代表这些物体的边界线的线条图。
基于前文所述的XR设备,本实施例还提供一种XR设备的障碍物信息感知方法,以软件形式被所述XR设备实现。
如图2所示,本实施例提供一种XR设备的障碍物信息感知方法,包括步骤S1~步骤S9。
步骤S1:初始化步骤,获取XR设备的双目相机的参数,根据该参数计算用于双目立体校正的映射矩阵。双目相机的参数包括左目相机参数、右目相机参数及左目相机与右目相机的关联参数。
步骤S2:坐标系构建步骤,本实施例使用的世界坐标系为基于SLAM技术的6DoF坐标系,建立世界坐标系,且现实世界的重力方向与世界坐标系中Z轴正方向一致。X轴、Y轴皆位于水平面上,X轴、Y轴、Z轴中的任意两个彼此垂直。
对于双目相机图像,映射矩阵map_x记录了双目相机图像中每一点的横坐标,映射矩阵map_y记录了双目相机图像中每一点的纵坐标。
步骤S3:三维点云采集步骤,通过XR设备的双目相机采集实时环境图像,根据实时环境图像获取XR设备的环境空间对应的三维点云,三维点云为表达实时环境图像的空间分布与表面光谱性的点集合。其中,实时环境图像为XR设备所处空间的影像,当XR设备被戴在用户的头上时,左目相机和右目相机分别与用户的双眼的位置相对设置,双目相机拍摄到的图片或视频中包括XR设备视野内的各种物体的影像。利用特定算法可以将各种物体在XR设备所处空间内的位置坐标化,每个物体都是三维点云的组合,每个三维点云包括大量的点。在三维点云采集步骤中,实时环境图像中的障碍物信息将被转化为三维点云的形式,使得实时环境图像中的障碍物信息转化为一种计算机可读的信息。
如图3所示,三维点云采集步骤具体包括步骤S31~步骤S34。
步骤S31:数据获取步骤,通过XR设备的双目相机获取当前帧的双目相机图像,包括左目相机图像与右目相机图像。实时采集的采集间隔为0.1秒至1秒。
步骤S32:双目立体校正步骤,使用映射矩阵对双目相机图像进行双目立体校正处理,得到双目相机校正图像。
如图4所示,双目立体校正步骤的的作用在于方便在两张不同照片中寻找相对应的两个点。在一般情况下,在一张图片上遍历所有像素点在计算上是非常昂贵的。所以本实施例利用对极约束将搜索问题简化到一维上,一张图片在另一张图片上的对应点一定位于另一张图片的极线上。但是因为大部分情况下极线是倾斜的,使用图像块去匹配的时候,往往效率不高,故需要将极线与基线平行处理。因此本实施例进行双目立体校正,保证左右目的双目图像平行。
本实施例运用了remap()函数,remap()函数会根据指定的映射形式,将原图像进行重映射几何变换,基于如下公式:
dst(x,y)=src(map_x(x,y),map_y(x,y))
其中,src为双目相机图像,dst(x,y)为被校正处理后的双目相机校正图像,map_x、map_y为映射矩阵。
remap()函数原型如下:
void remap(InputArray src,OutputArray dst,InputArray map1,InputArraymap2,int interpolation,int borderMode=BORDER_CONSTANT,const Scalar&borderValue=Scalar())
map1,表示点(x,y)的第一个映射或者表示CV_16S,CV_32FC1或CV_32FC2类型的X值。
若map1表示点(x,y)时,map2不代表任何值,否则map2表示CV_16UC1,CV_32FC1类型的Y值。
interpolation为插值方式,此处不支持最近邻插值,所以可选的插值方式如下:INTER_LINEAR:双线性插值;INTER_CUBIC:双三次样条插值;以及INTER_LANCZOS4:Lanczos插值。
borderMode为边界模式,有默认值BORDER_CONSTANT,表示目标图像中“离群点”的像素不会被此函数修改。
borderValue是当有常数边界时使用的值,默认值为0。
步骤S33:双目立体匹配步骤,对双目相机校正图像进行双目立体匹配处理,得到左目相机图像及右目相机图像的视差图。
立体匹配一般是指像素的稠密匹配,这意味着每个像素都会得到一个视差值,同时需要以二维图的方式存储这些视差值。一方面可以通过像素坐标快速的在二维图中找到对应位置的视差值,而且和图像一样是有序的;另一方面是可以直观的通过观察视差图和原图的对比,对视差图的质量有初步的判定。
如图4所示,双目立体匹配步骤具体包括步骤S331~步骤S333。
步骤S331:半稠密光流计算步骤,根据双目相机图像计算半稠密光流,得到双目相机图像中多个像素点的运动向量。
步骤S332:运动向量筛选步骤,从多个像素点的运动向量筛选出水平方向的运动向量;水平方向的运动向量为有效的运动向量,有效的运动向量所对应的像素点的视差值为有效的运动向量的数值,非水平方向的运动向量为无效的运动向量,无效的运动向量所对应的像素点设置为无效值。
步骤S333:视差图构建步骤,根据每一像素点的视差值构建双目相机图像的视差图。
视差d等于同名点对在左视图的列坐标减去在右视图上的列坐标,是像素单位。
视差图是一张二维图像,和原图大小相等。使用了半稠密光流进行计算,每个8×8像素块存在一个其中心位置的视差。
步骤S34:三维点云计算步骤,根据视差图计算视差图对应的三维点云的坐标集。
任一像素点在三维点云空间中的坐标(X,Y,Z)为:
其中双目相机的基线长度为b,焦距为f,主点为(cx,cy),该像素点坐标为(u,v),其视差值为disparity(u,v)。
步骤S4:三维点云管理步骤,将当前帧之前的连续n帧的双目相机图像生成的三维点云筛选后插入至八叉树中。
取当前帧之前的连续n帧的双目相机图像的原因在于,三维点云具有稀疏性的特点,三维点云的稀疏性表现为,在实际情境中,只有面向摄像头的一面上的数据才会被采集,距离摄像头越远,点云数据就越稀疏。若只采集一帧的双目相机图像,则障碍物表面的点云就过于稀疏,不利于计算机对障碍物生成的三维点云进行筛选。
三维点云的筛选条件包括:任一点与XR设备之间的距离小于第一阈值;任一点与地面之间的距离大于0且小于第二阈值;
深度Z与视差d的关系为:
其中,双目相机的基线长度为b,焦距为f。
对于一个视差值d,如果有1个像素的误差,其深度Z′为:
故其深度的变化量
只考虑d≥1的情况,深度的变化量随着视差值的减小而增大。
限制深度的不确定度最大为ΔZmax,同时
可得出对于ΔZmax存在一个深度的最大值,同时点与XR设备之间的距离和点的深度成正相关,故能够得出第一阈值;
设定权重系数,即可获取第二阈值。
Hmax=α1H1+α2H2+α3H3
其中Hmax为第二阈值,α1、α2、α3为权重系数,H1为人类最大身高,H2为用户的身高数据,H3为XR设备与地面之间的距离。
对三维点云进行筛选的作用在于,去除距离XR设备太远的点,同时去除距离地面太高以及处于地面之下的外点,从而减少后续计算机运算的负荷。
本实施例采用了八叉树这一数据结构储存三维点云,八叉树是一种用于描述三维空间的树状数据结构,八叉树的每个节点表示一个正方体的体积元素,每个节点有八个子节点,将八个子节点所表示的体积元素加在一起就等于父节点的体积。所以八叉树可以用来作为3D空间中的场景管理,可以得知物体在3D场景中的位置。
步骤S5:连通区域聚类步骤,将数据结构中所有状态被占用的节点划分为多个簇,每个簇中的节点在空间上是连通的。
如图5所示,连通区域聚类步骤具体包括如下步骤:
步骤S51:障碍物感知范围定义步骤,设置障碍物感知范围,障碍物感知范围是以XR设备为中心的圆柱体区域,圆柱体区域的半径与高度能够被用户实时调整。
对三维点云进一步做出筛选,使得用户能够自由的设定了障碍物感知范围,用户能够感知到的障碍物信息与计算机的运算负荷成正比。
步骤S52:节点聚类步骤,使用深度优先搜索递归当前帧时障碍物感知范围内每一个节点的相邻节点,并将节点与节点的相邻节点纳入同一个簇。
深度优先搜索是从初始节点出发,按预定的顺序扩展到下一个节点,然后从下一节点出发继续扩展新的节点,不断递归执行这个过程,直到某个节点不能再扩展下一个节点为止。此时,则返回上一个节点重新寻找一个新的扩展节点。如此搜索下去,直到找到目标节点,或者搜索完所有节点为止。
在节点聚类步骤中,同样可以使用广度优先搜索递归当前帧时障碍物感知范围内每一个节点的相邻节点,并将节点与节点的相邻节点纳入同一个簇。
广度优先搜索算法关注的重点在于对每一层结点进行下一层的访问。即从某个点一直把其邻接点走完,然后任选一个邻接点把与之邻接的未被遍历的点走完,如此反复走完所有结点。类似于树的层序遍历。
步骤S53:簇计算步骤,计算并存储每一个簇的属性,属性包括簇包含的节点数量、簇包围盒的大小、簇的坐标以及簇距离XR设备的位置。
簇计算步骤作用在于计算并存储每一个簇的属性,使得计算机能够依照每一个簇的属性筛选出有效的簇。
步骤S6:有效簇筛选步骤,由于图像存在误差,所以需要去除一些无效簇,根据大量场景统计得到的结果,去除包含节点数量不足且与其他有效簇的距离相远的簇,从而筛选出有效的簇。
如果一个小簇距离一个大簇很近,那么认为他们都代表着同一个障碍物,只不过之前聚类算法没有把他们聚在一起,所以这个大簇旁边的小簇也应被标记为有效。只有当一个小簇距离所有其他有效簇都很远的时候,认为它可能是噪声,进而被筛除。
如图6所示,步骤S7:节点优化步骤,节点优化步骤包括:
步骤S71,缩小节点规模步骤,遍历所有有效簇中的节点,当一个节点的正上方存在其他节点时,去除该节点。
步骤S72,点对构建步骤,将每一节点与其在地面上的投影点组成一个点对。
节点优化步骤的作用是减少节点规模,由于本方案是实时地向用户显示设备周围的障碍物信息,所以程序的响应速度非常关键,将所有节点都渲染到用户屏幕上会严重影响程序的响应速度,所以要一定程度上减少节点规模。
本实施例中只保留了所有节点中最上方的节点,以及它们在地面平面坐标上的投影点并组成点对,减少了节点的数量,加快了程序的响应速度。
步骤S8:渲染步骤,将当前帧的有效簇的所包含节点的坐标转化为线条图渲染到用户屏幕上。用户能够感知到环境周围的障碍物信息。
如图7所示,渲染步骤具体包括如下步骤:
步骤S81:缩略图构建步骤,构建一个与双目相机图像长宽比相同的缩略图,所述缩略图的大小为所述双目相机图像大小的1/10至1/4;。
步骤S82:点对投影步骤,当缩略图的分辨率足够小时,能够忽略相机畸变对双目相机图像带来的影响,可以将点对投影至缩略图中,再填充点对之间的全部像素,形成一个像素线段。
步骤S83:膨胀步骤,像素线段组成的障碍物图像中还包括一些细小的空洞,这是现实中障碍物一般所不具备的。对缩略图进行膨胀处理,填补像素线段组成的障碍物图像区域中的空洞。
膨胀是对二值化物体边界点进行扩充,将与物体接触的所有背景点合并到该物体中,使边界向外部扩张。如果两个物体间隔较近,会将两物体连通在一起,对填补图像分割后物体的空洞有用。
本实施例使用了卷积膨胀,膨胀是一种图像处理操作,用于增强二值图像中的物体区域或连接相邻的区域。膨胀操作通过将图像中的每个像素点与其周围的像素进行比较,并将最大的像素值分配给当前像素,从而使得图像中的物体区域变大。
步骤S84:屏幕渲染步骤,利用周围环境的格网模型,通过视野视角的格网点,与双目图像平面建立三角网对应关系,利用这个格网模型生成带纹理的网格,然后投影到左右视角形成用户屏幕图像。再利用Sobel算子边缘检测算法,得到包含障碍物信息的线条图,将所述线条图渲染至所述XR设备的显示器上。
边缘检测的目的是标识数字图像中亮度变化明显的点,即检测图像灰度级或者结构发生突变的像素点,这种一副图像中灰度级或结构突变的像素点的集合称为边缘。图像的灰度值具有不连续性,图像局部的灰度突变可以用微分来检测,因为这种突变时间十分短促,因此一阶微分和二阶微分十分适合这种突变的检测。但使用二阶微分对噪声的响应更加强烈,其对图像的质量要求较高。
Sobel算子是把图像中每个像素的上下左右四领域的灰度值加权差,在边缘处达到极值从而检测边缘。索贝尔算子不但产生较好的检测效果,而且对噪声具有平滑抑制作用。
本实施例的优点在于,提供一种XR设备及XR设备的障碍物信息感知方法,建立世界坐标系,通过XR设备的双目相机实时采集实时环境图像,根据实时环境图像获取XR设备所处的环境空间对应的多个点组成的三维点云。将点云经过筛选后插入至一数据结构,再通过连通区域聚类并筛选出有效簇,最后将包含有障碍物坐标信息的有效簇转化为线条图渲染到屏幕上,从而使得XR设备能够向用户提供周围障碍物的警示信息。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (11)
1.一种XR设备的障碍物信息感知方法,其特征在于,包括:
坐标系构建步骤,建立世界坐标系,所述世界坐标系的Z轴方向与重力方向在同一直线上;
三维点云采集步骤,通过XR设备的双目相机采集实时环境图像,根据实时环境图像获取XR设备的环境空间对应的三维点云;
三维点云管理步骤,将当前帧之前的连续n帧的双目相机图像生成的三维点云筛选后插入至一数据结构中;
连通区域聚类步骤,将所述数据结构中所有状态被占用的节点划分为多个簇,每个簇中的节点在空间上是连通的;
有效簇筛选步骤,筛选出当前帧下所述数据结构中的有效簇;以及
渲染步骤,将所述有效簇的所包含节点的坐标转化为线条图渲染到所述XR设备的显示器上;
在所述三维点云管理步骤中,三维点云的筛选条件包括:
任一点与所述XR设备之间的距离小于第一阈值;
任一点与地面之间的距离大于0且小于第二阈值;
所述第一阈值的计算方法为:点与所述XR设备之间的距离和点的深度不确定度成正相关,限制点的深度不确定度,能够得出第一阈值;
所述第二阈值的计算方法为:
;
其中为第二阈值,/>、/>、/>为权重系数,/>为一个预设的常数,/>为用户的身高数据,/>为所述XR设备与地面之间的距离;
所述连通区域聚类步骤具体包括如下步骤:
障碍物感知范围定义步骤,设置障碍物感知范围,所述障碍物感知范围是以所述XR设备为中心的圆柱体区域,所述圆柱体区域的半径与高度能够被用户实时调整;
节点聚类步骤,递归当前帧时所述障碍物感知范围内每一个节点的相邻节点,并将每一节点与其相邻的节点纳入同一个簇;以及
簇计算步骤,计算并存储所述每一个簇的属性数据,所述属性数据包括簇包含的节点数量、簇包围盒的尺寸、簇的坐标以及簇与所述XR设备之间的距离。
2.如权利要求1所述的XR设备的障碍物信息感知方法,其特征在于,
在所述坐标系构建步骤之前,还包括:
初始化步骤,获取XR设备的双目相机的参数,根据该参数计算用于双目立体校正的映射矩阵。
3.如权利要求1所述的XR设备的障碍物信息感知方法,其特征在于,
所述三维点云采集步骤,具体包括如下步骤:
数据获取步骤,获取当前帧的双目相机图像,包括第一图像及第二图像;
双目立体校正步骤,使用映射矩阵对所述双目相机图像进行双目立体校正处理,得到双目相机校正图像;
双目立体匹配步骤,对所述双目相机校正图像进行双目立体匹配处理,得到第一图像与第二图像的视差图;以及
三维点云计算步骤,根据所述视差图计算所述视差图对应的三维点云的坐标集。
4.如权利要求3所述的XR设备的障碍物信息感知方法,其特征在于,
在所述双目立体校正步骤中,
;
其中,src为双目相机图像,dst(x,y)为被校正处理后的双目相机校正图像,map_x、map_y为映射矩阵,在dst(x,y)中,x为双目相机校正图像的横坐标,y为双目相机校正图像的纵坐标;在map_x(x,y)或map_y(x,y)中,x为双目相机图像的横坐标,y为双目相机图像的纵坐标。
5.如权利要求3所述的XR设备的障碍物信息感知方法,其特征在于,所述双目立体匹配步骤具体包括如下步骤:
半稠密光流计算步骤,根据双目相机图像计算半稠密光流,得到所述双目相机图像中多个像素点的运动向量;
运动向量筛选步骤,从多个像素点的运动向量筛选出水平方向的运动向量;以及
视差图构建步骤,根据每一所述像素点的视差值构建双目相机图像的视差图。
6.如权利要求3所述的XR设备的障碍物信息感知方法,其特征在于,所述三维点云计算步骤中,任一像素点在三维点云空间中的坐标(X,Y,Z)为:
;
;
;
其中双目相机的基线长度为b,焦距为f,主点为(cx,cy),该像素点坐标为(u,v),其视差值为disparity(u,v)。
7.如权利要求1所述的XR设备的障碍物信息感知方法,其特征在于,所述有效簇筛选步骤包括:
从所述数据结构中所有簇中筛除包含节点数量不足且与其他有效簇的距离相远的簇。
8.如权利要求1所述的XR设备的障碍物信息感知方法,其特征在于,所述有效簇筛选步骤与所述渲染步骤之间还包括节点优化步骤,所述节点优化步骤具体包括如下步骤:
缩小节点规模步骤,访问每一有效簇中的所有节点,当一个节点的正上方存在其他节点时,去除该节点;以及
点对构建步骤,将每一节点与其在地面上的投影点组成一个点对。
9.如权利要求1所述的XR设备的障碍物信息感知方法,其特征在于,所述渲染步骤具体包括如下步骤:
缩略图构建步骤,构建一个与所述双目相机图像长宽比相同的缩略图,所述缩略图的大小为所述双目相机图像大小的1/10至1/4;
点对投影步骤,将所述点对投影至所述缩略图中,再填充所述点对之间的全部像素,形成一个像素线段;
膨胀步骤,对所述缩略图进行膨胀处理,填补所述像素线段组成的障碍物图像区域中的空洞;以及
屏幕渲染步骤,对所述缩略图执行边缘检测算法,得到包含障碍物信息的线条图,将所述线条图渲染至所述XR设备的显示器上。
10.一种XR设备,其特征在于,包括
存储器,用以存储可执行程序代码;以及
处理器,用以读取所述可执行程序代码,以运行与所述可执行程序代码对应的计算机程序,以执行权利要求1-9中任一项所述的XR设备的障碍物信息感知方法中的至少一步骤。
11.如权利要求10所述的XR设备,其特征在于,还包括:
壳体,包括电路板,用以安装所述存储器及所述处理器;以及
双目相机,安装至所述壳体,且电连接至所述处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310803058.9A CN116912403B (zh) | 2023-07-03 | 2023-07-03 | 一种xr设备及xr设备的障碍物信息感知方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310803058.9A CN116912403B (zh) | 2023-07-03 | 2023-07-03 | 一种xr设备及xr设备的障碍物信息感知方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116912403A CN116912403A (zh) | 2023-10-20 |
CN116912403B true CN116912403B (zh) | 2024-05-10 |
Family
ID=88362059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310803058.9A Active CN116912403B (zh) | 2023-07-03 | 2023-07-03 | 一种xr设备及xr设备的障碍物信息感知方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116912403B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955920A (zh) * | 2014-04-14 | 2014-07-30 | 桂林电子科技大学 | 基于三维点云分割的双目视觉障碍物检测方法 |
WO2015024407A1 (zh) * | 2013-08-19 | 2015-02-26 | 国家电网公司 | 基于电力机器人的双目视觉导航系统及方法 |
CN107169418A (zh) * | 2017-04-18 | 2017-09-15 | 海信集团有限公司 | 一种障碍物检测方法及装置 |
CN112347999A (zh) * | 2021-01-07 | 2021-02-09 | 深圳市速腾聚创科技有限公司 | 障碍物识别模型训练方法、障碍物识别方法、装置及系统 |
CN114387462A (zh) * | 2021-12-30 | 2022-04-22 | 中山大学 | 一种基于双目相机的动态环境感知方法 |
-
2023
- 2023-07-03 CN CN202310803058.9A patent/CN116912403B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015024407A1 (zh) * | 2013-08-19 | 2015-02-26 | 国家电网公司 | 基于电力机器人的双目视觉导航系统及方法 |
CN103955920A (zh) * | 2014-04-14 | 2014-07-30 | 桂林电子科技大学 | 基于三维点云分割的双目视觉障碍物检测方法 |
CN107169418A (zh) * | 2017-04-18 | 2017-09-15 | 海信集团有限公司 | 一种障碍物检测方法及装置 |
CN112347999A (zh) * | 2021-01-07 | 2021-02-09 | 深圳市速腾聚创科技有限公司 | 障碍物识别模型训练方法、障碍物识别方法、装置及系统 |
CN114387462A (zh) * | 2021-12-30 | 2022-04-22 | 中山大学 | 一种基于双目相机的动态环境感知方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116912403A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108520536B (zh) | 一种视差图的生成方法、装置及终端 | |
Hirschmuller | Stereo processing by semiglobal matching and mutual information | |
KR101708659B1 (ko) | 이동 로봇의 맵을 업데이트하기 위한 장치 및 그 방법 | |
US5734743A (en) | Image processing method and apparatus for block-based corresponding point extraction | |
EP2656309B1 (en) | Method for determining a parameter set designed for determining the pose of a camera and for determining a three-dimensional structure of the at least one real object | |
CN108629843B (zh) | 一种实现增强现实的方法及设备 | |
US11328479B2 (en) | Reconstruction method, reconstruction device, and generation device | |
US20190020861A1 (en) | High-speed and tunable scene reconstruction systems and methods using stereo imagery | |
KR20180088788A (ko) | 다중-방향성 카메라를 이용한 공간 매핑 | |
CN114424250A (zh) | 结构建模 | |
CN111429527B (zh) | 一种车载相机的外参自动标定方法及系统 | |
CN111524233B (zh) | 一种静态场景动态目标的三维重建方法 | |
US20200234398A1 (en) | Extraction of standardized images from a single view or multi-view capture | |
CN111340922A (zh) | 定位与地图构建的方法和电子设备 | |
CN109416843A (zh) | 实时高度映射 | |
US20160232420A1 (en) | Method and apparatus for processing signal data | |
WO2015179216A1 (en) | Orthogonal and collaborative disparity decomposition | |
CN106683163B (zh) | 一种视频监控的成像方法及系统 | |
Kuschk | Large scale urban reconstruction from remote sensing imagery | |
CN112184793B (zh) | 深度数据的处理方法、装置及可读存储介质 | |
CN115035235A (zh) | 三维重建方法及装置 | |
Ramirez et al. | Open challenges in deep stereo: the booster dataset | |
Saxena et al. | 3-d reconstruction from sparse views using monocular vision | |
Xu et al. | Multi-scale voxel hashing and efficient 3D representation for mobile augmented reality | |
AU2021303477A1 (en) | Method and system of detecting obstacle elements with a visual aid device |
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 | ||
CB02 | Change of applicant information |
Address after: 201612 Room 501, building 3, No. 1, caosong Road, Xinqiao Town, Songjiang District, Shanghai Applicant after: Play Out Dreams (Shanghai) Technology Co.,Ltd. Address before: 201612 Room 501, building 3, No. 1, caosong Road, Xinqiao Town, Songjiang District, Shanghai Applicant before: Shanghai yuweia Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |