地面对象识别方法、装置、存储介质及电子设备与流程

文档序号:31782901发布日期:2022-10-12 11:21阅读:62来源:国知局
地面对象识别方法、装置、存储介质及电子设备与流程

1.本技术涉及虚拟现实技术领域,尤其涉及一种地面对象识别方法、装置、存储介质及电子设备。


背景技术:

2.虚拟现实(virtual reality,简称vr)技术是仿真技术与计算机图形学、人机接口技术、多媒体技术、传感技术、网络技术等多种技术的集合。vr技术通过计算机模拟虚拟环境从而给人以环境沉浸感,该技术在各行业中应用广泛。
3.在vr追踪定位初始阶段,需要进行地面识别以确定地面高度。现有技术中,通常基于三维平面识别技术检测视场内的平面,由于视场内可能存在多个平面,导致从多个平面中确定地面时,可能会将一些非地面的平面例如桌面、椅面、地毯等确定为地面,导致地面识别的准确率低。


技术实现要素:

4.鉴于上述问题,提出了本技术实施例,其提供一种地面对象识别方法、装置、存储介质及电子设备,以至少解决上述问题。
5.本技术的一个或者多个实施例提供一种地面对象识别方法,包括:对三维点云图像进行平面检测,得到多个三维平面对象;对三维点云图像的投影图像的像素灰度进行聚类,得到投影图像中的多个二维灰度数据集;基于多个二维灰度数据集,确定多个三维平面对象中的至少一个非地面对象;从多个三维平面对象中,筛除非地平面对象,得到地面对象。
6.可选地,基于多个二维灰度数据集,确定多个三维平面对象中的至少一个非地面对象,包括:建立多个二维灰度数据集和多个三维平面对象的映射关系;基于映射关系,确定二维灰度数据集映射到三维平面对象中的灰度区域;确定面积小于预设阈值的灰度区域对应的三维平面对象为非地面对象。
7.可选地,对三维点云图像进行平面检测,得到多个三维平面对象,包括:对三维点云图像进行平面检测,得到多个初始三维平面对象;根据姿态数据和初始三维平面对象进行坐标系转换,得到第一三维平面对象;根据第一三维平面对象的平面法向量与水平面法向量的夹角,确定夹角小于预设夹角阈值的第一三维平面对象作为第二三维平面对象;确定第二三维平面对象为三维平面对象。
8.可选地,确定第二三维平面对象为三维平面对象,包括:根据第二三维平面对象和预设高度阈值,确定高度小于预设高度阈值的第二三维平面对象作为三维平面对象。
9.可选地,该方法还包括:获取速度数据,若速度数据小于预设速度阈值,则获取三维点云图像。
10.可选地,该方法还包括:获取角度数据,若角度数据大于预设角度阈值,则获取三维点云图像。
11.可选地,该方法还包括:根据预设标识规则,对非地面对象进行标识。
12.根据本技术的另一方面,提供一种地面对象识别装置,包括检测单元、计算单元、筛选单元和输出单元,其中,检测单元用于对三维点云图像进行平面检测,得到多个三维平面对象;计算单元用于对三维点云图像的投影图像的像素灰度进行聚类,得到投影图像中的多个二维灰度数据集;筛选单元用于基于多个二维灰度数据集,确定多个三维平面对象中的至少一个非地面对象;输出单元用于从多个三维平面对象中,筛除非地平面对象,得到地面对象。
13.根据本技术的另一方面,提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述方面的方法。
14.根据本技术的另一方面,提供一种电子设备,包括:一个或多个处理器;以及存储程序的存储器;其中,程序包括指令,指令在由处理器执行时使处理器执行上述方面的方法。
15.本技术所提供的一种地面对象识别方法,通过对三维点云图像进行平面检测,得到多个三维平面对象;对三维点云图像的投影图像的像素灰度进行聚类,得到投影图像中的多个二维灰度数据集;基于多个二维灰度数据集,确定多个三维平面对象中的至少一个非地面对象;从多个三维平面对象中,筛除非地平面对象,得到地面对象。本技术的方法将二维灰度数据集与三维平面对象进行结合,在多个三维平面对象中根据二维灰度数据集进一步细分三维平面对象,以从中排除非地平面,实现地面识别,从而提高了地面识别的准确率。
附图说明
16.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1为本技术示例性实施例的地面对象识别方法的流程示意图;
18.图2为本技术另一示例性实施例的地面对象识别方法的流程示意图;
19.图3为本技术另一示例性实施例的地面对象识别方法的流程示意图;
20.图4为本技术示例性实施例的地面对象识别装置的结构框图;
21.图5为本技术示例性实施例的电子设备的结构框图;
22.附图标记说明:
23.400、地面对象识别装置;401、检测单元;402、计算单元;403、筛选单元;404、输出单元;500、电子设备;501、计算单元;502、rom;503、ram;504、总线;505、输入输出接口;506、输入单元;507、输出单元;508、存储单元;509、通信单元。
具体实施方式
24.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没
有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
25.为了便于理解,在详细描述本技术的具体实施例之前,先对本技术的地面对象识别方法、装置、存储介质及电子设备的应用场景进行示例性说明。
26.本技术的地面对象识别方法可以应用于虚拟现实头戴式显示设备中,该设备采用虚拟现实技术。虚拟现实(virtual reality,简称vr)技术是仿真技术与计算机图形学、人机接口技术、多媒体技术、传感技术、网络技术等多种技术的集合。vr技术通过计算机模拟虚拟环境从而给人以环境沉浸感,该技术在各行业中应用广泛。
27.在vr追踪定位初始阶段,需要进行地面识别以确定地面高度。现有技术中,通常基于三维平面识别技术检测视场内的平面,由于视场内可能存在多个平面,导致从多个平面中确定地面时,可能会将一些非地面的平面例如桌面、椅面、地毯等确定为地面,导致地面识别的准确率低。有鉴于此,本技术提出一种地面对象识别方法、装置、存储介质及电子设备,可以解决上述现有技术中存在的种种问题。
28.以下将结合各附图详细描述本技术的具体实施例。
29.图1为本技术示例性实施例的地面对象识别方法的流程示意图,如图所示,本实施例主要包括以下步骤:
30.s101、对三维点云图像进行平面检测,得到多个三维平面对象。
31.示例性地,三维点云图像可以是通过虚拟现实头戴式显示设备拍摄的深度图像进行坐标转换计算获得。定义点云大小可以定义点云的height和width,对三维点云图像进行平面检测时,可以将三维点云图像中的点云均匀的分成a
×
b为一个节点,例如三维点云图像为height10
×
width10,a=b=2,则分成(10/2)
×
(10/2)=25个节点,可以剔除其中缺少数据信息的节点、包含的深度不连续的节点以及上述节点对应的边等,采用层次聚类算法对剩余节点进行聚类可以获得多个分割节点,进一步可以基于像素点进行优化,根据优化后的分割节点可以提取多个三维平面对象。三维平面对象中可以包括点的数量,点的坐标,平面法向量等。
32.s102、对三维点云图像的投影图像的像素灰度进行聚类,得到投影图像中的多个二维灰度数据集。
33.示例性地,三维点云图像的投影图像可以是灰度图像,也可以是彩色图像,灰度是指黑白图像中点的颜色深度,范围一般从0到255,白色为255,黑色为0,彩色图像的灰度可以通过转化为黑白图像后的像素值获得。聚类方法可以使用k-means聚类算法或层次聚类算法,通过聚类算法可以获得多个二维灰度数据集,二维灰度数据集可以包括像素点的数量、像素点的坐标、灰度值等。
34.s103、基于多个二维灰度数据集,确定多个三维平面对象中的至少一个非地面对象。
35.示例性地,将多个二维灰度数据集和多个三维平面对象进行对应,可以获得多个三维平面对象的灰度,根据每个三维平面对象的灰度以及包含的点的数量等,可以设置点数阈值,对多个三维平面对象进行筛选,确定非地面对象。例如,筛选条件可以是点的数量小于点数阈值的三维平面对象认为是非地面对象,例如桌面、椅面等;或是三维平面对象中某一灰度值对应的点的数量小于点数阈值,则可以判定该部分点组成的三维平面对象的部分区域为非地面对象,例如紧贴地面的地毯、书本等。
36.s104、从多个三维平面对象中,筛除非地平面对象,得到地面对象。
37.示例性地,从多个三维平面对象中,剔除非地平面对象,例如可以剔除桌面、椅面以及紧贴地面的地毯、书本等,通过剔除非地平面对象,获得剩余的三维平面对象,则可以判定剩余的三维平面对象为地面对象。
38.本实施例通过将二维灰度数据集与三维平面对象进行结合,在多个三维平面对象中根据二维灰度数据集进一步细分三维平面对象,以从中排除非地平面,实现地面识别,从而提高了地面对象识别的准确率。
39.图2为本技术另一示例性实施例的地面对象识别方法的流程示意图。本实施例主要示出了上述步骤s103的具体实施方案。如图所示,本实施例主要包括以下步骤:
40.s201、建立多个二维灰度数据集和多个三维平面对象之间的映射关系。
41.s202、基于映射关系,确定二维灰度数据集映射到三维平面对象中的灰度区域。
42.s203、确定面积小于预设阈值的灰度区域对应的三维平面对象为非地面对象。
43.示例性地,可以根据二维灰度数据集中像素点的坐标和三维平面对象中点的坐标进行对应,以获得二维灰度数据集和三维平面对象的映射关系。根据二维灰度数据集和三维平面对象的映射关系,可以得到三维平面对象中二维灰度数据集对应的灰度区域,灰度区域可以包括点的数量,灰度值等。灰度区域的面积可以通过灰度区域的点的数量确定,若灰度区域的点的数量小于预设阈值,则判定该灰度区域对应的三维平面对象为非地面对象。
44.本实施例通过建立二维灰度数据集和三维平面对象的映射关系,来实现将二维灰度数据集映射到三维平面对象中,从而得到三维平面对象中二维灰度数据集对应的灰度区域,通过灰度区域对三维平面对象进行细分,筛选出非地面对象,进而提高了地面对象识别的准确率。
45.图3为本技术另一示例性实施例的地面对象识别方法的流程示意图。本实施例主要示出了上述步骤s101的具体实施方案。如图所示,本实施例主要包括以下步骤:
46.s301、对三维点云图像进行平面检测,得到多个初始三维平面对象。
47.s302、根据姿态数据和初始三维平面对象进行坐标系转换,得到第一三维平面对象。
48.s303、根据第一三维平面对象的平面法向量与水平面法向量的夹角,确定夹角小于预设夹角阈值的第一三维平面对象作为第二三维平面对象。
49.s304、确定第二三维平面对象为三维平面对象。
50.示例性地,虚拟现实头戴式显示设备中可以设置有imu传感器(惯性测量单元),imu传感器中的主要元件有陀螺仪、加速度计和磁力计。其中陀螺仪可以得到各个轴的角速度,加速度计能得到x,y,z方向的加速度,磁力计能获得周围磁场的信息。根据imu传感器获得的信息,通过姿态融合算法得到姿态数据,姿态数据包含虚拟现实头戴式显示设备中摄像头的三维坐标数据。根据姿态数据和初始三维平面对象进行坐标系转换,将初始三维平面对象的坐标系转换为世界坐标系,得到第一三维平面对象。
51.具体地,计算第一三维平面对象的平面法向量与水平面法向量的夹角,判断夹角与预设夹角阈值的大小,预设夹角阈值可以是10度,若该夹角小于预设夹角阈值,则其对应的第一三维平面对象可以作为第二三维平面对象,若该夹角大于等于预设夹角阈值,则剔
除对应的第一三维平面对象。将第二三维平面对象确定为s101中的三维平面对象进行后续处理。
52.本实施例通过确定第一三维平面对象的平面法向量与水平面法向量的夹角,并将该夹角与预设夹角阈值比较,以保留夹角小于预设夹角阈值的第一三维平面对象作为第二三维平面对象,从而将夹角较大的第一三维平面剔除,即将部分倾斜平面剔除,为后续进行二维灰度数据集与三维平面对象进行结合减少数据处理量,以提高地面对象识别的效率和准确率。
53.在一种具体实现方式中,根据第二三维平面对象和预设高度阈值,确定高度小于预设高度阈值的第二三维平面对象作为三维平面对象。
54.示例性地,可以对第二三维平面对象进行进一步筛选,可以设置预设高度阈值,比对第二三维平面对象的高度与预设高度阈值的大小,预设高度阈值可以设置为10厘米,保留高度小于预设高度阈值的第二三维平面对象作为三维平面对象,剔除高度大于等于预设高度阈值的第二三维平面对象。
55.本实施例通过设置高度阈值,将高度大于等于预设高度阈值的第二三维平面对象剔除,即剔除了高度较高的平面,例如桌面、椅面等。为后续进行二维灰度数据集与三维平面对象进行结合减少数据处理量,进一步提高地面对象识别的效率和准确率。
56.在一种具体实现方式中,该方法还包括获取三维点云图像的具体实施方案:获取速度数据,若速度数据小于预设速度阈值,则获取三维点云图像。
57.示例性地,根据imu传感器中的陀螺仪可以获得角速度信息作为速度数据,比对速度数据与预设速度阈值的大小,若速度数据小于预设速度阈值,则通过虚拟现实头戴式显示设备拍摄深度图像,从而获得三维点云图像。
58.本实施例通过比对虚拟现实头戴式显示设备的运动速度数据与预设速度阈值的大小,使得虚拟现实头戴式显示设备在运动速度较低的时候进行图像拍摄,从而可以使得获取到的三维点云图像数据更可靠准确。
59.在一种具体实现方式中,该方法还包括获取三维点云图像的示例性实施方案:获取角度数据,若角度数据大于预设角度阈值,则获取三维点云图像。
60.示例性地,通过imu传感器可以获得虚拟现实头戴式显示设备的姿态数据,根据姿态数据以及摄像头位于虚拟现实头戴式显示设备上的位置数据可以计算获得摄像头与水平面的夹角作为角度数据,可以设置预设角度阈值为30度,若角度数据大于预设角度阈值,即表示摄像头向下旋转角度大于30度,则可以拍摄到目标视场的深度图像,以获取三维点云图像。
61.本实施例通过对虚拟现实头戴式显示设备的摄像头的角度与预设角度阈值的比对,使得摄像头设置在前方的虚拟现实头戴式显示设备可以准确的获得目标视场的三维点云图像,从而避免了获取的三维点云图像数据不足,无法进行地面对象识别的情况。
62.在一种具体实现方式中,本技术的地面对象识别方法在s104之后还可以包括后续实施方案:根据预设标识规则,对非地面对象进行标识。
63.示例性地,非地面对象可能是桌面、椅面以及紧贴地面的地毯、书本等,预设标识规则可以是根据非地面对象的高度不同采用不同颜色进行标识,例如,高度为10厘米以上的非地面对象可以标记为橙色,而高度为10厘米以下的非地面对象可以标记为红色。
64.本实施例通过对非地面对象进行标识,可以使得用户在使用虚拟现实头戴式显示设备的过程中,可以清楚区分非地面对象,特别是针对于紧贴地面的地毯、书本等可能影响用户使用安全的非地面对象,从而可以降低用户在使用过程中的安全风险。
65.图4为本技术示例性实施例的地面对象识别装置的结构框图。
66.本实施例的地面对象识别装置400可装载于虚拟现实头戴式显示设备中,其中,所述虚拟现实头戴式显示设备可适用于执行地面对象识别任务。
67.如图所示,本实施例的地面对象识别装置400主要包括:检测单元401、计算单元402、筛选单元403和输出单元404。
68.其中,检测单元401用于对三维点云图像进行平面检测,得到多个三维平面对象;计算单元402用于对三维点云图像的投影图像的像素灰度进行聚类,得到投影图像中的多个二维灰度数据集;筛选单元403用于基于多个二维灰度数据集,确定多个三维平面对象中的至少一个非地面对象;输出单元404用于从多个三维平面对象中,筛除非地平面对象,得到地面对象。
69.本实施例通过将二维灰度数据集与三维平面对象进行结合,在多个三维平面对象中根据二维灰度数据集进一步细分三维平面对象,以从中排除非地平面,实现地面识别,从而提高了地面对象识别的准确率。
70.此外,本技术实施例的地面对象识别装置400还可用于实现前述各地面对象识别方法实施例中的其他步骤,并具有相应的方法步骤实施例的有益效果,在此不再赘述。
71.本技术示例性实施例还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本技术各实施例的方法。
72.本技术示例性实施例还提供一种电子设备,包括:一个或多个处理器;以及存储程序的存储器;其中,程序包括指令,指令在由处理器执行时使处理器执行本技术各实施例的方法。
73.参考图5,现将描述可以作为本技术的服务器或客户端的电子设备500的结构框图,其是可以应用于本技术的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本技术的实现。
74.如图5所示,电子设备500包括计算单元501,其可以根据存储在只读存储器(rom)502中的计算机程序或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序,来执行各种适当的动作和处理。在ram 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
75.电子设备500中的多个部件连接至i/o接口505,包括:输入单元506、输出单元507、存储单元508以及通信单元509。输入单元506可以是能向电子设备500输入信息的任何类型的设备,输入单元506可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元507可以是能呈现信息的任何类型的设备,并
且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元504可以包括但不限于磁盘、光盘。通信单元509允许电子设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙tm设备、wifi设备、wimax设备、蜂窝通信设备和/或类似物。
76.计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理。例如,在一些实施例中,前述各实施例的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom 502和/或通信单元509而被载入和/或安装到电子设备500上。在一些实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行前述方法。
77.用于实施本技术的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
78.需要说明的是,在本技术的描述中,术语“第一”、“第二”仅用于方便描述不同的部件或名称,而不能理解为指示或暗示顺序关系、相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
79.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。
80.需要说明的是,虽然结合附图对本技术的具体实施例进行了详细地描述,但不应理解为对本技术的保护范围的限定。在权利要求书所描述的范围内,本领域技术人员不经创造性劳动即可做出的各种修改和变形仍属于本技术的保护范围。
81.本技术实施例的示例旨在简明地说明本技术实施例的技术特点,使得本领域技术人员能够直观了解本技术实施例的技术特点,并不作为本技术实施例的不当限定。
82.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1