CN113157092A - 可视化方法、终端设备和存储介质 - Google Patents
可视化方法、终端设备和存储介质 Download PDFInfo
- Publication number
- CN113157092A CN113157092A CN202110377061.XA CN202110377061A CN113157092A CN 113157092 A CN113157092 A CN 113157092A CN 202110377061 A CN202110377061 A CN 202110377061A CN 113157092 A CN113157092 A CN 113157092A
- Authority
- CN
- China
- Prior art keywords
- target object
- coordinate system
- current
- camera
- pixel
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/012—Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
Abstract
本申请公开了一种可视化方法、终端设备和存储介质。用于解决基于SLAM的轨迹可视化渲染耗时长、时效性差的问题。本申请实施例中,首采用SLAM技术实时获取目标对象的位姿信息,然后将目标对象的当前三维位置由世界坐标系转换到像素坐标系,并根据当前像素坐标确定目标对象的运动轨迹,最后对目标对象的运动轨迹进行显示。
Description
技术领域
本申请涉及虚拟现实领域,尤其涉及一种可视化方法、终端设备和存储介质。
背景技术
随着虚拟现实技术的发展,虚拟现实技术(Virtual Reality,VR)/增强现实技术(Augmented Reality,AR)在各行各业如教育培训、消防演练、虚拟驾驶、房地产等项目中具有广泛的应用,给用户带来身临其境般沉浸式的视觉盛宴。AR/VR技术构建了数字的三维世界,即时定位与地图构建(SLAM)进一步实现VR和AR进步的其中一个关键领域。SLAM则提供了三维数字世界的空间定位功能,是AR/VR非常重要的核心模块。
因此,基于SLAM的轨迹可视化对空间定位有个直观呈现对AR/VR有着重要的意义。当前,在游戏引擎(Unity)场景中基于SLAM所获取的机器人或相机的位姿存在渲染耗时长、时效性差的问题;所以,基于SLAM高性能的可视化显得尤为突出重要。
发明内容
本申请的目的是提供一种可视化方法、终端设备和存储介质,用于解决基于SLAM的轨迹可视化渲染耗时长、时效性差的问题。
第一方面,本申请实施例提供了一种可视方法,所述方法包括:
采用同步定位与建图SLAM技术实时获取目标对象的位姿信息;
从所述位姿信息中提取所述目标对象的当前三维位置;
将所述当前三维位置由世界坐标系转换到像素坐标系,得到所述目标对象的当前像素坐标;
根据所述当前像素坐标确定所述目标对象的运动轨迹;
显示所述目标对象的运动轨迹。
在一个实施例中,所述将所述当前三维位置由世界坐标系转换到像素坐标系,得到所述目标对象的当前像素坐标,包括:
所述当前三维位置由世界坐标系转换到相机坐标系,得到所述目标对象在所述相机坐标系的当前相机坐标;
以所述当前相机坐标为所述目标对象的轨迹原点,更新所述目标对象在所述相机坐标系的历史轨迹点;
将所述当前相机坐标由所述相机坐标系转换到所述像素坐标系,得到所述目标对象的所述当前像素坐标。
在一个实施例中,所述将所述当前相机坐标由所述相机坐标系转换到所述像素坐标系,得到所述目标对象的所述当前像素坐标之前,所述方法还包括:
确定所述目标对象的所述运动轨迹上的轨迹点总量大于预设阈值。
在一个实施例中,所述根据所述当前像素坐标确定所述目标对象的运动轨迹,包括:
将所述目标对象的历史轨迹点分别由相机坐标系转换到所述像素坐标系;得到各所述历史轨迹点的历史像素坐标;
按照所述当前像素坐标绘制所述目标对象的当前位置点,并基于各所述历史像素坐标绘制各所述历史轨迹点,并对所述运动轨迹上的相邻轨迹点之间采用预设线条进行连接处理,得到所述目标对象的所述运动轨迹。
在一个实施例中,所述将所述目标对象的历史轨迹点分别由相机坐标系转换到所述像素坐标系,包括:
将所述目标对象的各所述历史轨迹点分别由相机坐标系转换为图像物理坐标系,得到各所述历史轨迹点的图像物理坐标;
将各所述历史轨迹点分别由图像物理坐标系转换为所述像素坐标系,得到所述目标对象的各所述历史轨迹点的像素坐标。
在一个实施例中,所述将所述当前三维位置由世界坐标系转换到相机坐标系,得到所述目标对象在所述相机坐标系的当前相机坐标,包括:
采用第一转换公式将所述当前三维位置由世界坐标系转换到相机坐标系,得到所述目标对象在所述相机坐标系的当前相机坐标;
在一个实施例中,所述将所述目标对象的各所述历史轨迹点分别由相机坐标系转换为图像物理坐标系;得到各所述历史轨迹点的图像物理坐标,包括:
采用第二转换公式将所述目标对象的各所述历史轨迹点分别由相机坐标系转换为图像物理坐标系,得到各所述历史轨迹点的图像物理坐标;
其中,在所述第二转换公式中:B为所述目标对象的历史点分别对应的图像物理坐标,为相机内参,f表示焦距,A为所述目标对象的当前相机坐标,[R|T]为相机外参,为所述目标对象的当前三维位置(Xw,Yw,Zw)的矩阵。
在一个实施例中,所述将各所述历史轨迹点分别由图像物理坐标系转换为所述像素坐标系,得到所述目标对象的各所述历史轨迹点的像素坐标,包括:
采用第三转换公式将各所述历史轨迹点分别由图像物理坐标系转换为所述像素坐标系,得到所述目标对象的各所述历史轨迹点的像素坐标;
其中,在所述第三转换公式中:为像素坐标, 为相机内参,dx、dy为所述目标对象的像素点的尺寸,B为所述目标对象的历史点分别对应的图像物理坐标,为相机内参,f表示焦距,A为所述目标对象的当前相机坐标,[R|T]为相机外参,为所述目标对象的当前三维位置的矩阵。
第二方面,本申请实施例提供一种可视化终端设备,所述终端设备包括:存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器与所述存储器连接,被配置为基于所述计算机程序执行:
采用同步定位与建图SLAM技术实时获取目标对象的位姿信息;
从所述位姿信息中提取所述目标对象的当前三维位置;
将所述当前三维位置由世界坐标系转换到像素坐标系,得到所述目标对象的当前像素坐标;
根据所述当前像素坐标确定所述目标对象的运动轨迹;
显示所述目标对象的运动轨迹。
在一个实施例中,所述处理器执行将所述当前三维位置由世界坐标系转换到像素坐标系,得到所述目标对象的当前像素坐标时,被配置为:
所述当前三维位置由世界坐标系转换到相机坐标系,得到所述目标对象在所述相机坐标系的当前相机坐标;
以所述当前相机坐标为所述目标对象的轨迹原点,更新所述目标对象在所述相机坐标系的历史轨迹点;
将所述当前相机坐标由所述相机坐标系转换到所述像素坐标系,得到所述目标对象的所述当前像素坐标。
在一个实施例中,所述处理器执行将所述当前相机坐标由所述相机坐标系转换到所述像素坐标系,得到所述目标对象的所述当前像素坐标之前,所述处理器还被配置为:
确定所述目标对象的所述运动轨迹上的轨迹点总量大于预设阈值。
在一个实施例中,所述处理器执行根据所述当前像素坐标确定所述目标对象的运动轨迹时,被配置为:
将所述目标对象的历史轨迹点分别由相机坐标系转换到所述像素坐标系;得到各所述历史轨迹点的历史像素坐标;
按照所述当前像素坐标绘制所述目标对象的当前位置点,并基于各所述历史像素坐标绘制各所述历史轨迹点,并对所述运动轨迹上的相邻轨迹点之间采用预设线条进行连接处理,得到所述目标对象的所述运动轨迹。
在一个实施例中,所述处理器执行将所述目标对象的历史轨迹点分别由相机坐标系转换到所述像素坐标系时,被配置为:
将所述目标对象的各所述历史轨迹点分别由相机坐标系转换为图像物理坐标系,得到各所述历史轨迹点的图像物理坐标;
将各所述历史轨迹点分别由图像物理坐标系转换为所述像素坐标系,得到所述目标对象的各所述历史轨迹点的像素坐标。
在一个实施例中,所述处理器执行将所述当前三维位置由世界坐标系转换到相机坐标系,得到所述目标对象在所述相机坐标系的当前相机坐标时,被配置为:
采用第一转换公式将所述当前三维位置由世界坐标系转换到相机坐标系,得到所述目标对象在所述相机坐标系的当前相机坐标;
在一个实施例中,所述处理器执行将所述目标对象的各所述历史轨迹点分别由相机坐标系转换为图像物理坐标系;得到各所述历史轨迹点的图像物理坐标时,被配置为:
采用第二转换公式将所述目标对象的各所述历史轨迹点分别由相机坐标系转换为图像物理坐标系,得到各所述历史轨迹点的图像物理坐标;
其中,在所述第二转换公式中:B为所述目标对象的历史点分别对应的图像物理坐标,为相机内参,f表示焦距,A为所述目标对象的当前相机坐标,[R|T]为相机外参,为所述目标对象的当前三维位置(Xw,Yw,Zw)的矩阵。
在一个实施例中,所述处理器执行将各所述历史轨迹点分别由图像物理坐标系转换为所述像素坐标系,得到所述目标对象的各所述历史轨迹点的像素坐标时,被配置为:
采用第三转换公式将各所述历史轨迹点分别由图像物理坐标系转换为所述像素坐标系,得到所述目标对象的各所述历史轨迹点的像素坐标;
其中,在所述第三转换公式中:为像素坐标, 为相机内参,dx、dy为所述目标对象的像素点的尺寸,B为所述目标对象的历史点分别对应的图像物理坐标,为相机内参,f表示焦距,A为所述目标对象的当前相机坐标,[R|T]为相机外参,为所述目标对象的当前三维位置的矩阵。
第三方面,本申请另一实施例还提供了一种计算机存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使计算机执行本申请第一方面实施例提供的任一方法。
在本申请实施例中,采用SLAM技术实时获取目标对象的位姿信息,将目标对象的当前三维位置由世界坐标系转换到像素坐标系,并根据当前像素坐标确定目标对象的运动轨迹,并对目标对象的运动轨迹进行显示。本申请实施例中,通过将目标对象三维位置转换为像素坐标即二维位置,大大减少了计算量,有效的解决了基于SLAM的轨迹可视化渲染耗时长、时效性差的问题。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本申请实施例提供的一种可视化方法的终端设备示意图;
图1B为本申请实施例提供的一种可视化的终端设备的软件示意图;
图1C为本申请实施例提供的一种可视化方法的应用场景图;
图2为本申请实施例提供的一种可视化方法的整体流程图;
图3为本申请实施例提供的一种可视化方法的将目标对象的三维位置转换为二维位置的流程图;
图4为本申请实施例提供的一种可视化方法的确定目标对象的运动轨迹的具体方法示意图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请的说明书和权利要求书的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
发明人研究发现,随着虚拟现实技术的发展,虚拟现实技术(Virtual Reality,VR)/增强现实技术(Augmented Reality,AR)在各行各业如教育培训、消防演练、虚拟驾驶、房地产等项目中具有广泛的应用,给用户带来身临其境般沉浸式的视觉盛宴。AR/VR技术构建了数字的三维世界,即时定位与地图构建(SLAM)进一步实现VR和AR进步的其中一个关键领域。SLAM则提供了三维数字世界的空间定位功能,是AR/VR非常重要的核心模块。
发明人研究发现,基于SLAM的轨迹可视化对空间定位有个直观呈现对AR/VR有着重要的意义。当前,在游戏引擎(Unity)场景中基于同步定位与建图(SLAM)所获取的机器人或相机的位姿存在渲染耗时长、时效性差的问题,且追踪的地图不能实时有效的记录并呈现在眼前,有延迟、卡顿现象;所以,基于SLAM高性能的可视化显得尤为突出重要。
有鉴于此,本申请提出了一种可视化方法、终端设备和存储介质,用于解决上述问题。本申请的发明构思可概括为:采用SLAM技术实时获取目标对象的位姿信息,将目标对象的当前三维位置由世界坐标系转换到像素坐标系,并根据当前像素坐标确定目标对象的运动轨迹,并对目标对象的运动轨迹进行显示。
首先,图1A示出了一种终端100的结构示意图。
下面以终端100为例对实施例进行具体说明。应该理解的是,图1A所示终端100仅是一个范例,并且终端100可以具有比图1A中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
图1A中示例性示出了根据示例性实施例中终端100的硬件配置框图。如图1A所示,终端100包括:射频(radio frequency,RF)电路110、存储器120、显示单元130、摄像头140、传感器150、音频电路160、无线保真(Wireless Fidelity,Wi-Fi)模块170、处理器180、蓝牙模块181、以及电源190等部件。
RF电路110可用于在收发信息或通话过程中信号的接收和发送,可以接收基站的下行数据后交给处理器180处理;可以将上行数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等器件。
存储器120可用于存储软件程序及数据。处理器180通过运行存储在存储器120的软件程序或数据,从而执行终端100的各种功能以及数据处理。存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器120存储有使得终端100能运行的操作系统。本申请中存储器120可以存储操作系统及各种应用程序,还可以存储执行本申请实施例所述方法的程序代码。
显示单元130可用于接收输入的数字或字符信息,产生与终端100的用户设置以及功能控制有关的信号输入,具体地,显示单元130可以包括设置在终端100正面的触摸屏131,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
显示单元130还可用于显示由用户输入的信息或提供给用户的信息以及终端100的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元130可以包括设置在终端100正面的显示屏132。其中,显示屏132可以采用液晶显示器、发光二极管等形式来配置。显示单元130可以用于显示本申请中所述的联系人会话界面或短信息列表界面。
其中,触摸屏131可以覆盖在显示屏132之上,也可以将触摸屏131与显示屏132集成而实现终端100的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元130可以显示应用程序以及对应的操作步骤。
摄像头140可用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器180转换成数字图像信号。
终端100还可以包括至少一种传感器150,比如加速度传感器151、距离传感器152、指纹传感器153、温度传感器154。终端100还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路160、扬声器161、麦克风162可提供用户与终端100之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出。终端100还可配置音量按钮,用于调节声音信号的音量。另一方面,麦克风162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出至RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。本申请中麦克风162可以获取用户的语音。
Wi-Fi属于短距离无线传输技术,终端100可以通过Wi-Fi模块170帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。
处理器180是终端100的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器120内的软件程序,以及调用存储在存储器120内的数据,执行终端100的各种功能和处理数据。在一些实施例中,处理器180可包括一个或多个处理单元;处理器180还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器180中。本申请中处理器180可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例所述的处理方法。另外,处理器180与显示单元130耦接。
蓝牙模块181,用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端100可以通过蓝牙模块181与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
终端100还包括给各个部件供电的电源190(比如电池)。电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电以及功耗等功能。终端100还可配置有电源按钮,用于终端的开机和关机,以及锁屏等功能。
图1B是本申请实施例的终端100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图1B所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图1B所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿、短信息等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信息通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供终端100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。
通知管理器使应用程序可以在状态栏中显示通知信息(例如短信息的消息摘要,消息内容),可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D(一种动画方式)图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合捕获拍照场景,示例性说明终端100软件以及硬件的工作流程。
当触摸屏131接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头140捕获静态图像或视频。
如图1C所示,为本申请实施例中的可视化方法的应用场景图。图中包括:网络10、服务器20、存储器30、终端设备40;
其中,采用SLAM技术实施获取目标对象的位姿信息,并将该位姿信息存储在存储器30中,从位姿信息中提取目标对象的当前三维位置,服务器20将当前三维位置有世界坐标系转换到像素坐标系,得到目标对象的当前像素坐标;然后服务器根据当前像素坐标确定目标对象的运动轨迹,并通过网络10发送给终端设备40进行显示。
本申请中的描述中仅就单个服务器或终端设备加以详述,但是本领域技术人员应当理解的是,示出的终端设备40、服务器20和存储器30旨在表示本公开的技术方案涉及的终端设备、服务器以及存储器的操作。对单个服务器和存储器加以详述至少为了说明方便,而非暗示对终端设备和服务器的数量、类型或是位置等具有限制。应当注意,如果向图示环境中添加附加模块或从其中去除个别模块,不会改变本申请的示例实施例的底层概念。另外,虽然为了方便说明而在图1C中示出了从存储器30到服务器20的双向箭头,但本领域技术人员可以理解的是,上述图像的处理也是需要通过网络10实现的。
需要说明的是,本申请实施例中的存储器例如可以是缓存系统、也可以是硬盘存储、内存存储等等。此外,本申请提出的可视化方法不仅适用于图1C所示的应用场景,还适用于任何有可视化需求的装置。
为了便于理解,下面结合附图对本申请提出的可视方法进行详细说明。
如图2所示,为本申请实施例提供的可视化方法的整体流程图,具体实施为以下步骤:
在步骤201中:采用同步定位与建图SLAM技术实时获取目标对象的位姿信息;
在本申请实施例中,目标对象的位姿信息可由相机和机器人进行获取,也可由具有图像采集功能的其他智能设备进行获取。
在步骤202中:从位姿信息中提取目标对象的当前三维位置;
在本申请实施例中,仅是为了绘制目标对象的运动轨迹,为了避免资源的浪费,所以不对目标对象的姿势信息进行处理。
在步骤203中:将当前三维位置由世界坐标系转换到像素坐标系,得到目标对象的当前像素坐标;
在一个实施例中,为了缩短渲染时长,解决时效性差的问题,所以要减少计算量,在本申请实施例中,通过将目标对象的三维位置转换为二维位置再进行计算;如图3所示,具体可实施为以下步骤:
在步骤301中:当前三维位置由世界坐标系转换到相机坐标系,得到目标对象在相机坐标系的当前相机坐标;
在一个实施例中,可根据实施为:采用第一转换公式将当前三维位置由世界坐标系转换到相机坐标系,得到目标对象在相机坐标系的当前相机坐标;
在步骤302中:以当前相机坐标为目标对象的轨迹原点,更新目标对象在相机坐标系的历史轨迹点;
在一个实施例中,为了保证绘制的目标对象的运动轨迹流畅、无卡顿;本申请实施例中通过确定目标对象的运动轨迹上的轨迹点总量大于预设阈值。通过该方法,有效的解决了卡顿、不流畅的问题。
在一个实施例中,为了保证目标对象的运功轨迹流畅,无卡顿,还需要确定目标对象的运动轨迹上的轨迹点总量大于预设阈值。即保证目标对象全部的运动轨迹上的点均可以转换为像素坐标。
在步骤303中:将当前相机坐标由相机坐标系转换到像素坐标系,得到目标对象的当前像素坐标。
在步骤204中:根据当前像素坐标确定目标对象的运动轨迹;
在一个实施例中,如图4所示,确定目标对象的运动轨迹具体实施为以下步骤:
在步骤401中:将目标对象的历史轨迹点分别由相机坐标系转换到像素坐标系;得到各历史轨迹点的历史像素坐标;
为了便于理解,下面结合公式对相机坐标系转换到像素坐标的转换过程进行详细说明。在一个实施例中,相机坐标系转换到像素坐标可实施为,首先将目标对象的各历史轨迹点分别由相机坐标系转换为图像物理坐标系,得到各历史轨迹点的图像物理坐标;然后将各历史轨迹点分别由图像物理坐标系转换为像素坐标系,得到目标对象的各历史轨迹点的像素坐标。
在一个实施例中,将目标对象的各历史轨迹点分别由相机坐标系转换为图像物理坐标系时,可实施为:采用第二转换公式将目标对象的各历史轨迹点分别由相机坐标系转换为图像物理坐标系,得到各历史轨迹点的图像物理坐标;
其中,在第二转换公式中:B为目标对象的历史点分别对应的图像物理坐标,为相机内参,f表示焦距,A为目标对象的当前相机坐标,[R|T]为相机外参,为目标对象的当前三维位置(Xw,Yw,Zw)的矩阵。需要知道的是,其他可将相机坐标转换为图像物理坐标的公式也均适用于本申请。
在一个实施例中,将各历史轨迹点分别由图像物理坐标系转换为像素坐标系时,可实施为:采用第三转换公式将各历史轨迹点分别由图像物理坐标系转换为像素坐标系,得到目标对象的各历史轨迹点的像素坐标;
其中,在第三转换公式中:为像素坐标,为相机内参,dx、dy为目标对象的像素点的尺寸,B为目标对象的历史点分别对应的图像物理坐标,为相机内参,f表示焦距,A为目标对象的当前相机坐标,[R|T]为相机外参,为目标对象的当前三维位置的矩阵。需要知道的是,其他可将图像物理坐标转换为像素物理坐标的公式也均适用于本申请。
在步骤402中:按照当前像素坐标绘制目标对象的当前位置点,并基于各历史像素坐标绘制各历史轨迹点,并对运动轨迹上的相邻轨迹点之间采用预设线条进行连接处理,得到目标对象的运动轨迹。
在步骤205中:显示目标对象的运动轨迹。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种终端设备,其特征在于,所述终端设备包括:存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器与所述存储器连接,被配置为基于所述计算机程序执行:
采用同步定位与建图SLAM技术实时获取目标对象的位姿信息;
从所述位姿信息中提取所述目标对象的当前三维位置;
将所述当前三维位置由世界坐标系转换到像素坐标系,得到所述目标对象的当前像素坐标;
根据所述当前像素坐标确定所述目标对象的运动轨迹;
显示所述目标对象的运动轨迹。
2.根据权利要求1所述的终端设备,其特征在于,所述处理器执行将所述当前三维位置由世界坐标系转换到像素坐标系,得到所述目标对象的当前像素坐标时,被配置为:
所述当前三维位置由世界坐标系转换到相机坐标系,得到所述目标对象在所述相机坐标系的当前相机坐标;
以所述当前相机坐标为所述目标对象的轨迹原点,更新所述目标对象在所述相机坐标系的历史轨迹点;
将所述当前相机坐标由所述相机坐标系转换到所述像素坐标系,得到所述目标对象的所述当前像素坐标。
3.根据权利要求2所述的终端设备,其特征在于,所述处理器执行将所述当前相机坐标由所述相机坐标系转换到所述像素坐标系,得到所述目标对象的所述当前像素坐标之前,所述处理器还被配置为:
确定所述目标对象的所述运动轨迹上的轨迹点总量大于预设阈值。
4.根据权利要求1-3任一所述的终端设备,其特征在于,所述处理器执行根据所述当前像素坐标确定所述目标对象的运动轨迹时,被配置为:
将所述目标对象的历史轨迹点分别由相机坐标系转换到所述像素坐标系;得到各所述历史轨迹点的历史像素坐标;
按照所述当前像素坐标绘制所述目标对象的当前位置点,并基于各所述历史像素坐标绘制各所述历史轨迹点,并对所述运动轨迹上的相邻轨迹点之间采用预设线条进行连接处理,得到所述目标对象的所述运动轨迹。
5.根据权利要求4所述的终端设备,其特征在于,所述处理器执行将所述目标对象的历史轨迹点分别由相机坐标系转换到所述像素坐标系时,被配置为:
将所述目标对象的各所述历史轨迹点分别由相机坐标系转换为图像物理坐标系,得到各所述历史轨迹点的图像物理坐标;
将各所述历史轨迹点分别由图像物理坐标系转换为所述像素坐标系,得到所述目标对象的各所述历史轨迹点的像素坐标。
9.一种可视化方法,其特征在于,所述方法包括:
采用同步定位与建图SLAM技术实时获取目标对象的位姿信息;
从所述位姿信息中提取所述目标对象的当前三维位置;
将所述当前三维位置由世界坐标系转换到像素坐标系,得到所述目标对象的当前像素坐标;
根据所述当前像素坐标确定所述目标对象的运动轨迹;
显示所述目标对象的运动轨迹。
10.根据权利要求9所述的方法,其特征在于,所述将所述当前三维位置由世界坐标系转换到像素坐标系,得到所述目标对象的当前像素坐标,包括:
所述当前三维位置由世界坐标系转换到相机坐标系,得到所述目标对象在所述相机坐标系的当前相机坐标;
以所述当前相机坐标为所述目标对象的轨迹原点,更新所述目标对象在所述相机坐标系的历史轨迹点;
将所述当前相机坐标由所述相机坐标系转换到所述像素坐标系,得到所述目标对象的所述当前像素坐标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110377061.XA CN113157092B (zh) | 2021-04-08 | 2021-04-08 | 可视化方法、终端设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110377061.XA CN113157092B (zh) | 2021-04-08 | 2021-04-08 | 可视化方法、终端设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113157092A true CN113157092A (zh) | 2021-07-23 |
CN113157092B CN113157092B (zh) | 2023-03-24 |
Family
ID=76889292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110377061.XA Active CN113157092B (zh) | 2021-04-08 | 2021-04-08 | 可视化方法、终端设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157092B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113640739A (zh) * | 2021-10-14 | 2021-11-12 | 南昌奇眸科技有限公司 | 一种三维场景下的协作定位方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762492A (zh) * | 2018-05-14 | 2018-11-06 | 歌尔科技有限公司 | 基于虚拟场景实现信息处理的方法、装置、设备及存储介质 |
CN108830894A (zh) * | 2018-06-19 | 2018-11-16 | 亮风台(上海)信息科技有限公司 | 基于增强现实的远程指导方法、装置、终端和存储介质 |
CN109285190A (zh) * | 2018-09-06 | 2019-01-29 | 广东天机工业智能系统有限公司 | 对象定位方法、装置、电子设备和存储介质 |
US20190066334A1 (en) * | 2017-08-25 | 2019-02-28 | Boe Technology Group Co., Ltd. | Method, apparatus, terminal and system for measuring trajectory tracking accuracy of target |
CN109754434A (zh) * | 2018-12-27 | 2019-05-14 | 歌尔科技有限公司 | 相机标定方法、装置、用户设备及存储介质 |
CN112017242A (zh) * | 2020-08-21 | 2020-12-01 | 北京市商汤科技开发有限公司 | 显示方法及装置、设备、存储介质 |
US20200380724A1 (en) * | 2018-07-03 | 2020-12-03 | Tencent Technology (Shenzhen) Company Limited | Personalized scene image processing method, apparatus and storage medium |
-
2021
- 2021-04-08 CN CN202110377061.XA patent/CN113157092B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190066334A1 (en) * | 2017-08-25 | 2019-02-28 | Boe Technology Group Co., Ltd. | Method, apparatus, terminal and system for measuring trajectory tracking accuracy of target |
CN108762492A (zh) * | 2018-05-14 | 2018-11-06 | 歌尔科技有限公司 | 基于虚拟场景实现信息处理的方法、装置、设备及存储介质 |
CN108830894A (zh) * | 2018-06-19 | 2018-11-16 | 亮风台(上海)信息科技有限公司 | 基于增强现实的远程指导方法、装置、终端和存储介质 |
US20200380724A1 (en) * | 2018-07-03 | 2020-12-03 | Tencent Technology (Shenzhen) Company Limited | Personalized scene image processing method, apparatus and storage medium |
CN109285190A (zh) * | 2018-09-06 | 2019-01-29 | 广东天机工业智能系统有限公司 | 对象定位方法、装置、电子设备和存储介质 |
CN109754434A (zh) * | 2018-12-27 | 2019-05-14 | 歌尔科技有限公司 | 相机标定方法、装置、用户设备及存储介质 |
CN112017242A (zh) * | 2020-08-21 | 2020-12-01 | 北京市商汤科技开发有限公司 | 显示方法及装置、设备、存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113640739A (zh) * | 2021-10-14 | 2021-11-12 | 南昌奇眸科技有限公司 | 一种三维场景下的协作定位方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113157092B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111225108A (zh) | 一种通信终端及负屏界面的卡片显示方法 | |
CN112114733B (zh) | 一种截屏、录屏方法、移动终端及计算机存储介质 | |
CN111367456A (zh) | 通信终端及多窗口模式下的显示方法 | |
WO2023030099A1 (zh) | 跨设备交互的方法、装置、投屏系统及终端 | |
CN114201130A (zh) | 一种投屏的方法、装置及存储介质 | |
CN113709026B (zh) | 即时通信消息的处理方法、设备、存储介质和程序产品 | |
CN111176766A (zh) | 一种通信终端及组件显示方法 | |
CN113157092B (zh) | 可视化方法、终端设备和存储介质 | |
CN111031377B (zh) | 移动终端及视频制作方法 | |
CN113014614A (zh) | 一种设备控制方法、控制设备及被控设备 | |
CN114449171B (zh) | 控制摄像头的方法、终端设备、存储介质及程序产品 | |
CN114339419B (zh) | 一种视频流拉流处理的方法、装置及存储介质 | |
CN113079332B (zh) | 移动终端及其录屏方法 | |
CN113179432B (zh) | 视频的采集位置的显示方法及显示设备 | |
CN113542488B (zh) | 采用终端设备控制受控终端的方法、设备和存储介质 | |
CN111324255B (zh) | 一种基于双屏终端的应用处理方法及通信终端 | |
CN113507614A (zh) | 视频的播放进度调节方法及显示设备 | |
CN113490052A (zh) | 一种终端设备、自由视点视频播放方法和服务器 | |
CN111159734A (zh) | 通信终端及多应用数据互访处理方法 | |
CN113031838A (zh) | 屏幕录制方法、装置及电子设备 | |
CN113253905B (zh) | 基于多指操作的触控方法及智能终端 | |
CN111142648B (zh) | 一种数据处理方法和智能终端 | |
CN112929858B (zh) | 一种门禁卡的模拟方法和终端 | |
CN113641533B (zh) | 终端及短信息处理方法 | |
CN113255644B (zh) | 显示设备及其图像识别方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |