一种虚拟现实设备的避障预警方法
文献发布时间:2023-06-19 19:30:30
技术领域
本发明涉及数据处理技术领域,具体涉及一种虚拟现实设备的避障预警方法。
背景技术
目前,头戴式虚拟现实设备通常是用眼罩或头盔的形式,把显示屏贴近佩戴者的眼睛,通过光路调整焦距以在近距离中对眼睛投射画面,并且头戴式虚拟现实设备利用的是虚拟现实技术,会使得佩戴者处于一个虚拟的环境中,但是此时佩戴者并不能看到周围现实场景的情况;又由于佩戴者在与虚拟环境中的事物进行互动的时候,需要进行身体的移动,而现实场景中又会存在一些障碍物,例如柱子、桌子等,因此当佩戴者在使用过程中如果快要与现实场景中的障碍物发生碰撞时,虚拟现实设备也不会对佩戴者进行提醒,进而可能对佩戴者造成伤害或者对贵重物品造成损失;因此对佩戴者在使用过程中将要与现实场景中的障碍物发生碰撞时进行预警至关重要。
现有技术中一般基于三步搜索法分析当前佩戴者的运动方向,并基于运动方向实现对对佩戴者的避障提醒,但是传统三步搜索法在进行计算时,会对大量像素点都进行同一操作,使得获取像素点的匹配点时的计算量较大,且在进行匹配时,如果同一个边缘线上的像素点的灰度值都相同或者差异较小,在进行像素点匹配时可能出现匹配不准确的情况,因此会导致不能可靠的对佩戴者进行避障提醒。
发明内容
本发明提供一种虚拟现实设备的避障预警方法,用于解决现有方法对佩戴者进行避障提醒时不可靠的问题,所采用的技术方案具体如下::
本发明实施例提供了一种虚拟现实设备的避障预警方法包括以下步骤:
获取所有历史佩戴者在不同目标方向下的各历史现实场景灰度图像和各历史现实场景灰度图像的标记值;
对于任一历史佩戴者在任一目标方向下的各历史现实场景灰度图像,根据相邻历史现实场景灰度图像上的各特征点,得到各历史现实场景灰度图像上的各特征点与其前一帧历史现实场景灰度图像上的各边缘像素点之间的差异度;根据所述差异度,得到各历史现实场景灰度图像上的各特征点的匹配点;
根据三步搜索法和所述各特征点的匹配点,得到所述各历史现实场景灰度图像的运动矢量;
设定至少两个特征方向区域;对于任一目标方向:统计每个特征方向区域对应的第一数量,所述第一数量是指所有历史佩戴者在任一标记值下对应的运动矢量的方向角度属于每个特征方向区域的数量;将所述第一数量与历史佩戴者的总数量的比值,记为所述各特征方向区域对应的可能性指标,将最大的可能性指标对应的特征方向区域记为对应标记值下该目标方向的运动方向区域;
获取当前体验时刻下当前佩戴者在不同目标方向下的当前现实场景灰度图像;根据所述当前现实场景灰度图像对应的当前运动矢量,得到下一体验时刻下当前佩戴者在各目标方向下的预测运动矢量;
根据所述预测运动矢量和所述运动方向区域,判断是否对当前佩戴者进行避障预警。
优选的,对于任一历史佩戴者在任一目标方向下的各历史现实场景灰度图像,根据相邻历史现实场景灰度图像上的各特征点,得到各历史现实场景灰度图像上的各特征点与其前一帧历史现实场景灰度图像上的各边缘像素点之间的差异度,包括:
根据各历史现实场景灰度图像中的各边缘像素点对应的窗口区域,得到各边缘像素点对应的第一区域和第二区域;
对于任一历史现实场景灰度图像中的任一边缘轮廓,利用等间隔抽样的方法从该边缘轮廓上抽取边缘像素点,并将抽取的边缘像素点记为特征点;
对于任一历史佩戴者在任一目标方向下的任一历史现实场景灰度图像:
将该历史佩戴者在该目标方向下的该历史现实场景灰度图像的前一帧历史现实场景灰度图像记为第一图像;对于该历史现实场景灰度图像上的任一特征点和第一图像上的任一边缘像素点:
根据该特征点对应的第一区域和第二区域,以及该边缘像素点对应的第一区域和第二区域,得到该特征点对应的第一区域的目标差值和该特征点对应的第二区域的目标差值;
将计算得到该边缘像素点和该特征点之间的灰度差值的绝对值,记为该特征点与该边缘像素点之间的灰度差异;
将该特征点对应的第一区域的目标差值、对应的第二区域的目标差值以及该特征点与该边缘像素点与之间的灰度差异的和,记为该特征点与该边缘像素点之间的差异度。
优选的,根据各历史现实场景灰度图像中的各边缘像素点对应的窗口区域,得到各边缘像素点对应的第一区域和第二区域,包括:
利用边缘检测算法,得到各历史现实场景灰度图像中的各边缘轮廓和各边缘轮廓上的各边缘像素点;
将各边缘像素点对应的窗口区域中属于其对应边缘轮廓的各边缘像素点,记为各边缘像素点对应的第一像素点;将各边缘像素点对应的各第一像素点进行连接,得到各边缘像素点的连接线;
对于任一边缘像素点:判断该边缘像素点对应的窗口区域中除其连接线上的其他像素点是否位于该特征点的连接线的上方,若是,则将对应的像素点记为第二像素点,并将各第二像素点构成的区域记为该边缘像素点对应的第一区域;否则,则将对应的像素点记为第三像素点,并将各第三像素点构成的区域记为该边缘像素点对应的第二区域。
优选的,根据该特征点对应的第一区域和第二区域,以及该边缘像素点对应的第一区域和第二区域,得到该特征点对应的第一区域的目标差值和对应的第二区域的目标差值,包括:
计算得到该特征点对应的第一区域中的所有像素点的灰度均值和对应的第二区域中的所有像素点的灰度均值,并分别记为第一特征均值和第二特征均值;
计算得到该边缘像素点对应的第一区域中的所有像素点灰度均值和对应的第二区域中的所有像素点的灰度均值,并分别记为第一灰度均值和第二灰度均值;
计算得到第一特征均值与第一灰度均值的差值的绝对值,并将其记为该特征点对应的第一区域的第一差值;计算得到第一特征均值与第二灰度均值的差值的绝对值,并将其记为该特征点对应的第一区域的第二差值;将第一区域的第一差值和第二差值中的较小值记为该特征点对应的第一区域的目标差值;
计算得到第二特征均值与第一灰度均值的差值的绝对值,并将其记为该特征点对应的第二区域的第一差值;计算得到第二特征均值与第二灰度均值的差值的绝对值,并将其记为该特征点对应的第二区域的第二差值;将第二区域的第一差值和第二差值中的较小值记为该特征点对应的第二区域的目标差值。
优选的,根据所述差异度,得到各历史现实场景灰度图像上的各特征点的匹配点,,包括:
对于任一历史现实场景灰度图像上的任一特征点:将该特征点与其前一帧历史现实场景灰度图像上的各边缘像素点之间的差异度中的最小值对应的边缘像素点,记为该特征点的匹配点。
优选的,得到各历史现实场景灰度图像的标记值的方法包括:
按照各历史佩戴者对应的完整体验时间段中的各体验时刻的序号分别对各历史佩戴者对应的完整体验时间段中的各体验时刻进行标记,得到各历史佩戴者对应的完整体验时间段中的各体验时刻的标记值。
优选的,根据所述当前现实场景灰度图像对应的当前运动矢量,得到下一体验时刻下当前佩戴者在各目标方向下的预测运动矢量,包括:
根据各历史现实场景灰度图像对应的运动矢量,得到各标记值下任意两个目标方向对应的目标二元组;
将与当前体验时刻对应的序号相同的标记值,记为当前体验时刻对应的标记值;
将当前佩戴者对应的当前体验时刻的标记值,记为目标标记值,所述当前体验时刻对应的标记值与当前体验时刻对应的序号相同;
对于该目标标记值下第i个目标方向和第j个目标方向对应的目标二元组,并将其记为第一目标二元组,所述i和j为正整数:
获取该目标标记值下第i个目标方向下的当前现实场景灰度图像上各特征点的匹配点;
根据第i个目标方向下的当前现实场景灰度图像上各特征点的匹配点和三步搜索法,得到该目标标记值下第i个目标方向下的当前现实场景灰度图像对应的当前运动矢量,并将第i个目标方向下的当前现实场景灰度图像对应的当前运动矢量的方向角度记为目标方向角度;
若目标方向角度属于第一目标二元组中的第1个特征方向区域,则将第一目标二元组中的第2个特征方向区域记为该目标标记值下第j个目标方向下的当前现实场景灰度图像对应的指导方向区域;
获取第j个目标方向下的当前现实场景灰度图像对应的指导方向区域内的各特征点的匹配点;
根据三步搜索法和第j个目标方向下的当前现实场景灰度图像对应的指导方向区域内的各特征点的匹配点,得到该目标标记值下第j个目标方向下的当前现实场景灰度图像对应的当前运动矢量;
对于任一目标方向,将当前体验时刻下当前佩戴者在该目标方向下的当前现实场景灰度图像的当前运动矢量,记为下一体验时刻当前佩戴者在该目标方向下的预测运动矢量。
优选的,根据各历史现实场景灰度图像对应的运动矢量,得到各标记值下任意两个目标方向对应的目标二元组,包括:
对于任一标记值:
将每个目标方向下对应各历史现实场景灰度图像,记为目标图像;对于该标记值下的任意两个目标方向,并分别记为第一方向和第二方向:
以第一方向和第二方向下的第a张目标图像对应的运动矢量的方向角度所属的特征方向区域,构建得到特征二元组集合,a为正整数;
统计特征二元组集合中各特征二元组在特征二元组集合中出现的频次,并将各特征二元组在特征二元组集合中出现的频次与历史佩戴者的总数量的比值,记为各特征二元组对应的特征值;
判断最大特征值是否大于预设阈值,若是,则将最大特征值对应的特征二元组记为该标记值下第一方向和第二方向对应的目标二元组。
优选的,根据所述预测运动矢量和所述运动方向区域,判断是否对目标佩戴者进行避障预警,包括:
将与当前体验时刻之后的下一体验时刻序号相同的标记值,记为特征标记值;
若下一体验时刻当前佩戴者在各目标方向下的预测运动矢量的方向角度均属于该特征标记值下对应目标方向的运动方向区域,则判定不需要对当前佩戴者进行避障提醒;
否则,则根据当前佩戴者在各目标方向下的当前现实场景灰度图像,得到当前时刻下当前佩戴者在各目标方向下的预警评价指标;
若当前时刻当前佩戴者在各目标方向下的预警评价指标中均不小于等于预设预警阈值,则对当前佩戴者进行避障提醒。
根据当前佩戴者在各目标方向下的当前现实场景灰度图像,得到当前时刻下当前佩戴者在各目标方向下的预警评价指标,包括:
利用训练好的分类网络得到当前佩戴者在各目标方向下的当前现实场景灰度图像中的各障碍物区域;
计算各障碍物区域的中心到对应当前现实场景灰度图像的最下面边的距离中的最小值,并记为当前佩戴者在各目标方向下的第一距离;
对于任一目标方向,根据如下公式计算当前时刻下当前佩戴者在该目标方向下的预警评价指标:
其中,
有益效果:本发明首先基于根据相邻历史现实场景灰度图像上的各特征点,得到各历史现实场景灰度图像上的各特征点与其前一帧历史现实场景灰度图像上的各边缘像素点之间的差异度,然后基于差异度,得到各历史现实场景灰度图像上的各特征点的匹配点;本发明基于各特征点与其前一帧历史现实场景灰度图像上的各边缘像素点之间的差异度能够较准确的得到各历史现实场景灰度图像上的各特征点的匹配点,后续基于三步搜索法和各历史现实场景灰度图像上的各特征点的匹配点能够较准确地确定各历史现实场景灰度图像的运动矢量。紧接着本发明通过设置特征方向区域,然后任一目标方向下,各历史现实场景灰度图像的运动矢量每个特征方向区域对应的第一数量与历史佩戴者的总数量的比值,确定对应标记值下该目标方向的运动方向区域;所述运动方向区域可以反映历史佩戴者的运动习惯,后续结合预测运动矢量和运动方向区域能够较可靠的判断是否对当前佩戴者进行避障提醒。最后本发明基于当前现实场景灰度图像对应的当前运动矢量,得到下一体验时刻下当前佩戴者在各目标方向下的预测运动矢量,然后基于预测运动矢量和运动方向区域,能够较可靠的对当前佩戴者进行避障预警。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1为本发明一种虚拟现实设备的避障预警方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明实施例,本领域普通技术人员所获得的所有其它实施例,都属于本发明实施例保护的范围。
除非另有定义,本文所使用的所有的技术和科学技术术语与属于本发明的技术人员通常理解的含义相同。
本实施例提供了一种虚拟现实设备的避障预警方法,详细说明如下:
如图1所示,该一种虚拟现实设备的避障预警方法,包括以下步骤:
步骤S001,获取所有历史佩戴者在不同目标方向下的各历史现实场景灰度图像。
由于佩戴者在使用虚拟现实设备的过程中如果快要与现实场景中的障碍物发生碰撞时,虚拟现实设备并不会对佩戴者进行提醒,进而可能使得佩戴者与障碍物发生碰撞,对佩戴者造成伤害或者对贵重物品造成损失;因此本实施例提供了一种虚拟现实设备的避障预警方法,该方法的主要目的是可靠的对佩戴者在使用过程中将要与现实场景中的障碍物发生碰撞时进行预警,以避免佩戴者与障碍物发生碰撞,影响佩戴者的虚拟体验,也可以减少安全隐患。
由于本实施例主要分析的是头戴式的虚拟现实设备,因此本实施例在虚拟现实设备的左前方、左后方、右前方、右后方、正前方、正后方分别布置相机,即一共在6个不同方向布置了相机,并将左前方、左后方、右前方、右后方、正前方、正后方分别记为第1个目标方向、第2个目标方向、第3个目标方向、第4个目标方向、第5个目标方向以及第6个目标方向;并且这样布置相机的目的是为了详细获取佩戴者周围的现实场景信息,并且将虚拟现实设备上的各目标方向上的相机采集的图像,记为对应目标方向下的图像;本实施例设置相机的采集视角均向下倾斜45度,具体应用中也可以根据实际情况设置相机的采集视角角度;对于任一目标方向和任一佩戴者,在该目标方向上的相机所采集的相邻帧图像之间的时间间隔均相同,具体应用中可以根据实际情况设置采集时间间隔,并且本实施例仅在佩戴者使用虚拟现实设备的过程中进行图像采集,并且本实施例设置6个相机的采集频率以及采集时刻均相同,因此一个采集时刻会得到6张图像。
然后将佩戴过并且进行过完整体验的佩戴者,记为历史佩戴者;并且这些进行完整体验的所有历史佩戴者在体验过程中没有碰到障碍物;本实施例是针对同一虚拟场景为例进行分析的,因此所有历史佩戴者所处的虚拟环境是相同的;本实施例将佩戴者开始进行体验到体验结束的时间长度记为完整体验时间段。
因此所有历史佩戴者完整体验的时间长度是相同的,所有历史佩戴者所处的虚拟环境也是相同的;获取各历史佩戴者对应的完整体验时间段,所述完整体验时间段中包括多个体验时刻,所述体验时刻也是相机采集图像的时刻,具体应用中可以根据实际情况设置完整体验时间段中体验时刻的数量;并且各历史佩戴者对应的完整体验时间段对应的体验时刻的数量相同,为了后续数据的可靠性,将历史佩戴者在同一体验时刻下的图像进行统一分析,为便于后续的描述,本实施例对体验时刻进行标记;具体为:
按照各历史佩戴者对应的完整体验时间段中的各体验时刻的序号分别对各历史佩戴者对应的完整体验时间段中的各体验时刻进行标记,得到各历史佩戴者对应的完整体验时间段中的各体验时刻的标记值;即将所有历史佩戴者对应的完整体验时间段中的第t个体验时刻均标记为t,即标记值t对应的所有第t个体验时刻为同一体验时刻,且标记值t对应的所有图像为所有历史佩戴者在对应完整体验时间段中第t个体验时刻对应的图像,t为正整数;例如标记值2对应的所有图像为所有历史佩戴者对应的完整体验时间段中的第2个体验时刻对应的图像。
因此通过上述可知一个标记值下的所有体验时刻为同一体验时刻,而本实施例中同一体验时刻下所有历史佩戴者所看到的虚拟场景是相同的;将基于虚拟现实设备上的6个目标方向上的相机,采集得到所有历史佩戴者在不同目标方向下的各图像,记为历史现实场景图像。由于6个相机的采集频率以及采集时刻均相同,若历史佩戴者的数量为10,对于任一标记值,在该标记值下可以得到60张图像,并且在该标记值下的任一目标方向下可以得到10张图像。
然后对历史现实场景图像进行降噪操作和灰度化处理,将预处理操作和灰度化处理之后的图像记为历史现实场景灰度图像;所述降噪操作使用的是高斯滤波算法,所述灰度化处理使用的是加权平均灰度化算法,所述高斯滤波算法和加权平均灰度化算法均为公知技术,因此不再详细描述。
至此,得到了所有历史佩戴者在不同目标方向下的各历史现实场景灰度图像;所述历史现实场景灰度图像是后续分析是否对目标佩戴者进行避障预警的基础。
步骤S002,对于任一历史佩戴者在任一目标方向下的各历史现实场景灰度图像,根据相邻历史现实场景灰度图像上的各特征点,得到各历史现实场景灰度图像上的各特征点与其前一帧历史现实场景灰度图像上的各边缘像素点之间的差异度;根据所述差异度,得到各历史现实场景灰度图像上的各特征点的匹配点;根据三步搜索法和所述各特征点的匹配点,得到所述各历史现实场景灰度图像的运动矢量。
接下来本实施例将对历史现实场景灰度图像进行分析,得到各历史现实场景灰度图像的运动矢量,所述历史现实场景灰度图像的运动矢量将用于后续运动方向区域的获取,具体为:
本实施例主要是使用块匹配算法中的三步搜索法来实现各历史现实场景灰度图像的运动矢量的获取,但是由于三步搜索法在进行计算时,会对大量像素点都进行同一操作,使得获取像素点的匹配点时的计算量较大,且在进行匹配时,如果同一个边缘线上的像素点的灰度值都相同或者差异较小,在进行像素点匹配时可能出现匹配不准确的情况,因此本实施例接下来基于像素点其附近的像素点灰度值来实现像素点的匹配,即得到各历史现实场景灰度图像上的各特征点的匹配点,由于各特征点的匹配点在本质上应位于同一物体上的同位置,只不过是由于佩戴者的移动导致同一物体在不同时刻采集的图像上的位置不同,即同一物体在不同时刻采集的图像上的位置可以衡量佩戴者的运动方向和大小。
本实施例首先使用canny边缘检测算法对历史现实场景灰度图像进行边缘提取,得到历史现实场景灰度图像中的各边缘轮廓以及各边缘轮廓上的各边缘像素点;然后以各边缘像素点为中心,得到各边缘像素点对应的窗口区域;具体应用中可以根据实际情况设置窗口大小,本实施例设置窗口大小为9*9;由于本实施例中的边缘轮廓通常为闭合的,因此各边缘像素点所在的边缘轮廓会将各边缘像素点对应的窗口区域分为两个区域;即获取各边缘像素点对应的窗口区域中属于其对应的边缘轮廓的各边缘像素点,并记为各边缘像素点对应的第一像素点,将各边缘像素点对应的各第一像素点进行连接,得到各边缘像素点的连接线;对于任一边缘像素点:判断该边缘像素点对应的窗口区域中除其连接线上的其他像素点是否位于该特征点的连接线的上方,若是,则将对应的像素点记为第二像素点,并将各第二像素点构成的区域记为该边缘像素点对应的第一区域;否则,则将对应的像素点记为第三像素点,并将各第三像素点构成的区域记为该边缘像素点对应的第二区域。至此,按照上述过程得到了各边缘像素点对应的第一区域和第二区域。
对于历史现实场景灰度图像中的任一边缘轮廓,利用等间隔抽样的方法从该边缘轮廓上抽取边缘像素点,并将抽取的边缘像素点记为特征点,并且该边缘轮廓上相邻的两个特征点之间的间隔相等;具体应用中可以根据实际情况设置同一边缘轮廓上相邻的两个特征点之间的间隔,本实施例设置为2,即2个像素点;这样做的目的可以在保证后续像素点匹配准确的情况下减少计算量。至此,得到了各历史佩戴者在各目标方向下的各历史现实场景灰度图像对应的各边缘轮廓和各边缘轮廓上的各特征点。
然后对特征点进行分析,得到各特征点的匹配点;具体为:
对于任一历史佩戴者在任一目标方向下的任一历史现实场景灰度图像:
将该历史佩戴者在该目标方向下的该历史现实场景灰度图像的前一帧历史现实场景灰度图像记为第一图像,即所述第一图像也为该历史佩戴者在该目标方向下的图像;对于该历史现实场景灰度图像上的任一特征点和第一图像上的任一边缘像素点:
计算得到该特征点对应的第一区域中的所有像素点的灰度均值和对应的第二区域中的所有像素点的灰度均值,并分别记为第一特征均值和第二特征均值;以及计算得到该边缘像素点对应的第一区域中的所有像素点灰度均值和对应的第二区域中的所有像素点的灰度均值,并分别记为第一灰度均值和第二灰度均值;计算得到第一特征均值与第一灰度均值的差值的绝对值,并将其记为该特征点对应的第一区域的第一差值;计算得到第一特征均值与第二灰度均值的差值的绝对值,并将其记为该特征点对应的第一区域的第二差值;将第一区域的第一差值和第二差值中的较小值记为该特征点对应的第一区域的目标差值。计算得到第二特征均值与第一灰度均值的差值的绝对值,并将其记为该特征点对应的第二区域的第一差值;计算得到第二特征均值与第二灰度均值的差值的绝对值,并将其记为该特征点对应的第二区域的第二差值;将第二区域的第一差值和第二差值中的较小值记为该特征点对应的第二区域的目标差值;所述该特征点对应的第一区域的目标差值和对应的第二区域的目标差值越小,表明该特征点与该边缘像素点之间的相似度越高,则说明该边缘像素点为该特征点的匹配点的概率越大;并且当该边缘像素点为该特征点的匹配点的概率越大时,则该边缘像素点和该特征点之间的灰度差异越小;因此将计算得到该边缘像素点和该特征点之间的灰度差值的绝对值,记为该特征点与该边缘像素点之间的灰度差异;由于灰度差异和目标差值均能衡量该边缘像素点为该特征点的匹配点的概率,因此本实施例根据该特征点对应的第一区域的目标差值、对应的第二区域的目标差值以及该特征点与该边缘像素点与之间的灰度差异,得到该特征点与该边缘像素点之间的差异度;根据如下公式计算该特征点与该边缘像素点之间的差异度:
Q=g1+g2+g3
其中,Q为该特征点与该边缘像素点之间的差异度,g1为该特征点对应的第一区域的目标差值,g2该特征点对应的第二区域的目标差值,g3为该特征点与该边缘像素点之间的灰度差异;Q越小,表明该边缘像素点与该特征点之间的相似度越大,说明该边缘像素点为该特征点的匹配点的概率越大;并且当g1、g2以及g3越小时,表明Q越小。
因此通过上述方式得到了该特征点与第一图像上的各边缘像素点之间的差异度,并将最小差异度对应的边缘像素点记为该特征点的匹配点;至此,通过上述方法可以得到各历史现实场景灰度图像上的各特征点的匹配点;根据三步搜索法和各历史现实场景灰度图像上的各特征点的匹配点,得到各历史现实场景灰度图像上的各特征点对应的运动矢量;计算各历史现实场景灰度图像上的各特征点对应的运动矢量的均值,记为各历史现实场景灰度图像对应的运动矢量;由于各历史佩戴者对应的完整体验时间段中的第1个体验时刻对应的各历史现实场景灰度图像没有前一帧图像,因此本实施例将各历史佩戴者对应的完整体验时间段中的第1个体验时刻对应的各历史现实场景灰度图像对应的运动矢量记为0,即标记值1对应的所有历史现实场景灰度图像对应的运动矢量为0;至此,得到了所有历史现实场景灰度图像对应的运动矢量。
步骤S003,设定至少两个特征方向区域;对于任一目标方向:统计每个特征方向区域对应的第一数量,所述第一数量是指所有历史佩戴者在任一标记值下对应的运动矢量的方向角度属于每个特征方向区域的数量;将所述第一数量与历史佩戴者的总数量的比值,记为所述各特征方向区域对应的可能性指标,将最大的可能性指标对应的特征方向区域记为对应标记值下该目标方向的运动方向区域。
紧接着本实施例将对各历史现实场景灰度图像对应的运动矢量进行分析,得到不同虚拟场景下佩戴者的运动习惯,具体为:
本实施例首先在现实场景中任选一个位置,记为原点;然后过原点构建任一一个坐标系,所述该坐标系的方向角度范围为0度到360度,并且该坐标的横轴为水平方向,然后对该坐标系的方向角度范围进行均匀划分,并将均匀划分后的每个方向角度范围记为特征方向区域集合;具体应用中可以根据实际情况设置特征方向区域的数量,本实施例设置为12,即每隔30度划分一次,即所述特征方向区域集合K={k1,k2,…,k12},其中,k1为第1个特征方向区域,且为0度到30度,k2为第2个特征方向区域,且为30度到60度,k12为第12个特征方向区域,且为330度到360度;然后统计得到历史佩戴者的总数量。
对于任一目标方向:选取任一标记值对应的所有历史现实场景灰度图像,并记为待处理图像,统计每个特征方向区域对应的第一数量,所述第一数量是指所有待处理图像对应的运动矢量的方向角度属于每个特征方向区域的数量;所述运动矢量的方向角度是对应运动矢量的方向与水平方向的夹角;将每个特征方向区域对应的第一数量与历史佩戴者的总数量的比值,记为各特征方向区域对应的可能性指标;对于任一特征方向区域,根据如下公式计算该特征方向区域对应的可能性指标:
其中,E为该特征方向区域对应的可能性指标,b为该特征方向区域对应的第一数量,a1为历史佩戴者的总数量;a1为对b的归一化,b越大,表明E越大,则表明历史佩戴者在该特征方向区域活动的越频繁。
将最大的可能性指标对应的特征方向区域记为对应标记值下该目标方向的运动方向区域。并且所述运动方向区域为对应标记值所对应的体验时刻下该目标方向下历史佩戴者经常活动的方向区域,即可以反映历史佩戴者的运动习惯。
作为一个实例,对于第1个目标方向来说:首先选取标记值t对应的所有待处理图像,对所有待处理图像进行分析,得到各特征方向区域对应的可能性指标,若在30度到60度对应的特征方向区域所对应的可能性指标最大,则30度到60度对应的特征方向区域为标记值t下第1个目标方向的运动方向区域。
步骤S004,获取当前体验时刻下当前佩戴者在不同目标方向下的当前现实场景灰度图像;根据所述当前现实场景灰度图像对应的当前运动矢量,得到下一体验时刻下当前佩戴者在各目标方向下的预测运动矢量。
紧接着本实施例对当前现实场景灰度图像对应的当前运动矢量和各历史现实场景灰度图像的运动矢量的方向角度所属的特征方向区域进行分析,得到下一体验时刻目标佩戴者在各目标方向下的预测运动矢量;具体过程如下:
对于任一标记值:
每个目标方向下对应多个历史现实场景灰度图像,并记为目标图像,且每个目标方向下对应的历史现实场景灰度图像的数量与历史佩戴者的数量相等;对于该标记值下的任意两个目标方向,并分别记为第一方向和第二方向:分别以第一方向和第二方向下的第a张目标图像对应的运动矢量的方向角度所属的特征方向区域,构建得到多个二元组,记为特征二元组,而且特征二元组的数量与历史佩戴者的数量相同,a为正整数;统计各特征二元组在所有特征二元组中出现的频次,并且将各特征二元组在所有特征二元组中出现的频次与历史佩戴者的总数量的比值,记为各特征二元组对应的特征值。
然后判断最大特征值是否大于预设阈值,若是,则将最大特征值对应的特征二元组记为该标记值下第一方向和第二方向对应的目标二元组;因此按照上述方式可以得到各标记值下任意两个目标方向对应的目标二元组。并且所述目标二元组的目的是为了辅助三步搜索法获取运动矢量,例如标记值t下的第1个目标方向和第2个目标方向对应的目标二元组为(k1,k2),若利用传统的三步搜索法获得的标记值t下第1个目标方向下的当前现实场景灰度图像对应的运动矢量的方向角度属于k1,则k2便是获取标记值t下第2个目标方向下的当前现实场景灰度图像对应的运动矢量的指导方向区域,即利用三步搜索法获取标记值t下第2个目标方向下的当前现实场景灰度图像对应的运动矢量时仅仅使用当前现实场景灰度图像上属于指导方向区域的像素点即可。
因此本实施例首先基于虚拟现实设备上的6个目标方向上的相机,采集得到在各目标方向下当前佩戴者从开始体验到当前时刻的体验时间段中的各体验时刻对应的目标现实场景图像,然后对目标现实场景图像进行降噪操作和灰度化处理,将预处理操作和灰度化处理之后的图像记为目标现实场景灰度图像;将距离当前时刻最近的体验时刻记为当前体验时刻,将当前体验时刻对应的所有目标现实场景灰度图像记为当前现实场景灰度图像,并将与距离当前时刻最近的体验时刻的序号相同的标记值,记为当前体验时刻对应的标记值;例如当前佩戴者从开始体验到当前时刻的体验时间段中的体验时刻的数量为2,则当前佩戴者从开始体验到当前时刻的体验时间段中的第2个体验时刻则为当前体验时刻,并且当前佩戴者在从开始体验到当前时刻的体验时间段中的第2个体验时刻下所处的虚拟画面与标记值2下所有历史佩戴者所处的虚拟画面相同。
然后将当前佩戴者对应的当前体验时刻的标记值,记为目标标记值;获取该目标标记值下任意两个目标方向对应的目标二元组;并得到该目标标记值下当前佩戴者在各目标方向下的当前现实场景灰度图像;对于该目标标记值下第i个目标方向和第j个目标方向对应的目标二元组,并将其记为第一目标二元组:然后获取该目标标记值下第i个目标方向下的当前现实场景灰度图像上各特征点的匹配点,i与j均为正整数;根据第i个目标方向下的当前现实场景灰度图像上各特征点的匹配点和三步搜索法,得到该目标标记值下第i个目标方向下的当前现实场景灰度图像对应的当前运动矢量的方向角度,并记为目标方向角度;若目标方向角度属于第一目标二元组中的第1个特征方向区域,则将第一目标二元组中的第2个特征方向区域记为该目标标记值下第j个目标方向下的当前现实场景灰度图像对应的指导方向区域;然后获取第j个目标方向下的当前现实场景灰度图像对应的指导方向区域内的各特征点的匹配点;根据三步搜索法和第j个目标方向下的当前现实场景灰度图像对应的指导方向区域内的各特征点的匹配点,得到该目标标记值下第j个目标方向下的当前现实场景灰度图像对应的当前运动矢量。并且所述得到第i个目标方向和第j个目标方向下的当前现实场景灰度图像上各特征点的匹配点的方法和上述步骤S002中得到各历史现实场景灰度图像上各特征点的匹配点的方法相同,因此不再详细描述。
例如对于标记值t:若历史佩戴者的数量为10,每个目标方向下会对应10张目标图像;以第1个目标方向和第1个目标方向为例,以第1个目标方向和第1个目标方向下的第a张目标图像对应的运动矢量的方向角度所属的特征方向区域,构建得到10个二元组,记为特征二元组,假设10个特征二元组中的任一一个特征二元组为(k1,k2),统计(k1,k2)在10个特征二元组中出现的频次,并且将(k1,k2)在10个特征二元组中出现的频次与历史佩戴者的总数量的比值,记为特征二元组(k1,k2)对应的特征值,因此得到了各特征二元组对应的特征值;判断最大特征值是否大于预设阈值,若是,则将最大特征值对应的特征二元组记为标记值t下第1个目标方向和第2个目标方向对应的目标二元组,并且所述目标二元组的目的是为了辅助三步搜索法获取运动矢量。
而且获取标记值t下第一目标方向和第二目标方向下的当前现实场景灰度图像对应的运动矢量时的指导方向区域,即仅仅只对指导方向区域内的像素点进行分析即可,可以减少计算量;需要说明的是,若最大特征值小于等于预设阈值,则利用传统的三步搜索法获取标记值t下第一目标方向和第二目标方向下的当前现实场景灰度图像对应的运动矢量即可。而且假如第一目标方向和第二目标方向下的第1张目标图像对应的运动矢量的方向角度所属的特征方向区域,构建得到的二元组为(k1,k2),则k1为第一目标方向下的第1张目标图像对应的运动矢量的方向角度所属的特征方向区域,k2为第一目标方向的第1张目标图像对应的运动矢量的方向角度所属的特征方向区域,并且第一目标方向下的第a张目标图像和第二目标方向下的第a张目标图像均属于同一历史佩戴者。
因此通过上述过程得到了当前体验时刻下当前佩戴者在各目标方向下的当前现实场景灰度图像的当前运动矢量;由于佩戴者的运动是连续的,因此相邻体验时刻下当前佩戴者在各目标方向下的当前现实场景灰度图像的当前运动矢量差异较小;因此本实施例中对于任一目标方向,将当前体验时刻下当前佩戴者在该目标方向下的当前现实场景灰度图像的当前运动矢量,记为下一体验时刻当前佩戴者在该目标方向下的预测运动矢量。
步骤S005,根据所述预测运动矢量和所述运动方向区域,判断是否对目标佩戴者进行避障预警。
接下来本实施例将对预测运动矢量进行分析,基于分析的结果可以判定是否对目标佩戴者进行避障预警;具体为:对于任一目标方向:
将与当前体验时刻之后的下一体验时刻序号相同的标记值,记为特征标记值;若下一体验时刻当前佩戴者在各目标方向下的预测运动矢量的方向角度均属于该特征标记值下对应目标方向的运动方向区域,则判定不需要对当前佩戴者进行避障提醒,即下一体验时刻当前佩戴者在各目标方向下的预测运动矢量的方向角度与历史佩戴者在该特征标记值下的各目标方向的运动习惯相似,由于历史佩戴者并未碰撞到障碍物,因此可以表明下一体验时刻当前佩戴者碰撞到障碍物的概率较小,所以不需要进行避障提醒。
否则,则利用训练好的分类网络得到当前佩戴者在各目标方向下的当前现实场景灰度图像中的各障碍物区域;由于当佩戴者越靠近障碍物时,在相机所拍出来的图像中则会呈现障碍物在图像上的占比逐渐增大的现象,则障碍物的边缘会越来越靠近图像的边缘;因此计算各障碍物区域的中心到对应当前现实场景灰度图像的最下面边的距离中的最小值,记为当前佩戴者在各目标方向下的第一距离;所述第一距离越小表明当前佩戴者距离障碍物越近;获取当前佩戴者在各目标方向下的当前现实场景灰度图像对应的当前运动矢量的模长;所述模长可以表征当前佩戴者在该目标方向下的运动速度;然后获取当前佩戴者在各目标方向下的当前现实场景灰度图像对应的当前运动矢量的方向角度;当速度越大,第一距离越小,当前运动矢量的方向角度与270度的差异值越小时,表明当前佩戴者碰到障碍物的概率越大;由于佩戴者在移动的时候,图中的障碍物一般会朝着270度左右的方向移动,因此当前运动矢量的方向角度与270度的差异值越小,表明佩戴者可能会更快地与图像中的障碍物发生碰撞。因此本实施例根据当前佩戴者在各目标方向下的第一距离以及当前佩戴者在各目标方向下的当前现实场景灰度图像对应的当前运动矢量的模长和方向角度,得到当前时刻下当前佩戴者在各目标方向下的预警评价指标;对于任一目标方向,根据如下公式计算当前时刻下当前佩戴者在该目标方向下的预警评价指标:
其中,
因此若当前时刻当前佩戴者在各目标方向下的预警评价指标中均不小于等于预设预警阈值,则表明当前佩戴者碰到障碍物的概率较大,则对当前佩戴者进行避障提醒。
本实施例中利用历史现实场景灰度图像集来训练分类网络,训练时利用人工对历史现实场景灰度图像进行标记,将在历史现实场景灰度图像中的地面和偶然出现的物体的像素值标记为0,其他区域标记为1,标记为1的区域为障碍物区域,然后输入分类网络进行训练,得到训练好的分类网络,并且训练时利用交叉熵损失函数进行监督;由于分类网络的具体网络结构和具体的训练细节为公知技术,因此本实施例不再详细描述。
本实施例首先基于根据相邻历史现实场景灰度图像上的各特征点,得到各历史现实场景灰度图像上的各特征点与其前一帧历史现实场景灰度图像上的各边缘像素点之间的差异度,然后基于差异度,得到各历史现实场景灰度图像上的各特征点的匹配点;本实施例基于各特征点与其前一帧历史现实场景灰度图像上的各边缘像素点之间的差异度能够较准确的得到各历史现实场景灰度图像上的各特征点的匹配点,后续基于三步搜索法和各历史现实场景灰度图像上的各特征点的匹配点能够较准确地确定各历史现实场景灰度图像的运动矢量。紧接着本实施例通过设置特征方向区域,然后任一目标方向下,各历史现实场景灰度图像的运动矢量每个特征方向区域对应的第一数量与历史佩戴者的总数量的比值,确定对应标记值下该目标方向的运动方向区域;所述运动方向区域可以反映历史佩戴者的运动习惯,后续结合预测运动矢量和运动方向区域能够较可靠的判断是否对当前佩戴者进行避障提醒。最后本实施例基于当前现实场景灰度图像对应的当前运动矢量,得到下一体验时刻下当前佩戴者在各目标方向下的预测运动矢量,然后基于预测运动矢量和运动方向区域,实现是否对当前佩戴者进行避障预警的判断。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
- 一种虚拟现实眼镜避障辅助装置、系统及控制方法
- 一种无人机避障系统及避障方法
- 一种无人艇高速状态下的二级自主避障系统及避障方法
- 一种避障路径规划方法、装置、设备和介质
- 机器人避障的控制电路、机器人及机器人避障方法
- 虚拟现实设备及虚拟现实设备提供的避障方法
- 一种避障方法、电子设备及虚拟现实设备