CN109521879A - 交互式投影控制方法、装置、存储介质及电子设备 - Google Patents

交互式投影控制方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN109521879A
CN109521879A CN201811377648.5A CN201811377648A CN109521879A CN 109521879 A CN109521879 A CN 109521879A CN 201811377648 A CN201811377648 A CN 201811377648A CN 109521879 A CN109521879 A CN 109521879A
Authority
CN
China
Prior art keywords
depth image
current depth
image
normal vector
real
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.)
Granted
Application number
CN201811377648.5A
Other languages
English (en)
Other versions
CN109521879B (zh
Inventor
郭宗义
赵辰
丛林
李晓燕
周志敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Yixian Advanced Technology Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201811377648.5A priority Critical patent/CN109521879B/zh
Publication of CN109521879A publication Critical patent/CN109521879A/zh
Application granted granted Critical
Publication of CN109521879B publication Critical patent/CN109521879B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及交互式投影控制方法、交互式投影控制装置、存储介质及电子设备。该方法包括:采集预设物体的当前深度图像;根据所述当前深度图像确定所述预设物体的实时姿态;根据所述预设物体的实时姿态投射与所述预设物体的实时姿态对应的影像。本发明可以降低交互式投影技术所需的设备与硬件成本,并提高投影控制的反馈速率,实现互动性较强的投影控制。

Description

交互式投影控制方法、装置、存储介质及电子设备
技术领域
本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及一种交互式投影控制方法、交互式投影控制装置、存储介质及电子设备。
背景技术
本部分旨在为权利要求中陈述的本发明的实施方式提供背景或上下文,此处的描述不因为包括在本部分中就承认是现有技术。
交互式投影技术是将人机交互与实时投影相结合的技术,该技术基于传感器、投影光机、计算系统等软硬件平台,可以根据用户输入的控制指令,实时地呈现投影效果,给予用户实时的交互反馈。目前已应用于虚拟现实(VR)、增强现实(AR)、舞台表演、体感游戏等多个领域。其中,如何快速识别用户的控制指令,例如识别用户的手势、姿态等,以降低交互反馈的延迟,提高用户的使用体验,成为制约交互式投影技术发展的关键问题。
现有的交互式投影控制方法通常依赖于安装多个传感器,以从不同角度、不同平面识别用户的控制指令,例如大型虚拟现实场景需要在场景的不同角落分别设置相机,以准确测定用户的姿态。
发明内容
然而,现有的交互式投影控制方法增加了设备与硬件成本,不利于交互式投影技术的普及;并且通过设置多个传感器的方式,在处理数据时需要将各个传感器的原始数据叠加计算,通常还需要对原始数据进行一定的筛选,从而增加了数据处理的复杂度,不利于快速确定用户的控制指令。
为此,非常需要一种改进的交互式投影控制方法,可以在不增加设备成本的情况下,对用户的控制指令进行准确测定,并简化数据处理的过程,以快速确定控制指令,实时呈现投影效果。
在本上下文中,本发明的实施方式期望提供一种交互式投影控制方法、交互式投影控制装置、存储介质及电子设备。
在本发明实施方式的第一方面中,提供一种交互式投影控制方法,所述方法包括:采集预设物体的当前深度图像;根据所述当前深度图像确定所述预设物体的实时姿态;根据所述预设物体的实时姿态投射与所述预设物体的实时姿态对应的影像。
在本发明的一些实施方式中,所述根据所述当前深度图像确定所述预设物体的实时姿态包括:根据所述当前深度图像的深度分布得到所述当前深度图像的法向量特征;将所述当前深度图像的法向量特征与模板进行匹配,确定所述预设物体的实时姿态。
在本发明的一些实施方式中,所述根据所述当前深度图像确定所述预设物体的实时姿态包括:根据所述当前深度图像得到所述预设物体的当前灰度图像,并根据所述当前灰度图像的灰度分布得到所述当前深度图像的梯度特征;将所述当前深度图像的梯度特征与所述模板进行匹配,确定所述预设物体的实时姿态。
在本发明的一些实施方式中,所述将所述当前深度图像的法向量特征与模板进行匹配,确定所述预设物体的实时姿态包括:根据所述当前深度图像的法向量特征确定所述当前深度图像与各所述模板的相似度;确定与所述当前深度图像相似度最高的一目标模板,并根据所述目标模板确定所述预设物体的实时姿态。
在本发明的一些实施方式中,所述根据所述当前深度图像的深度分布得到所述当前深度图像的法向量特征包括:根据所述当前深度图像中各像素点的深度分布计算所述当前深度图像中预设像素点的法向量方向;将所述预设像素点的法向量方向共享至所述预设像素点的预设邻域内,使所述预设邻域内的每个像素点具有一个或多个法向量方向。
在本发明的一些实施方式中,所述根据所述当前深度图像的法向量特征确定所述当前深度图像与各所述模板的相似度包括:利用非极大值抑制算法确定所述当前深度图像与各所述模板的相似度。
在本发明的一些实施方式中,所述根据所述目标模板确定所述预设物体的实时姿态包括:获取所述目标模板的三维点云相对于基准模板的三维点云的第一变换参数;计算所述当前深度图像的三维点云相对于所述目标模板的三维点云的第二变换参数;根据所述第一变化参数、所述第二变换参数与所述基准模板计算所述预设物体的实时姿态。
在本发明的一些实施方式中,所述计算所述当前深度图像的三维点云相对于所述目标模板的三维点云的第二变换参数包括:在所述当前深度图像中确定与所述目标模板相似度最高的一局部区域;在所述局部区域内获取所述当前深度图像的三维点云集合,并在所述目标模板中与所述局部区域对应的区域内获取所述目标模板的三维点云集合;将所述当前深度图像的三维点云集合与所述目标模板的三维点云集合降采样至相同的元素数量;通过迭代最近邻点算法(Iterative Closest Points,ICP)计算所述当前深度图像的三维点云集合相对于所述目标模板的三维点云集合的第二变换参数。
在本发明的一些实施方式中,所述当前深度图像的法向量特征包括所述当前深度图像中第一类预设像素点的法向量方向;所述根据所述当前深度图像的深度分布得到所述当前深度图像的法向量特征包括:根据所述当前深度图像的深度分布确定每个所述第一类预设像素点的深度梯度向量;根据所述第一类预设像素点的深度梯度向量与所述当前深度图像的参考点确定所述第一类预设像素点的法向量;根据与所述第一类预设像素点的法向量最接近的标准法向量确定所述第一类预设像素点的法向量方向。
在本发明的一些实施方式中,所述当前深度图像的梯度特征包括所述当前深度图像中第二类预设像素点的梯度方向;所述根据所述当前灰度图像的灰度分布得到所述当前深度图像的梯度特征包括:基于所述当前灰度图像的灰度分布,利用Sobel(索贝尔算子,像素图像边缘检测算法)算子计算每个所述第二类预设像素点的灰度梯度角度;对于每个所述第二类预设像素点,将与所述灰度梯度角度最接近的标准梯度方向确定为所述第二类预设像素点的梯度方向。
在本发明的一些实施方式中,所述方法还包括:预先从多个位置和/或多个角度采集所述预设物体的多个标准姿态图像;记录各所述标准姿态图像对应的变换参数,所述变换参数包括平移参数与旋转参数;获取各所述标准姿态图像的法向量特征及梯度特征;将所述标准姿态图像及其变换参数、法向量特征、梯度特征封装为所述模板。
在本发明的一些实施方式中,所述获取各所述标准姿态图像的法向量特征及梯度特征包括:将所述标准姿态图像中的像素点分类为内部像素点与边缘像素点;根据所述标准姿态图像的深度分布计算每个所述内部像素点的法向量方向,并根据所述内部像素点的法向量方向确定所述标准姿态图像的法向量特征;将所述标准姿态图像转换为灰度图像,并根据所述灰度图像的灰度分布计算每个所述边缘像素点的梯度方向,并根据所述边缘像素点的梯度方向确定所述标准姿态图像的梯度特征。
在本发明的一些实施方式中,所述采集预设物体的当前深度图像包括:通过深度相机采集所述预设物体的当前深度图像;所述根据所述预设物体的实时姿态投射与所述预设物体的实时姿态对应的影像包括:基于所述预设物体的实时姿态,通过投影光机投射与所述预设物体的实时姿态对应的影像;在通过所述深度相机采集所述预设物体的当前深度图像前,所述方法还包括:根据所述投影光机的坐标参数标定所述深度相机的参数。
在本发明的一些实施方式中,所述采集预设物体的当前深度图像包括:采集所述预设物体的深度图像,并进行背景减除,将得到的前景图像作为所述当前深度图像。
在本发明实施方式的第二方面中,提供一种交互式投影控制装置,所述装置包括:图像采集模块,用于采集预设物体的当前深度图像;姿态确定模块,用于根据所述当前深度图像确定所述预设物体的实时姿态;影像投射模块,用于根据所述预设物体的实时姿态投射与所述预设物体的实时姿态对应的影像。
在本发明的一些实施方式中,所述姿态确定模块包括:法向量提取单元,用于根据所述当前深度图像的深度分布得到所述当前深度图像的法向量特征;模板匹配单元,用于将所述当前深度图像的法向量特征与模板进行匹配,确定所述预设物体的实时姿态。
在本发明的一些实施方式中,所述姿态确定模块包括:梯度提取单元,用于根据所述当前深度图像得到所述预设物体的当前灰度图像,并根据所述当前灰度图像的灰度分布得到所述当前深度图像的梯度特征;模板匹配单元,用于将所述当前深度图像的梯度特征与所述模板进行匹配,确定所述预设物体的实时姿态。
在本发明的一些实施方式中,所述模板匹配单元包括:相似度确定单元,用于根据所述当前深度图像的法向量特征确定所述当前深度图像与各所述模板的相似度;实时姿态确定单元,用于确定与所述当前深度图像相似度最高的一目标模板,并根据所述目标模板确定所述预设物体的实时姿态。
在本发明的一些实施方式中,所述法向量提取单元包括:计算单元,根据所述当前深度图像中各像素点的深度分布计算所述当前深度图像中预设像素点的法向量方向;共享单元,用于将所述预设像素点的法向量方向共享至所述预设像素点的预设邻域内,使所述预设邻域内的每个像素点具有一个或多个法向量方向。
在本发明的一些实施方式中,所述相似度确定单元用于利用非极大值抑制算法确定所述当前深度图像与各所述模板的相似度。
在本发明的一些实施方式中,所述实时姿态确定单元包括:目标模板确定单元,用于确定与所述当前深度图像相似度最高的一目标模板;变换参数确定单元,用于获取所述目标模板的三维点云相对于基准模板的三维点云的第一变换参数,并计算所述当前深度图像的三维点云相对于所述目标模板的三维点云的第二变换参数;实时姿态计算单元,用于根据所述第一变化参数、所述第二变换参数与所述基准模板计算所述预设物体的实时姿态。
在本发明的一些实施方式中,所述变换参数确定单元用于执行以下步骤,以得到所述第二变换参数:在所述当前深度图像中确定与所述目标模板相似度最高的一局部区域;在所述局部区域内获取所述当前深度图像的三维点云集合,并在所述目标模板中与所述局部区域对应的区域内获取所述目标模板的三维点云集合;将所述当前深度图像的三维点云集合与所述目标模板的三维点云集合降采样至相同的元素数量;通过迭代最近邻点算法计算所述当前深度图像的三维点云集合相对于所述目标模板的三维点云集合的第二变换参数。
在本发明的一些实施方式中,所述当前深度图像的法向量特征包括所述当前深度图像中第一类预设像素点的法向量方向;所述法向量提取单元包括:深度梯度向量确定单元,用于根据所述当前深度图像的深度分布确定每个所述第一类预设像素点的深度梯度向量;法向量确定单元,用于根据所述第一类预设像素点的深度梯度向量与所述当前深度图像的参考点确定所述第一类预设像素点的法向量;标准法向量比较单元,用于根据与所述第一类预设像素点的法向量最接近的标准法向量确定所述第一类预设像素点的法向量方向。
在本发明的一些实施方式中,所述当前深度图像的梯度特征包括所述当前深度图像中第二类预设像素点的梯度方向;所述梯度提取单元包括:灰度梯度角度确定单元,用于基于所述当前灰度图像的灰度分布,利用Sobel算子计算每个所述第二类预设像素点的灰度梯度角度;梯度方向确定单元,用于对于每个所述第二类预设像素点,将与所述灰度梯度角度最接近的标准梯度方向确定为所述第二类预设像素点的梯度方向。
在本发明的一些实施方式中,所述装置还包括模板管理模块;其中,所述模板管理模块包括以下单元:标准图像采集单元,用于预先从多个位置和/或多个角度采集所述预设物体的多个标准姿态图像;变换参数记录单元,用于记录各所述标准姿态图像对应的变换参数,所述变换参数包括平移参数与旋转参数;标准特征获取单元,获取各所述标准姿态图像的法向量特征及梯度特征;模板封装单元,用于将所述标准姿态图像及其变换参数、法向量特征、梯度特征封装为所述模板。
在本发明的一些实施方式中,所述标准特征获取单元包括:像素点分类单元,用于将所述标准姿态图像中的像素点分类为内部像素点与边缘像素点;内部像素点处理单元,用于根据所述标准姿态图像的深度分布计算每个所述内部像素点的法向量方向,并根据所述内部像素点的法向量方向确定所述标准姿态图像的法向量特征;边缘像素点处理单元,用于将所述标准姿态图像转换为灰度图像,并根据所述灰度图像的灰度分布计算每个所述边缘像素点的梯度方向,并根据所述边缘像素点的梯度方向确定所述标准姿态图像的梯度特征。
在本发明的一些实施方式中,所述图像采集模块用于通过深度相机采集所述预设物体的当前深度图像;所述影像投射模块用于基于所述预设物体的实时姿态,通过投影光机投射与所述预设物体的实时姿态对应的影像;所述装置还包括:参数标定模块,用于在所述图像采集模块采集所述预设物体的当前深度图像前,根据所述投影光机的坐标参数标定所述深度相机的参数。
在本发明的一些实施方式中,所述图像采集模块用于采集所述预设物体的深度图像,并进行背景减除,将得到的前景图像作为所述当前深度图像。
在本发明实施方式的第三方面中,提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的交互式投影控制方法。
在本发明实施方式的第四方面中,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的交互式投影控制方法。
根据本发明实施方式的方法及装置、存储介质及电子设备,通过采集预设物体的当前深度图像,根据当前深度图像确定其实时姿态,并投射与其实时姿态相对应的影像。一方面,可以通过一幅当前深度图像确定预设物体的实时姿态,在信号采集方面仅需要一台深度相机即可实现本示例实施方式的方法,无需设置其他传感器,从而降低了交互式投影所需的设备与硬件成本,可以提高交互式投影技术的普遍适用性。另一方面,基于对预设物体的多个局部区域的深度参数的采集,利用深度参数的分布与变化表征预设物体在三维空间内的实时姿态,可以识别预设物体在各个方向上的各种姿态变化,识别结果具有较高的准确度,从而提高影像投射的准确度。再一方面,本示例实施方式的方法在数据处理过程中,仅需要对当前深度图像进行处理,从而加快了对于预设物体实时姿态的识别速度,提高了用户实时控制的交互反馈速率,改善了用户体验。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明实施方式的交互式投影控制方法的应用环境系统示例性架构图;
图2示意性地示出了根据本发明实施方式的交互式投影控制方法的流程步骤图;
图3示意性地示出了根据本发明实施方式的梯度方向映射示意图;
图4示意性地示出了根据本发明实施方式的交互式投影控制方法的子流程步骤图;
图5示意性地示出了根据本发明实施方式的法向量方向共享的示意图;
图6示意性地示出了根据本发明实施方式的滑窗匹配的示意图;
图7示意性地示出了根据本发明实施方式的交互式投影控制方法的应用实例图;
图8示意性地示出了根据本发明实施方式的交互式投影控制方法的流程示意图;
图9示意性地示出了根据本发明实施方式的交互式投影控制装置的结构方框图;
图10示意性地示出了根据本发明实施方式的存储介质的示意图;以及
图11示意性地示出了根据本发明实施方式的电子设备的结构方框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提供一种交互式投影控制方法、交互式投影控制装置、存储介质及电子设备。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐述本发明的原理和精神。
发明概述
本发明人发现,在现有的交互式投影控制方法中,设置多个传感器将导致设备与硬件成本的增加,影响交互式投影技术的普及,并且在处理数据时需要将各个传感器的原始数据叠加计算,通常还需要对原始数据进行一定的筛选,从而增加了数据处理的复杂度,不利于快速确定用户的控制指令。
鉴于上述内容,本发明的基本思想在于:提供一种交互式投影控制方法、交互式投影控制装置、存储介质及电子设备,通过采集预设物体的当前深度图像,根据当前深度图像确定其实时姿态,并投射与其实时姿态相对应的影像。一方面,可以通过一幅当前深度图像确定预设物体的实时姿态,在信号采集方面仅需要一台深度相机即可实现本示例实施方式的方法,无需设置其他传感器,从而降低了交互式投影所需的设备与硬件成本,可以提高交互式投影技术的普遍适用性。另一方面,基于对预设物体的多个局部区域的深度参数的采集,利用深度参数的分布与变化表征预设物体在三维空间内的实时姿态,可以识别预设物体在各个方向上的各种姿态变化,识别结果具有较高的准确度,从而提高影像投射的准确度。再一方面,本示例实施方式的方法在数据处理过程中,仅需要对当前深度图像进行处理,从而加快了对于预设物体实时姿态的识别速度,提高用户实时控制的交互反馈速率,提高用户体验。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
需要注意的是,下述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
应用场景:本发明提供的交互式投影控制方法可以应用于舞台表演,根据演员或控制人员的动作姿态切换不同的舞台布景、灯光效果或背景画面;也可以应用于模型展览,使观众对实体模型进行选择操作时,例如选择观看房屋模型的具体哪个房间,选择观看园林模型的具体哪个季节效果,将选择操作对应的投影效果呈现在模型平面或其他屏幕上。
示例性方法
本发明示例实施方式首先提出了一种交互式投影控制方法,图1示出了可以应用该方法的示例性系统架构。
参考图1所示,该系统100可以包括计算设备101、深度相机102、投影光机103与控制物体104。其中,控制物体104是指用户进行交互式投影控制所实际操作的物体,在交互式投影中,该控制物体104可以是任意指定的物体,例如周围环境中现有的书、笔、水杯等,用户可以对控制物体104进行移动、旋转等操作,以实现交互控制,控制物体104也可以是用户的身体或手部,使用户通过自身的姿态进行体感交互控制。深度相机102用于采集控制物体104的深度图像,通常是实时的深度图像,并将图像传输至计算设备101;计算设备101可以是计算机或服务器,用于对深度图像进行处理,识别控制物体104的实时姿态,并向投影光机103输出投影控制指令;投影光机103在接收到投影控制指令后,投射出相应的影像。控制物体104可以位于投影光机103的投影范围以外,对投影效果进行独立控制,也可以位于投影范围以内,使投影光机103将影像投射到控制物体104所在的平面上,实现交互性更强的投影效果反馈。
应当理解,图1所示的各装置的数目仅是示例性的,根据实际需要,可以设置多个控制物体104,对每个控制物体104的姿态进行识别,综合处理其姿态数据以生成投影效果。也可以设置多个深度相机102或投影光机103,多个深度相机102可用于对多个控制物体104采集图像,也可用于采集不同角度的图像,当然,本发明实施方式基于一个深度相机102即可实现;多个投影光机103可用于分别呈现不同类别的投影效果。计算设备102可以是多台计算机组成的集群。
在本发明的一些实施方式中,深度相机102或投影光机103可以内置于计算设备101上,例如计算设备101可以集成深度相机模块与投影光机模块,以及相应的软件系统,可以一体化实现图像采集、数据处理以及影像投射。
图2示出了本示例实施方式的一种交互式投影控制方法的流程图。参考图2所示,该方法可以包括以下步骤S210~S230:
步骤S210,采集预设物体的当前深度图像。
其中,预设物体是指图1中的控制物体104;当前深度图像是指深度相机实时采集的关于预设物体的深度图像,当用户控制预设物体进行姿态变化时,深度相机采集姿态变化过程的连续图像,以每一帧为单位,当前深度图像即连续图像中当前帧的图像。可以记录预设物体的像素点与相机之间的距离,根据深度相机的精度差异,可以精确到每个像素点的深度,也可以是包含多个像素点的每个区域的深度,本示例实施方式对此不做特别限定。
在本发明的一些实施方式中,步骤S210可以通过以下步骤实现:
采集预设物体的深度图像,并进行背景减除,将得到的前景图像作为当前深度图像。
其中,深度相机通常设置在固定的位置,其拍照的角度与其他参数也是预设的,可以认为,深度相机的镜头中的背景区域是固定的,每次采集预设物体的当前深度图像时,仅仅是预设物体的姿态发生了变化。因此,可以预先获取背景图像,在深度图像中将背景进行减除,仅保留关于预设物体的前景图像,作为当前深度图像。例如,预设物体可以是位于固定桌面上的物块,预先使用深度相机对桌面进行建模,得到背景图像,后续利用帧差法在深度图像中减去背景图像,可以滤除当前深度图像中的桌面信息,将前景区域凸显,便于识别场景中的预设物体,并减少后续的数据处理量。
步骤S220,根据当前深度图像确定预设物体的实时姿态。
其中,当前深度图像对应于当前帧,实时姿态即预设物体当前的姿态。在平面图像中,假设成像平面为X-Y平面,则可以根据图像检测预设物体在X-Y平面中的平移参数与旋转参数,以确定预设物体在X-Y平面中的姿态;当前深度图像在平面图像的基础上增加深度参数,即预设物体的各个部分在Z轴上的距离,因此可以将检测到的预设物体的平移参数与旋转参数扩展到三维空间中,以确定预设物体的三维姿态,即真实姿态。
在本发明的一些实施方式中,步骤S220可以通过以下步骤实现:
根据当前深度图像的深度分布得到当前深度图像的法向量特征;
将当前深度图像的法向量特征与模板进行匹配,确定预设物体的实时姿态。
其中,当前深度图像记录了图像中局部区域或像素点的深度参数,计算机在处理时,可以将当前深度图像转换为深度模型,例如根据每个局部区域相对于参考平面的深度,绘制预设物体的三维模型,则在模型的局部区域,可以确定切平面,切平面的法向量即局部区域的法向量。当前深度图像的法向量特征是指图像整体的法向量分布状况,可以是图像中一个或多个局部区域的法向量,也可以是多个局部区域的法向量之间的变化矢量等,用于进一步表征预设物体的姿态;举例而言,可以确定预设物体的多个关键部位,如预设物体的边角、连接部位、特征面等,在预设物体的当前深度图像中,这些关键部位所在的各局部区域的法向量的组合可以是当前深度图像的法向量特征;或者,当前深度图像中所有局部区域或所有像素点的法向量特征的组合可以是该图像的法向量特征。
在本示例实施方式中,可以预先配置关于预设物体的模板,模板对应于预设物体的标准姿态,具有可作为参考的标准法向量特征。根据当前深度图像的法向量特征与模板的标准法向量特征的差异程度,可以确定预设物体的实时姿态与标准姿态之间的差异,进而在标准姿态的基础上计算出实时姿态。
在本发明的一些实施方式中,上述模板的数量可以是多个,即预先配置多个模板,以对应多个预设物体的标准姿态,每个模板具有相应的标准法向量特征,标准法向量特征不是唯一的。基于此,上述将当前深度图像的法向量特征与模板进行匹配,确定预设物体的实时姿态的步骤可以具体通过以下步骤实现:
根据当前深度图像的法向量特征确定当前深度图像与各模板的相似度;
确定与当前深度图像相似度最高的一目标模板,并根据目标模板确定预设物体的实时姿态。
其中,当前深度图像与各模板的相似度即当前深度图像的法向量特征与各模板的标准法向量特征的相似度。换而言之,在各模板的标准法向量特征中,匹配出与当前深度图像的法向量特征最为相似的一个,将该模板作为目标模板,并将目标模板的标准姿态近似确定为当前深度图像的实时姿态。
此外,在确定当前深度图像与各模板的相似度后,也可以根据相似度对各模板的标准姿态进行加权计算,并将加权计算的结果作为当前深度图像的实时姿态。
在本发明的一些实施方式中,步骤S220也可以通过以下步骤实现:
根据当前深度图像得到预设物体的当前灰度图像,并根据当前灰度图像的灰度分布得到当前深度图像的梯度特征;
将当前深度图像的梯度特征与模板进行匹配,确定预设物体的实时姿态。
其中,灰度图像通常包含了比较鲜明的物体轮廓或物体倾斜的信息,而这些信息又可以在一定程度上表征出物体的姿态,因此可以利用预设物体的当前灰度图像确定实时姿态。当前灰度图像可以通过当前深度图像的像素值转换而获得,例如当前深度图像包含每个像素点的RGB色值时,可以将RGB色值转换为每个像素点的灰度值,以得到当前灰度图像。基于像素点与其相邻像素点之间的灰度差,可以确定该像素点上灰度变化最快的方向,通常将该方向作为该像素点的梯度。当前深度图像的梯度特征是指其灰度图像整体的梯度分布状况,可以是图像中一个或多个像素点的梯度组合,或多个像素点的梯度之间的变化矢量等,通常选取当前深度图像(或当前灰度图像)中的关键像素点,也可以是全部像素点。
在本示例实施方式中,模板可以有别于上述具有标准法向量特征的模板,将标准法向量特征替换为标准梯度特征,并对应于预设物体的标准姿态。根据当前深度图像的梯度特征与模板的标准梯度特征的差异程度,可以确定预设物体的实时姿态与标准姿态之间的差异,进而在标准姿态的基础上计算出实时姿态。
也可以预先配置多个模板,每个模板具有不同的标准梯度特征,并对应不同的标准姿态。基于当前深度图像的梯度特征与各模板的标准梯度特征之间的相似度,参考上述确定最高相似度或者加权计算的方式得到预设物体的实时姿态。
在本发明的一些实施方式中,也可以综合当前深度图像的法向量特征与梯度特征确定预设物体的实时姿态。举例而言,可以配置同时具有标准法向量特征与标准梯度特征的多个模板,每个模板对应于不同的标准姿态;再分别计算当前深度图像的法向量特征与各模板的标准法向量特征的相似度,以及当前深度图像的梯度特征与各模板的标准梯度特征的相似度,综合两种相似度以确定当前深度图像与各模板的相似度,最后通过确定最高相似度或者加权计算的方式得到预设物体的实时姿态。
步骤S230,根据预设物体的实时姿态投射与预设物体的实时姿态对应的影像。
其中,实时姿态与影像之间具有预设的映射关系,在确定预设物体的实时姿态后,计算设备控制投影光机投射相应的影像。举例说明,在房屋模型中,控制物体(即预设物体)是一个小人的模型,当用户将小人移动到房屋的不同房间,或者旋转小人以改变其面向的方向,系统可以识别出小人的实时姿态,即位于哪个房间内,面向哪个方向,然后将对应的影像投射出来,该影像可以是模拟小人正面所能看到的房屋细节图像;用户继续移动或旋转小人,影像实时变化,使用户能够以小人的视角参观房屋的各个部分,具有很强的模拟真实感。
需要说明的是,步骤S210~S230描述的是一个瞬时的控制过程,即在当前时刻,采集当前深度图像,确定实时姿态,实时投射影像;在下一时刻,预设物体的实际姿态变化时,采集到的当前深度图像与上一时刻的不同,确定的实时姿态也与上一时刻的不同,则可以实时投射与上一时刻不同的影像。如果在一段连续的时间内,预设物体的实际姿态保持不变,则当前深度图像维持不变,根据图像确定的预设物体的实时姿态不变,投射的影像也不变。
基于上述说明,本示例实施方式通过采集预设物体的当前深度图像,根据当前深度图像确定其实时姿态,并投射与其实时姿态相对应的影像。一方面,可以通过一幅当前深度图像确定预设物体的实时姿态,在信号采集方面仅需要一台深度相机即可实现本示例实施方式的方法,无需设置其他传感器,从而降低了交互式投影所需的设备与硬件成本,可以提高交互式投影技术的普遍适用性。另一方面,基于对预设物体的多个局部区域的深度参数的采集,利用深度参数的分布与变化表征预设物体在三维空间内的实时姿态,可以识别预设物体在各个方向上的各种姿态变化,识别结果具有较高的准确度,从而提高影像投射的准确度。再一方面,本示例实施方式的方法在数据处理过程中,仅需要对当前深度图像进行处理,从而加快了对于预设物体实时姿态的识别速度,提高了用户实时控制的交互反馈速率,改善了用户体验。
在本发明的一些实施方式中,基于当前深度图像的法向量特征确定预设物体的实时姿态时,当前深度图像的法向量特征可以包括当前深度图像中第一类预设像素点的法向量方向;则上述根据当前深度图像的深度分布得到当前深度图像的法向量特征的步骤可以具体包括以下步骤:
根据当前深度图像的深度分布确定每个第一类预设像素点的深度梯度向量;
根据第一类预设像素点的深度梯度向量与当前深度图像的参考点确定第一类预设像素点的法向量;
根据与第一类预设像素点的法向量最接近的标准法向量确定第一类预设像素点的法向量方向。
其中,第一类预设像素点是指能够反映预设物体深度分布特征的像素点,例如预设物体的倾斜面、弯曲面等局部区域的像素点;在一些实施方式中,第一类预设像素点也可以是预设物体的每个部位的内部像素点,这是由于不同部分的边缘区域具有较强的色差,利用像素点的色值可以体现出来,而对于内部区域则难以体现,深度参数在表征内部区域的深度分布方面具有优势。
在确定出第一类预设像素点后,可以进一步确定每个第一类预设像素点的法向量方向,以第一类预设像素点的法向量方向集合的形式体现当前深度图像的法向量特征。
在本发明的一些实施方式,可以通过以下方法确定像素点(无论是否为第一类预设像素点)的法向量方向:
在当前深度图像中,在任意一个像素点p,可以求得一阶泰勒展开式:
其中,D(p)为像素点p处的深度参数值,为深度梯度向量,dp为在点p邻域的像素平移向量,R(p)为余项。每个平移向量约束了的值,可以通过最小二乘法计算得到在点p的最大深度梯度整个深度梯度值对应于一个由以下三个向量P0、P1、P2确定的三维平面:
其中,为从当前深度图像的参考点到点p的单位向量,当前深度图像的参考点可以是深度相机的内参中的(x0,y0);由此在点p的法向量可由下式计算得到:
可以预先确定多个标准法向量,将点p的法向量映射至最接近的标准法向量,将最接近的标准法向量的方向确定为点p的法向量方向。
在本发明的一些实施方式中,基于当前深度图像的梯度特征确定预设物体的实时姿态时,当前深度图像的梯度特征可以包括当前深度图像中第二类预设像素点的梯度方向;则上述根据当前灰度图像的灰度分布得到当前深度图像的梯度特征的步骤可以具体包括以下步骤:
基于当前灰度图像的灰度分布,利用Sobel算子计算每个第二类预设像素点的灰度梯度角度;
对于每个第二类预设像素点,将与灰度梯度角度最接近的标准梯度方向确定为第二类预设像素点的梯度方向。
其中,第二类预设像素点是指能够反映预设物体灰度分布特征的像素点,例如预设物体的边角、连接部位等局部区域的像素点;在一些实施方式中,第二类预设像素点也可以是预设物体的每个部位的边缘像素点,这是由于不同部分的边缘区域具有较强的灰度差,易于体现预设物体的轮廓特征。
在确定出第二类预设像素点后,可以进一步确定每个第二类预设像素点的梯度方向,在示例实施方式中,梯度方向是指灰度梯度方向。第二类预设像素点的梯度方向集合可以体现当前深度图像的梯度特征。
在本发明的一些实施方式,可以通过以下方法确定像素点(无论是否为第二类预设像素点)的梯度方向:
在当前灰度图像中,在任意一个像素点q,可以通过计算Sobel算子得到点q的灰度梯度向量:
f(q)为像素点q处的灰度值,为灰度梯度向量,q=(x,y),x和y为点q在当前灰度图像中的x坐标与y坐标,由此可以计算得到灰度梯度角度:
可以预先确定多个标准梯度方向,将点q的灰度梯度角度映射至最接近的标准梯度方向,将最接近的标准梯度方向确定为点q的梯度方向。
举例而言,参考图3所示,可以预先将θ按照[0,360]的值域分割成8个子区间,8个子区间的中心方向为标准梯度方向,其角度分别为0°、45°、90°、135°、180°、225°、270°、315°与360°。若当前灰度图像中像素点q的灰度梯度角度θ=5°,属于第1个子区间,则点q的梯度方向为0°方向。
在本发明的一些实施方式中,参考图4所示,交互式投影控制方法还可以包括以下配置模板的步骤:
步骤S410,预先从多个位置和/或多个角度采集预设物体的多个标准姿态图像;
步骤S420,记录各标准姿态图像对应的变换参数,变换参数包括平移参数与旋转参数;
步骤S430,获取各标准姿态图像的法向量特征及梯度特征;
步骤S440,将标准姿态图像及其变换参数、法向量特征、梯度特征封装为模板。
其中,标准姿态图像为对处于标准姿态的预设物体采集的深度图像;标准姿态为预先定义的一组可作为参考的姿态,其中包括一个基准姿态,定义基准姿态的平移参数与旋转参数都为0,基准姿态以外的标准姿态相对于基准姿态具有确定的平移参数与旋转参数,平移参数可以包括在空间内的x、y、z轴上的三个平移参数,旋转参数也可以包括在空间内分别相对于x、y、z轴的三个旋转参数。
每个模板对应于一个标准姿态,基于包括深度信息的标准姿态图像以及标准姿态图像转换得到的标准灰度图像,可以通过上述计算像素点的法向量方向与梯度方向的方法,确定标准姿态图像的法向量特征及梯度特征。每个标准姿态图像及其变换参数、法向量特征、梯度特征封装为一个模板。
在本发明的一些实施方式中,也可以通过OpenGL(渲染矢量图形的图形程序接口)对预设物体的模型进行渲染,生成具有深度信息的标准姿态图像。
在本发明的一些实施方式中,步骤S430可以通过以下步骤实现:
将标准姿态图像中的像素点分类为内部像素点与边缘像素点;
根据标准姿态图像的深度分布计算每个内部像素点的法向量方向,并根据内部像素点的法向量方向确定标准姿态图像的法向量特征;
将标准姿态图像转换为灰度图像,并根据灰度图像的灰度分布计算每个边缘像素点的梯度方向,并根据边缘像素点的梯度方向确定标准姿态图像的梯度特征。
其中,边缘像素点是指预设物体的每个部分的外部轮廓区域的像素点,相应的,处于预设物体的每个部分的内部区域的像素点为内部像素点。边缘像素点具有比较鲜明的灰度变化特征,内部像素点的深度变化特征可以通过具有深度梯度信息的法向量方向来表征。因此,在确定标准姿态图像的法向量特征与梯度特征时,可以对这两类像素点分别处理,内部像素点计算法向量方向,将法向量方向的集合作为标准姿态图像的法向量特征,边缘像素点计算梯度方向,将梯度方向的集合作为标准姿态图像的梯度特征。可见,通过该方法计算像素点的法向量方向或梯度方向时,对于每个像素点,按照其属于内部像素点或边缘像素点的分类结果,只需计算法向量方向或梯度方向中的一种,从而减少了一半左右的计算量。
以上是配置模板时所采用的像素点分类以及简化计算的方法。在实时控制阶段,对预设物体的当前深度图像进行处理时,也可以对当前深度图像中的像素点进行同样的分类以及简化计算,以得到当前深度图像的法向量特征与梯度特征,例如上述第一类预设像素点可以是内部像素点,第二类预设像素点可以是边缘像素点。当然,为了更加全面的表征图像信息,也可以对每个像素点既计算法向量方法又计算梯度方向,本示例实施方式对此不做特别限定。
在本发明的一些实施方式中,根据当前深度图像的深度分布得到当前深度图像的法向量特征的步骤可以具体通过以下步骤实现:
根据当前深度图像中各像素点的深度分布计算当前深度图像中预设像素点的法向量方向;
将预设像素点的法向量方向共享至预设像素点的预设邻域内,使预设邻域内的每个像素点具有一个或多个法向量方向。
其中,预设像素点是指体现预设物体关键部位的像素点,可以是上述第一类预设像素点或第二类预设像素点,也可以是其他类型的像素点。预设邻域是指预先定义的相邻区域范围,例如以预设像素点为中心的T*T邻域,T可以是2或2以上的任意整数。图5示出了法向量方向共享的过程,其中设定T=3,将图5(a)中的预设像素点的法向量方向共享至其3*3的预设邻域内,得到图5(b)中的情况,预设邻域内的每个像素点具有一个或多个法向量方向。
由于深度相机可能存在成像畸变、数据噪声的问题,在采集当前深度图像时,像素点的法向量方向与实际情况可能存在一定的误差,通过上述共享法向量方向的方式,可以加强当前深度图像与模板匹配的容错度,使得算法具有更强的鲁棒性。
应当理解,上述法向量方向共享的方法也可以应用于当前深度图像的灰度图像中,将预设像素点的梯度方向共享至预设邻域内,使预设邻域内的每个像素点具有一个或多个梯度方向。
在本发明的一些实施方式中,根据当前深度图像的法向量特征确定当前深度图像与各模板的相似度可以包括:
利用非极大值抑制算法确定当前深度图像与各模板的相似度。
其中,非极大值抑制算法是指在图像检测中抑制非极大值的元素,搜索当前深度图像与各模板匹配度最高的局部区域。参考图6所示,在确定相似度时,可以采用滑窗匹配机制,对于每个模板,从标准姿态图像的左上角开始遍历,设置横纵方向上的步长T,并同步的遍历当前深度图像,检测两图像的滑窗区域之间的相似度。随后还可以逐步增大滑窗的尺寸,并再次遍历两图像以检测相似度。最后确定出相似度最高的局部区域,将通过该区域计算出的相似度作为当前深度图像与模板的相似度。
在本发明的一些实施方式中,可以通过以下方法计算当前深度图像与模板的相似度:
对于包含n个像素点的局部区域N,计算该局部区域在当前深度图像中与在标准姿态图像中的相似度,相似度包括法向量方向相似度similarityd与梯度方向相似度similarityf
其中,TDi为局部区域N中第i个像素点在模板中的法向量方向,TFi为局部区域N中第i个像素点在模板中的梯度方向;由于采用了法向量方向与梯度方向在预设邻域内共享的方法,像素点i可能具有多个法向量方向或梯度方向,Dj为在当前深度图像中像素点i的第j个法向量方向,Fk为在当前深度图像中像素点i的第k个梯度方向,采用cos函数对量化方向进行余弦相似性判断,方向越相近得到的相似度越大,并以最大的相似度作为像素点i的相似度。例如,在模板的标准姿态图像中像素点i的法向量方向为→(参考图3,可以量化为2),当前深度图像中像素点i的法向量方向为(量化为2、4、7),则Max(cos(→,→),cos(→,↓),cos(→,↖))=cos(→,→)=1。对于法向量方向相似度similarityd与梯度方向相似度similarityf,可以计算综合相似度:
similaritytotal=similarityd+similarityf; (12)
然后可以对局部区域N内的所有像素点,进行相似度求和或加权求和,得到局部区域N的相似度,也可以根据像素点数量对similaritytotal进行归一化操作。
通过上述可以对当前深度图像的所有局部区域计算相似度,取其中最高的一个局部区域的相似度,作为当前深度图像与模板的相似度。
对于当前深度图像与每个模板,都可以按照上述方法确定相似度,从而进一步确定出其中相似度最高的目标模板,将目标模板对应的标准姿态确定为当前深度图像中的实时姿态;或者设定过滤阈值,筛选出与当前深度图像相似度较高的多个模板,综合该多个模板的标准姿态以确定当前深度图像中的实时姿态。
在本发明的一些实施方式中,根据目标模板确定预设物体的实时姿态可以通过以下步骤实现:
获取目标模板的三维点云相对于基准模板的三维点云的第一变换参数;
计算当前深度图像的三维点云相对于目标模板的三维点云的第二变换参数;
根据第一变化参数、第二变换参数与基准模板计算预设物体的实时姿态。
其中,基准模板对应于预设物体的基准姿态,可以是默认的原始姿态,例如无平移无旋转时的姿态,也可以是自定义的任意姿态,其作用是作为后续确定实施姿态的原始参考。第一变换参数用于确定目标模板的标准姿态,可视为当前深度图中预设物体的实时姿态的粗糙估计;第二变换参数用于在标准姿态的基础上,对预设物体的实时姿态进行精细化计算。三维点云是对预设物体进行近似建模所形成的点的集合,对于预设物体的立体形状具有近似表征作用。在确定三维点云后,整个预设物体可以近似地用三维点云所代表的模型表示。其中,三维点云在基准模板、目标模板以及当前深度图像中应当相对应,通过三维点云发生的平移或旋转,可以计算出目标模板相对于基准模板的平移或旋转,即第一变换参数,以及当前深度图像相对于目标模板的平移或旋转,即第二变换参数。叠加计算第一变换参数与第二变换参数,可以确定预设物体的实时姿态。
进一步的,可以通过以下步骤计算当前深度图像的三维点云相对于目标模板的三维点云的第二变换参数:
在当前深度图像中确定与目标模板相似度最高的一局部区域;
在局部区域内获取当前深度图像的三维点云集合,并在目标模板中与局部区域对应的区域内获取目标模板的三维点云集合;
将当前深度图像的三维点云集合与目标模板的三维点云集合降采样至相同的元素数量;
通过迭代最近邻点算法计算当前深度图像的三维点云集合相对于目标模板的三维点云集合的第二变换参数。
其中,局部区域的确定可以参考上述滑窗匹配的方法,从而将预设物体近似为局部区域所包含的部分,对局部区域建模,确定三维点云集合。局部区域在当前深度图像中与在目标模板中应当是同一区域,当然由于图像之间的差异,当前深度图像的三维点云集与目标模板的三维点云集合之间也可能存在一定差异,导致两集合的元素数量(即点的数量)不同,可以通过降采样使两者相同,可以对其中元素数量更多的三维点云集合进行降采样,也可以利用统一的标准对两个三维点云集合同时进行降采样。降采样后对两个三维点云集合进行迭代最近邻点计算:
通过求解最小的E,得到旋转矩阵RICP与平移矩阵TICP,即第二变换参数。其中,N为降采样后的三维点云集合的元素数量,xi与yi为具有最短间隔距离的同名点对,通过设定迭代最小平均误差与迭代次数上限,可以作为ICP算法的终止条件,迭代计算得到RICP与TICP。在一实施方式中,也可以将RICP与TICP转换为一个既包含平移参数又包含旋转参数的第二变换矩阵RTICP
在本发明的一个实施方式中,在通过深度相机采集预设物体的当前深度图像前,还可以包括以下步骤:
根据投影光机的坐标参数标定深度相机的参数。
如图1所示,深度相机102与投影光机103为不同的硬件设备或模块,通常处于不同的位置。通过上述标定的过程,可以将深度相机102与投影光机103进行虚拟同一化,即深度相机102实际从自身的位置与角度对预设物体进行图像采集,可以将图像转化为投影光机的虚拟视角,获得从投影光机的视角观察预设物体的姿态。则步骤S210~S230的过程可以表现为:投影光机观察预设物体的实时姿态(实际为深度相机以投影光机的虚拟视角观察预设物体的实时姿态),将实时姿态对应的影像投射到预设物体所在的投影平面,以形成交互性更强的投影反馈效果。
其中,投影光机的坐标参数通常包含其位置坐标与视角的旋转坐标,综合这两个坐标,可以得到深度相机的标定参数RTCalibration。则可以最终通过以下公式计算当前深度图像中预设物体的实时姿态:
RTFinal=RTCalibHation*RTMatch*RTICP; (14)
其中,RTMatch为上述确定的第一变换参数,RTICP为上述确定的第二变换参数。
在本发明的一个实施方式中,可以建立关于预设物体及其背景的CAD(计算机辅助设计工具)模型,通过深度图像的采集与处理,获得模板。并在Unity3D(实时动画开发工具)中构建与现实场景一一对应的虚拟场景,将投影光机虚拟化为虚拟场景中的虚拟相机,并进行深度相机的参数标定。在此虚拟场景中,可以自主地为场景中的模型添加贴图、动画和特效等。在Unity3D场景中设定控制物体,即预设物体,通过控制预设物体的实时姿态,使投影光机实时呈现投影效果,以实现交互式投影。
下面通过一具体事例做进一步说明。参考图7(a)~图7(c)所示,在一园林桌面模型中,预设物体710为其中锥形的物块,模型平面为第一投影平面721,旁边还设置第二投影平面722。当用户移动或转动预设物体710时,确定预设物体710的实时姿态,包括其位置参数与旋转参数,从而确定预设物体710在园林中正面朝向的区域,投影光机在第二投影平面722上投射其正面朝向区域的细节图像,同时在第一投影平面721上投射灯光效果。根据预设物体710所处的位置与视角,实时呈现园林各区域的细节图像,并渲染不同的灯光效果,从而实现交互式投影。
图8示出了本示例实施方式的一种流程示意图。参考图8所示,该方法流程包括以下步骤:步骤S810,实时采集预设物体的深度图像;步骤S820,从深度图像中减除背景,将前景图像作为当前深度图像;步骤S830,根据当前深度图像确定预设物体的实时姿态;步骤S840,利用Unity3D等工具构建关于投影模型以及预设物体的虚拟场景;步骤S850,根据预设物体的实时姿态渲染出相应的投影效果,并呈现在投影平面上。通过该方法,可以快速的对预设物体的当前深度图像进行处理识别,实时地呈现与其姿态相对应的投影效果,具有较强的交互反馈性,能够提高用户的使用体验。
示例性装置
在介绍了本发明示例性实施方式的交互式投影控制方法之后,接下来,参考图9对本发明示例性实施方式的交互式投影控制装置进行说明。
参考图9所示,该交互式投影控制装置900可以包括:图像采集模块910,用于采集预设物体的当前深度图像;姿态确定模块920,用于根据当前深度图像确定预设物体的实时姿态;影像投射模块930,用于根据预设物体的实时姿态投射与预设物体的实时姿态对应的影像。
在本发明的一个实施方式中,姿态确定模块920可以包括:法向量提取单元921,用于根据当前深度图像的深度分布得到当前深度图像的法向量特征;模板匹配单元922,用于将当前深度图像的法向量特征与模板进行匹配,确定预设物体的实时姿态。
在本发明的一个实施方式中,姿态确定模块920可以包括:梯度提取单元(图中未示出),用于根据当前深度图像得到预设物体的当前灰度图像,并根据当前灰度图像的灰度分布得到当前深度图像的梯度特征;模板匹配单元(图中未示出),用于将当前深度图像的梯度特征与模板进行匹配,确定预设物体的实时姿态。
在本发明的一个实施方式中,模板匹配单元922包括:相似度确定单元9221,用于根据当前深度图像的法向量特征确定当前深度图像与各模板的相似度;实时姿态确定单元9222,用于确定与当前深度图像相似度最高的一目标模板,并根据目标模板确定预设物体的实时姿态。
在本发明的一个实施方式中,法向量提取单元921可以包括:计算单元9211,根据当前深度图像中各像素点的深度分布计算当前深度图像中预设像素点的法向量方向;共享单元9212,用于将预设像素点的法向量方向共享至预设像素点的预设邻域内,使预设邻域内的每个像素点具有一个或多个法向量方向。
在本发明的一个实施方式中,相似度确定单元9221可以用于利用非极大值抑制算法确定当前深度图像与各模板的相似度。
在本发明的一个实施方式中,实时姿态确定单元9222可以包括:目标模板确定单元92221,用于确定与当前深度图像相似度最高的一目标模板;变换参数确定单元92222,用于获取目标模板的三维点云相对于基准模板的三维点云的第一变换参数,并计算当前深度图像的三维点云相对于目标模板的三维点云的第二变换参数;实时姿态计算单元92223,用于根据第一变化参数、第二变换参数与基准模板计算预设物体的实时姿态。
在本发明的一个实施方式中,变换参数确定单元92222可以用于执行以下步骤,以得到第二变换参数:在当前深度图像中确定与目标模板相似度最高的一局部区域;在局部区域内获取当前深度图像的三维点云集合,并在目标模板中与局部区域对应的区域内获取目标模板的三维点云集合;将当前深度图像的三维点云集合与目标模板的三维点云集合降采样至相同的元素数量;通过迭代最近邻点算法计算当前深度图像的三维点云集合相对于目标模板的三维点云集合的第二变换参数。
在本发明的一个实施方式中,当前深度图像的法向量特征可以包括当前深度图像中第一类预设像素点的法向量方向;法向量提取单元921可以包括:深度梯度向量确定单元(图中未示出),用于根据当前深度图像的深度分布确定每个第一类预设像素点的深度梯度向量;法向量确定单元(图中未示出),用于根据第一类预设像素点的深度梯度向量与当前深度图像的参考点确定第一类预设像素点的法向量;标准法向量比较单元(图中未示出),用于根据与第一类预设像素点的法向量最接近的标准法向量确定第一类预设像素点的法向量方向。
在本发明的一个实施方式中,当前深度图像的梯度特征可以包括当前深度图像中第二类预设像素点的梯度方向;梯度提取单元可以包括:灰度梯度角度确定单元(图中未示出),用于基于当前灰度图像的灰度分布,利用Sobel算子计算每个第二类预设像素点的灰度梯度角度;梯度方向确定单元(图中未示出),用于对于每个第二类预设像素点,将与灰度梯度角度最接近的标准梯度方向确定为第二类预设像素点的梯度方向。
在本发明的一个实施方式中,交互式投影控制装置900还可以包括模板管理模块940;其中,模板管理模块940可以包括以下单元:标准图像采集单元941,用于预先从多个位置和/或多个角度采集预设物体的多个标准姿态图像;变换参数记录单元942,用于记录各标准姿态图像对应的变换参数,变换参数包括平移参数与旋转参数;标准特征获取单元943,获取各标准姿态图像的法向量特征及梯度特征;模板封装单元944,用于将标准姿态图像及其变换参数、法向量特征、梯度特征封装为模板。
在本发明的一个实施方式中,标准特征获取单元943可以包括:像素点分类单元9431,用于将标准姿态图像中的像素点分类为内部像素点与边缘像素点;内部像素点处理单元9432,用于根据标准姿态图像的深度分布计算每个内部像素点的法向量方向,并根据内部像素点的法向量方向确定标准姿态图像的法向量特征;边缘像素点处理单元9433,用于将标准姿态图像转换为灰度图像,并根据灰度图像的灰度分布计算每个边缘像素点的梯度方向,并根据边缘像素点的梯度方向确定标准姿态图像的梯度特征。
在本发明的一个实施方式中,图像采集模块910用于通过深度相机采集预设物体的当前深度图像;影像投射模块930用于基于预设物体的实时姿态,通过投影光机投射与预设物体的实时姿态对应的影像;交互式投影控制装置900还可以包括:参数标定模块950,用于在图像采集模块910采集预设物体的当前深度图像前,根据投影光机的坐标参数标定深度相机的参数。
在本发明的一个实施方式中,图像采集模块910可以用于采集预设物体的深度图像,并进行背景减除,将得到的前景图像作为当前深度图像。
此外,本发明实施方式的其他具体细节在上述交互式投影控制方法的发明实施方式中已经详细说明,在此不再赘述。
示例性存储介质
在介绍了本发明示例性实施方式的音频播放方法和装置、音频分享方法和装置之后,接下来,参考图10对本发明示例性实施方式的存储介质进行说明。
参考图10所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品1000,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
该程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言-诸如Java、C++等,还包括常规的过程式程序设计语言-诸如"C"语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性电子设备
在介绍了本发明示例性实施方式的存储介质之后,接下来,参考图10对本发明示例性实施方式的电子设备进行说明。
图11显示的电子设备1100仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图11所示,电子设备1100以通用计算设备的形式表现。电子设备1100的组件可以包括但不限于:上述至少一个处理单元1110、上述至少一个存储单元1120、连接不同系统组件(包括存储单元1120和处理单元1110)的总线1130、显示单元1140。
其中,存储单元存储有程序代码,程序代码可以被处理单元1110执行,使得处理单元1110执行本说明书上述"示例性方法"部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元1110可以执行如图2中所示的步骤S210至步骤S230,或者处理单元1110可以执行如图4中所示的步骤S410至步骤S440等。
存储单元1120可以包括易失性存储单元,例如随机存取存储单元(RAM)1121和/或高速缓存存储单元1122,还可以进一步包括只读存储单元(ROM)1123。
存储单元1120还可以包括具有一组(至少一个)程序模块1125的程序/实用工具1124,这样的程序模块1125包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1130可以包括数据总线、地址总线和控制总线。
电子设备1100也可以与一个或多个外部设备1200(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(I/O)接口1150进行。电子设备1100还包括显示单元1140,其连接到输入/输出(I/O)接口1150,用于进行显示。并且,电子设备1100还可以通过网络适配器1160与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1160通过总线1130与电子设备1100的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1100使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了音频播放装置和音频分享装置的若干模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (10)

1.一种交互式投影控制方法,其特征在于,所述方法包括:
采集预设物体的当前深度图像;
根据所述当前深度图像确定所述预设物体的实时姿态;
根据所述预设物体的实时姿态投射与所述预设物体的实时姿态对应的影像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前深度图像确定所述预设物体的实时姿态包括:
根据所述当前深度图像的深度分布得到所述当前深度图像的法向量特征;
将所述当前深度图像的法向量特征与模板进行匹配,确定所述预设物体的实时姿态。
3.根据权利要求1所述的方法,其特征在于,所述根据所述当前深度图像确定所述预设物体的实时姿态包括:
根据所述当前深度图像得到所述预设物体的当前灰度图像,并根据所述当前灰度图像的灰度分布得到所述当前深度图像的梯度特征;
将所述当前深度图像的梯度特征与所述模板进行匹配,确定所述预设物体的实时姿态。
4.根据权利要求2所述的方法,其特征在于,所述将所述当前深度图像的法向量特征与模板进行匹配,确定所述预设物体的实时姿态包括:
根据所述当前深度图像的法向量特征确定所述当前深度图像与各所述模板的相似度;
确定与所述当前深度图像相似度最高的一目标模板,并根据所述目标模板确定所述预设物体的实时姿态。
5.根据权利要求2所述的方法,其特征在于,所述当前深度图像的法向量特征包括所述当前深度图像中第一类预设像素点的法向量方向;
所述根据所述当前深度图像的深度分布得到所述当前深度图像的法向量特征包括:
根据所述当前深度图像的深度分布确定每个所述第一类预设像素点的深度梯度向量;
根据所述第一类预设像素点的深度梯度向量与所述当前深度图像的参考点确定所述第一类预设像素点的法向量;
根据与所述第一类预设像素点的法向量最接近的标准法向量确定所述第一类预设像素点的法向量方向。
6.根据权利要求3所述的方法,其特征在于,所述当前深度图像的梯度特征包括所述当前深度图像中第二类预设像素点的梯度方向;
所述根据所述当前灰度图像的灰度分布得到所述当前深度图像的梯度特征包括:
基于所述当前灰度图像的灰度分布,利用Sobel算子计算每个所述第二类预设像素点的灰度梯度角度;
对于每个所述第二类预设像素点,将与所述灰度梯度角度最接近的标准梯度方向确定为所述第二类预设像素点的梯度方向。
7.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
预先从多个位置和/或多个角度采集所述预设物体的多个标准姿态图像;
记录各所述标准姿态图像对应的变换参数,所述变换参数包括平移参数与旋转参数;
获取各所述标准姿态图像的法向量特征及梯度特征;
将所述标准姿态图像及其变换参数、法向量特征、梯度特征封装为所述模板。
8.一种交互式投影控制装置,其特征在于,所述装置包括:
图像采集模块,用于采集预设物体的当前深度图像;
姿态确定模块,用于根据所述当前深度图像确定所述预设物体的实时姿态;
影像投射模块,用于根据所述预设物体的实时姿态投射与所述预设物体的实时姿态对应的影像。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~7中任一项所述的方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~7中任一项所述的方法。
CN201811377648.5A 2018-11-19 2018-11-19 交互式投影控制方法、装置、存储介质及电子设备 Active CN109521879B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811377648.5A CN109521879B (zh) 2018-11-19 2018-11-19 交互式投影控制方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811377648.5A CN109521879B (zh) 2018-11-19 2018-11-19 交互式投影控制方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN109521879A true CN109521879A (zh) 2019-03-26
CN109521879B CN109521879B (zh) 2022-02-18

Family

ID=65776616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811377648.5A Active CN109521879B (zh) 2018-11-19 2018-11-19 交互式投影控制方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN109521879B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110032964A (zh) * 2019-04-08 2019-07-19 腾讯科技(成都)有限公司 图像处理方法、识别视角的方法、装置、设备和存储介质
CN112967381A (zh) * 2021-03-05 2021-06-15 北京百度网讯科技有限公司 三维重建方法、设备和介质
CN113034585A (zh) * 2021-04-25 2021-06-25 歌尔股份有限公司 偏移状态测试方法、测试设备及存储介质
CN113034570A (zh) * 2021-03-09 2021-06-25 北京字跳网络技术有限公司 图像处理方法、装置和电子设备
CN113538696A (zh) * 2021-07-20 2021-10-22 广州博冠信息科技有限公司 特效生成方法、装置、存储介质及电子设备
CN113570441A (zh) * 2021-09-26 2021-10-29 广州新奥达云科技有限公司 一种基于虚拟反向投影的物品展示方法和装置
WO2022033389A1 (zh) * 2020-08-11 2022-02-17 中兴通讯股份有限公司 一种图像处理的方法、装置、电子设备及存储介质
CN114296556A (zh) * 2021-12-31 2022-04-08 苏州欧普照明有限公司 一种基于人体姿态的交互显示方法、装置和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102221887A (zh) * 2011-06-23 2011-10-19 康佳集团股份有限公司 互动投影系统及方法
CN103679154A (zh) * 2013-12-26 2014-03-26 中国科学院自动化研究所 基于深度图像的三维手势动作的识别方法
CN105759967A (zh) * 2016-02-19 2016-07-13 电子科技大学 一种基于深度数据的手部全局姿态检测方法
CN106897688A (zh) * 2017-02-21 2017-06-27 网易(杭州)网络有限公司 交互式投影装置、控制交互式投影的方法和可读存储介质
US20170230633A1 (en) * 2015-07-08 2017-08-10 Korea University Research And Business Foundation Method and apparatus for generating projection image, method for mapping between image pixel and depth value

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102221887A (zh) * 2011-06-23 2011-10-19 康佳集团股份有限公司 互动投影系统及方法
CN103679154A (zh) * 2013-12-26 2014-03-26 中国科学院自动化研究所 基于深度图像的三维手势动作的识别方法
US20170230633A1 (en) * 2015-07-08 2017-08-10 Korea University Research And Business Foundation Method and apparatus for generating projection image, method for mapping between image pixel and depth value
CN105759967A (zh) * 2016-02-19 2016-07-13 电子科技大学 一种基于深度数据的手部全局姿态检测方法
CN106897688A (zh) * 2017-02-21 2017-06-27 网易(杭州)网络有限公司 交互式投影装置、控制交互式投影的方法和可读存储介质

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110032964A (zh) * 2019-04-08 2019-07-19 腾讯科技(成都)有限公司 图像处理方法、识别视角的方法、装置、设备和存储介质
CN110032964B (zh) * 2019-04-08 2023-07-14 腾讯科技(成都)有限公司 图像处理方法、识别视角的方法、装置、设备和存储介质
WO2022033389A1 (zh) * 2020-08-11 2022-02-17 中兴通讯股份有限公司 一种图像处理的方法、装置、电子设备及存储介质
CN112967381A (zh) * 2021-03-05 2021-06-15 北京百度网讯科技有限公司 三维重建方法、设备和介质
CN112967381B (zh) * 2021-03-05 2024-01-16 北京百度网讯科技有限公司 三维重建方法、设备和介质
CN113034570A (zh) * 2021-03-09 2021-06-25 北京字跳网络技术有限公司 图像处理方法、装置和电子设备
CN113034585A (zh) * 2021-04-25 2021-06-25 歌尔股份有限公司 偏移状态测试方法、测试设备及存储介质
CN113538696A (zh) * 2021-07-20 2021-10-22 广州博冠信息科技有限公司 特效生成方法、装置、存储介质及电子设备
CN113570441A (zh) * 2021-09-26 2021-10-29 广州新奥达云科技有限公司 一种基于虚拟反向投影的物品展示方法和装置
CN113570441B (zh) * 2021-09-26 2022-02-01 广州新奥达云科技有限公司 一种基于虚拟反向投影的物品展示方法和装置
CN114296556A (zh) * 2021-12-31 2022-04-08 苏州欧普照明有限公司 一种基于人体姿态的交互显示方法、装置和系统

Also Published As

Publication number Publication date
CN109521879B (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
CN109521879B (zh) 交互式投影控制方法、装置、存储介质及电子设备
US11189078B2 (en) Automated understanding of three dimensional (3D) scenes for augmented reality applications
US10854006B2 (en) AR-enabled labeling using aligned CAD models
CN112771539B (zh) 采用使用神经网络从二维图像预测的三维数据以用于3d建模应用
JP6907325B2 (ja) 内部空間の3dグリッド表現からの2d間取り図の抽出
CN109887003B (zh) 一种用于进行三维跟踪初始化的方法与设备
JP2021534495A (ja) ビデオデータを使用するオブジェクトインスタンスのマッピング
AU2022345532B2 (en) Browser optimized interactive electronic model based determination of attributes of a structure
CN110264563A (zh) 一种基于orbslam2的八叉树建图方法
EP3326156B1 (en) Consistent tessellation via topology-aware surface tracking
CN109191554B (zh) 一种超分辨图像重建方法、装置、终端和存储介质
CN113689578B (zh) 一种人体数据集生成方法及装置
US20210374986A1 (en) Image processing to determine object thickness
WO2021146449A1 (en) Visual object history
KR20200143228A (ko) 3차원 가상 공간 모델을 이용한 사용자 포즈 추정 방법 및 장치
WO2023250091A1 (en) Method, apparatus, and computer-readable medium for room layout extraction
EP4292059A1 (en) Multiview neural human prediction using implicit differentiable renderer for facial expression, body pose shape and clothes performance capture
JP2024508024A (ja) 画像データの処理方法及び装置
JP2024114712A (ja) 撮像装置、撮像方法、及び、プログラム
CN117369233B (zh) 一种全息显示方法、装置、设备及存储介质
EP4121951A1 (en) Method and apparatus for generating a floor plan
CN112085842A (zh) 深度值确定方法及装置、电子设备和存储介质
Alleaume et al. Introduction to AR-Bot, an AR system for robot navigation
Li A Geometry Reconstruction And Motion Tracking System Using Multiple Commodity RGB-D Cameras
CA3131587A1 (en) 2d and 3d floor plan generation

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
TA01 Transfer of patent application right

Effective date of registration: 20190701

Address after: 311215 Room 102, 6 Blocks, C District, Qianjiang Century Park, Xiaoshan District, Hangzhou City, Zhejiang Province

Applicant after: Hangzhou Yixian Advanced Technology Co., Ltd.

Address before: 310052 Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province, 4, 7 stories

Applicant before: NetEase (Hangzhou) Network Co., Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant