基于混合现实技术的安全模拟体验培训系统的制作方法

文档序号:32690480发布日期:2022-12-27 17:16阅读:35来源:国知局
基于混合现实技术的安全模拟体验培训系统的制作方法

1.本发明涉及一种基于混合现实技术的安全模拟体验培训系统,属于石化企业事故场景应急处置培训考核领域。


背景技术:

2.石化行业快速发展的同时也面临着各种严峻考验,石化工程建设、安全生产、现场直接作业、事故应急处置等环节暴露出的问题日趋严重。由于石化行业从业人员复杂、技术水平参差不齐,常常无法及时有效处置石化生产、储存及作业环节中存在的事故,导致事故快速扩张,给企业及社会带来巨大的损失。对石化行业从业人员进行有效的事故应急处置、设备维护、应急演练及救援等培训是提高石化企业安全能力、降低事故可能性及后果的有效措施。传统的事故应急处理培训通常在具有多媒体功能的教室进行,培训方式和培训手段单一、培训内容陈旧,主要以事故案例和基础知识方式进行讲授培训,该方法难以结合作业现场实际场景,导致理论与现实情况割裂,无法有效提高工作人员现场事故应急处置操作经验。现场真实事故应急处理培训能够最接近日常作业场景,有利于加强事故应急处理培训效果,但是该方法难以在现有场景中设置所有类型的事故且培训成本高、难度大、培训人次有限,因此难以广泛应用。


技术实现要素:

3.本专利提出的基于混合现实技术的安全模拟体验培训系统,基于罐区火灾应急处置交互场景的三维虚拟现实模块,用于采用三维仿真技术和混合现实技术来设置可供用户虚拟操作的培训数据库,采用基于混合现实技术的罐区火灾应急处置装备,用于三维作业场景中事故应急操作,通过模拟体验培训系统,使得参训人员按照应急处置流程进行现场操作,以近似真实的感受进行事故应急的培训,提高培训效果和效率。
4.三维模型在unity3d使用开发过程中,由于爆破效果(如事故爆炸)引起的多边形数量增多现象,会导致加载速率降低,影响系统整体性能。增强现实头显设备因具有独立计算单元导致其计算资源有限,故对模型优化的要求比正常主机设备更高,正常构建的高精度设备模型与动态效果无法在现有头显设备上使用,为此本文提出了多边形减面算法,在保证模型质量的同时,通过减少软件运行期间的多边形面数来降低模型的复杂度,简化模型有效避免了软件加载速率的问题。该算法可以确保其几何特征的正确显示,实现逼真的、实时的、高鲁棒性的建模技术。
5.通过对边坍塌操作的不断使用来减少三维模型的复杂程度,而如何正确选择需要坍塌的边从而对三维模型的视觉改变影响最小,同时要保证每次最优坍塌选择花费的时间和计算成本最小是该优化方法研究的难点。因此需要找到一种能够在unity3d软件运行阶段减少多边形面数的方法,同时可以保证生成的低面模型的质量。为解决以上问题,本文提出了一种针对坍塌边最优选择的算法,公式如下:
[0006][0007]
式中:tu——包含顶点u的三角形的集合;tuv——同时包含顶点 u和顶点v的三角形的集合。
[0008]
为证明其优化效果,本文对简化前后的模型面数作了对比,减面效果最好可达到简化后模型面数为原始模型面数的十分之一的同时不会较大影响三维展示效果。
[0009]
为证明其优化效果,本文对简化前后的模型面数作了对比,减面效果最好可达到简化后模型面数为原始模型面数的十分之一的同时不会较大影响三维展示效果。
[0010]
石化事故灾害场景中常见的火灾爆炸效果会形成大量多边形面片,模型减面优化算法可以优化过多爆炸形成的面片数,并且在人物模型上得到超出预期的结果,系统在帧率低于会产生卡顿的阈值或者模型离当前视角较远的位置的时候,通过模型优化算法,可对高精度模型进行优化减免,代替原有高精度模型,在保证视觉体验效果没有太大影响的前提下提升系统运行的流畅度。
[0011]
为了实现在操作视角下的三维模型局部显示,先假定物体处于空间球形的球心,相机视点处于空间球形的球面。观察者可从任意角度使用旋转和放缩的交互手段查看模型细节,分别定义用户的操作行为旋转和缩放。使用旋转交互可更新相机视点在球面的空间位置,使用放缩交互可进行球形大小的变化,最终实现相机视点与模型之间距离的更新。如图3所示,假设空间球形的球心为o,物体模型的中心为 p,p与o在空间关系上具有一致性,v为相机视点,同时是显示端的视角中心,显示端平面与球形处于相切关系,r则是相机视点v与球心p的距离。
[0012]
在确定操作者视角后,选择一个合适的分块数量执行分块模型组合并进行局部渲染显示。分块模型一般由整体模型中一个或者多个连续局部面组成,其中局部面比较接近,所以模型的整体法向量具有方向的相似性。分块的法向是界定观察视角匹配度的决定性条件之一,当分块的整体法向与观察视角方向相反时,能更清晰地对其进行观察。本文使用的选择算法是根据已知的观察视角,计算得到各个分块与观察视角的匹配度,再按照匹配度排序,选择前s个分块显示。s与输出设备的硬件环境有关,硬件配置越高分块显示数量s越多。
[0013]
基于视角的渲染显示算法以分块所含的全部三角面片的平均法向量作为法向。模型的各面片可根据其3个顶点信息计算得到面片的法向,各顶点除了空间坐标外,还使用法向来表示该点的方向,各顶点的初始法向是由建模时其相连面片的平均法向计算得到。再将分块模型所包含的所有面片的平均法向量作为该分块的整体法向,即为单体分块的方向,记为normal,计算公式为:
[0014][0015]
上式中:s为分块所含有的面片总数,s(i,j)为其中第i个面片的第j个顶点的法向量。
[0016]
局部渲染显示算法解决了大量模型加载产生渲染时间过长从而导致可能发生延迟卡顿的问题,同时还可以保证显示的模型无细节丢失,其缺点是观察者仅能看到模型的
局部细节,无法获取其全部信息。
[0017]
使用离散多细节层次(levels of detail,lod)技术将大幅减小加载所有模型数据导致耗时过久的压力。事先对同一模型进行多层级的简化,分成不同分辨率级别,再依据不同显示需求选择最优级别进行渲染。最终显示策略,以局部显示技术作为主,离散lod技术为辅。
[0018]
基于lod的模型简化,对模型只进行一次优化,只保存一个简化层级的模型信息。因原始高精度模型数据较大,优化后的层级级别比较低,能够让一般计算及显示单元能够无延迟实时显示优化后的整体模型。模型优化程度和计算显示单元的配置有关,以计算显示单元能够无延迟地渲染显示整体模型为标准。
[0019]
使用简化后模型显示的条件有两个:操作者将模物体缩小达到提前设置的阈值或手动点击观察整体模型,设置阈值为自动触发,点击观察为手动触发。在模型被缩小到一定程度的情况下,操作者观察的主要是其整体效果,局部的详细信息被忽略,人眼无法对细节进行区分,系统也无法显示局部的高精度效果。在使用lod技术进行优化后,不再显示局部细节,仅对简化后的模型进行整体显示,人眼对两种观察效果无法详细区分,从而达到降低计算、提高效率的目的。在物体未缩放状态下时,操作者观察整体模型,手动放弃局部显示,整体显示简化后的物体模型,使操作者在较近的角度下观察整体信息,但由于简化层级较大,显示的模型质量不精细。
[0020]
在操作者进行模型旋转的情况下,需对匹配的分块进行重新计算,同时判断分块在内存中的加载状态,若处于加载状态则忽略此次处理,若未处于加载状态则内存将新的分块读取显示。
[0021]
实验模型的简化度为60%,应用简化模型进行整体显示时,一定程度的缩小对肉眼来说很难区分整体显示与高精局部细节的清晰程度。将简化模型拉近观察细节,则与高精度模型局部细节相比清晰度会降低。在表1中即使应用简化模型显示时的每秒传输帧数(framesper second,fps)值比局部高精显示的fps值低,但在这两种情况下均不会出现延迟、卡顿的现象。
[0022]
表1局部展示和全局展示策略下的fps
[0023][0024]
基于位置服务的空间定位是使用各种定位技术捕获定位设备所处空间位置,通过网络向设备提供信息数据与服务。
[0025]
本文使用基于三角关系的空间定位技术,假设三个基站坐标分别是已知坐标(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3),设备的坐标是待求解坐标(x0,y0,z0),根据几何关系公式3可以求解出被测物体坐标:
[0026][0027][0028][0029]
该方法需要提前做好一个已知标记物(例如:打印固定特征形状或者二维码的纸片),然后将标记物放置在真实世界空间中的一个位置,进行映射标记位置的确定;然后利用相机传感器对标记物做图像识别与姿态评估,并标记其空间位置;接着将标记物的某个点作为映射的坐标原点,从而建立映射坐标系;最后通过映射变换将屏幕坐标系与映射坐标系建立映射关系,这样基于映射关系即可将显示的图像映射在经过标记物标定注册过的真实世界空间中,实现虚拟场景在真实空间的叠加交互。
[0030]
在实际的编码中,所有变换关系的参数均以一个矩阵来表示,对坐标左乘映射矩阵便可得到映射关系的线性变换,如下公式所述。
[0031][0032]
矩阵c为相机内参矩阵,矩阵tm为相机外参矩阵,其中内参矩阵需要事先进行相机标定得到,外参矩阵需要我们根据屏幕坐标 (xc,yc,)和事先定义好的映射坐标系以及内参矩阵来估计。
[0033]
其基本原理与基于标记的空间映射注册算法类似,不过它可以用任何具有足够特征点的物体作为平面基准,不需提前制作标记物,摆脱了标记物对ar的限制。该算法原理是提取真实空间中的某个物体的特征点,并对特征点进行标记,当传感器扫描周围场景时,会对周围范围场景的特征点提取并与标记物体的特征点对比,若捕捉到的特征点和标记特征点匹配数量大于设置的阈值,则对该物体进行标记,根据标记物体特征点坐标计算tm矩阵,最后通过空间映射矩阵完成虚拟投影在真实空间中的注册。
[0034]
基于3d打印装置微缩模型的整个匹配流程采用的是基于特征提取与k-means结合的求近似最近邻匹配算法,然后再对匹配到的关键点求单应性映射,最后以根据inlier点集打分的方式来最终判定识别到的目标。
[0035]
图像特征和图像指纹类似,能够唯一标示,区别于其他图像的特征部分,图像特征的提取质量直接决定本算法的识别效果。图像的可重复检测性是图像特征的重要特性之一,即针对同一张图像,无论外界元素如何变化,图像的特征不会受到任何影响,始终相同。通过图像处理计算方法检测图像的特征,从中提取出来,这些特征统称为图像的特征描述或者特征向量。
[0036]
目前,图像特征检测与特征点描述多采用高斯尺度空间降采样的方法,为了解决该方法边缘模糊和细节丢失、检测精度较低等问题,本文使用非线性扩散滤波构造尺度空间特征检测算法。该算法可以有效解决图像边缘信息模糊的问题,避免目标边缘的信息丢
失,在特征提取的过程中可以更好的获得局部精度,提升特征的可区分性。
[0037]
(1)首先采用高斯滤波对输入图像进行预处理,通过选取图像梯度直方图中大于70%的部分的值计算参数k,如下两个公式:
[0038][0039][0040]
其中,参数k作为控制扩散级别的对比度因子,k值的大小与保留边缘信息量的多少成反比。
[0041]
(2)在尺度空间中,尺度级别按对数递增,总共有o组(octaves) 图像,每组有s层(sub-level),组中所有子层图像的分辨率都与原始图像相同。通过如下公式建立与尺度参数对应关系:
[0042][0043]
其中,o表示组用序号,s表示层序号,n表示尺度参数初始值为σ0的图像总数;
[0044]
(3)由于非线性扩散滤波在热传导理论的基础上发展而来,其模型单位为时间,通过如下将时间单位换算为图像像素单位,其中ti称为进化时间。
[0045][0046]
(4)根据一组进化时间,通过迭代的方式构建出非线性尺度空间,如下公式所述:
[0047][0048]
(5)通过hessian矩阵寻找局部极大值,获得特征点检测,如下公式:
[0049][0050]
(6)围绕尺度为σi的特征点取一个24σi×
24σi方形窗口,将其划分成4
×
4的16个子区域,尺度大小均为9σi×
9σi,此时每两个相邻子区域会存在宽度为2σi的重叠部分,然后对16个子区域进行高斯加权,根据如下公式得到子区域特征描述变量:
[0051]dv
=(∑l
x
,∑ly,∑|l
x
|,∑|ly|)
[0052]
在此基础上,再通过高斯窗口对每个子区域的向量dv进行加权和归一化处理,得到64维的特征点描述向量。
[0053]
本文使用k-means作为主要聚类分析的算法,k-means聚类的目的是将n个特征划分到k个聚类中,使得每个特征都属于离他最近的均值(此即聚类中心)所对应的聚类,从而实现对不同特征点的聚类目的。
[0054]
其算法要点包括:
[0055]
(1)k值的选择:k值对最终结果的影响至关重要,而它却必须要预先给定。给定合适的k值,需要先验知识,凭空估计很困难,或者可能导致效果很差。
[0056]
(2)异常点的存在:在迭代的过程中,k-means使用所有点的均值作为新的中心点,
如果簇中存在异常点,将导致均值偏差比较严重。在当前情况下,使用k-mediods聚类算法(k中值聚类)。
[0057]
(3)初值敏感:k-means算法的计算结果对初始值较为敏感,因此,在该算法基础上,本文加入初始化多套初始节点的方式来构造多种分类规则,通过计算对比,选择最优的构造规则。
[0058]
最终使用各个特征点在特征空间中的相对距离来表示聚类属性,相对距离的计算本文使用欧氏距离的计算方法:在欧几里得空间中,点x=(x1,...,xn)和y=(y1,...,yn)之间的欧氏距离关系如下公式:
[0059][0060]
在利用k-means算法解决特征点聚类分析问题的基础上,使用基于随机抽样的一致性算法对归集结果进行验证。算法能够从含有“局外点”的一组数据中迭代计算正确的数学模型,其中“局外点”一般指的数据中的噪声,即不符合模型要求的数据。该算法是一种非唯一结果的估计算法,能够在一定概率下产生估算模型,迭代次数越多产生正确估算模型的概率越大。具体的实现步骤可以分为以下几步:
[0061]
(1)首先选择可以估算出模型的最小数据集;
[0062]
(2)使用数据集来估算当前迭代次数下的数据模型;
[0063]
(3)将所有数据带入当前迭代次数下的数据模型,计算得到“局内点”的数目(累加误差在设定阈值范围内);
[0064]
(4)比较当前迭代次数下的模型和之前估算所得最好模型的“局内点”的数量,记录最大“局内点”数目及对应的模型参数;
[0065]
(5)重复2-5步,直到迭代结束或者当前模型已经足够准确(在一定误差阈值范围内,局内点数目大于一定数量)。
[0066]
通过对石化企业地形数据整理、实景数据处理,利用3dmax进行三维模型构建和生成,结合多源数据匹配生成基础模型数据库。将三维模型导入unity3d软件中进行模型的渲染优化,根据流程进行网络通信建设、脚本程序编写、动画状态编辑等操作初步生成系统原型,经过测试、修改、打包和发布,硬件设备上的安装调试等最终生成基于混合现实技术的罐区火灾应急处置系统。
[0067]
本发明达到的有益效果:
[0068]
本发明提供的安全模拟体验培训系统,由软件和硬件两部分组成。该方法能够还原真实作业场景,让培训人员有身临其境的感觉,沉浸式培训能够激发培训人员的学习兴趣和热情,同时节省了现场作业培训成本。此外,系统还提供事故应急处理基础知识培训和事故应急处理多媒体三维课程培训,培训人员可自由选择培训形式并结合自身需求进行针对性培训。经过事故应急处理培训考核,可大幅度提升培训人员事故识别和应急处理能力。
附图说明
[0069]
图1为本技术的流程图。
[0070]
图2为本技术操作视角的展示空间模型示意图。
[0071]
图3为本技术中基于标记物的空间映射原理图。
[0072]
图4为本技术中k-means算法归集结果。
具体实施方式
[0073]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0074]
基于混合现实技术的安全模拟体验培训系统,包括软件系统和硬件系统,所述软件系统包括基于罐区火灾应急处置交互场景的三维虚拟现实模块,用于采用三维仿真技术和混合现实技术来设置可供用户虚拟操作的培训数据库;
[0075]
所述硬件系统包括基于混合现实技术的罐区火灾应急处置装备,用于三维作业场景中事故应急处置操作。
[0076]
所述软件系统中所述三维虚拟现实模块的建立步骤,具体如下所述:
[0077]
s1:根据实拍数据、地形数据和影像资料,生成基础模型数据库;
[0078]
s2:根据生成的基础模型数据库,建立软件进行三维建模;
[0079]
s3:将建立好的三维模型导入unity3d软件中,并在动态灯光配置和环境渲染下,生成场景框架;
[0080]
s4:对场景框架进行流程脚本编写,辅以网络通信和硬件sdk接入,初步生成系统原型;
[0081]
s5:对系统原型进行测试、修改以及打包、发布,形成用于罐区火灾模拟培训的三维虚拟现实模块。
[0082]
三维模型在unity3d使用开发过程中,由于爆破效果(如事故爆炸)引起的多边形数量增多现象,会导致加载速率降低,影响系统整体性能。增强现实头显设备因具有独立计算单元导致其计算资源有限,故对模型优化的要求比正常主机设备更高,正常构建的高精度设备模型与动态效果无法在现有头显设备上使用,为此本文提出了多边形减面算法,在保证模型质量的同时,通过减少软件运行期间的多边形面数来降低模型的复杂度,简化模型有效避免了软件加载速率的问题。该算法可以确保其几何特征的正确显示,实现逼真的、实时的、高鲁棒性的建模技术。
[0083]
通过对边坍塌操作的不断使用来减少三维模型的复杂程度,而如何正确选择需要坍塌的边从而对三维模型的视觉改变影响最小,同时要保证每次最优坍塌选择花费的时间和计算成本最小是该优化方法研究的难点。因此需要找到一种能够在unity3d软件运行阶段减少多边形面数的方法,同时可以保证生成的低面模型的质量。为解决以上问题,本文提出了一种针对坍塌边最优选择的算法,公式如下:
[0084][0085]
式中:tu——包含顶点u的三角形的集合;tuv——同时包含顶点 u和顶点v的三角形的集合。
[0086]
为证明其优化效果,本文对简化前后的模型面数作了对比,减面效果最好可达到简化后模型面数为原始模型面数的十分之一的同时不会较大影响三维展示效果。
[0087]
为证明其优化效果,本文对简化前后的模型面数作了对比,减面效果最好可达到
简化后模型面数为原始模型面数的十分之一的同时不会较大影响三维展示效果。
[0088]
石化事故灾害场景中常见的火灾爆炸效果会形成大量多边形面片,模型减面优化算法可以优化过多爆炸形成的面片数,并且在人物模型上得到超出预期的结果,系统在帧率低于会产生卡顿的阈值或者模型离当前视角较远的位置的时候,通过模型优化算法,可对高精度模型进行优化减免,代替原有高精度模型,在保证视觉体验效果没有太大影响的前提下提升系统运行的流畅度。
[0089]
为了实现在操作视角下的三维模型局部显示,先假定物体处于空间球形的球心,相机视点处于空间球形的球面。观察者可从任意角度使用旋转和放缩的交互手段查看模型细节,分别定义用户的操作行为旋转和缩放。使用旋转交互可更新相机视点在球面的空间位置,使用放缩交互可进行球形大小的变化,最终实现相机视点与模型之间距离的更新。如图2所示,假设空间球形的球心为o,物体模型的中心为 p,p与o在空间关系上具有一致性,v为相机视点,同时是显示端的视角中心,显示端平面与球形处于相切关系,r则是相机视点v与球心p的距离。
[0090]
在确定操作者视角后,选择一个合适的分块数量执行分块模型组合并进行局部渲染显示。分块模型一般由整体模型中一个或者多个连续局部面组成,其中局部面比较接近,所以模型的整体法向量具有方向的相似性。分块的法向是界定观察视角匹配度的决定性条件之一,当分块的整体法向与观察视角方向相反时,能更清晰地对其进行观察。本文使用的选择算法是根据已知的观察视角,计算得到各个分块与观察视角的匹配度,再按照匹配度排序,选择前s个分块显示。s与输出设备的硬件环境有关,硬件配置越高分块显示数量s越多。
[0091]
基于视角的渲染显示算法以分块所含的全部三角面片的平均法向量作为法向。模型的各面片可根据其3个顶点信息计算得到面片的法向,各顶点除了空间坐标外,还使用法向来表示该点的方向,各顶点的初始法向是由建模时其相连面片的平均法向计算得到。再将分块模型所包含的所有面片的平均法向量作为该分块的整体法向,即为单体分块的方向,记为normal,计算公式为:
[0092][0093]
上式中:s为分块所含有的面片总数,s(i,j)为其中第i个面片的第j个顶点的法向量。
[0094]
局部渲染显示算法解决了大量模型加载产生渲染时间过长从而导致可能发生延迟卡顿的问题,同时还可以保证显示的模型无细节丢失,其缺点是观察者仅能看到模型的局部细节,无法获取其全部信息。
[0095]
使用离散多细节层次(levels of detail,lod)技术将大幅减小加载所有模型数据导致耗时过久的压力。事先对同一模型进行多层级的简化,分成不同分辨率级别,再依据不同显示需求选择最优级别进行渲染。最终显示策略,以局部显示技术作为主,离散lod技术为辅。
[0096]
基于lod的模型简化,对模型只进行一次优化,只保存一个简化层级的模型信息。因原始高精度模型数据较大,优化后的层级级别比较低,能够让一般计算及显示单元能够
无延迟实时显示优化后的整体模型。模型优化程度和计算显示单元的配置有关,以计算显示单元能够无延迟地渲染显示整体模型为标准。
[0097]
使用简化后模型显示的条件有两个:操作者将模物体缩小达到提前设置的阈值或手动点击观察整体模型,设置阈值为自动触发,点击观察为手动触发。在模型被缩小到一定程度的情况下,操作者观察的主要是其整体效果,局部的详细信息被忽略,人眼无法对细节进行区分,系统也无法显示局部的高精度效果。在使用lod技术进行优化后,不再显示局部细节,仅对简化后的模型进行整体显示,人眼对两种观察效果无法详细区分,从而达到降低计算、提高效率的目的。在物体未缩放状态下时,操作者观察整体模型,手动放弃局部显示,整体显示简化后的物体模型,使操作者在较近的角度下观察整体信息,但由于简化层级较大,显示的模型质量不精细。
[0098]
在操作者进行模型旋转的情况下,需对匹配的分块进行重新计算,同时判断分块在内存中的加载状态,若处于加载状态则忽略此次处理,若未处于加载状态则内存将新的分块读取显示。
[0099]
实验模型的简化度为60%,应用简化模型进行整体显示时,一定程度的缩小对肉眼来说很难区分整体显示与高精局部细节的清晰程度。将简化模型拉近观察细节,则与高精度模型局部细节相比清晰度会降低。在表1中即使应用简化模型显示时的每秒传输帧数(framespersecond,fps)值比局部高精显示的fps值低,但在这两种情况下均不会出现延迟、卡顿的现象。
[0100]
表1局部展示和全局展示策略下的fps
[0101][0102]
基于位置服务的空间定位是使用各种定位技术捕获定位设备所处空间位置,通过网络向设备提供信息数据与服务。
[0103]
本文使用基于三角关系的空间定位技术,假设三个基站坐标分别是已知坐标(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3),设备的坐标是待求解坐标(x0,y0,z0),根据几何关系公式3可以求解出被测物体坐标:
[0104][0105][0106]
[0107]
参见图3,该方法需要提前做好一个已知标记物(例如:打印固定特征形状或者二维码的纸片),然后将标记物放置在真实世界空间中的一个位置,进行映射标记位置的确定;然后利用相机传感器对标记物做图像识别与姿态评估,并标记其空间位置;接着将标记物的某个点作为映射的坐标原点,从而建立映射坐标系;最后通过映射变换将屏幕坐标系与映射坐标系建立映射关系,这样基于映射关系即可将显示的图像映射在经过标记物标定注册过的真实世界空间中,实现虚拟场景在真实空间的叠加交互。
[0108]
在实际的编码中,所有变换关系的参数均以一个矩阵来表示,对坐标左乘映射矩阵便可得到映射关系的线性变换,如下公式所述。
[0109][0110]
矩阵c为相机内参矩阵,矩阵tm为相机外参矩阵,其中内参矩阵需要事先进行相机标定得到,外参矩阵需要我们根据屏幕坐标 (xc,yc,)和事先定义好的映射坐标系以及内参矩阵来估计。
[0111]
其基本原理与基于标记的空间映射注册算法类似,不过它可以用任何具有足够特征点的物体作为平面基准,不需提前制作标记物,摆脱了标记物对ar的限制。该算法原理是提取真实空间中的某个物体的特征点,并对特征点进行标记,当传感器扫描周围场景时,会对周围范围场景的特征点提取并与标记物体的特征点对比,若捕捉到的特征点和标记特征点匹配数量大于设置的阈值,则对该物体进行标记,根据标记物体特征点坐标计算tm矩阵,最后通过空间映射矩阵完成虚拟投影在真实空间中的注册。
[0112]
基于3d打印装置微缩模型的整个匹配流程采用的是基于特征提取与k-means结合的求近似最近邻匹配算法,然后再对匹配到的关键点求单应性映射,最后以根据inlier点集打分的方式来最终判定识别到的目标。
[0113]
图像特征和图像指纹类似,能够唯一标示,区别于其他图像的特征部分,图像特征的提取质量直接决定本算法的识别效果。图像的可重复检测性是图像特征的重要特性之一,即针对同一张图像,无论外界元素如何变化,图像的特征不会受到任何影响,始终相同。通过图像处理计算方法检测图像的特征,从中提取出来,这些特征统称为图像的特征描述或者特征向量。
[0114]
目前,图像特征检测与特征点描述多采用高斯尺度空间降采样的方法,为了解决该方法边缘模糊和细节丢失、检测精度较低等问题,本文使用非线性扩散滤波构造尺度空间特征检测算法。该算法可以有效解决图像边缘信息模糊的问题,避免目标边缘的信息丢失,在特征提取的过程中可以更好的获得局部精度,提升特征的可区分性。
[0115]
(1)首先采用高斯滤波对输入图像进行预处理,通过选取图像梯度直方图中大于70%的部分的值计算参数k,如下两个公式:
[0116]
[0117][0118]
其中,参数k作为控制扩散级别的对比度因子,k值的大小与保留边缘信息量的多少成反比。
[0119]
(2)在尺度空间中,尺度级别按对数递增,总共有o组(octaves) 图像,每组有s层(sub-level),组中所有子层图像的分辨率都与原始图像相同。通过如下公式建立与尺度参数对应关系:
[0120][0121]
其中,o表示组用序号,s表示层序号,n表示尺度参数初始值为σ0的图像总数;
[0122]
(3)由于非线性扩散滤波在热传导理论的基础上发展而来,其模型单位为时间,通过如下将时间单位换算为图像像素单位,其中ti称为进化时间。
[0123][0124]
(4)根据一组进化时间,通过迭代的方式构建出非线性尺度空间,如下公式所述:
[0125][0126]
(5)通过hessian矩阵寻找局部极大值,获得特征点检测,如下公式:
[0127][0128]
(6)围绕尺度为σi的特征点取一个24σi×
24σi方形窗口,将其划分成4
×
4的16个子区域,尺度大小均为9σi×
9σi,此时每两个相邻子区域会存在宽度为2σi的重叠部分,然后对16个子区域进行高斯加权,根据如下公式得到子区域特征描述变量:
[0129]dv
=(∑l
x
,∑ly,∑|l
x
|,∑|ly|)
[0130]
在此基础上,再通过高斯窗口对每个子区域的向量dv进行加权和归一化处理,得到64维的特征点描述向量。
[0131]
本文使用k-means作为主要聚类分析的算法,k-means聚类的目的是将n个特征划分到k个聚类中,使得每个特征都属于离他最近的均值(此即聚类中心)所对应的聚类,从而实现对不同特征点的聚类目的。
[0132]
其算法要点包括:
[0133]
(1)k值的选择:k值对最终结果的影响至关重要,而它却必须要预先给定。给定合适的k值,需要先验知识,凭空估计很困难,或者可能导致效果很差。
[0134]
(2)异常点的存在:在迭代的过程中,k-means使用所有点的均值作为新的中心点,如果簇中存在异常点,将导致均值偏差比较严重。在当前情况下,使用k-mediods聚类算法(k中值聚类)。
[0135]
(3)初值敏感:k-means算法的计算结果对初始值较为敏感,因此,在该算法基础上,本文加入初始化多套初始节点的方式来构造多种分类规则,通过计算对比,选择最优的构造规则。
[0136]
参见图4,最终使用各个特征点在特征空间中的相对距离来表示聚类属性,相对距
离的计算本文使用欧氏距离的计算方法:在欧几里得空间中,点x=(x1,...,xn)和y=(y1,...,yn)之间的欧氏距离关系如下公式:
[0137][0138]
在利用k-means算法解决特征点聚类分析问题的基础上,使用基于随机抽样的一致性算法对归集结果进行验证。算法能够从含有“局外点”的一组数据中迭代计算正确的数学模型,其中“局外点”一般指的数据中的噪声,即不符合模型要求的数据。该算法是一种非唯一结果的估计算法,能够在一定概率下产生估算模型,迭代次数越多产生正确估算模型的概率越大。具体的实现步骤可以分为以下几步:
[0139]
(1)首先选择可以估算出模型的最小数据集;
[0140]
(2)使用数据集来估算当前迭代次数下的数据模型;
[0141]
(3)将所有数据带入当前迭代次数下的数据模型,计算得到“局内点”的数目(累加误差在设定阈值范围内);
[0142]
(4)比较当前迭代次数下的模型和之前估算所得最好模型的“局内点”的数量,记录最大“局内点”数目及对应的模型参数;
[0143]
(5)重复2-5步,直到迭代结束或者当前模型已经足够准确(在一定误差阈值范围内,局内点数目大于一定数量)。
[0144]
通过对石化企业地形数据整理、实景数据处理,利用3dmax进行三维模型 构建和生成,结合多源数据匹配生成基础模型数据库。将三维模型导入unity3d 软件中进行模型的渲染优化,根据流程进行网络通信建设、脚本程序编写、动画 状态编辑等操作初步生成系统原型,经过测试、修改、打包和发布,硬件设备上 的安装调试等最终生成基于混合现实技术的罐区火灾应急处置系统,技术路线如 图1所示。
[0145]
以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1