CN115128965A - 面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法 - Google Patents
面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法 Download PDFInfo
- Publication number
- CN115128965A CN115128965A CN202210144333.6A CN202210144333A CN115128965A CN 115128965 A CN115128965 A CN 115128965A CN 202210144333 A CN202210144333 A CN 202210144333A CN 115128965 A CN115128965 A CN 115128965A
- Authority
- CN
- China
- Prior art keywords
- motion
- dimensional
- digital
- real
- virtual camera
- 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
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/275—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Processing Or Creating Images (AREA)
Abstract
面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,包括:基于无人机倾斜摄影技术采集真实实验场地的影像信息,构建数字化实验环境;搭建红外三维动作捕捉系统记录运动机器人的运动数据;在三维数字化实验环境中构建运动机器人的数字化模型,还原运动机器人的运动轨迹及运动姿态;通过虚拟仿真模拟采集虚拟摄像头获取的环境影像,并对环境影像进行一定的机器视觉评测,初步推荐较为合适的内容,用于机器视觉的分析。本发明对现实运动物体的实际运动轨迹及运动姿态进行采集,实现其在三维数字化实验环境的仿真运动,降低了实验的复杂性,也降低了实验的设备成本和时间成本。
Description
技术领域
本发明属于三维场景下的虚拟仿真技术领域,涉及实景建模,动作捕捉,物理仿真等技术,具体涉及一种运动机器人的摄像机位置的测评和推荐方法。
背景技术
现有智能型的运动机器人,都是依靠各种传感器来获取周围环境信息来作为自身移动的依据。当智能运动机器人在大范围空间内的运动时,把环境影像作为信息输入,对这些影像信息进行处理,进而提取出有用的环境信息,比如环境中的通道、障碍、物体距离等因素,提供给运动机器人,进而根据环境信息来控制运动机器人的动作。既由机器代替人眼来做测量和判断,称为机器视觉。而环境的影像信息都是通过摄像头来摄取的,摄像头在运动机器人躯体上的安装位置和安装角度,决定了周围环境影像获取的结果,自然也影响了机器视觉的判断结果,安装在运动机器人躯体上什么位置,以什么角度安装,使得其获取的环境影像更利于机器视觉的分析和判断,是构造机器视觉的重要环节。
运动机器人开发测试环节,需要在不同位置安装多个摄像头,并反复测试整个机器人运动过程,对不同的摄像头摄制的影像进行分析,来判断哪个影像更符合机器视觉的分析。但安装在哪个位置,以何种角度安装,需要反复尝试,因此实验往往需要重复很多次,来反复比较环境影像的摄制结果,确保安装位置和角度的最优,这都大大增加了实验次数、难度和实验成本。
因此,如果能通过虚拟仿真的方法改进实验过程,能非常方便的虚拟仿真出运动机器人躯体不同位置安装摄像头所获取到的环境影像,就可以大大减少实验的次数,减小实验难度、节约实验成本。将获取到的环境影像用于机器视觉评测,由于视频拍摄的位置角度都会影响到视频拍摄结果,而拍摄结果影响机器视觉计算结果。根据评测结果的优劣来判断安虚拟摄像机的位置优劣,初步推荐较为合适的内容。
其中,本发明涉及到的技术背景有真三维实景模型重建系统,红外三维动作捕捉系统。
真三维实景模型重建系统是一种用于地球科学、水利工程等各领域的计算机系统及其配套设备,真三维实景模型重建就是通过实景采集,逆向建模,从而还原建筑物本身或是地貌等真实三维信息。真三维实景模型重建发展优势:速度快、成本低、精度高、实景还原。其常见的重建过程是利用无人机倾斜摄影技术,通过倾斜云台与相机在飞行过程中,从垂直、倾斜等多个角度同时采集航片影像就是高精度照片,获取完整精确的地面地物外观信息和影像获取时的相机高度和地理坐标。然后利用基于倾斜摄影原理开发的三维建模软件,以无人机采集的连续航片影像为基础,利用图形运算单元,快速、精确、自动地生成逼真的三维实景模型。
动作捕捉就是在运动物体的关键部位设置跟踪器(标记点),由动作捕捉系统捕捉跟踪器位置,再经过计算机处理后得到三维空间坐标的数据。技术涉及尺寸测量、物理空间里物体的定位及方位测定等方面可以由计算机直接理解处理的数据。当数据被计算机识别后,可以应用在动画制作,步态分析,生物力学,人机工程等领域。其中红外三维动作捕捉系统是由红外动作捕捉镜头、动作捕捉软件、反光标识点、POE交换机、和若干配件组成(如标定框和镜头固定装置等)。其本质是利用红外光线来获取跟踪器的三维坐标实现定位,通过计算分析,来获取与其相关的速度、加速度等多种运动学数据。以红外光为原理,通过多个镜头对特定标记点的观察定位来获取标记点的具体空间位置。光学动作捕捉镜头面板上的LED灯发出特定波长的红外光,照到被捕捉物,也就是反光标记点,反光标记点表面的反光材料将红外光反射回镜头,反射回的红外光经过信号处理,图像抓取和算法处理,从而获得反光标记点在镜头中的二维坐标。一套动捕系统里通常有多个动作捕捉镜头,多个镜头通过标定获取每个镜头的具体位置,最后通过计算机软件分析从而得到每个跟踪点的三维坐标及其运动过程。
真三维实景模型重建系统,红外三维动作捕捉系统都是当下较为成熟的应用系统,也是本发明所依赖的底层支撑技术。
发明内容
本发明要克服现有技术的上述缺点,提供面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法。本发明通过虚拟仿真的方式模拟出运动机器人运动时的环境影像,运动机器人的运动过程,进而推导出其躯体不同位置携带特定角度虚拟摄像头所能摄制到的环境影像,并对环境影像进行一定的机器视觉评测,初步推荐较为合适的内容,确保摄像头安装位置和角度的最优。
本发明的构思如下:第一步通过真三维实景模型重建系统构建运动机器人真实实验场地的三维实景模型,如设定的运动机器人的真实实验场地空间尺寸为X(m)*Y(m)*Z(m),X表示长,Y表示宽,Z表示高,先利用无人机倾斜摄影技术采集X(m)*Y(m)*Z(m)真实场地的影像信息,以此为基础在倾斜摄影建模软件中生成虚拟环境下1:1的X(m)*Y(m)*Z(m)的三维实景模型,该三维实景模型能完整复刻真实实验场地的三维构造和外观。三维可视化平台是提供实景三维模型浏览的三维可视化应用的平台,将三维实景模型导入三维可视化平台中,利用三维可视化平台还原真实场景的视觉环境,为下一步构建三维的数字化实验环境。
第二步利用真实实验场地搭建的红外动作捕捉系统来抓取运动机器人在实验场地中的运动数据,在虚拟的三维实景模型中还原真实运动机器人的运动轨迹和运动姿态。具体方法是通过在运动机器人躯体上加装特定标记点,红外动作捕捉系统通过多个镜头对特定标记点的观察定位来获取标记点的具体空间位置。大量坐标数据通过POE连接器传输给动作捕捉软件,便可以解算出目标在空间中的位置、方向和运动轨迹等信息。在运动机器人真实实验场地搭建红外动作捕捉系统设备,在运动机器人躯体上加装特定标记点,使红外动作捕捉系统能捕捉运动机器人在X(m)*Y(m)*Z(m)真实实验场地中的运动轨迹和运动姿态。通过红外动作捕捉系统获取机器人在上述X(m)*Y(m)*Z(m)真实场地中的运动轨迹和运动姿态数据。在三维可视化平台中,同样构建出与运动机器人相一致的1:1的运动机器人虚拟模型,并将获取的标记点定位数据通过一定的计算与转化,包括对运动轨迹路径的平滑化、三维空间坐标数据和经纬度的转化、转弯角速度的计算等,从而在三维可视化平台中模拟出运动机器人虚拟模型的数字化运动轨迹和运动姿态,虚拟仿真出真实运动机器人在真实实验场地中的运动过程。
第三步,在运动机器人虚拟模型的躯体上构建固定位置和角度的虚拟摄像头,因为第一步第二步已经构建出运动机器人运动实验环境的真三维实景模型,以及运动机器人虚拟模型在真三维实景模型中的数字化运动轨迹和运动姿态,因此可以利用这两项技术基础,还原出虚拟摄像头在跟随运动机器人虚拟模型运动时获取到的真三维实景模型的视觉环境在镜头中的影像信息来模拟其可能获取的真实环境影像。详细的就是对虚拟机器人进行固定位置和角度的虚拟摄像头绑定,并实时计算运动轨迹和运动姿态的改变导致的虚拟摄像视角改变的偏移量,从而对虚拟摄像头的视角数据实时更新,模拟仿真出该位置和角度的虚拟摄像头获取到的环境影像。通过此方式可获取机器人躯体任意位置仿真视角的环境影像,供机器学习和分析,大大提高实验的效率,降低成本。
第四步,环境影像由于拍摄的位置角度都会影响到视频拍摄结果,而拍摄结果影响机器视觉计算结果。根据评测结果的优劣来判断安虚拟摄像机的位置优劣,并推荐较优的虚拟摄像机拍摄位置做为实际的机器安装位置,初步推荐较为合适的内容。
本发明通过数字化的方式模拟仿真出实景环境的三维实景模型,为运动机器人的机器视觉分析提供更为便捷灵活的数字化实验环境,以成本更低,操作更方便的实验方式,更好的判断机器人摄像头的安装位置。
本发明的面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征是利用数字技术将运动机器人、真实实验场地、运动轨迹进行数字化,构建数字化实验环境,通过虚拟仿真模拟采集虚拟摄像头获取的环境影像,并对环境影像进行一定的机器视觉评测,初步推荐较为合适的内容,用于机器视觉的分析,包括以下步骤:
步骤1,真三维实景模型重建:基于无人机倾斜摄影技术采集X(m)*Y(m)*Z(m)真实实验场地的影像信息,然后在倾斜摄影建模软件中生成1:1的X(m)*Y(m)*Z(m)的三维实景模型,最后导入三维可视化平台建立1:1的X(m)*Y(m)*Z(m)三维数字化实验环境,具体包括以下步骤:
步骤11.基于无人机倾斜摄影技术采集X(m)*Y(m)*Z(m)真实实验场地的影像信息。设置无人机飞行速度,拍摄间隔,相机倾斜角,旁向重叠度,航线重叠度及飞行高度;
步骤12.在倾斜摄影建模软件中生成1:1的X(m)*Y(m)*Z(m)的三维实景模型;
步骤13.导入三维可视化平台建立1:1的X(m)*Y(m)*Z(m)三维数字化实验环境。
步骤2,搭建红外三维动作捕捉系统:在真实实验场地的顶部四周平均绑定n个红外动作捕捉镜头,确保镜头视野能够覆盖X(m)*Y(m)*Z(m)的捕捉区域,并在需要动作捕捉的运动机器人躯体表面贴上k个反光标记点,反光标记点的数量和贴合位置以能精确捕捉到其动作为准,具体包括以下步骤:
步骤21.在真实实验场地的顶部四周通过支架、夹具等镜头固定装置,平均绑定n个红外动作捕捉镜头,确保镜头视野能够覆盖X(m)*Y(m)*Z(m)的捕捉区域,并将所有镜头通过网线连接到POE交换机;
步骤22.使用标定工具进行校准,让动作捕捉软件计算出镜头准确的相对空间位置和角度,建立三维空间XYZ坐标系,为精准动作捕捉做好准备;
步骤23.在需要动作捕捉的运动机器人躯体表面贴上k个反光标记点,反光标记点的数量和贴合位置以能精确捕捉到其动作为准;
步骤24.当系统能够实时识别目标物体后,一个完整的光学动作捕捉系统就已建立完成,接下来直接进行动作捕捉并记录数据。
步骤3,记录运动机器人的运动数据:运动机器人在真实实验场地进行运动,红外三维动作捕捉系统设备记录物体运动的一系列三维空间数据{[Xab,Yab,Zab],…,a∈[1,k],b∈[0,t]},其中k表示反光标记点个数,t表示记录过程中的不同动作捕捉时间点,其为时间间隔很短的时间序列。
步骤4,在三维数字化实验环境中,按1:1构建运动机器人的数字化模型。
步骤5,还原运动机器人的运动轨迹及运动姿态:根据红外三维动作捕捉系统设备记录的三维空间数据,在1:1的X(m)*Y(m)*Z(m)三维数字化实验环境里,通过一定的计算与转化,并结合运动机器人的数字化模型轮廓,模拟出运动机器人的运动轨迹和运动姿态;该步骤的结果可以表现为运动机器人的数字化模型在三维数字化实验环境里的一系列动态运动过程,其运动过程高度拟合运动机器人在真实实验场地的运动过程,具体包括以下步骤:
步骤51.根据记录的三维空间数据{[Xab,Yab,Zab],…,a∈[1,k],b∈[0,t]}在1:1的X(m)*Y(m)*Z(m)三维数字化实验环境,其中k表示反光标记点个数,t表示记录过程中的不同动作捕捉时间点,其为时间间隔很短的时间序列。设置某一个反光标记点的三维空间数据为运动路径计算数据,如a=a0,即然后转化为三维可视平台所需的数据类型;
步骤52.计算运动机器人的数字化模型通过每三个记录的相邻的三维空间数据坐标点的运动时长,设置运动机器人的数字化模型运动速度变量speed,通过半正矢公式计算三个相邻经纬度每两点间的距离,再根据速度公式计算通过三点的运动时长;
所述半正矢公式为:
其中r表示地球赤道半径;表示φ1和φ5表示两点的纬度;λ1和λ5表示两点的经度。
所述的速度公式为:
td=dis/speed.......................(6)
其中td表示运动时长,dis表示表达式5得出的距离,speed表示运动机器人的数字化模型运动速度。
所述贝塞尔曲线公式的表达式为:
步骤54.将步骤53表达式7计算的结果转化为三维可视平台所需的数据类型,然后计算相邻两点在三维可视平台中所需的朝向角度,还原运动姿态。
步骤6,绑定虚拟摄像头:在运动机器人的数字化模型躯体轮廓上进行虚拟摄像头的构建,虚拟摄像头可以固定在数字化模型躯体轮廓某个位置,并按固定角度进行设置。当运动机器人的数字化模型在三维数字化实验环境中运动时,虚拟摄像头会随着数字化模型一起移动,并且其朝向角度会与数字化模型保持不变。就是运动机器人的数字化模型在三维数字化实验环境中沿着运动轨迹和运动姿态进行移动,可以根据虚拟摄像头与数字化模型的相对位置和相对角度,实时计算运动轨迹和运动姿态的改变导致的虚拟摄像头视角改变的偏移量,从而对虚拟摄像头的视角数据实时更新,模拟仿真出该位置和角度的虚拟摄像头获取到的环境影像,该环境影像来自于步骤1所构建的三维数字化实验环境,具体包括以下步骤:
步骤61.使运动机器人的数字化模型在三维数字化实验环境中沿着运动轨迹和运动姿态进行移动,移动数据取自步骤54中转化的三维可视平台所需的数据,然后由步骤52的式(5)、(6)计算相邻两点间的运动时间,运动姿态数据取自步骤54的计算所得。然后由三维可视平台提供方法实时计算运动机器人的数字化模型位置,并实时改变运动机器人的数字化模型姿态;
步骤62.在运动机器人的数字化模型躯体轮廓上进行虚拟摄像头的构建,以某一个反光标记点所在平面为例,取一点绑定虚拟摄像头,该点与步骤51中的a0在X,Y,Z方向有固定偏移量,可以计算相应偏移量和虚拟摄像头的实时位置;
步骤63.实时计算运动轨迹和运动姿态的改变导致的虚拟摄像头视角改变的偏移量,从而对虚拟摄像头的视角数据实时更新,通过步骤54的方法实时计算虚拟摄像头所在平面,和运动机器人的数字化模型位置连线对于三维可视平台中所需的朝向角度,并与上一个角度做差的结果为当前虚拟摄像头视角改变的偏移量,更新视角数据;
步骤7,获取环境影像进行内容推荐:根据步骤6设计N个虚拟摄像机,录得N段视频文件记为Vn,其中n∈[1,N]。将N段视频文件用于机器视觉评测,由于视频拍摄的位置角度都会影响到视频拍摄结果,而拍摄结果影响机器视觉计算结果。根据评测结果的优劣来判断安虚拟摄像机的位置优劣,并推荐较优的虚拟摄像机拍摄位置做为实际的机器安装位置,具体包括以下步骤:
步骤71,根据步骤6设计N个虚拟摄像机,录得N段视频文件记为Vn,其中n∈[1,N],开始记录数字影像视频数据,最后再根据实际需求设置的分辨率对影像视频数据进行裁剪,得最终视频文件;
步骤72,将N段视频文件用于机器视觉评测,根据评测结果的优劣来判断安虚拟摄像机的位置优劣,并推荐较优的虚拟摄像机拍摄位置做为实际的机器安装位置,评测过程可由多个评测项目组成。
优选的以CesiumJs(基于JavaScript编写的使用WebGL的JavaScript库,通过Web浏览器构建三维可视化平台)为例,在步骤13中,导入三维可视化平台建立1:1的X(m)*Y(m)*Z(m)三维数字化实验环境。
所述三维实景模型数据导入CesiumJs中建立三维数字化实验环境,根据其提供的函数方法Cesium.Cesium3DTileset({url:}),url参数表示模型数据存放地址,创建模型对象;
表达式为:
Cesium.Cesium3DTileset({url:模型数据存放地址})...........(1)
优选的在步骤51中,由CesiumJs提供的Cesium.Cartesian3(x,y,z)方法,其中x,y,z分别对应三维空间数据[X1b,Y1b,Z1b],首先转化为笛卡尔坐标系(世界坐标)对象;
表达式为:
Cesium.Cartesian3(X1b,Y1b,Z1b).............(2)
然后由CesiumJs提供的Cesium.Cartographic.fromCartesian(cartesian)方法,其中cartesian为式(2)转化的笛卡尔坐标系(世界坐标)对象,将其转化为地理坐标系下经纬度的弧度表示对象;
表达式为:
Cesium.Cartographic.fromCartesian(cartesian)..............(3)
然后由CesiumJs提供的Cesium.Math.toDegrees(cartographic)方法,其中cartographic为式(3)转化的地理坐标系下经纬度的弧度表示对象,包含latitude(纬度),longitude(经度),height(高度)三个参数,将它们分别转化为角度表示对象,表达式为:
Cesium.Math.toDegrees(cartographic.latitude)............(4)
优选的在步骤54中,将式(7)计算的结果由步骤51表达式2,3,4转化为经纬度数据,然后计算相邻两点对于正北方向的朝向角度,通过Math.atan2(y,x)计算原点(0,0)到(x,y)点的线段与x轴正方向之间的平面角度(弧度值),其中(x,y)表示其和(0,0)连线与相邻的两点连线平行的点,还原运动姿态。
所述计算(x,y)的表达式为:
x=Math.cos(startLat)*Math.sin(endLat)-Math.sin(startLat)*
Math.cos(endLat)*Math.cos(endLon-startLng)................(8)
y=Math.sin(endLon-startLon)*Math.cos(endLat)..........(9)
其中startLon表示起点经度;endLon表示终点经度;startLat表示起点纬度;destLat表示终点纬度;
所述计算平面角度(弧度值)的表达式为:
Math.atan2(y,x).............................(10)
其中x,y为式(8)和(9)的计算结果。
优选的在步骤61中,由CesiumJs提供的函数方法Cesium.Cartesian3.fromDegrees()实时计算运动机器人的数字化模型位置,Cesium.HeadingPitchRoll()实时改变运动机器人的数字化模型姿态;
所述计算运动机器人的数字化模型位置表达式为:
Cesium.Cartesian3.fromDegrees(currentLon,currentLat,currentHeight)............(11)
其中currentLon表示实时经度;currentLat表示实时纬度;currentHeight表示实时高度。
所述运动机器人的数字化模型姿态表达式为:
let hpRoll=new Cesium.HeadingPitchRoll();.............(12)
hpRoll.heading=Cesium.Math.toRadians(X0);............(13)
其中hpRoll表示改变姿态的对象;heading表示偏航角参数,另外还包含pitch(俯仰角)和row(俯仰角)的参数可更改;Cesium.Math.toRadians()同样是CesiumJs提供的函数方法,将姿态变量X0,由弧度转为角度表示对象。
优选的在步骤62中,由CesiumJs提供的函数方法Cesium.Matrix4.multiplyByPoint()计算虚拟摄像头的实时位置;
所述偏移量计算表达为:
Cesium.Cartesian3.multiplyByScalar(Cesium.Cartesian3.UNIT_X,Xs,positionV).(14)
其中Cesium.Cartesian3.UNIT_X表示X方向速度矢量变化,另外还有Cesium.Cartesian3.UNIT_Y表示Y方向速度矢量变化,Cesium.Cartesian3.UNIT_Z表示Z方向速度矢量变化;Xs表示当前指定方向的偏移量;positionV表示偏移矢量对象,由CesiumJs提供的函数方法Cesium.Cartesian3()创建。
所述实时位置计算表达式为:
Cesium.Matrix4.multiplyByPoint(modelMatrix,positionV,position)..............(15)
其中modelMatrix表示4x4的转换矩阵对象,由CesiumJs提供的函数方法Cesium.Transforms.headingPitchRollToFixedFrame()创建;positionV由式(14)计算所得;position由式(11)计算所得。
所述4x4的转换矩阵表达式为:
其中position和hpRoll由式(11)、(12)、(13)计算所得;Cesium.Ellipsoid.WGS84代表标准的WGS84椭球体;Cesium.Transforms.localFrameToFixedFrameGenerator()方法取决于模型数据的朝向,有east(东),south(南),west(西),north(北);
由CesiumJs提供的函数方法viewer.scene.camera.setView()绑定虚拟摄像头,
所述表达式为:
其中destination表示虚拟摄像头的位置;orientation表示虚拟摄像头的姿态,包括heading(偏航角),pitch(俯仰角)和row(翻滚角),可以根据需要设置。
优选的在步骤71中,通过web端的接口提供的getDisplayMedia()捕获窗口内容,并使用MediaRecorder()方法生成媒体流记录对象,最后通过.start()方法开始记录数字影像视频数据,最后再根据实际需求设置的分辨率对影像视频数据进行裁剪,得最终视频文件;
所述捕获窗口内容表达式为:
navigator.mediaDevices.getDisplayMedia(displayMediaOptions);...(18)
其中displayMediaOptions表示设置捕获参数。
所述记录媒体流表达式为:
recorder=new MediaRecorder(captureStream);........(19)
recorder.start();..........................(20)
其中captureStream表示上一表达式生成的窗口内容对象;recorder表示媒体流对象。
优选的在步骤72中,以避障功能为例说明评测过程和评价方法,取视频Vn在[ 时间段的视频段,作为机器视觉避障测评算法的输入,提供给机器视觉避障测评算法进行计算,计算各个视频段输入计算获得的虚拟障碍物距离并计算与真实距离的误差,误差越小判断拍摄视频质量越佳(利于机器视觉分析)。所述机器视觉避障测评算法表达式为:
避障误差率取正表达为:
本发明由于采用了上述的技术方案,对现实运动物体的实际运动轨迹及运动姿态进行采集,实现其在三维数字化实验环境的仿真运动。同时本发明对采集点进行处理,确保在虚拟三维空间精准,平滑的连成轨迹线,并使虚拟摄像头准确,顺滑,可控的沿轨迹线进行视角移动拍摄。由于利用真三维实景模型重建系统重建出来的三维数字化实验环境具有与真实环境高度的逼真性,因此虚拟摄像头获取的数字影像视频能高度模拟仿真出真实摄像头拍摄的影像。而采用数字化的实验方法,理论上运动机器人的数字化模型表面可以设置任意多个虚拟摄像头,因此可以模拟运动机器人躯体表面任意角度安装摄像头能获取到的环境影像,而不需要去真实的安装摄像头,从而大大降低了实验的复杂性,降低了实验的设备成本和时间成本。将获取到的环境影像用于机器视觉评测,根据评测结果的优劣来判断安虚拟摄像机的位置优劣并对环境影像进行一定的机器视觉评测,初步推荐较为合适的内容。
本发明的优点是:降低了实验的复杂性,也降低了实验的设备成本和时间成本。
附图说明
附图为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,说明面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法。
图1是本发明建立真实实验场地的三维数字化实验环境的示意图;
图中:1.顶部搭建的8个红外动作捕捉镜头,2.真实实验场地,3.运动机器人,4.1、4.2、4.3.反光标记点,5.三维数字化实验环境,6.运动机器人的数字化模型,7.虚拟摄像头;
图2是本发明的步骤1真三维实景模型重建流程图;
图3是本发明的步骤2搭建红外三维动作捕捉系统流程图;
图4是本发明的步骤5还原运动机器人的运动轨迹及运动姿态流程图;
图5是本发明的步骤6绑定虚拟摄像头流程图。
图6是本发明的流程图。
具体实施方式
下面通过具体实施例和附图对本发明的技术方案作进一步详细的说明。
本发明所述的面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征是利用数字技术将运动机器人、真实实验场地、运动轨迹进行数字化,构建数字化实验环境,通过虚拟仿真模拟采集虚拟摄像头获取的环境影像,将获取到的环境影像用于机器视觉评测,初步推荐较为合适的内容,用于机器视觉的分析,主要包括以下步骤:
步骤1,真三维实景模型重建:基于无人机倾斜摄影技术采集X(m)*Y(m)*Z(m)真实实验场地的影像信息,然后在倾斜摄影建模软件中生成1:1的X(m)*Y(m)*Z(m)的三维实景模型,最后导入三维可视化平台建立1:1的X(m)*Y(m)*Z(m)三维数字化实验环境,如图2所示,包括以下步骤:
步骤11.基于无人机倾斜摄影技术采集以10(m)*10(m)*10(m)的真实实验场地为例的影像信息。设置飞行速度8m/s,拍摄间隔2s,相机倾斜角45°,因为用于三维实景模型重建,设置旁向重叠度75%,航线重叠度80%。飞行高度高于场景30米左右,即40米左右;
步骤12.在倾斜摄影建模软件中生成1:1的10(m)*10(m)*10(m)的三维实景模型。以ContextCapture软件为例,经软件自动化匀光处理、空三平差处理、空三加密点计算、构建TIN模型、纹理贴合等步骤,生成1:1的10(m)*10(m)*10(m)的三维实景模型;
步骤13.导入三维可视化平台建立1:1的10(m)*10(m)*10(m)三维数字化实验环境。以CesiumJs(基于JavaScript编写的使用WebGL的JavaScript库,通过Web浏览器构建三维可视化平台)为例,在ContextCapture软件中导出CesiumJs所支持的3DTiles格式的三维实景模型数据,导入CesiumJs中建立1:1的10(m)*10(m)*10(m)三维数字化实验环境。
所述三维实景模型数据导入CesiumJs中建立三维数字化实验环境,根据其提供的函数方法Cesium.Cesium3DTileset({url:}),url参数表示模型数据存放地址,创建模型对象;
所述表达式为:
Cesium.Cesium3DTileset({url:模型数据存放地址})...........(1)
步骤2,搭建红外三维动作捕捉系统:在真实实验场地的顶部四周平均绑定n个红外动作捕捉镜头,确保镜头视野能够覆盖X(m)*Y(m)*Z(m)的捕捉区域,并在需要动作捕捉的运动机器人躯体表面贴上k个反光标记点,反光标记点的数量和贴合位置以能精确捕捉到其动作为准,如图3所示,包括以下步骤:
步骤21.在真实实验场地的顶部四周通过支架、夹具等镜头固定装置,参照图1中的1所示,平均绑定8个红外动作捕捉镜头,确保镜头视野能够覆盖10(m)*10(m)*10(m)的捕捉区域,并将所有镜头通过网线连接到POE交换机;
步骤22.使用标定工具进行校准,让动作捕捉软件计算出镜头准确的相对空间位置和角度,建立三维空间XYZ坐标系,为精准动作捕捉做好准备;
步骤23.在需要动作捕捉的运动机器人躯体表面贴上5个反光标记点,反光标记点的数量和贴合位置以能精确捕捉到其动作为准。参照图1中的3所示,在运动机器人表面除底面之外的五个面的正中间各贴上1个反光标记点,参照图1中的4.1,4.2,4.3所示;
步骤24.当系统能够实时识别目标物体后,一个完整的光学动作捕捉系统就已建立完成,接下来直接进行动作捕捉并记录数据。
步骤3,记录运动机器人的运动数据:运动机器人在真实实验场地进行运动,红外三维动作捕捉系统设备记录物体运动的一系列三维空间数据{[Xab,Yab,Zab],…,a∈[1,k],b∈[0,t]},其中k表示反光标记点个数,t表示记录过程中的不同动作捕捉时间点,其为时间间隔很短的时间序列,在此次具体实施方式中,k=5;
步骤4,在三维数字化实验环境中,按1:1构建运动机器人的数字化模型;
步骤5,还原运动机器人的运动轨迹及运动姿态:根据红外三维动作捕捉系统设备记录的三维空间数据,在1:1的X(m)*Y(m)*Z(m)三维数字化实验环境里,通过一定的计算与转化,并结合运动机器人的数字化模型轮廓,模拟出运动机器人的运动轨迹和运动姿态;该步骤的结果可以表现为运动机器人的数字化模型在三维数字化实验环境里的一系列动态运动过程,其运动过程高度拟合运动机器人在真实实验场地的运动过程,如图4所示,包括以下步骤:
步骤51.根据记录的三维空间数据{[Xab,Yab,Zab],…,a∈[1,5],b∈[0,t]}在1:1的10(m)*10(m)*10(m)三维数字化实验环境,参照图1中的4.1所示,设置该点的三维空间数据为运动路径计算数据,a=1,即{[X1b,Y1b,Z1b],…,b∈[0,t]},t表示记录过程中的不同动作捕捉时间点,其为时间间隔很短的时间序列,由CesiumJs提供的Cesium.Cartesian3(x,y,z)方法,其中x,y,z分别对应三维空间数据[X1b,Y1b,Z1b],首先转化为笛卡尔坐标系(世界坐标)对象;
所述表达式为:
Cesium.Cartesian3(X1b,Y1b,Z1b)..........................(2)
然后由CesiumJs提供的Cesium.Cartographic.fromCartesian(cartesian)方法,其中cartesian为表达式2转化的笛卡尔坐标系(世界坐标)对象,将其转化为地理坐标系下经纬度的弧度表示对象;
所述表达式为:
Cesium.Cartographic.fromCartesian(cartesian)...............(3)
然后由CesiumJs提供的Cesium.Math.toDegrees(cartographic)方法,其中cartographic为表达式3转化的地理坐标系下经纬度的弧度表示对象,包含latitude(纬度),longitude(经度),height(高度)三个参数,将它们分别转化为角度表示对象。
所述表达式为:
Cesium.Math.toDegrees(cartographic.latitude)............(4)
步骤52.计算运动机器人的数字化模型通过每三个记录的相邻的三维空间数据坐标点的运动时长,设置运动机器人的数字化模型运动速度变量speed,通过半正矢公式计算由步骤51表达式4转化的三个相邻经纬度坐标点每两点间的距离,再根据速度公式计算通过三点的运动时长;
所述半正矢公式表达式为:
其中r表示地球赤道半径;表示φ1和φ2表示两点的纬度;λ1和λ2表示两点的经度。
所述速度公式表达式为:
td=dis/speed...................................(6)
其中td表示运动时长,dis表示表达式5得出的距离,speed表示运动机器人的数字化模型运动速度。
步骤53.运动轨迹平滑化计算,根据贝塞尔曲线公式计算,数据参照图1中的4.1所示,设置该点的三维空间数据为运动路径计算数据,a=1,既{[X1b,Y1b,Z1b],…,b∈[0,t]},t表示运动过程中的不同捕捉点;
所述贝塞尔曲线公式表达式为:
其中tp表示运动机器人的数字化模型运动时间间隔,ta∈[0,td],td由步骤52表达式6计算所得,p0,p1,p2表示每三个记录的相邻的三维空间数据坐标点{[X1b,Y1b,Z1b],…,b∈[0,t]},p表示计算的结果。
步骤54.将步骤53表达式7计算的结果由步骤51表达式2,3,4转化为经纬度数据,然后计算相邻两点对于正北方向的朝向角度,通过Math.atan2(y,x)计算原点(0,0)到(x,y)点的线段与x轴正方向之间的平面角度(弧度值),其中(x,y)表示其和(0,0)连线与相邻的两点连线平行的点,还原运动姿态。
所述计算(x,y)的表达式为:
x=Math.cos(startLat)*Math.sin(endLat)-Math.sin(startLat)*
Math.cos(endLat)*Math.cos(endLon-startLng)................(8)
y=Math.sin(endLon-startLon)*Math.cos(endLat)................(9)
其中startLon表示起点经度;endLon表示终点经度;startLat表示起点纬度;destLat表示终点纬度;
所述计算平面角度(弧度值)的表达式为:
Math.atan2(y,x)........................(10)
其中x,y为表达式8,9的计算结果。
步骤6,绑定虚拟摄像头:在运动机器人的数字化模型躯体轮廓上进行虚拟摄像头的构建,虚拟摄像头可以固定在数字化模型躯体轮廓某个位置,并按固定角度进行设置。当运动机器人的数字化模型在三维数字化实验环境中运动时,虚拟摄像头会随着数字化模型一起移动,并且其朝向角度会与数字化模型保持不变。就是运动机器人的数字化模型在三维数字化实验环境中沿着运动轨迹和运动姿态进行移动,可以根据虚拟摄像头与数字化模型的相对位置和相对角度,实时计算运动轨迹和运动姿态的改变导致的虚拟摄像头视角改变的偏移量,从而对虚拟摄像头的视角数据实时更新,模拟仿真出该位置和角度的虚拟摄像头获取到的环境影像,该环境影像来自于步骤1所构建的三维数字化实验环境,如图5所示,包括以下步骤:
步骤61.使运动机器人的数字化模型在三维数字化实验环境中沿着运动轨迹和运动姿态进行移动,移动数据取自步骤54中的经纬度数据,然后由步骤52的表达式5,6计算相邻两点间的运动时间,运动姿态数据取自步骤54的表达式8,9,10计算所得。然后由CesiumJs提供的函数方法Cesium.Cartesian3.fromDegrees()实时计算运动机器人的数字化模型位置,Cesium.HeadingPitchRoll()实时改变运动机器人的数字化模型姿态;
所述计算运动机器人的数字化模型位置表达式为:
Cesium.Cartesian3.fromDegrees(currentLon,currentLat,currentHeight)............(11)
其中currentLon表示实时经度;currentLat表示实时纬度;currentHeight表示实时高度。
所述运动机器人的数字化模型姿态表达式为:
let hpRoll=new Cesium.HeadingPitchRoll();............(12)
hpRoll.heading=Cesium.Math.toRadians(X0);.............(13)
其中hpRoll表示改变姿态的对象;heading表示偏航角参数,另外还包含pitch(俯仰角)和row(俯仰角)的参数可更改;Cesium.Math.toRadians()同样是CesiumJs提供的函数方法,将姿态变量X0,由弧度转为角度表示对象。
步骤62.在运动机器人的数字化模型躯体轮廓上进行虚拟摄像头的构建,参照图1中的4.2所示,以该点所在平面为例,取一点绑定虚拟摄像头,该点与图1中的4.1在X,Y,Z方向有固定偏移量,然后由CesiumJs提供的函数方法Cesium.Cartesian3.multiplyByScalar()计算偏移量,然后根据偏移量和步骤54中的经纬度数据的基础上,由CesiumJs提供的函数方法Cesium.Matrix4.multiplyByPoint()计算虚拟摄像头的实时位置;
所述偏移量计算表达式为:
Cesium.Cartesian3.multiplyByScalar(Cesium.Cartesian3.UNIT_X,Xs,positionV).(14)
其中Cesium.Cartesian3.UNIT_X表示X方向速度矢量变化,另外还有Cesium.Cartesian3.UNIT_Y表示Y方向速度矢量变化,Cesium.Cartesian3.UNIT_Z表示Z方向速度矢量变化;Xs表示当前指定方向的偏移量;positionV表示偏移矢量对象,由CesiumJs提供的函数方法Cesium.Cartesian3()创建。
所述实时位置计算表达式为:
Cesium.Matrix4.multiplyByPoint(modelMatrix,positionV,position)..............(15)
其中modelMatrix表示4x4的转换矩阵对象,由CesiumJs提供的函数方法Cesium.Transforms.headingPitchRollToFixedFrame()创建;positionV由表达式14计算所得;position由表达式11计算所得。
所述4x4的转换矩阵表达式为:
其中position和hpRoll为步骤61表达式11,12,13计算所得;Cesium.Ellipsoid.WGS84代表标准的WGS84椭球体;Cesium.Transforms.localFrameToFixedFrameGenerator()方法取决于模型数据的朝向,有east(东),south(南),west(西),north(北);
由CesiumJs提供的函数方法viewer.scene.camera.setView()绑定虚拟摄像头,
所述表达式为:
其中destination表示虚拟摄像头的位置;orientation表示虚拟摄像头的姿态,包括heading(偏航角),pitch(俯仰角)和row(翻滚角),可以根据需要设置。
步骤63.实时计算运动轨迹和运动姿态的改变导致的虚拟摄像头视角改变的偏移量,从而对虚拟摄像头的视角数据实时更新,通过步骤54的方法实时计算虚拟摄像头所在平面,即参照图1中的4.2,a=2,既{[X2b,Y2b,Z2b],…,b∈[0,t]},t表示运动过程中的不同捕捉点,和运动机器人的数字化模型位置连线对于正北方向的朝向角度,并与上一个角度做差的结果为当前虚拟摄像头视角改变的偏移量,在步骤62表达式17中orientation三个参数的基础上,更新视角数据;
步骤7,获取环境影像进行内容推荐:根据步骤6设计N个虚拟摄像机,录得N段视频文件记为Vn,其中n∈[1,N]。将N段视频文件用于机器视觉评测,由于视频拍摄的位置角度都会影响到视频拍摄结果,而拍摄结果影响机器视觉计算结果。根据评测结果的优劣来判断安虚拟摄像机的位置优劣,并推荐较优的虚拟摄像机拍摄位置做为实际的机器安装位置,包括以下步骤:
步骤71,根据步骤6设计N个虚拟摄像机,录得N段视频文件记为Vn,其中n∈[1,N],通过web端的接口提供的getDisplayMedia()捕获窗口内容,并使用MediaRecorder()方法生成媒体流记录对象,最后通过.start()方法开始记录数字影像视频数据,最后再根据实际需求设置的分辨率对影像视频数据进行裁剪,得最终视频文件;
所述捕获窗口内容表达式为:
navigator.mediaDevices.getDisplayMedia(displayMediaOptions);...(18)
其中displayMediaOptions表示设置捕获参数。
所述记录媒体流表达式为:
recorder = new MediaRecorder(captureStream); ............ (19)
recorder.start();.......................(20)
其中captureStream表示上一表达式生成的窗口内容对象;recorder表示媒体流对象。
步骤72,将N段视频文件用于机器视觉评测,根据评测结果的优劣来判断安虚拟摄像机的位置优劣,并推荐较优的虚拟摄像机拍摄位置做为实际的机器安装位置,评测过程由多个评测项目组成,以下以其中一个评测项目避障功能为例说明评测过程和评价方法。
避障功能即机器视觉应能根据摄像机拍摄的连续视频,识别出前进通道上的障碍物并且能判断障碍物的距离,从而可以控制机器人绕开障碍物。避障评测项目约定机器人在前进通道上出现距离为Xz的障碍物Z时,应该能在T时间能给出障碍物的警告并计算出机器人与Z的距离Xm,计算的Xm与Xz的误差保持在w%以内,如约定w小于10。其中距离Xz,计算时间T,误差w均为实验前约定的预期实验数据。
实验时,运动机器人的数字化模型在三维数字化实验环境中运动时,其三维数字化实验环境为真实实验环境镜像,其运动机器人的数字化模型在数字化实验环境中的运动过程也即为真实机器人在真实环境中运动过程的镜像和数字孪生过程。在真实实验环境中,运动机器人移动到障碍物Z前方时,其数字化实验过程同步表现为运动机器人的数字化模型前方出现了数字实验环境的虚拟障碍物Zd。对数字化实验环境的虚拟障碍物Zd进行了标注,当运动机器人的数字化模型朝向虚拟障碍物Zd移动,距离为Xz±w的时候,系统会自动给出提示和时间标注和
实验结束,取视频Vn在时间段的视频段,作为机器视觉避障测评算法的输入,提供给机器视觉避障测评算法进行计算,计算各个视频段输入计算获得的虚拟障碍物距离并计算与真实距离的误差,误差越小判断拍摄视频质量越佳(利于机器视觉分析)。所述机器视觉避障测评算法表达式为:
避障误差率取正表达式为:
Claims (8)
1.面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征在于:利用数字技术将运动机器人、真实实验场地、运动轨迹进行数字化,构建数字化实验环境,通过虚拟仿真模拟采集虚拟摄像头获取的环境影像,并对环境影像进行一定的机器视觉评测,初步推荐较为合适的内容,用于机器视觉的分析,包括以下步骤:
步骤1,真三维实景模型重建:基于无人机倾斜摄影技术采集X(m)*Y(m)*Z(m)真实实验场地的影像信息,然后在倾斜摄影建模软件中生成1:1的X(m)*Y(m)*Z(m)的三维实景模型,最后导入三维可视化平台建立1:1的X(m)*Y(m)*Z(m)三维数字化实验环境,具体包括:
步骤11.基于无人机倾斜摄影技术采集X(m)*Y(m)*Z(m)真实实验场地的影像信息;设置无人机飞行速度,拍摄间隔,相机倾斜角,旁向重叠度,航线重叠度及飞行高度;
步骤12.在倾斜摄影建模软件中生成1:1的X(m)*Y(m)*Z(m)的三维实景模型;
步骤13.导入三维可视化平台建立1:1的X(m)*Y(m)*Z(m)三维数字化实验环境;
步骤2,搭建红外三维动作捕捉系统:在真实实验场地的顶部四周平均绑定n个红外动作捕捉镜头,确保镜头视野能够覆盖X(m)*Y(m)*Z(m)的捕捉区域,并在需要动作捕捉的运动机器人躯体表面贴上k个反光标记点,反光标记点的数量和贴合位置以能精确捕捉到其动作为准,具体包括:
步骤21.在真实实验场地的顶部四周通过支架、夹具等镜头固定装置,平均绑定n个红外动作捕捉镜头,确保镜头视野能够覆盖X(m)*Y(m)*Z(m)的捕捉区域,并将所有镜头通过网线连接到POE交换机;
步骤22.使用标定工具进行校准,让动作捕捉软件计算出镜头准确的相对空间位置和角度,建立三维空间XYZ坐标系,为精准动作捕捉做好准备;
步骤23.在需要动作捕捉的运动机器人躯体表面贴上k个反光标记点,反光标记点的数量和贴合位置以能精确捕捉到其动作为准;
步骤24.当系统能够实时识别目标物体后,一个完整的光学动作捕捉系统就已建立完成,接下来直接进行动作捕捉并记录数据;
步骤3,记录运动机器人的运动数据:运动机器人在真实实验场地进行运动,红外三维动作捕捉系统设备记录物体运动的一系列三维空间数据{[Xab,Yab,Zab],…,a∈[1,k],b∈[0,t]},其中k表示反光标记点个数,t表示记录过程中的不同动作捕捉时间点,其为时间间隔很短的时间序列;
步骤4,在三维数字化实验环境中,按1:1构建运动机器人的数字化模型;
步骤5,还原运动机器人的运动轨迹及运动姿态:根据红外三维动作捕捉系统设备记录的三维空间数据,在1:1的X(m)*Y(m)*Z(m)三维数字化实验环境里,通过一定的计算与转化,并结合运动机器人的数字化模型轮廓,模拟出运动机器人的运动轨迹和运动姿态;该步骤的结果可以表现为运动机器人的数字化模型在三维数字化实验环境里的一系列动态运动过程,其运动过程高度拟合运动机器人在真实实验场地的运动过程,具体包括以下步骤:
步骤51.根据记录的三维空间数据{[Xab,Yab,Zab],…,a∈[1,k],b∈[0,t]}在1:1的X(m)*Y(m)*Z(m)三维数字化实验环境,其中k表示反光标记点个数,t表示记录过程中的不同动作捕捉时间点,其为时间间隔很短的时间序列;设置某一个反光标记点的三维空间数据为运动路径计算数据,如a=a0,即然后转化为三维可视平台所需的数据类型;
步骤52.计算运动机器人的数字化模型通过每三个记录的相邻的三维空间数据坐标点的运动时长,设置运动机器人的数字化模型运动速度变量speed,通过半正矢公式计算三个相邻经纬度每两点间的距离,再根据速度公式计算通过三点的运动时长;
所述半正矢公式为:
其中r表示地球赤道半径;表示φ1和φ2表示两点的纬度;λ1和λ2表示两点的经度;
所述的速度公式为:
td=dis/speed......................................................(6)
其中td表示运动时长,dis表示表达式5得出的距离,speed表示运动机器人的数字化模型运动速度;
所述贝塞尔曲线公式的表达式为:
步骤54.将步骤53表达式7计算的结果转化为三维可视平台所需的数据类型,然后计算相邻两点在三维可视平台中所需的朝向角度,还原运动姿态;
步骤6,绑定虚拟摄像头:在运动机器人的数字化模型躯体轮廓上进行虚拟摄像头的构建,虚拟摄像头可以固定在数字化模型躯体轮廓某个位置,并按固定角度进行设置;当运动机器人的数字化模型在三维数字化实验环境中运动时,虚拟摄像头会随着数字化模型一起移动,并且其朝向角度会与数字化模型保持不变;就是运动机器人的数字化模型在三维数字化实验环境中沿着运动轨迹和运动姿态进行移动,可以根据虚拟摄像头与数字化模型的相对位置和相对角度,实时计算运动轨迹和运动姿态的改变导致的虚拟摄像头视角改变的偏移量,从而对虚拟摄像头的视角数据实时更新,模拟仿真出该位置和角度的虚拟摄像头获取到的环境影像,该环境影像来自于步骤1所构建的三维数字化实验环境,具体包括以下步骤:
步骤61.使运动机器人的数字化模型在三维数字化实验环境中沿着运动轨迹和运动姿态进行移动,移动数据取自步骤54中转化的三维可视平台所需的数据,然后由步骤52的式(5)和式(6)计算相邻两点间的运动时间,运动姿态数据取自步骤54的计算所得;然后由三维可视平台提供方法实时计算运动机器人的数字化模型位置,并实时改变运动机器人的数字化模型姿态;
步骤62.在运动机器人的数字化模型躯体轮廓上进行虚拟摄像头的构建,以某一个反光标记点所在平面为例,取一点绑定虚拟摄像头,该点与步骤51中的a0在X,Y,Z方向有固定偏移量,能够计算相应偏移量和虚拟摄像头的实时位置;
步骤63.实时计算运动轨迹和运动姿态的改变导致的虚拟摄像头视角改变的偏移量,从而对虚拟摄像头的视角数据实时更新,通过步骤54的方法实时计算虚拟摄像头所在平面,和运动机器人的数字化模型位置连线对于三维可视平台中所需的朝向角度,并与上一个角度做差的结果为当前虚拟摄像头视角改变的偏移量,更新视角数据;
步骤7,获取环境影像进行内容推荐:根据步骤6设计N个虚拟摄像机,录得N段视频文件记为Vn,其中n∈[1,N];将N段视频文件用于机器视觉评测,由于视频拍摄的位置角度都会影响到视频拍摄结果,而拍摄结果影响机器视觉计算结果;根据评测结果的优劣来判断安虚拟摄像机的位置优劣,并推荐较优的虚拟摄像机拍摄位置做为实际的机器安装位置,具体包括以下步骤:
步骤71,根据步骤6设计N个虚拟摄像机,录得N段视频文件记为Vn,其中n∈[1,N],开始记录数字影像视频数据,最后再根据实际需求设置的分辨率对影像视频数据进行裁剪,得最终视频文件;
步骤72,将N段视频文件用于机器视觉评测,根据评测结果的优劣来判断安虚拟摄像机的位置优劣,并推荐较优的虚拟摄像机拍摄位置做为实际的机器安装位置,评测过程可由多个评测项目组成。
2.如权利要求1所述的面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征在于:在步骤13中,导入三维可视化平台建立1:1的X(m)*Y(m)*Z(m)三维数字化实验环境;
所述三维实景模型数据导入CesiumJs中建立三维数字化实验环境,根据其提供的函数方法Cesium.Cesium3DTileset({url:}),url参数表示模型数据存放地址,创建模型对象;
表达式为:
Cesium.Cesium3DTileset({url:模型数据存放地址})........................(1)。
3.如权利要求1所述的面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征在于:在步骤51中,由CesiumJs提供的Cesium.Cartesian3(x,y,z)方法,其中x,y,z分别对应三维空间数据[X1b,Y1b,Z1b],首先转化为笛卡尔坐标系对象;
表达式为:
Cesium.Cartesian3(X1b,Y1b,Z1b).........................................(2)
然后由CesiumJs提供的Cesium.Cartographic.fromCartesian(cartesian)方法,其中cartesian为式(2)转化的笛卡尔坐标系对象,将其转化为地理坐标系下经纬度的弧度表示对象;
表达式为:
Cesium.Cartographic.fromCartesian(cartesian)..............................(3)
然后由CesiumJs提供的Cesium.Math.toDegrees(cartographic)方法,其中cartographic为式(3)转化的地理坐标系下经纬度的弧度表示对象,包含latitude(纬度),longitude(经度),height(高度)三个参数,将它们分别转化为角度表示对象,表达式为:
Cesium.Math.toDegrees(cartographic.latitude)...............................(4)。
4.如权利要求1所述的面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征在于:步骤54中,将式(7)计算的结果由步骤51表达式2,3,4转化为经纬度数据,然后计算相邻两点对于正北方向的朝向角度,通过Math.atan2(y,x)计算原点(0,0)到(x,y)点的线段与x轴正方向之间的平面角度(弧度值),其中(x,y)表示其和(0,0)连线与相邻的两点连线平行的点,还原运动姿态;
所述计算(x,y)的表达式为:
x=Math.cos(startLat)*Math.sin(endLat)-Math.sin(startLat)*Math.cos(endLat)*Math.cos(endLon-startLng)............................................................(8)
y=Math.sin(endLon-startLon)*Math.cos(endLat).......(9)
其中startLon表示起点经度;endLon表示终点经度;startLat表示起点纬度;destLat表示终点纬度;
所述计算平面角度(弧度值)的表达式为:
Math.atan2(y,x).....................................................(10)
其中x,y为式(8)和(9)的计算结果。
5.如权利要求1所述的面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征在于:步骤61中,由CesiumJs提供的函数方法Cesium.Cartesian3.fromDegrees()实时计算运动机器人的数字化模型位置,Cesium.HeadingPitchRoll()实时改变运动机器人的数字化模型姿态;
所述计算运动机器人的数字化模型位置表达式为:
Cesium.Cartesian3.fromDegrees(currentLon,currentLat,currentHeight)...........(11)
其中currentLon表示实时经度;currentLat表示实时纬度;currentHeight表示实时高度;
所述运动机器人的数字化模型姿态表达式为:
let hpRoll=new Cesium.HeadingPitchRoll();.........(12)
hpRoll.heading=Cesium.Math.toRadians(X0);............(13)
其中hpRoll表示改变姿态的对象;heading表示偏航角参数,另外还包含pitch(俯仰角)和row(俯仰角)的参数可更改;Cesium.Math.toRadians()同样是CesiumJs提供的函数方法,将姿态变量X0,由弧度转为角度表示对象。
6.如权利要求1所述的面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征在于:步骤62中,由CesiumJs提供的函数方法Cesium.Matrix4.multiplyByPoint()计算虚拟摄像头的实时位置;
所述偏移量计算表达为:
Cesium.Cartesian3.multiplyByScalar(Cesium.Cartesian3.UNIT_X,Xs,positionV)..(14)
其中Cesium.Cartesian3.UNIT_X表示X方向速度矢量变化,另外还有Cesium.Cartesian3.UNIT_Y表示Y方向速度矢量变化,Cesium.Cartesian3.UNIT_Z表示Z方向速度矢量变化;Xs表示当前指定方向的偏移量;positionV表示偏移矢量对象,由CesiumJs提供的函数方法Cesium.Cartesian3()创建;
所述实时位置计算表达式为:
Cesium.Matrix4.multiplyByPoint(modelMatrix,positionV,position)..............(15)
其中modelMatrix表示4x4的转换矩阵对象,由CesiumJs提供的函数方法Cesium.Transforms.headingPitchRollToFixedFrame()创建;positionV由式(14)计算所得;position由式(11)计算所得;
所述4x4的转换矩阵表达式为:
其中position和hpRoll由式(11)、(12)、(13)计算所得;Cesium.Ellipsoid.WGS84代表标准的WGS84椭球体;Cesium.Transforms.localFrameToFixedFrameGenerator()方法取决于模型数据的朝向,有east(东),south(南),west(西),north(北);
由CesiumJs提供的函数方法viewer.scene.camera.setView()绑定虚拟摄像头,
所述表达式为:
其中destination表示虚拟摄像头的位置;orientation表示虚拟摄像头的姿态,包括heading(偏航角),pitch(俯仰角)和row(翻滚角),可以根据需要设置。
7.如权利要求1所述的面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征在于:步骤71中,通过web端的接口提供的getDisplayMedia()捕获窗口内容,并使用MediaRecorder()方法生成媒体流记录对象,最后通过.start()方法开始记录数字影像视频数据,最后再根据实际需求设置的分辨率对影像视频数据进行裁剪,得最终视频文件;
所述捕获窗口内容表达式为:
navigator.mediaDevices.getDisplayMedia(displayMediaOptions);................(18)
其中displayMediaOptions表示设置捕获参数;
所述记录媒体流表达式为:
recorder=new MediaRecorder(captureStream);.............(19)
recorder.start();.......................................(20)
其中captureStream表示上一表达式生成的窗口内容对象;recorder表示媒体流对象。
8.如权利要求1所述的面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征在于:步骤72中,以避障功能为例说明评测过程和评价方法,取视频Vn在时间段的视频段,作为机器视觉避障测评算法的输入,提供给机器视觉避障测评算法进行计算,计算各个视频段输入计算获得的虚拟障碍物距离并计算与真实距离的误差,误差越小判断拍摄视频质量越佳(利于机器视觉分析);所述机器视觉避障测评算法表达式为:
避障误差率取正表达为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210144333.6A CN115128965A (zh) | 2022-02-17 | 2022-02-17 | 面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210144333.6A CN115128965A (zh) | 2022-02-17 | 2022-02-17 | 面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115128965A true CN115128965A (zh) | 2022-09-30 |
Family
ID=83375449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210144333.6A Pending CN115128965A (zh) | 2022-02-17 | 2022-02-17 | 面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115128965A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115760501A (zh) * | 2022-10-25 | 2023-03-07 | 华南师范大学 | 一种基于图形化编程平台的ai仿真教学系统 |
CN116720415A (zh) * | 2023-08-09 | 2023-09-08 | 中国人民解放军火箭军工程大学 | 一种基于数字孪生的目标红外特性建模方法 |
CN116828132A (zh) * | 2023-07-05 | 2023-09-29 | 广州磐碟塔信息科技有限公司 | 一种虚拟摄影的控制方法及其系统 |
-
2022
- 2022-02-17 CN CN202210144333.6A patent/CN115128965A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115760501A (zh) * | 2022-10-25 | 2023-03-07 | 华南师范大学 | 一种基于图形化编程平台的ai仿真教学系统 |
CN116828132A (zh) * | 2023-07-05 | 2023-09-29 | 广州磐碟塔信息科技有限公司 | 一种虚拟摄影的控制方法及其系统 |
CN116720415A (zh) * | 2023-08-09 | 2023-09-08 | 中国人民解放军火箭军工程大学 | 一种基于数字孪生的目标红外特性建模方法 |
CN116720415B (zh) * | 2023-08-09 | 2023-12-05 | 中国人民解放军火箭军工程大学 | 一种基于数字孪生的目标红外特性建模方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115128965A (zh) | 面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法 | |
JP4854819B2 (ja) | 画像情報出力方法 | |
CN104637370B (zh) | 一种摄影测量与遥感综合教学的方法及系统 | |
Lin et al. | Capturing, reconstructing, and simulating: the urbanscene3d dataset | |
El-Hakim et al. | System for indoor 3D mapping and virtual environments | |
CN107229329A (zh) | 用于具有深度地面实况注释的虚拟传感器数据生成的方法和系统 | |
CA3108629A1 (en) | System and method of operation for remotely operated vehicles for simultaneous localization and mapping | |
CN109900274A (zh) | 一种图像匹配方法及系统 | |
RU2562368C1 (ru) | Способ трёхмерного (3d) картографирования | |
JP4624000B2 (ja) | 複合人工知能装置 | |
CN114663473A (zh) | 基于多视角信息融合的人员目标定位与追踪方法及系统 | |
CN112446905B (zh) | 基于多自由度传感关联的三维实时全景监控方法 | |
Trzeciak et al. | ConSLAM: periodically collected real-world construction dataset for SLAM and progress monitoring | |
Chen et al. | ECMD: An event-centric multisensory driving dataset for SLAM | |
Drouin et al. | Modeling and simulation framework for airborne camera systems | |
El-Hakim et al. | Sensor based creation of indoor virtual environment models | |
CN114993306A (zh) | 一种尺度自恢复的视觉惯性组合导航方法和装置 | |
CN108344972A (zh) | 基于光栅投射立体视觉的机器人视觉系统及导航方法 | |
Szántó et al. | Building Maps Using Monocular Image-feeds from Windshield-mounted Cameras in a Simulator Environment | |
Awed et al. | Towards realizing a visual UAV flying environment: A novel approach based aerial imagery to construct a dataset for visual servoing | |
Murcia et al. | Development of a simulation tool for 3d plant modeling based on 2d lidar sensor | |
Milàn et al. | Experimental and comparative ichnology | |
CN113330331A (zh) | 用于交通场景中收集和自动标记测量数据的装置和方法 | |
Paar et al. | Preparing 3D vision & visualization for ExoMars | |
Esser et al. | Field robot for high-throughput and high-resolution 3D plant phenotyping: towards efficient and sustainable crop production |
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 |