CN115878008A - 交互方法、装置、计算机可读存储介质及电子设备 - Google Patents
交互方法、装置、计算机可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN115878008A CN115878008A CN202111142502.4A CN202111142502A CN115878008A CN 115878008 A CN115878008 A CN 115878008A CN 202111142502 A CN202111142502 A CN 202111142502A CN 115878008 A CN115878008 A CN 115878008A
- Authority
- CN
- China
- Prior art keywords
- interactive object
- positioning
- interactive
- depth
- acquiring
- 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.)
- Pending
Links
Images
Abstract
本申请实施例提供了一种交互方法、装置、计算机可读存储介质及电子设备。本申请实施例首先获取包含交互对象的预览图像;然后获取交互对象在预览图像中的定位信息;根据定位信息获取交互对象的深度信息;进而根据深度信息生成交互指令,并执行交互指令。本申请实施例可以根据交互对象在预览图像中的定位信息确定交互对象所在位置,进而获取交互对象的深度信息,根据深度信息生成交互指令并执行,从而结合定位信息和深度信息实现了非接触式的人机交互,提高了人机交互的便利性。
Description
技术领域
本申请涉及智能终端技术领域,尤其涉及一种交互方法、装置、计算机可读存储介质及电子设备。
背景技术
随着智能终端技术的不断发展,电子设备的使用越来越普及。通过人机交互,可以实现听音乐、观看视频、玩游戏等多种功能。
目前,绝大部分的电子设备的操作方式为触屏操作,需要人手与电子设备表面接触,造成了人机交互过程中的不便。
发明内容
本申请实施例提供一种交互方法、装置、存储介质及电子设备,能够提高人机交互的便利性。
本申请实施例提供一种交互方法,包括:
获取包含交互对象的预览图像;
获取交互对象在预览图像中的定位信息;
根据定位信息获取交互对象的深度信息;
根据深度信息生成交互指令,并执行交互指令。
本申请实施例还提供了一种交互装置,包括:
第一获取模块,用于获取包含交互对象的预览图像;
第二获取模块,用于获取交互对象在预览图像中的定位信息;
第三获取模块,用于根据定位信息获取交互对象的深度信息;
指令生成模块,用于根据深度信息生成交互指令,并执行交互指令。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行以实现本申请实施例提供的任一种交互方法中的步骤。
本申请实施例还提供一种电子设备,电子设备包括处理器、存储器以及存储于存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序以实现本申请实施例提供的任一种交互方法中的步骤。
本申请实施例中,首先获取包含交互对象的预览图像;然后获取交互对象在预览图像中的定位信息;根据定位信息获取交互对象的深度信息;进而根据深度信息生成交互指令,并执行交互指令。本申请实施例可以根据交互对象在预览图像中的定位信息确定交互对象所在位置,进而获取交互对象的深度信息,根据深度信息生成交互指令并执行,从而结合定位信息和深度信息实现了非接触式的人机交互,提高了人机交互的便利性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的交互方法的第一种流程示意图。
图2为本申请实施例提供的预览图像示意图。
图3为本申请实施例提供的场景示意图。
图4为本申请实施例提供的交互方法的第二种流程示意图。
图5为本申请实施例提供的拍摄场景的俯视示意图。
图6为本申请实施例提供的交互方法的第三种流程示意图。
图7为本申请实施例提供的交互装置的第一种结构示意图。
图8为本申请实施例提供的交互装置的第二种结构示意图。
图9为本申请实施例提供的电子设备的第一种结构示意图。
图10是本申请实施例提供的电子设备的第二种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有付出创造性劳动前提下所获得的所有实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书以及上述附图中的术语“第一”、“第二”、“第三”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应当理解,这样描述的对象在适当情况下可以互换。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤的过程、方法或包含了一系列模块或单元的装置、终端、系统不必限于清楚地列出的那些步骤或模块和单元,还可以包括没有清楚地列出的步骤或模块或单元,也可以包括对于这些过程、方法、装置、终端或系统固有的其它步骤或模块或单元。
本申请实施例首先提供一种交互方法,该交互方法的执行主体可以是本申请实施例提供的交互装置,或者集成了该交互装置的电子设备,其中该图像交互装置可以采用硬件或者软件的方式实现。其中,电子设备可以是计算机设备,该计算机设备可以是诸如智能手机、平板电脑、个人计算机之类的终端设备,也可以是服务器。以下进行具体分析说明。
请参阅图1,图1为本申请实施例提供的交互方法的第一种流程示意图。该交互方法可以包括:
110、获取包含交互对象的预览图像。
其中,交互对象是用于人机交互的载体,该交互对象既可以是人、也可以是物。当交互对象是人时,该交互对象可以是人体,也可以是人手或者其它可以摆出肢体动作的肢体。当交互对象是物时,该交互对象可以是用户手持用以进行人机交互的物体。用户通过交互对象实现与电子设备的人机交互。
本申请实施例获取的包含交互对象的预览图像可以是在人机交互过程中,由摄像头拍摄得到的普通二维图像。在人机交互过程中,可以通过任意摄像头的拍摄预览功能,获取当前场景的若干预览图像,这些预览图像拥有相同的拍摄背景且包含同一交互对象。也即,在获取包含交互对象的预览图像时,保持同样的拍摄角度、拍摄方向、拍摄位置进行拍摄,获取至少两张包含同一交互对象的预览图像。
比如,可以在某一时刻对某一背景中的交互对象进行拍摄,得到第一预览图像,在交互对象发生移动时,保持上一时刻的拍摄位置以及拍摄角度继续对移动后的交互对象进行拍摄得到第二预览图像,第一预览图像与第二预览图像的拍摄背景相同且包含同一交互对象。
需要说明的是,第一预览图像和第二预览图像中虽包含同一交互对象,但交互对象的位置、动作等可以相同也可以不同。例如,交互对象为人体时,第一预览图像和第二预览图像中的人体位置可以不同;又例如,交互对象为人手时,第一预览图像和第二预览图像中人手的位置可以相同,手势可以不同。
可以理解的是,用户在拍摄预览图像后,由于抖动等原因,得到的若干预览图像中的拍摄背景可能会存在些许差异,因而可以对这些预览图像进行相似处理,以得到拍摄背景相同的预览图像,本申请实施例获取包含交互对象的预览图像可以是经过相似处理后的预览图像。
120、获取交互对象在预览图像中的定位信息。
由于交互对象在不同预览图像中的位置、动作等可能不同。在本申请实施例中,对于每一个预览图像,获取交互对象在预览图像中的定位信息。其中,定位信息可以包括用于定位交互对象的定位区域,例如,我们俗称的“矩形框”就是一种用于定位交互对象的矩形定位区域。矩形框可以较精准地框住预览图像中的人体或人手等交互对象,实现对交互对象的定位。
在一实施例中,可以预先训练用于获取定位信息的检测模型,在获取到预览图像后,将预览图像输入已训练的检测模型进行处理,输出预览图像中用于定位交互对象的定位区域。例如可以用大量标注好人体定位区域的样本图像训练人体检测模型,用已训练的人体检测模型来获取预览图像中用于定位人体的定位区域,或者,也可以用大量标注好人体部位(例如,人手等)定位区域的样本图像来训练人体检测模型,用已训练的人体检测模型来获取预览图像中用于定位人体部位的定位区域。
在一实施例中,相机拍摄得到的预览图像为YUV格式的预览图像,在将预览图像输入至已训练的检测模型之前,需要对预览图像进行格式转换,将YUV格式的预览图像转换为RGB格式的预览图像。
在一实施例中,在将RGB格式的预览图像输入已训练的检测模型进行处理,输出预览图像中用于定位交互对象的定位区域之前,可以对该预览图像进行归一化处理。其中,归一化处理可以包括:将预览图像中的所有像素的RGB数据除以255,归一到0~1范围。
在一实施例中,为了提高定位精准度,在得到预览图像中用于定位交互对象的定位区域之后,还可以根据定位区域获取交互对象的定位轮廓。例如,根据定位区域,从预览图像中获取交互对象的局部图像,将局部图像输入已训练的分割模型进行处理,输出交互对象的定位轮廓。
其中,分割模型是不同于检测模型的又一模型。检测模型用于从预览图像中获取交互对象的定位区域,而分割模型用于将交互对象从局部图像中分割出来,例如以“抠图”的形式,得到交互对象的定位轮廓。定位轮廓是包含交互对象的最小定位区域,能够更加准确地将交互对象与背景分割开来。
请参阅图2,图2为本申请实施例提供的预览图像示意图。图中,预览图像中包括背景和人,人作为交互对象,图中的定位区域为包含交互对象的矩形定位区域,而在矩形定位区域中,沿着人体轮廓的虚线圈出的即为包含交互对象的最小定位区域,也即定位轮廓。
在一实施例中,在将局部图像输入已训练的分割模型进行处理,输出交互对象的定位轮廓之前,可以对该局部图像进行归一化处理。对局部图像的归一化处理的方式可参见前述对预览图像的归一化处理的描述,在此不再赘述。
130、根据定位信息获取交互对象的深度信息。
在一实施例中,在获取包含交互对象的预览图像时,可以同步获取预览图像对应的深度图像。深度图像与其对应的预览图像基于相同的拍摄角度、拍摄方向、拍摄位置拍摄得到,用于反映其对应的预览图像的深度信息。深度信息中包括拍摄场景中不同对象的不同部位的深度信息,在根据定位信息获取交互对象的深度信息时,可以从深度图像中获取定位区域的深度信息。
可以理解的是,预览图像与对应的深度图像虽然是同步获取,但在实际操作时,获取时间上可以允许一定的误差,例如,当预览图像和深度图像的拍摄时间相差20ms以内时,即可认为该预览图像和深度图像是同步获取的。
在获取深度图像时,可以通过深度相机获取,例如,时间飞行(Time of Flight,TOF)相机。时间飞行相机通过连续发射光脉冲(不可见光)到被观测物体上,然后接收从物体反射回去的光脉冲,通过探测光脉冲的飞行(往返)时间来计算被测物体离相机的距离,可以得到拍摄场景中各对象的深度值。
根据步骤120中获取的定位信息,可以确定交互对象所在的位置,从而,可以根据定位信息从深度图像中获取交互对象的深度信息,例如,可以获取定位区域的深度信息,以进行后续处理。
在一实施例中,由于交互对象并非一个点,而是一片区域,因而即使对于同一交互对象,在同一时刻也可能在不同部位获取到不同的深度值。本申请实施例中,交互对象的深度信息可以包括交互对象的参考深度值,该参考深度值用一数值对交互对象不同部位的深度值加以概括,用于代表交互对象的整体深度。
交互对象的参考深度值可以根据定位区域的深度信息确定,或者,也可以根据定位轮廓的深度信息确定。例如,将定位区域或者定位轮廓中像素点的平均深度值作为交互对象的参考深度值,或者,将定位区域或者定位轮廓的中心像素点的深度值作为交互对象参考深度值,等等。
在一实施例中,由于深度数据可能存在噪声,因而,根据定位信息获取交互对象的深度信息后,可以对深度信息进行降噪,基于降噪处理后的深度信息做后续处理,例如,根据深度信息生成交互指令,并执行交互指令等。其中,对深度信息进行降噪的方式例如可以包括对深度信息进行高斯滤波处理。
140、根据深度信息生成交互指令,并执行交互指令。
当用户通过一交互对象进行人机交互时,每获取一个包含该交互对象的预览图像,都可以对应获取一个该交互对象的定位区域/定位轮廓,以及一个该交互对象对应的参考深度值。
为确定交互对象的移动情况,可以获取至少两个包含该交互对象的预览图像,相应地针对每一预览图像分别获取一定位区域/定位轮廓以及一参考深度值,得到至少两个定位区域/定位轮廓以及至少两个参考深度值,进而,可以根据该至少两个定位区域/定位轮廓以及至少两个参考深度值确定在拍摄至少两个预览图像期间交互对象的移动情况,进而根据交互对象的移动情况生成对应的交互指令。
在一实施例中,根据深度信息生成交互指令,可以包括:
根据交互对象在至少两个预览图像中的定位区域以及对应的至少两个参考深度值获取交互对象的移动数据;
根据交互对象的移动数据生成对应的交互指令。
请参阅图3,图3为本申请实施例提供的场景示意图。以用户正对设备的摄像头为例,在空间上存在前、后、左、右、上、下六个方位,中间为初始原点位置。
在一实施例中,可以设置一预设时间阈值,当交互对象保持不动的时间超过预设时间阈值时,将交互对象当前的位置作为初始原点位置。该初始原点位置也是交互对象在至少两个预览图像中的起始位置。
在一实施例中,可以设置一预设距离阈值,在获取交互对象的移动数据后,若根据移动数据判断出交互对象朝某个方向移动的距离大于预设距离阈值,则该次移动视为有效。若根据移动数据判断出交互对象朝某个方向移动的距离小于或等于预设距离阈值,则该次移动视为无效。用户可能只是无意地移动了一下交互对象,并没有人机交互意愿。
当交互对象的移动数据显示用户向前发生了移动时,设备可以对应生成向前移动对应的交互指令,当交互对象的移动数据显示用户向左发生了移动时,设备可以对应生成向左的交互指令,等等。例如,在竞速类体感游戏的场景中,交互对象向前移动,设备生成加速指令;交互对象向后移动,设备生成减速指令;交互对象向左移动,设备生成左转指令;交互对象向右移动,设备生成右转指令;交互对象向上移动,设备生成跳跃指令;交互对象向下移动,设备生成卧倒指令,从而,结合二维图像与深度信息,在三维空间实现非接触的人机交互。
需要说明的是,此处前、后、左、右、上、下六个方位仅仅是六个代表性的举例,本领域技术人员应知,在不改变本方案思想的情况下,交互对象的移动数据也可以指示交互对象向除上述举例外的其他方向发生了移动。例如,交互对象发生的移动还可能是向左前方、右前方、左上方、右上方等方位发生的移动。结合深度信息后,交互对象在三维空间上可实现的移动方式多种多样,对应可以实现的功能也多不胜数,此处不一一赘述。
在确定交互对象的移动数据时,可以根据交互对象在至少两个预览图像中的定位区域以及对应的至少两个参考深度值获取交互对象的移动数据。用户正对设备的摄像头时,交互对象的移动数据可划分为在拍摄平面上的移动数据以及在拍摄平面的垂直方向上的移动数据。
如图3所示,在拍摄平面上的移动数据可以包括上述例举的上、下、左、右等方向上的移动数据,可以根据交互对象在至少两个预览图像中的定位区域获取。在拍摄平面上的移动数据可以包括上述举例的前、后等方向上的移动数据,可以根据交互对象对应的至少两个参考深度值获取。
在一实施例中,根据交互对象在至少两个预览图像中的定位区域获取交互对象在拍摄平面上的移动数据,包括:根据交互对象在至少两个预览图像中的定位区域确定交互对象在至少两个预览图像中的起始位置和结束位置;根据交互对象在至少两个预览图像中的起始位置和结束位置获取交互对象在拍摄平面上的移动方向和移动距离。
从视频流中获取至少两个预览图像,当获取到两个以上的预览图像时,根据拍摄时间获取这些预览图像中的第一帧预览图像和最后一帧预览图像,根据第一帧预览图像确定交互对象的起始位置,根据最后一帧预览图像确定交互对象的结束位置,从而,根据结束位置相对起始位置时的位置变化,获取交互对象在拍摄平面上的移动数据,即交互对象在拍摄平面上的移动方向和移动距离。
在一实施例中,根据交互对象对应的至少两个参考深度值获取交互对象在拍摄平面的垂直方向上的移动数据,包括:根据交互对象对应的至少两个参考深度值确定交互对象的起始深度和结束深度;根据交互对象的起始深度和结束深度获取交互对象在拍摄平面的垂直方向上的移动方向和移动距离。
根据预览图像同步拍摄的相同数量的深度图像获取参考深度值,其中根据每个深度图像获取一个参考深度值,从而获取到与预览图像对应数量的参考深度值。根据深度图像的拍摄时间,确定出这些参考深度值中的第一个参考深度值和最后一个参考深度值,根据第一个参考深度值确定交互对象的起始深度,根据最后一个参考深度值确定交互对象的结束深度,从而,根据结束深度相对起始深度的深度变化,获取交互对象在拍摄平面的垂直方向上的移动方向和移动距离。
结合交互对象在拍摄平面上的移动数据以及在拍摄平面的垂直方向上的移动数据,可以生成对应的交互指令并执行该交互指令,实现非接触式的人机交互。
针对上一实施例提供的交互方法,以下进一步详细说明。
请参阅图4,图4为本申请实施例提供的交互方法的第二种流程示意图。该交互方法可以包括:
201、获取至少两个包含交互对象的预览图像以及对应的至少两个深度图像。
其中,交互对象是用于人机交互的载体,该交互对象既可以是人、也可以是物。当交互对象是人时,该交互对象可以是人体,也可以是人手或者其它可以摆出肢体动作的肢体。当交互对象是物时,该交互对象可以是用户手持用以进行人机交互的物体。用户通过交互对象实现与电子设备的人机交互。
本申请实施例获取的包含交互对象的预览图像可以是在人机交互过程中,由摄像头拍摄得到的普通二维图像。在人机交互过程中,可以通过任意摄像头的拍摄预览功能,获取当前场景的若干预览图像,这些预览图像拥有相同的拍摄背景且包含同一交互对象。也即,在获取包含交互对象的预览图像时,保持同样的拍摄角度、拍摄方向、拍摄位置进行拍摄。
本申请实施例中,为确定交互对象的移动情况,获取至少两张包含同一交互对象的预览图像。例如,获取的至少两个包含交互对象的预览图像可以是从同一视频流中截取的连续的若干预览图像。
可以理解的是,用户在拍摄预览图像后,由于抖动等原因,得到的若干预览图像中的拍摄背景可能会存在些许差异,因而可以对这些预览图像进行相似处理,以得到拍摄背景相同的预览图像,本申请实施例获取包含交互对象的预览图像可以是经过相似处理后的预览图像。
本申请实施例中,在获取包含交互对象的预览图像时,可以同步获取预览图像对应的深度图像。深度图像与其对应的预览图像基于相同的拍摄角度、拍摄方向、拍摄位置拍摄得到,用于反映其对应的预览图像的深度信息。
可以理解的是,预览图像与对应的深度图像虽然是同步获取,但在实际操作时,获取时间上可以允许一定的误差,例如,当预览图像和深度图像的拍摄时间相差20ms以内时,即可认为该预览图像和深度图像是同步获取的。
在获取深度图像时,可以通过深度相机获取,例如,时间飞行(Time of Flight,TOF)相机。时间飞行相机通过连续发射光脉冲(不可见光)到被观测物体上,然后接收从物体反射回去的光脉冲,通过探测光脉冲的飞行(往返)时间来计算被测物体离相机的距离,可以得到拍摄场景中各对象的深度值。
202、对于每一个预览图像,将预览图像输入已训练的检测模型进行处理,输出预览图像中用于定位交互对象的定位区域。
由于交互对象在不同预览图像中的位置、动作等可能不同。在本申请实施例中,对于每一个预览图像,获取交互对象在预览图像中的定位区域。定位区域可以较精准地框住预览图像中的人体或人手等交互对象,实现对交互对象的定位。
在一实施例中,可以预先训练用于获取定位信息的检测模型,在获取到预览图像后,将预览图像输入已训练的检测模型进行处理,输出预览图像中用于定位交互对象的定位区域。例如可以用大量标注好人体定位区域的样本图像训练人体检测模型,用已训练的人体检测模型来获取预览图像中用于定位人体的定位区域,或者,也可以用大量标注好人体部位(例如,人手等)定位区域的样本图像来训练人体检测模型,用已训练的人体检测模型来获取预览图像中用于定位人体部位的定位区域。
203、从深度图像中获取定位区域的深度信息。
深度图像中包括拍摄场景中不同对象的不同部位的深度信息,在获取到交互对象的定位区域后,可以实现对交互对象的定位,从而从深度图像中获取定位区域的深度信息作为交互对象的深度信息,以进行后续处理。
在一实施例中,由于深度数据可能存在噪声,因而,从深度图像中获取定位区域的深度信息之后,根据定位区域的深度信息获取交互对象的参考深度值之前,可以对定位区域的深度信息进行降噪,基于降噪处理后的深度信息做后续处理,例如,根据高斯滤波处理后的定位区域的深度信息获取交互对象的参考深度值等。其中,对深度信息进行降噪的方式例如可以包括对深度信息进行高斯滤波处理。
204、当交互对象处于定位区域的中心位置时,获取定位区域的中心位置的深度值。
205、将定位区域的中心位置的深度值作为交互对象的参考深度值。
在一实施例中,由于交互对象并非一个点,而是一片区域,因而即使对于同一交互对象,在同一时刻也可能在不同部位获取到不同的深度值。本申请实施例中,交互对象的深度信息可以包括交互对象的参考深度值,该参考深度值用一数值对交互对象不同部位的深度值加以概括,用于代表交互对象的整体深度。
在一实施例中,交互对象在拍摄场景中作为前景对象出现,而除了前景对象外,拍摄场景中还存在拍摄背景,拍摄背景中肯可能包括若干背景对象。例如,可以将场景划分为:
(1)手势操作场景
其中,手势操作场景中由于识别出的交互对象为人手,在对人手进行定位时,对人手所在区域进行定位获取的定位区域中,定位区域的中心点属于该人手(也即交互对象/前景对象),此时,可以从降噪后的定位区域的深度信息中,直接获取定位区域的中心位置的深度值,将定位区域的中心位置的深度值作为交互对象的参考深度值。
(2)人体感应场景
人体感应场景,人体感应中场景中识别出的交互对象为人体,可用于各种体感游戏中。在对人体进行定位时,由于人体可以摆出各种各样的姿势,因而对人体所在区域进行定位获取的定位区域中,包含的人体的姿势可能多种多样,无法确保定位区域的中心区域是该人体(也即交互对象/前景对象),例如是在舞蹈类体感游戏中,用户做出拱桥的动作,则定位区域的中心位置处可能是背景对象,无法直接用中心位置处的深度值代表交互对象的深度。
根据使用场景的不同,可以采取不同的策略计算交互对象的参考深度值。其中,当交互对象处于定位区域的中心位置时,当前可能处于手势操作场景,也可能处于人体感应场景,但是定位区域的中心位置处是该交互对象,均可使用该中心位置处的深度值作为交互对象的参考深度值。
206、当交互对象未处于定位区域的中心位置时,获取定位轮廓中所有像素点的平均深度值。
207、将定位轮廓中所有像素点的平均深度值作为交互对象的参考深度值。
当交互对象未处于定位区域的中心位置时,当前可能处于人体感应场景,由于定位区域中包含的人体的整体面积占比可能不大,因而,直接用中心位置处的深度值或者整个区域的深度值均值作为交互对象的参考深度值可能并不准确。在这种情况下,可以进一步在定位区域中获取定位轮廓,进而获取定位轮廓中所有像素点的平均深度值作为交互对象的参考深度值。其中,定位轮廓是包含完整交互对象的最小定位区域。
在一实施例中,在得到预览图像中用于定位交互对象的定位区域之后,还包括:
根据定位区域,从预览图像中获取交互对象的局部图像;
将局部图像输入已训练的分割模型进行处理,输出交互对象的定位轮廓。
其中,分割模型是不同于检测模型的又一模型。检测模型用于从预览图像中获取交互对象的定位区域,而分割模型用于将交互对象从局部图像中分割出来,例如以“抠图”的形式,得到交互对象的定位轮廓。定位轮廓是包含完整交互对象的最小定位区域,能够更加准确地将交互对象与背景分割开来。
此时,分割出的定位轮廓中的所有像素点均是交互对象的像素点,可以获取定位轮廓中所有像素点的平均深度值,将定位轮廓中所有像素点的平均深度值作为交互对象的参考深度值。
208、根据交互对象在至少两个预览图像中的定位区域获取交互对象在拍摄平面上的移动数据。
根据该至少两个定位区域以及至少两个参考深度值确定在拍摄至少两个预览图像期间交互对象的移动情况,进而根据交互对象的移动情况生成对应的交互指令。
用户正对设备的摄像头时,交互对象的移动数据可划分为在拍摄平面上的移动数据以及在拍摄平面的垂直方向上的移动数据。其中,可以根据交互对象在至少两个预览图像中的定位区域获取交互对象在拍摄平面上的移动数据,例如,根据交互对象在至少两个预览图像中的定位区域确定交互对象在至少两个预览图像中的起始位置和结束位置;根据交互对象在至少两个预览图像中的起始位置和结束位置获取交互对象在拍摄平面上的移动方向和移动距离。
在一实施例中,从视频流中获取到两个以上的预览图像时,根据拍摄时间获取这些预览图像中的第一帧预览图像和最后一帧预览图像,根据第一帧预览图像确定交互对象的起始位置,根据最后一帧预览图像确定交互对象的结束位置,从而,根据结束位置相对起始位置时的位置变化,获取交互对象在拍摄平面上的移动数据,即交互对象在拍摄平面上的移动方向和移动距离。
请参阅图5,图5为本申请实施例提供的拍摄场景的俯视示意图。图中以交互对象为人体为例,camera标识指示摄像头的位置,l为当前的深度信息,α为摄像头的视角范围,W为人所在位置视角的实际宽度。
假设人体的定位区域在预览图像中的结束位置相对起始位置的移动距离(在图像上的移动距离)为offset,屏幕分辨率为1920*1080,则人体的定位区域在真实世界中的水平移动距离为:
人体所在拍摄平面的水平正中位置到摄像头的距离为:
此外,根据正切关系,人所在视角的实际宽度W为:
W=2*d*tanα (3)
综合上述(1)、(2)、(3)式,可得:
其中,l即交互对象的参考深度值,tanα和offset可通过测量得到,将l、tanα和offset代入式(4),即可求得W,将offset和求得的W代入式(1),即可求得人体的定位区域在真实世界中的水平移动距离。
对于其他分辨率,可相应地将上述公式中的1920替换成对应的数字。
对于定位区域在真实世界中的竖直移动距离的计算,可参见上述水平移动距离的计算方式,相应的,将其中的W改为人所在视角的实际高度,将1920改为1080即可。
通过上述方式,可以求得交互对象在拍摄平面上的移动方向和移动距离。
209、根据交互对象对应的至少两个参考深度值获取交互对象在拍摄平面的垂直方向上的移动数据。
其中,可以根据交互对象对应的至少两个参考深度值获取交互对象在拍摄平面的垂直方向上的移动数据,例如,根据交互对象对应的至少两个参考深度值确定交互对象的起始深度和结束深度;根据交互对象的起始深度和结束深度获取交互对象在拍摄平面的垂直方向上的移动方向和移动距离。
根据预览图像同步拍摄的相同数量的深度图像获取参考深度值,其中根据每个深度图像获取一个参考深度值,从而获取到与预览图像对应数量的参考深度值。根据深度图像的拍摄时间,确定出这些参考深度值中的第一个参考深度值和最后一个参考深度值,根据第一个参考深度值确定交互对象的起始深度,根据最后一个参考深度值确定交互对象的结束深度,从而,根据结束深度相对起始深度的深度变化,获取交互对象在拍摄平面的垂直方向上的移动方向和移动距离。
210、根据交互对象在拍摄平面上的移动数据以及在拍摄平面的垂直方向上的移动数据生成对应的交互指令。
211、执行交互指令。
结合交互对象在拍摄平面上的移动数据以及在拍摄平面的垂直方向上的移动数据,可以生成对应的交互指令并执行该交互指令,实现非接触式的人机交互。
请参阅图6,图6为本申请实施例提供的交互方法的第三种流程示意图,其中示出了一种本申请实施例提供的交互方法的整体流程。
其中,本申请实施例提供的交互方法首先获取至少两个预览图像以及对应的深度图像,然后,对预览图像进行归一化处理,将归一化处理后的预览图像输入检测模型,得到用于定位交互对象的定位区域。根据得到的定位区域,可以从深度图像中获取到定位区域的深度信息,对定位区域的深度信息进行降噪处理后,根据降噪后的深度信息生成交互指令。在根据降噪后的深度信息生成交互指令时,分为两种情况:交互对象在定位区域的中心位置以及交互对象不在定位区域的中心位置。对于交互对象在定位区域的中心位置的情况,直接获取中心位置的深度值作为交互对象的参考深度值;对于交互对象不再定位区域的中心位置的情况,将定位轮廓中所有像素点的平均深度值作为交互对象的参考深度值。其中,定位轮廓的获取方式为:根据定位区域,从预览图像中截取局部图像,对局部图像进行归一化处理后,输入已训练的分割模型进行处理,输出包含交互对象的定位轮廓。
确定出交互对象的至少两个参考深度值后,可以根据至少两个参考深度值确定交互对象在拍摄平面的垂直方向上的移动数据,此外,可以根据至少两个预览图像中交互对象的定位区域确定交互对象在拍摄平面上的移动数据,设备根据交互对象在拍摄平面上的移动数据以及在拍摄平面的垂直方向上的移动数据生成对应的交互指令,并执行交互指令,从而实现三维空间内多个方向的非接触式人机交互。
由上述可知,本申请实施例所提供的交互方法首先获取包含交互对象的预览图像;然后获取交互对象在预览图像中的定位信息;根据定位信息获取交互对象的深度信息;进而根据深度信息生成交互指令,并执行交互指令。本申请实施例可以根据交互对象在预览图像中的定位信息确定交互对象所在位置,进而获取交互对象的深度信息,根据深度信息生成交互指令并执行,从而结合定位信息和深度信息实现了非接触式的人机交互,提高了人机交互的便利性。
为便于更好的实施本申请实施例提供的交互方法,本申请实施例还提供一种基于上述交互方法的装置。其中名词的含义与上述交互方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图7,图7为本申请实施例提供的交互装置300的第一种结构示意图。该交互装置300包括:
第一获取模块301,用于获取包含交互对象的预览图像;
第二获取模块302,用于获取交互对象在预览图像中的定位信息;
第三获取模块303,用于根据定位信息获取交互对象的深度信息;
指令生成模块304,用于根据深度信息生成交互指令,并执行交互指令。
在一实施例中,在获取所述交互对象的定位信息时,第二获取模块302具体用于:
将预览图像输入已训练的检测模型进行处理,输出预览图像中用于定位交互对象的定位区域。
在一实施例中,在根据定位信息获取交互对象的深度信息时,第三获取模块303具体用于:
获取定位区域的深度信息;
根据定位区域的深度信息获取交互对象的参考深度值。
在一实施例中,在根据定位区域的深度信息获取交互对象的参考深度值时,第三获取模块303具体用于:
当交互对象处于定位区域的中心位置时,获取定位区域的中心位置的深度值;
将定位区域的中心位置的深度值作为交互对象的参考深度值。
请参阅图8,图8为本申请实施例提供的交互装置的第二种结构示意图。在一实施例中,交互装置300还包括第四获取模块305,在将预览图像输入已训练的检测模型进行处理,输出预览图像中用于定位交互对象的定位区域之后,第四获取模块305具体用于:
根据定位区域,从预览图像中获取交互对象的局部图像;
将局部图像输入已训练的分割模型进行处理,输出交互对象的定位轮廓。
在一实施例中,在根据定位区域的深度信息获取交互对象的参考深度值时,第三获取模块303具体用于:
当交互对象未处于定位区域的中心位置时,获取定位轮廓中所有像素点的平均深度值;
将定位轮廓中所有像素点的平均深度值作为交互对象的参考深度值。
请继续参阅图8,在一实施例中,交互装置300还包括归一化模块306,在一实施例中,在将预览图像输入已训练的检测模型进行处理,输出预览图像中用于定位交互对象的定位区域之前,归一化模块306具体用于:
对预览图像进行归一化处理;
在将局部图像输入已训练的分割模型进行处理,输出交互对象的定位轮廓之前,归一化模块306具体用于:
对局部图像进行归一化处理。
请继续参阅图8,在一实施例中,交互装置300还包括降噪模块307,在一实施例中,在根据定位区域的深度信息获取交互对象的参考深度值之前,降噪模块307具体用于:
对定位区域的深度信息进行高斯滤波处理;
在根据定位区域的深度信息获取交互对象的参考深度值时,第三获取模块303具体用于:
根据高斯滤波处理后的定位区域的深度信息获取交互对象的参考深度值。
在一实施例中,在根据深度信息生成交互指令时,指令生成模块304具体用于:
根据交互对象在至少两个预览图像中的定位区域以及对应的至少两个参考深度值获取交互对象的移动数据;
根据交互对象的移动数据生成对应的交互指令。
在一实施例中,在根据交互对象在至少两个预览图像中的定位区域以及对应的至少两个参考深度值获取交互对象的移动数据时,指令生成模块304具体用于:
根据交互对象在至少两个预览图像中的定位区域获取交互对象在拍摄平面上的移动数据;
根据交互对象对应的至少两个参考深度值获取交互对象在拍摄平面的垂直方向上的移动数据;
在根据交互对象的移动数据生成对应的交互指令时,指令生成模块304可以用于:
根据交互对象在拍摄平面上的移动数据以及在拍摄平面的垂直方向上的移动数据生成对应的交互指令。
在一实施例中,在根据交互对象在至少两个预览图像中的定位区域获取交互对象在拍摄平面上的移动数据时,指令生成模块304具体用于:
根据交互对象在至少两个预览图像中的定位区域确定交互对象在至少两个预览图像中的起始位置和结束位置;
根据交互对象在至少两个预览图像中的起始位置和结束位置获取交互对象在拍摄平面上的移动方向和移动距离。
在一实施例中,在根据交互对象对应的至少两个参考深度值获取交互对象在拍摄平面的垂直方向上的移动数据时,指令生成模块304具体用于:
根据交互对象对应的至少两个参考深度值确定交互对象的起始深度和结束深度;
根据交互对象的起始深度和结束深度获取交互对象在拍摄平面的垂直方向上的移动方向和移动距离。
请继续参阅图8,在一实施例中,交互装置300还包括第五获取模块308,第五获取模块308具体用于:
获取与预览图像对应的深度图像;
在获取定位区域的深度信息时,第三获取模块303具体用于:
从深度图像中获取定位区域的深度信息。
由上述可知,本申请实施例提供了一种交互装置300,其中第一获取模块301首先获取包含交互对象的预览图像;然后第二获取模块302获取交互对象在预览图像中的定位信息;第三获取模块303根据定位信息获取交互对象的深度信息;进而指令生成模块304根据深度信息生成交互指令,并执行交互指令。本申请实施例可以根据交互对象在预览图像中的定位信息确定交互对象所在位置,进而获取交互对象的深度信息,根据深度信息生成交互指令并执行,从而结合定位信息和深度信息实现了非接触式的人机交互,提高了人机交互的便利性。
本申请实施例还提供一种电子设备400。请参阅图9,电子设备400包括处理器401以及存储器。其中,处理器401与存储器电性连接。
该处理器401是电子设备400的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或加载存储在存储器402内的计算机程序,以及通过存储在存储器402内的数据,执行电子设备400的各种功能并处理数据,从而对电子设备400进行整体监控。
该存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的计算机程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序(比如声音播放功能、图像播放功能等)等。存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
在本申请实施例中,电子设备400中的处理器401会按照如下的步骤,将可在处理器401上执行的计算机程序存储在存储器402中,并由处理器401执行存储在存储器402中的计算机程序,从而实现各种功能,如下:
获取包含交互对象的预览图像;
获取交互对象在预览图像中的定位信息;
根据定位信息获取交互对象的深度信息;
根据深度信息生成交互指令,并执行交互指令。
请一并参阅图10,在某些实施方式中,电子设备400还可以包括:显示器403、射频电路404、音频电路405以及电源406。其中,其中,显示器403、射频电路404、音频电路405以及电源406分别与处理器401电性连接。
该显示器403可以用于显示由用户输入的信息或提供给用户的信息以及各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示器403可以包括显示面板,在某些实施方式中,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、或者有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板。
该射频电路404可以用于收发射频信号,以通过无线通信与网络设备或其他电子设备建立无线通讯,与网络设备或其他电子设备之间收发信号。
该音频电路405可以用于通过扬声器、传声器提供用户与电子设备之间的音频接口。
该电源406可以用于给电子设备400的各个部件供电。在一些实施例中,电源406可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管中未示出,电子设备400还可以包括摄像头、蓝牙模块等,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现上述任一实施例中的交互方法,比如:获取包含交互对象的预览图像;获取交互对象在预览图像中的定位信息;根据定位信息获取交互对象的深度信息;根据深度信息生成交互指令,并执行交互指令。
在本申请实施例中,计算机可读存储介质可以是磁碟、光盘、只读存储器(ReadOnly Memory,ROM)、或者随机存取记忆体(Random Access Memory,RAM)等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对本申请实施例的交互方法而言,本领域普通测试人员可以理解实现本申请实施例的交互方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,该计算机程序可存储于一计算机可读存储介质中,如存储在电子设备的存储器中,并被该电子设备内的至少一个处理器执行,在执行过程中可包括如交互方法的实施例的流程。其中,该计算机可读存储介质可为磁碟、光盘、只读存储器、随机存取记忆体等。
对本申请实施例的交互装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中,该计算机可读存储介质譬如为只读存储器,磁盘或光盘等。
本文所使用的术语「模块」可看做为在该运算系统上执行的软件对象。本文该的不同组件、模块、引擎及服务可看做为在该运算系统上的实施对象。而本文该的装置及方法优选的以软件的方式进行实施,当然也可在硬件上进行实施,均在本申请保护范围之内。
以上对本申请实施例所提供的一种交互方法、装置、计算机可读存储介质及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (16)
1.一种交互方法,其特征在于,包括:
获取包含交互对象的预览图像;
获取所述交互对象在所述预览图像中的定位信息;
根据所述定位信息获取所述交互对象的深度信息;
根据所述深度信息生成交互指令,并执行所述交互指令。
2.根据权利要求1所述的方法,其特征在于,所述获取所述交互对象在所述预览图像中的定位信息,包括:
将所述预览图像输入已训练的检测模型进行处理,输出所述预览图像中用于定位所述交互对象的定位区域。
3.根据权利要求2所述的方法,其特征在于,所述根据所述定位信息获取所述交互对象的深度信息,包括:
获取所述定位区域的深度信息;
根据所述定位区域的深度信息获取所述交互对象的参考深度值。
4.根据权利要求3所述的方法,其特征在于,所述根据所述定位区域的深度信息获取所述交互对象的参考深度值,包括:
当所述交互对象处于所述定位区域的中心位置时,获取所述定位区域的中心位置的深度值;
将所述定位区域的中心位置的深度值作为所述交互对象的参考深度值。
5.根据权利要求3所述的方法,其特征在于,所述将所述预览图像输入已训练的检测模型进行处理,输出所述预览图像中用于定位所述交互对象的定位区域之后,所述方法还包括:
根据所述定位区域,从所述预览图像中获取所述交互对象的局部图像;
将所述局部图像输入已训练的分割模型进行处理,输出所述交互对象的定位轮廓。
6.根据权利要求5所述的方法,其特征在于,所述根据所述定位区域的深度信息获取所述交互对象的参考深度值,包括:
当所述交互对象未处于所述定位区域的中心位置时,获取所述定位轮廓中所有像素点的平均深度值;
将所述定位轮廓中所有像素点的平均深度值作为所述交互对象的参考深度值。
7.根据权利要求5所述的方法,其特征在于,所述将所述预览图像输入已训练的检测模型进行处理,输出所述预览图像中用于定位所述交互对象的定位区域之前,所述方法还包括:
对所述预览图像进行归一化处理;
所述将所述局部图像输入已训练的分割模型进行处理,输出所述交互对象的定位轮廓之前,所述方法还包括:
对所述局部图像进行归一化处理。
8.根据权利要求3所述的方法,其特征在于,所述根据所述定位区域的深度信息获取所述交互对象的参考深度值之前,所述方法还包括:
对所述定位区域的深度信息进行高斯滤波处理;
所述根据所述定位区域的深度信息获取所述交互对象的参考深度值,包括:
根据高斯滤波处理后的所述定位区域的深度信息获取所述交互对象的参考深度值。
9.根据权利要求3-8任一项所述的方法,其特征在于,所述根据所述深度信息生成交互指令,包括:
根据所述交互对象在至少两个预览图像中的定位区域以及对应的至少两个参考深度值获取所述交互对象的移动数据;
根据所述交互对象的移动数据生成对应的交互指令。
10.根据权利要求9所述的方法,其特征在于,所述根据所述交互对象在至少两个预览图像中的定位区域以及对应的至少两个参考深度值获取所述交互对象的移动数据,包括:
根据所述交互对象在至少两个预览图像中的定位区域获取所述交互对象在拍摄平面上的移动数据;
根据所述交互对象对应的至少两个参考深度值获取所述交互对象在所述拍摄平面的垂直方向上的移动数据;
所述根据所述交互对象的移动数据生成对应的交互指令,包括:
根据所述交互对象在拍摄平面上的移动数据以及在拍摄平面的垂直方向上的移动数据生成对应的交互指令。
11.根据权利要求10所述的方法,其特征在于,所述根据所述交互对象在至少两个预览图像中的定位区域获取所述交互对象在拍摄平面上的移动数据,包括:
根据所述交互对象在至少两个预览图像中的定位区域确定所述交互对象在所述至少两个预览图像中的起始位置和结束位置;
根据所述交互对象在所述至少两个预览图像中的起始位置和结束位置获取所述交互对象在所述拍摄平面上的移动方向和移动距离。
12.根据权利要求10所述的方法,其特征在于,所述根据所述交互对象对应的至少两个参考深度值获取所述交互对象在所述拍摄平面的垂直方向上的移动数据,包括:
根据所述交互对象对应的至少两个参考深度值确定所述交互对象的起始深度和结束深度;
根据所述交互对象的起始深度和结束深度获取所述交互对象在所述拍摄平面的垂直方向上的移动方向和移动距离。
13.根据权利要求3-8任一项所述的方法,其特征在于,所述获取所述定位区域的深度信息之前,所述方法还包括:
获取与所述预览图像对应的深度图像;
所述获取所述定位区域的深度信息,包括:
从所述深度图像中获取所述定位区域的深度信息。
14.一种交互装置,其特征在于,包括:
第一获取模块,用于获取包含交互对象的预览图像;
第二获取模块,用于获取所述交互对象在所述预览图像中的定位信息;
第三获取模块,用于根据所述定位信息获取所述交互对象的深度信息;
指令生成模块,用于根据所述深度信息生成交互指令,并执行所述交互指令。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1至13任一项所述的交互方法中的步骤。
16.一种电子设备,其特征在于,所述电子设备包括处理器、存储器以及存储于所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序以实现如权利要求1至13任一项所述的交互方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111142502.4A CN115878008A (zh) | 2021-09-28 | 2021-09-28 | 交互方法、装置、计算机可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111142502.4A CN115878008A (zh) | 2021-09-28 | 2021-09-28 | 交互方法、装置、计算机可读存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115878008A true CN115878008A (zh) | 2023-03-31 |
Family
ID=85763395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111142502.4A Pending CN115878008A (zh) | 2021-09-28 | 2021-09-28 | 交互方法、装置、计算机可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115878008A (zh) |
-
2021
- 2021-09-28 CN CN202111142502.4A patent/CN115878008A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102319207B1 (ko) | 카메라 자세 정보를 결정하기 위한 방법, 장치 및 디바이스, 그리고 저장 매체 | |
CN109076145B (zh) | 用于主动式照明深度相机的自动范围控制 | |
JP6417702B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
CN111126182B (zh) | 车道线检测方法、装置、电子设备及存储介质 | |
KR101879478B1 (ko) | 레이저 깊이 지도 레인지를 확대하는 방법 | |
JP5765019B2 (ja) | 表示制御装置、表示制御方法、およびプログラム | |
EP3627445B1 (en) | Head pose estimation using rgbd camera | |
US20170372449A1 (en) | Smart capturing of whiteboard contents for remote conferencing | |
US11398044B2 (en) | Method for face modeling and related products | |
CN112189147B (zh) | 一种飞行时间ToF相机和一种ToF方法 | |
KR20150043312A (ko) | 제스처―기반 사용자 인터페이스 | |
CN104508680B (zh) | 改善之视讯追踪 | |
US8913037B1 (en) | Gesture recognition from depth and distortion analysis | |
WO2011097050A2 (en) | Depth camera compatibility | |
US20150058782A1 (en) | System and method for creating and interacting with a surface display | |
CA2786436A1 (en) | Depth camera compatibility | |
TW201514830A (zh) | 互動式操作方法 | |
CN108200334A (zh) | 图像拍摄方法、装置、存储介质及电子设备 | |
WO2016029399A1 (en) | Object selection based on region of interest fusion | |
CN108776822B (zh) | 目标区域检测方法、装置、终端及存储介质 | |
CN113194253B (zh) | 去除图像反光的拍摄方法、装置和电子设备 | |
WO2023168957A1 (zh) | 姿态确定方法、装置、电子设备、存储介质及程序 | |
CN110222576B (zh) | 拳击动作识别方法、装置和电子设备 | |
CN110941327A (zh) | 虚拟对象的显示方法和装置 | |
CN115878008A (zh) | 交互方法、装置、计算机可读存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |