1.本发明涉及机器学习技术领域,特别是涉及一种目标对象的定位方法、一种视觉惯性融合系统、一种目标对象的定位装置、一种电子设备以及一种计算机可读存储介质。
背景技术:2.视觉惯性系统(vins,visual inertial system)在无人机、自动驾驶汽车等无人自主系统中有非常广泛的应用。虽然现代无人自主系统多数是以gnns(global navigation satellite system,全球导航定位系统)和4g/5g技术作为基础定位技术,但是对于隧道、偏远山区等信号覆盖较差的地方,视觉惯性系统仍然是一种非常好的辅助定位技术。其中,视觉惯性系统产品虽然已有一些应用,但高精度的视觉惯性系统从技术上讲仍然存在一些挑战。如何将视觉和惯性测量单元(imu,inertial measurement unit)的数据融合,研发高精度、高鲁棒性的视觉惯性系统,具有重要的研发意义。
3.对于视觉惯性融合系统,其数据处理可以包括前处理以及后处理两部分,前处理可以为基于特征检测和追踪的方法,后处理可以为基于非线性求解的优化方法。其中,后处理增强了系统的鲁棒性,提升了定位精度,相应的其系统的运算量也更大,前处理可以提高数据运算速度,但是定位精度较低,若采用全局优化的方式,则系统的精度虽然高但运算效率却显著下降。
技术实现要素:4.本发明实施例是提供一种目标对象的定位方法、系统、装置、电子设备以及计算机可读存储介质,以解决或部分解决视觉惯性融合系统在进行定位过程中存在运算效率低、定位精度低的问题。
5.本发明实施例公开了一种目标对象的定位方法,包括:
6.获取目标对象采集的环境数据以及运动数据;
7.获取原始海森矩阵以及针对所述原始海森矩阵的维度信息,并根据所述维度信息对所述原始海森矩阵进行边缘化处理,获得目标海森矩阵;
8.对所述目标海森矩阵进行求解,获得若干个子矩阵;
9.根据所述若干个子矩阵进行加速计算,获得雅可比矩阵以及残差矩阵,所述雅可比矩阵为用于表征视觉惯性融合系统的状态信息的矩阵,所述残差矩阵为用于优化变量参数的矩阵;
10.根据所述雅可比矩阵与所述残差矩阵对所述环境数据和所述运动数据进行计算,获得所述目标对象的定位信息。
11.可选地,所述子矩阵至少包括第一子矩阵、第二子矩阵以及第三子矩阵,所述根据所述若干个子矩阵进行加速计算,获得雅可比矩阵以及残差矩阵,包括:
12.将所述第一子矩阵和转置后的第一子矩阵进行相加,获得第一目标矩阵;
13.根据所述第一目标矩阵的第一特征信息进行矩阵运算,获得所述第一目标矩阵的
第一逆矩阵;
14.将所述第一逆矩阵分别与所述第二子矩阵和所述第三子矩阵进行相乘,获得所述第二子矩阵对应的第二目标矩阵以及所述第三子矩阵对应的第三目标矩阵;
15.根据所述第二目标矩阵的第二特征信息进行矩阵运算,获得所述第二目标矩阵对应的对角矩阵以及所述对角矩阵对应的第二逆矩阵;
16.采用所述对角矩阵的第三特征信息进行矩阵运算,获得雅可比矩阵;
17.采用所述第二逆矩阵与所述第三子矩阵进行矩阵运算,获得残差矩阵。
18.可选地,所述根据所述第一目标矩阵的第一特征信息进行矩阵运算,获得所述第一目标矩阵的第一逆矩阵,包括:
19.获取所述第一目标矩阵的第一特征值以及第一特征向量;
20.将所述第一特征值构建的第一矩阵和所述第一特征向量构建的第二矩阵进行相乘,获得所述第一目标矩阵对应的第一逆矩阵。
21.可选地,所述根据所述第二目标矩阵的第二特征信息进行矩阵运算,获得所述第二目标矩阵对应的对角矩阵以及所述对角矩阵对应的第二逆矩阵,包括:
22.获取所述第二目标矩阵的第二特征值以及第二特征向量;
23.将所述第二特征值构建的第三矩阵和所述第二特征向量构建的第四矩阵进行相乘,获得所述第二目标矩阵对应的目标向量和目标逆向量;
24.对所述目标向量中的每一个标量进行平方根运算,获得所述目标向量对应的对角矩阵,并对所述目标逆向量中的每一个标量进行平方根运算,获得所述对角矩阵对应的第二逆矩阵。
25.可选地,所述采用所述对角矩阵的第三特征信息进行矩阵运算,获得雅可比矩阵,包括:
26.获取所述对角矩阵的第三特征向量;
27.将所述对角矩阵以及所述第三特征向量进行相乘,获得雅可比矩阵。
28.可选地,所述采用所述第二逆矩阵与所述第三子矩阵进行矩阵运算,获得残差矩阵,包括:
29.获取所述第二逆矩阵的第四特征向量;
30.将所述第二逆矩阵、所述第四特征向量以及所述第三子矩阵进行相乘,获得残差矩阵。
31.可选地,所述维度信息包括需要边缘化的第一维度信息以及需要保留的第二维度信息,所述根据所述维度信息对所述原始海森矩阵进行边缘化处理,获得目标海森矩阵,包括:
32.采用所述第一维度信息与所述第二维度信息对所述原始海森矩阵进行边缘化处理,构建目标海森矩阵。
33.本发明实施例还公开了一种视觉惯性融合系统,所述视觉惯性融合系统包括视觉和惯性测量单元、控制指令存储器、张量数据存储器、张量算术逻辑运算阵列以及张量加速计算控制单元;所述张量数据存储器中存储有所述视觉和惯性测量单元采集的环境数据以及运动数据;其中,
34.所述张量加速计算控制单元,用于响应于接收到所述控制指令存储器传输的定位
运算指令,将所述定位运算指令传输至所述张量算术逻辑运算阵列;
35.所述张量算术逻辑运算阵列,用于根据所述定位运算指令从所述张量数据存储器中获取原始海森矩阵以及获取针对所述原始海森矩阵的维度信息,并根据所述维度信息对所述原始海森矩阵进行边缘化处理,获得目标海森矩阵;对所述目标海森矩阵进行求解,获得若干个子矩阵;根据所述若干个子矩阵进行加速计算,获得雅可比矩阵以及残差矩阵;根据所述雅可比矩阵与所述残差矩阵对所述环境数据和所述运动数据进行计算,获得所述目标对象的定位信息,所述雅可比矩阵为用于表征视觉惯性融合系统的状态信息的矩阵,所述残差矩阵为用于优化变量参数的矩阵;
36.所述张量数据存储器,用于存储所述目标海森矩阵、所述雅可比矩阵、所述残差矩阵以及所述定位信息。
37.可选地,所述张量算术逻辑运算阵列包括计算指令解析单元、若干个算术逻辑单元以及加法器树;
38.所述计算指令解析单元,用于解析所述定位运算指令,从所述张量数据存储器获取所述环境数据、所述运动数据以及原始海森矩阵,并获取针对所述原始海森矩阵的维度信息;
39.所述算术逻辑单元,用于将所述第一子矩阵和转置后的第一子矩阵进行相加,获得第一目标矩阵;根据所述第一目标矩阵的第一特征信息进行矩阵运算,获得所述第一目标矩阵的第一逆矩阵;将所述第一逆矩阵分别与所述第二子矩阵和所述第三子矩阵进行相乘,获得所述第二子矩阵对应的第二目标矩阵以及所述第三子矩阵对应的第三目标矩阵;根据所述第二目标矩阵的第二特征信息进行矩阵运算,获得所述第二目标矩阵对应的对角矩阵以及所述对角矩阵对应的第二逆矩阵;采用所述对角矩阵的第三特征信息进行矩阵运算,获得雅可比矩阵;采用所述第二逆矩阵与所述第三子矩阵进行矩阵运算,获得残差矩阵;
40.所述加法器树,用于在进行矩阵乘法时进行运算加速。
41.可选地,所述算术逻辑单元包括第一算术逻辑单元以及若干个第二算术逻辑单元;其中,所述第一算术逻辑单元用于执行加法、减法、乘法、除法以及开方中的至少一种运算,所述第二算术逻辑单元用于执行加法、减法、乘法中的至少一种运算。
42.本发明实施例还公开了一种目标对象的定位装置,包括:
43.数据获取模块,用于获取目标对象采集的环境数据以及运动数据;
44.海森矩阵获取模块,用于获取原始海森矩阵以及针对所述原始海森矩阵的维度信息,并根据所述维度信息对所述原始海森矩阵进行边缘化处理,获得目标海森矩阵;
45.求解模块,用于对所述目标海森矩阵进行求解,获得若干个子矩阵;
46.加速计算模块,用于根据所述若干个子矩阵进行加速计算,获得雅可比矩阵以及残差矩阵,所述雅可比矩阵为用于表征视觉惯性融合系统的状态信息的矩阵,所述残差矩阵为用于优化变量参数的矩阵;
47.定位模块,用于根据所述雅可比矩阵与所述残差矩阵对所述环境数据和所述运动数据进行计算,获得所述目标对象的定位信息。
48.可选地,所述子矩阵至少包括第一子矩阵、第二子矩阵以及第三子矩阵,所述加速计算模块具体用于:
49.将所述第一子矩阵和转置后的第一子矩阵进行相加,获得第一目标矩阵;
50.根据所述第一目标矩阵的第一特征信息进行矩阵运算,获得所述第一目标矩阵的第一逆矩阵;
51.将所述第一逆矩阵分别与所述第二子矩阵和所述第三子矩阵进行相乘,获得所述第二子矩阵对应的第二目标矩阵以及所述第三子矩阵对应的第三目标矩阵;
52.根据所述第二目标矩阵的第二特征信息进行矩阵运算,获得所述第二目标矩阵对应的对角矩阵以及所述对角矩阵对应的第二逆矩阵;
53.采用所述对角矩阵的第三特征信息进行矩阵运算,获得雅可比矩阵;
54.采用所述第二逆矩阵与所述第三子矩阵进行矩阵运算,获得残差矩阵。
55.可选地,所述加速计算模块具体用于:
56.获取所述第一目标矩阵的第一特征值以及第一特征向量;
57.将所述第一特征值构建的第一矩阵和所述第一特征向量构建的第二矩阵进行相乘,获得所述第一目标矩阵对应的第一逆矩阵。
58.可选地,所述加速计算模块具体用于:
59.获取所述第二目标矩阵的第二特征值以及第二特征向量;
60.将所述第二特征值构建的第三矩阵和所述第二特征向量构建的第四矩阵进行相乘,获得所述第二目标矩阵对应的目标向量和目标逆向量;
61.对所述目标向量中的每一个标量进行平方根运算,获得所述目标向量对应的对角矩阵,并对所述目标逆向量中的每一个标量进行平方根运算,获得所述对角矩阵对应的第二逆矩阵。
62.可选地,所述加速计算模块具体用于:
63.获取所述对角矩阵的第三特征向量;
64.将所述对角矩阵以及所述第三特征向量进行相乘,获得雅可比矩阵。
65.可选地,所述加速计算模块具体用于:
66.获取所述第二逆矩阵的第四特征向量;
67.将所述第二逆矩阵、所述第四特征向量以及所述第三子矩阵进行相乘,获得残差矩阵。
68.可选地,所述维度信息包括需要边缘化的第一维度信息以及需要保留的第二维度信息,所述海森矩阵获取模块具体用于:
69.采用所述第一维度信息与所述第二维度信息对所述原始海森矩阵进行边缘化处理,构建目标海森矩阵。
70.本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
71.所述存储器,用于存放计算机程序;
72.所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
73.本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
74.本发明实施例包括以下优点:
75.在本发明实施例中,目标对象在进行定位时,可以获取所采集到的环境数据以及运动数据,接着可以获取用于定位运算的海森矩阵以及针对原始海森矩阵的维度信息,并根据维度信息对原始海森矩阵进行边缘化处理,获得目标海森矩阵,接着可以对目标海森矩阵进行求解,获得若干个子矩阵,然后根据若干个子矩阵进行加速计算,获得雅可比矩阵以及残差矩阵,雅可比矩阵为用于表征视觉惯性融合系统的状态信息的矩阵,残差矩阵为用于优化变量参数的矩阵,再根据雅可比矩阵与残差矩阵对环境数据和运动数据进行计算,获得目标对象的定位信息,从而在进行定位的过程中,尤其是通过视觉惯性融合系统进行辅助定位时,通过对系统中的海森矩阵进行边缘化加速计算得到对应的雅可比矩阵以及残差矩阵,可以在保证定位精度的情况下,有效地控制系统的运算量,提高运算效率。
附图说明
76.图1是本发明实施例中提供的一种目标对象的定位方法的步骤流程图;
77.图2是本发明实施例中提供的视觉惯性融合系统的结构示意图;
78.图3是本发明实施例中提供的张量加速计算控制单元的结构示意图;
79.图4是本发明实施例中提供的张量算术逻辑运算阵列的结构示意图;
80.图5是本发明实施例中提供的张量数据存储器的结构示意图;
81.图6是本发明实施例中提供的海森矩阵的示意图;
82.图7是本发明实施例中提供的一种视觉惯性融合系统的结构框图;
83.图8是本发明实施例中提供的一种目标对象的定位装置的结构框图;
84.图9是本发明实施例中提供的一种电子设备的框图。
具体实施方式
85.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
86.作为一种示例,对于一些定位场景,例如,无人驾驶汽车在地下停车场行驶、飞行汽车在偏远山区进行运动的场景中,当没有定位信号或者4g/5g信号缺失或质量差,则需要依赖视觉惯性融合系统进行定位。其中,当前实现视觉惯性融合系统的实现方案主要分为微处理器和领域专用处理器(asip,application specific instructionset processor)两种方式,通用微处理器实现方案成本低,开发周期短,然而当前视觉惯性融合系统对于1080p分辨率的实现数据吞吐率较低,无法满足高级别自动驾驶应用场景对视觉惯性融合系统的性能需求。
87.对于视觉惯性融合系统,其数据处理可以包括前处理以及后处理两部分,前处理可以为基于特征检测和追踪的方法,后处理可以为基于非线性求解的优化方法。其中,后处理增强了系统的鲁棒性,提升了定位精度,相应的其系统的运算量也更大,前处理可以提高数据运算速度,但是定位精度较低,若采用全局优化的方式,则系统的精度虽然高但运算效率却显著下降。因此引入滑窗方法,每次对特定数量的帧进行优化操作,这样既保证了精度又保证了效率。窗口滑动的过程中新的图像帧和imu数据更新和替换旧的数据,这样的边缘化(marginalization)操作可以更好的利用历史的图像帧和imu的信息。在上述过程中,海
森矩阵边缘化计算是vins系统中后处理计算占比最大的部分,因此提升海森矩阵边缘化的计算效率是提升系统吞吐能力的关键。
88.对此,本发明的核心发明点之一在于构建视觉惯性融合系统的边缘化计算加速结构,并通过边缘化计算加速结构对海森矩阵边缘化计算进行加速,提升定位运算中处理计算占比最大的部分的运算效率,从而通过提升海森矩阵边缘化的计算效率实现提升视觉惯性融合系统的吞吐能力。
89.参照图1,示出了本发明实施例中提供的一种目标对象的定位方法的步骤流程图,具体可以包括如下步骤:
90.步骤101,获取目标对象采集的环境数据以及运动数据;
91.可选地,对于目标对象,其可以为车辆、飞行汽车、无人机、轮船等需要进行定位的对象,在目标对象上可以部署有相应的传感器,用于实现定位。其中,在定位信号或网络信号较差的情况下,目标对象无法有效地对自身进行定位,从而影响目标对象的运动或停泊。对此,可以在目标对象上部署视觉惯性融合系统,在目标对象出现定位信号和/或网络信号异常的情况下,基于视觉惯性融合系统进行辅助定位。
92.在具体实现中,视觉惯性融合系统可以响应于信号异常指令(包括定位信号异常、网络信号异常),接着可以通过视觉和惯性测量单元采集的环境数据以及运动数据。可选地,视觉惯性融合系统可以为双目相机和视觉惯性系统两者的融合系统,则在该系统中可以包括视觉传感器以及惯性测量传感器,对于视觉传感器,其可以为各类相机,其以图像的形式记录传感器数据,一般而言频率较低(24hz到60hz),我们可以通过多视图几何对其运动进行估计,在融合中,它的优点是接近无运动的情况下漂移较小,并且可以直接估计位姿;对于惯性测量传感器,其可以通过加速度计和陀螺仪测量自身的加速度和角速度,一般而言频率很高(100hz-1khz),通过对加速度和角速度积分得到自身运动的位移和旋转,从而在目标对象发生定位信号和/或网络信号异常的情况下,可以视觉惯性融合系统可以通过对所采集的环境数据和运动数据进行处理,实现辅助定位。
93.步骤102,获取原始海森矩阵以及针对所述原始海森矩阵的维度信息,并根据所述维度信息对所述原始海森矩阵进行边缘化处理,获得目标海森矩阵;
94.在本发明实施例中,在对环境数据和运动数据进行处理之前,视觉惯性融合系统可以先对海森矩阵进行边缘化计算加速,接着根据加速结果对环境数据和运动数据进行处理,实现对目标对象的定位。
95.其中,对于视觉惯性融合系统,其可以为基于多核处理器片上的系统,多核处理器片上系统包含处理器系统(ps,processing system),可编程逻辑单元(pl,programmable logic)两部分。在视觉惯性融合系统中可以包括张量计算加速单元,其用于完成存储和张量计算的控制,具体可以位于pl,该视觉惯性融合系统具体可以包括控制指令存储器、张量数据存储器、张量算术逻辑运算阵列、张量计算加速控制单元。可选地,张量计算单元分为两种组织形式,一种是64路半精度(fp16,floating point 16bits),一种是32路单精度(fp32,floating point 32bits),fp32的精度可以高于fp16的精度。
96.在一种示例中,参照图2,示出了本发明实施例中提供的视觉惯性融合系统的结构示意图,视觉惯性融合系统中涉及张量计算加速的部件可以包括
①
控制指令存储器、
②
张量数据存储器、
③
张量算术逻辑运算阵列、
④
张量计算加速控制单元以及
⑤
数据传输单元
等。其中,
①
控制指令存储器用于存储运算控制指令数据,该数据通过汇编解释器离线生成,由ps下发;
②
张量数据存储器可以用于存储原始海森矩阵、需要边缘化的海森矩阵、雅可比矩阵、残差项,其可以包括若干个uram组件,uram组件可以为pl内部存储器组件;
③
张量算术逻辑运算阵列可以用于完成各项张量计算操作,包括标量除法、开平方等,1d张量加法、减法、乘法等,2d张量的运算可以通过1d张量的循环操作完成,其可以包括多种组织形式,如fp16以及fp32等;
④
张量计算加速控制单元可以用于完成存储和张量计算的控制;
⑤
数据传输单元可以要用于完成可编程逻辑单元pl侧计算器和处理器系统ps侧dram(动态随机存取存储器,dynamic random access memory)的数据交互,其支持ps侧数据向pl的load操作,也支持ps从pl获取计算结果的fetch操作。通过边缘化的计算方式,可以有效地控制运算量;选择性地从滑窗中的次新帧或最旧的帧进行删除,可以让滑窗中的帧有足够多的视差量;在删除最旧的帧时,要以边缘化约束的形式,保留旧帧数据对其它帧的约束(即先验信息)。
97.参照图3,示出了本发明实施例中提供的张量加速计算控制单元的结构示意图,对于张量加速计算控制单元,其可以包括
①
控制指令单元(pc,program counter)、
②
数据传输控制接口单元以及
③
张量计算控制单元。其中,
①
控制指令单元的输出是控制指令存储器地址端口的输入,控制指令单元可以根据不同的运算类型指向指令存储器的不同地址,如前所述,控制指令存储器的内容是通过离线汇编解释器生成,可以覆盖所有边缘化计算操作;控制指令存储器输出的指令将直接驱动
②
数据传输控制接口单元以及
③
张量计算控制单元等两个单元;
②
数据传输控制单元可以用于控制数据传输模块,用于完成和数据传输模块的接口;
③
张量计算控制单元可以用于从张量数据存储器获取对应的数据、原始海森矩阵等,并通过张量算术逻辑运算阵列进行海森矩阵计算以及定位运算。此外,张量加速计算控制单元中还可以包括选择器,其可以用于根据指令类型确定控制指令解析单元的输出结果是传输至
②
数据传输控制接口单元,还是
③
张量计算控制单元。
98.参照图4,示出了本发明实施例中提供的张量算术逻辑运算阵列的结构示意图,对于张量算术逻辑运算阵列,其可以包括
①
计算指令解析单元、若干个
②‑③
算术逻辑单元以及
④
加法器树等部件,算术逻辑单元可以包括同构算术逻辑单元以及异构算术逻辑单元。其中,
①
计算指令解析单元可以用于从张量加速计算控制单元中获取计算指令,并根据计算指令选择张量数据存储器中对应的数据传入
②
算术逻辑单元或
③
算术逻辑单元进行计算,并且在完成计算后,可以根据计算指令选取对应的计算结果写入到张量数据存储器中。其中,对于64路半精度或32路单精度组织形式的张量算术逻辑运算阵列来说,共需要64或32个算术逻辑单元。考虑到实际算法和pl资源,算术逻辑单元共可以分为2种,分别为
②
算术逻辑单元0和
③
算术逻辑单元n。其中
②
算术逻辑单元0只部署一个,可以支持加法、减法、乘法、除法、开方操作。其余的算数逻辑单元均为
③
算数逻辑单元n,仅支持加法、减法、乘法操作。同时,在张量算术逻辑运算阵列里部署
④
加法树,用来对矩阵乘法进行加速。此外,张量算术逻辑运算阵列中还包括选择器,用于根据指令类型来确定将哪一种运算的结果传输至哪一个算术逻辑单元,以及根据指令类型确定将算术逻辑单元的哪一种运算结果传输至张量数据存储器。
99.参照图5,示出了本发明实施例中提供的张量数据存储器的结构示意图,对于张量数据存储器,其可以由16个
②
基本存储单元构成,每个
②
基本存储单元又由2个
①
uram
(ultraram)构成。
①
uram可以为pl内部存储器组件,其大小为64bitx4096,拥有一个读端口和一个写端口,每个地址存储4个半精度浮点数(fp16)或2个单精度浮点数(fp32)。可以理解的是,考虑到实际计算需求,使用两个
①
uram构成
②
基本存储单元,每个
②
基本存储单元有一个写端口和两个读端口。两个
①
uram的写端口连接在一起,保证两个
①
uram内存储的数据完全一致;两个
①
uram的读端口直接作为
②
基本存储单元的两个读端口,保证可以同时从
②
基本存储单元不同地址中读取2个不同的数进行计算。可选地,张量数据存储器由16个
②
基本存储单元组成,有效存储数据容量为1024bit x 4096。张量数据存储器由张量加速计算控制部件控制其读写地址和读写使能,为张量算术逻辑阵列提供操作数,以及存储张量算术逻辑阵列的计算结果。
100.通过上述视觉惯性融合系统的加速计算结构,可以有效地对视觉惯性融合系统的海森矩阵进行边缘化计算加速,从而实现在保证系统定位精度的情况下,有效地控制运算量,提高运算效率。
101.对于海森矩阵边缘化加速计算,可以包括三个阶段,第一,构建可边缘化的海森矩阵,第二,为海森矩阵舒尔补求解,第三,更新雅可比矩阵以及残差矩阵。其中,对于构建可边缘化的海森矩阵,可以通过获取需要边缘化的第一维度信息以及需要保留的第二维度信息,接着采用第一维度信息与第二维度信息对原始海森矩阵进行边缘化处理,构建目标海森矩阵。
102.在一种示例中,参照图6,示出了本发明实施例中提供的海森矩阵的示意图,可以将原始海森矩阵加载到张量数据存储器中,并通过边缘化计算方式快速获取近似的二阶状态信息(即边缘化之后的海森矩阵),具体的,ps可以根据需要边缘化的维度m和需要保留的维度n向pl加载矩阵数据,得到目标海森矩阵。
103.步骤103,对所述目标海森矩阵进行求解,获得若干个子矩阵;
104.如图6所示,可以对目标海森矩阵进行求解,得到amm矩阵、amr矩阵、arm矩阵以及arr矩阵等不同的子矩阵,以便根据不同的子矩阵实现海森矩阵边缘化的加速计算。
105.步骤104,根据所述若干个子矩阵进行加速计算,获得雅可比矩阵以及残差矩阵,所述雅可比矩阵为用于表征视觉惯性融合系统的状态信息的矩阵,所述残差矩阵为用于优化变量参数的矩阵;
106.在具体实现中,通过对海森矩阵进行边缘化的加速计算,可以得到雅可比矩阵以及残差矩阵。具体的,子矩阵至少包括第一子矩阵、第二子矩阵以及第三子矩阵,则可以先将第一子矩阵和转置后的第一子矩阵进行相加,获得第一目标矩阵,并根据第一目标矩阵的第一特征信息进行矩阵运算,获得第一目标矩阵的第一逆矩阵,接着将第一逆矩阵分别与第二子矩阵和第三子矩阵进行相乘,获得第二子矩阵对应的第二目标矩阵以及第三子矩阵对应的第三目标矩阵,再根据第二目标矩阵的第二特征信息进行矩阵运算,获得第二目标矩阵对应的对角矩阵以及对角矩阵对应的第二逆矩阵,然后可以采用对角矩阵的第三特征信息进行矩阵运算,获得雅可比矩阵,以及采用第二逆矩阵与第三子矩阵进行矩阵运算,获得残差矩阵,从而通过海森矩阵进行边缘化加速计算得到对应的雅可比矩阵以及残差矩阵,可以在保证定位精度的情况下,有效地控制系统的运算量,提高运算效率。
107.在一种可选实施例中,对于海森矩阵的边缘化加速计算,具体可以包括:
108.将第一子矩阵和转置后的第一子矩阵进行相加,获得第一目标矩阵,接着获取第
一目标矩阵的第一特征值以及第一特征向量,然后可以将第一特征值构建的第一矩阵和第一特征向量构建的第二矩阵进行相乘,获得第一目标矩阵对应的第一逆矩阵。在得到第一逆矩阵之后,可以将第一逆矩阵分别与第二子矩阵和第三子矩阵进行相乘,获得第二子矩阵对应的第二目标矩阵以及第三子矩阵对应的第三目标矩阵,然后可以获取第二目标矩阵的第二特征值以及第二特征向量,并将第二特征值构建的第三矩阵和第二特征向量构建的第四矩阵进行相乘,获得第二目标矩阵对应的目标向量和目标逆向量,然后可以对目标向量中的每一个标量进行平方根运算,获得目标向量对应的对角矩阵,并对目标逆向量中的每一个标量进行平方根运算,获得对角矩阵对应的第二逆矩阵。在得到对角矩阵以及对角矩阵对应的第二逆矩阵之后,可以获取对角矩阵的第三特征向量,并将对角矩阵以及第三特征向量进行相乘,获得雅可比矩阵,同时可以获取第二逆矩阵的第四特征向量,将第二逆矩阵、第四特征向量以及第三子矩阵进行相乘,获得残差矩阵。
109.在一种示例中,对于第一子矩阵、第二子矩阵、第三子矩阵以及第四子矩阵等,可以为目标海森矩阵的矩阵元素,分别可以对应于目标海森矩阵中的amm矩阵、amr矩阵、arm矩阵以及arr矩阵,则在对海森矩阵进行边缘化的加速计算过程中,可以先将目标海森矩阵中的amm矩阵以及转置amm矩阵进行相加,得到目标amm矩阵,接着可以在ps中计算目标amm矩阵的第一特征值和第一特征向量,并将第一特征值和第二特征向量分别构成的矩阵进行相乘,获得amm_inv矩阵。在得到目标amm矩阵的逆矩阵amm_inv矩阵之后,可以将其分别与目标海森矩阵中的amr矩阵以及arm矩阵进行相乘,获得更新维度为n*n的海森矩阵a和海森矩阵b。接着,可以分别计算海森矩阵a的特征值和特征向量,然后将特征值和特征向量组成的矩阵再相乘,获得海森矩阵a对应的s向量和s_inv逆向量,然后可以分别对s向量和s_inv逆向量中的每一个标量进行逐点做平方根运算,构造有特征值数组组成的对角矩阵s_sqrt及对角矩阵s_sqrt对应的逆矩阵s_sqrt_inv。然后,可以获取对角矩阵s_sqrt的特征向量,并将对角矩阵s_sqrt与其对应的特征向量进行相乘,从而得到可以用于表征当前融合系统的状态信息的雅可比矩阵,同时,可以将逆矩阵s_sqrt_inv与其对应的特征向量和海森矩阵b进行相乘,得到残差矩阵,从而通过海森矩阵进行边缘化加速计算得到对应的雅可比矩阵以及残差矩阵,可以在保证定位精度的情况下,有效地控制系统的运算量,提高运算效率。
110.通过上述过程完成海森矩阵边缘化计算加速后,可以基于计算加速后得到的雅可比矩阵和残差矩阵对所采集的环境数据以及运动数据处理,以实现目标对象的定位,从而在目标对象出现定位信号和/或网络信号异常的情况下,可以通过视觉惯性融合系统进行辅助定位。
111.步骤105,根据所述雅可比矩阵与所述残差矩阵对所述环境数据和所述运动数据进行计算,获得所述目标对象的定位信息。
112.在完成海森矩阵边缘化计算加速后,可以基于得到的雅可比矩阵以及残差矩阵对视觉和惯性测量单元采集的环境数据和运动数据对目标对象进行计算,获得目标对象的定位信息。可选地,对于定位过程的运算,其属于相关现有技术,在此不再赘述。
113.需要说明的是,本发明实施例包括但不限于上述示例,可以理解的是,基于本发明实施例的教导,本领域技术人员还可以采用其他方式进行适应性调整,本发明对此不作限制。
114.在本发明实施例中,目标对象在进行定位时,可以获取所采集到的环境数据以及运动数据,接着可以获取用于定位运算的海森矩阵以及针对原始海森矩阵的维度信息,并根据维度信息对原始海森矩阵进行边缘化处理,获得目标海森矩阵,接着可以对目标海森矩阵进行求解,获得若干个子矩阵,然后根据若干个子矩阵进行加速计算,获得雅可比矩阵以及残差矩阵,雅可比矩阵为用于表征视觉惯性融合系统的状态信息的矩阵,残差矩阵为用于优化变量参数的矩阵,再根据雅可比矩阵与残差矩阵对环境数据和运动数据进行计算,获得目标对象的定位信息,从而在进行定位的过程中,尤其是通过视觉惯性融合系统进行辅助定位时,通过对系统中的海森矩阵进行边缘化加速计算得到对应的雅可比矩阵以及残差矩阵,可以在保证定位精度的情况下,有效地控制系统的运算量,提高运算效率。
115.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
116.参照图7,示出了本发明实施例中提供的一种视觉惯性融合系统的结构框图,具体可以包括视觉和惯性测量单元、控制指令存储器、张量数据存储器、张量算术逻辑运算阵列以及张量加速计算控制单元;所述张量数据存储器中存储有所述视觉和惯性测量单元采集的环境数据以及运动数据;其中,
117.所述张量加速计算控制单元,用于响应于接收到所述控制指令存储器传输的定位运算指令,将所述定位运算指令传输至所述张量算术逻辑运算阵列;
118.所述张量算术逻辑运算阵列,用于根据所述定位运算指令从所述张量数据存储器中获取原始海森矩阵以及获取针对所述原始海森矩阵的维度信息,并根据所述维度信息对所述原始海森矩阵进行边缘化处理,获得目标海森矩阵;对所述目标海森矩阵进行求解,获得若干个子矩阵;根据所述若干个子矩阵进行加速计算,获得雅可比矩阵以及残差矩阵;根据所述雅可比矩阵与所述残差矩阵对所述环境数据和所述运动数据进行计算,获得所述目标对象的定位信息,所述雅可比矩阵为用于表征视觉惯性融合系统的状态信息的矩阵,所述残差矩阵为用于优化变量参数的矩阵;
119.所述张量数据存储器,用于存储所述目标海森矩阵、所述雅可比矩阵、所述残差矩阵以及所述定位信息。
120.在一种可选实施例中,所述张量算术逻辑运算阵列包括计算指令解析单元、若干个算术逻辑单元以及加法器树;
121.所述计算指令解析单元,用于解析所述定位运算指令,从所述张量数据存储器获取所述环境数据、所述运动数据以及原始海森矩阵,并获取针对所述原始海森矩阵的维度信息;
122.所述算术逻辑单元,用于将所述第一子矩阵和转置后的第一子矩阵进行相加,获得第一目标矩阵;根据所述第一目标矩阵的第一特征信息进行矩阵运算,获得所述第一目标矩阵的第一逆矩阵;将所述第一逆矩阵分别与所述第二子矩阵和所述第三子矩阵进行相乘,获得所述第二子矩阵对应的第二目标矩阵以及所述第三子矩阵对应的第三目标矩阵;根据所述第二目标矩阵的第二特征信息进行矩阵运算,获得所述第二目标矩阵对应的对角
矩阵以及所述对角矩阵对应的第二逆矩阵;采用所述对角矩阵的第三特征信息进行矩阵运算,获得雅可比矩阵;采用所述第二逆矩阵与所述第三子矩阵进行矩阵运算,获得残差矩阵;
123.所述加法器树,用于在进行矩阵乘法时进行运算加速。
124.在一种可选实施例中,所述算术逻辑单元包括第一算术逻辑单元以及若干个第二算术逻辑单元;其中,所述第一算术逻辑单元用于执行加法、减法、乘法、除法以及开方中的至少一种运算,所述第二算术逻辑单元用于执行加法、减法、乘法中的至少一种运算。
125.参照图8,示出了本发明实施例中提供的一种目标对象的定位装置的结构框图,具体可以包括如下模块:
126.数据获取模块801,用于获取目标对象采集的环境数据以及运动数据;
127.海森矩阵获取模块802,用于获取原始海森矩阵以及针对所述原始海森矩阵的维度信息,并根据所述维度信息对所述原始海森矩阵进行边缘化处理,获得目标海森矩阵;
128.求解模块803,用于对所述目标海森矩阵进行求解,获得若干个子矩阵;
129.加速计算模块804,用于根据所述若干个子矩阵进行加速计算,获得雅可比矩阵以及残差矩阵,所述雅可比矩阵为用于表征视觉惯性融合系统的状态信息的矩阵,所述残差矩阵为用于优化变量参数的矩阵;
130.定位模块805,用于根据所述雅可比矩阵与所述残差矩阵对所述环境数据和所述运动数据进行计算,获得所述目标对象的定位信息。
131.在一种可选实施例中,所述子矩阵至少包括第一子矩阵、第二子矩阵以及第三子矩阵,所述加速计算模块804具体用于:
132.将所述第一子矩阵和转置后的第一子矩阵进行相加,获得第一目标矩阵;
133.根据所述第一目标矩阵的第一特征信息进行矩阵运算,获得所述第一目标矩阵的第一逆矩阵;
134.将所述第一逆矩阵分别与所述第二子矩阵和所述第三子矩阵进行相乘,获得所述第二子矩阵对应的第二目标矩阵以及所述第三子矩阵对应的第三目标矩阵;
135.根据所述第二目标矩阵的第二特征信息进行矩阵运算,获得所述第二目标矩阵对应的对角矩阵以及所述对角矩阵对应的第二逆矩阵;
136.采用所述对角矩阵的第三特征信息进行矩阵运算,获得雅可比矩阵;
137.采用所述第二逆矩阵与所述第三子矩阵进行矩阵运算,获得残差矩阵。
138.在一种可选实施例中,所述加速计算模块804具体用于:
139.获取所述第一目标矩阵的第一特征值以及第一特征向量;
140.将所述第一特征值构建的第一矩阵和所述第一特征向量构建的第二矩阵进行相乘,获得所述第一目标矩阵对应的第一逆矩阵。
141.在一种可选实施例中,所述加速计算模块804具体用于:
142.获取所述第二目标矩阵的第二特征值以及第二特征向量;
143.将所述第二特征值构建的第三矩阵和所述第二特征向量构建的第四矩阵进行相乘,获得所述第二目标矩阵对应的目标向量和目标逆向量;
144.对所述目标向量中的每一个标量进行平方根运算,获得所述目标向量对应的对角矩阵,并对所述目标逆向量中的每一个标量进行平方根运算,获得所述对角矩阵对应的第
二逆矩阵。
145.在一种可选实施例中,所述加速计算模块804具体用于:
146.获取所述对角矩阵的第三特征向量;
147.将所述对角矩阵以及所述第三特征向量进行相乘,获得雅可比矩阵。
148.在一种可选实施例中,所述加速计算模块804具体用于:
149.获取所述第二逆矩阵的第四特征向量;
150.将所述第二逆矩阵、所述第四特征向量以及所述第三子矩阵进行相乘,获得残差矩阵。
151.在一种可选实施例中,所述维度信息包括需要边缘化的第一维度信息以及需要保留的第二维度信息,所述海森矩阵获取模块802具体用于:
152.采用所述第一维度信息与所述第二维度信息对所述原始海森矩阵进行边缘化处理,构建目标海森矩阵。
153.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
154.另外,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述目标对象的定位方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
155.本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述目标对象的定位方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
156.图9为实现本发明各个实施例的一种电子设备的硬件结构示意图。
157.该电子设备900包括但不限于:射频单元901、网络模块902、音频输出单元903、输入单元904、传感器905、显示单元906、用户输入单元907、接口单元908、存储器909、处理器910、以及电源911等部件。本领域技术人员可以理解,图9中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
158.应理解的是,本发明实施例中,射频单元901可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器910处理;另外,将上行的数据发送给基站。通常,射频单元901包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元901还可以通过无线通信系统与网络和其他设备通信。
159.电子设备通过网络模块902为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
160.音频输出单元903可以将射频单元901或网络模块902接收的或者在存储器909中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元903还可以提供与电子设备900执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等
等)。音频输出单元903包括扬声器、蜂鸣器以及受话器等。
161.输入单元904用于接收音频或视频信号。输入单元904可以包括图形处理器(graphics processing unit,gpu)9041和麦克风9042,图形处理器9041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元906上。经图形处理器9041处理后的图像帧可以存储在存储器909(或其它存储介质)中或者经由射频单元901或网络模块902进行发送。麦克风9042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元901发送到移动通信基站的格式输出。
162.电子设备900还包括至少一种传感器905,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板9061的亮度,接近传感器可在电子设备900移动到耳边时,关闭显示面板9061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器905还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
163.显示单元906用于显示由用户输入的信息或提供给用户的信息。显示单元906可包括显示面板9061,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板9061。
164.用户输入单元907可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的信号输入。具体地,用户输入单元907包括触控面板9071以及其他输入设备9072。触控面板9071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板9071上或在触控面板9071附近的操作)。触控面板9071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器910,接收处理器910发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板9071。除了触控面板9071,用户输入单元907还可以包括其他输入设备9072。具体地,其他输入设备9072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
165.进一步的,触控面板9071可覆盖在显示面板9061上,当触控面板9071检测到在其上或附近的触摸操作后,传送给处理器910以确定触摸事件的类型,随后处理器910根据触摸事件的类型在显示面板9061上提供相应的视觉输出。虽然在图9中,触控面板9071与显示面板9061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板9071与显示面板9061集成而实现电子设备的输入和输出功能,具体此处不做限定。
166.接口单元908为外部装置与电子设备900连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口、耳机端
口等等。接口单元908可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备900内的一个或多个元件或者可以用于在电子设备900和外部装置之间传输数据。
167.存储器909可用于存储软件程序以及各种数据。存储器909可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器909可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
168.处理器910是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器909内的软件程序和/或模块,以及调用存储在存储器909内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器910可包括一个或多个处理单元;优选的,处理器910可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器910中。
169.电子设备900还可以包括给各个部件供电的电源911(比如电池),优选的,电源911可以通过电源管理系统与处理器910逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
170.另外,电子设备900包括一些未示出的功能模块,在此不再赘述。
171.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
172.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术作出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
173.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
174.本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
175.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、
装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
176.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
177.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
178.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
179.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
180.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
技术特征:1.一种目标对象的定位方法,其特征在于,包括:获取目标对象采集的环境数据以及运动数据;获取原始海森矩阵以及针对所述原始海森矩阵的维度信息,并根据所述维度信息对所述原始海森矩阵进行边缘化处理,获得目标海森矩阵;对所述目标海森矩阵进行求解,获得若干个子矩阵;根据所述若干个子矩阵进行加速计算,获得雅可比矩阵以及残差矩阵,所述雅可比矩阵为用于表征视觉惯性融合系统的状态信息的矩阵,所述残差矩阵为用于优化变量参数的矩阵;根据所述雅可比矩阵与所述残差矩阵对所述环境数据和所述运动数据进行计算,获得所述目标对象的定位信息。2.根据权利要求1所述的方法,其特征在于,所述子矩阵至少包括第一子矩阵、第二子矩阵以及第三子矩阵,所述根据所述若干个子矩阵进行加速计算,获得雅可比矩阵以及残差矩阵,包括:将所述第一子矩阵和转置后的第一子矩阵进行相加,获得第一目标矩阵;根据所述第一目标矩阵的第一特征信息进行矩阵运算,获得所述第一目标矩阵的第一逆矩阵;将所述第一逆矩阵分别与所述第二子矩阵和所述第三子矩阵进行相乘,获得所述第二子矩阵对应的第二目标矩阵以及所述第三子矩阵对应的第三目标矩阵;根据所述第二目标矩阵的第二特征信息进行矩阵运算,获得所述第二目标矩阵对应的对角矩阵以及所述对角矩阵对应的第二逆矩阵;采用所述对角矩阵的第三特征信息进行矩阵运算,获得雅可比矩阵;采用所述第二逆矩阵与所述第三子矩阵进行矩阵运算,获得残差矩阵。3.根据权利要求2所述的方法,其特征在于,所述根据所述第一目标矩阵的第一特征信息进行矩阵运算,获得所述第一目标矩阵的第一逆矩阵,包括:获取所述第一目标矩阵的第一特征值以及第一特征向量;将所述第一特征值构建的第一矩阵和所述第一特征向量构建的第二矩阵进行相乘,获得所述第一目标矩阵对应的第一逆矩阵。4.根据权利要求2所述的方法,其特征在于,所述根据所述第二目标矩阵的第二特征信息进行矩阵运算,获得所述第二目标矩阵对应的对角矩阵以及所述对角矩阵对应的第二逆矩阵,包括:获取所述第二目标矩阵的第二特征值以及第二特征向量;将所述第二特征值构建的第三矩阵和所述第二特征向量构建的第四矩阵进行相乘,获得所述第二目标矩阵对应的目标向量和目标逆向量;对所述目标向量中的每一个标量进行平方根运算,获得所述目标向量对应的对角矩阵,并对所述目标逆向量中的每一个标量进行平方根运算,获得所述对角矩阵对应的第二逆矩阵。5.根据权利要求2所述的方法,其特征在于,所述采用所述对角矩阵的第三特征信息进行矩阵运算,获得雅可比矩阵,包括:获取所述对角矩阵的第三特征向量;
将所述对角矩阵以及所述第三特征向量进行相乘,获得雅可比矩阵。6.根据权利要求2所述的方法,其特征在于,所述采用所述第二逆矩阵与所述第三子矩阵进行矩阵运算,获得残差矩阵,包括:获取所述第二逆矩阵的第四特征向量;将所述第二逆矩阵、所述第四特征向量以及所述第三子矩阵进行相乘,获得残差矩阵。7.根据权利要求1所述的方法,其特征在于,所述维度信息包括需要边缘化的第一维度信息以及需要保留的第二维度信息,所述根据所述维度信息对所述原始海森矩阵进行边缘化处理,获得目标海森矩阵,包括:采用所述第一维度信息与所述第二维度信息对所述原始海森矩阵进行边缘化处理,构建目标海森矩阵。8.一种视觉惯性融合系统,其特征在于,所述视觉惯性融合系统包括视觉和惯性测量单元、控制指令存储器、张量数据存储器、张量算术逻辑运算阵列以及张量加速计算控制单元;所述张量数据存储器中存储有所述视觉和惯性测量单元采集的环境数据以及运动数据;其中,所述张量加速计算控制单元,用于响应于接收到所述控制指令存储器传输的定位运算指令,将所述定位运算指令传输至所述张量算术逻辑运算阵列;所述张量算术逻辑运算阵列,用于根据所述定位运算指令从所述张量数据存储器中获取原始海森矩阵以及获取针对所述原始海森矩阵的维度信息,并根据所述维度信息对所述原始海森矩阵进行边缘化处理,获得目标海森矩阵;对所述目标海森矩阵进行求解,获得若干个子矩阵;根据所述若干个子矩阵进行加速计算,获得雅可比矩阵以及残差矩阵;根据所述雅可比矩阵与所述残差矩阵对所述环境数据和所述运动数据进行计算,获得所述目标对象的定位信息,所述雅可比矩阵为用于表征视觉惯性融合系统的状态信息的矩阵,所述残差矩阵为用于优化变量参数的矩阵;所述张量数据存储器,用于存储所述目标海森矩阵、所述雅可比矩阵、所述残差矩阵以及所述定位信息。9.根据权利要求8所述的系统,其特征在于,所述张量算术逻辑运算阵列包括计算指令解析单元、若干个算术逻辑单元以及加法器树;所述计算指令解析单元,用于解析所述定位运算指令,从所述张量数据存储器获取所述环境数据、所述运动数据以及原始海森矩阵,并获取针对所述原始海森矩阵的维度信息;所述算术逻辑单元,用于将所述第一子矩阵和转置后的第一子矩阵进行相加,获得第一目标矩阵;根据所述第一目标矩阵的第一特征信息进行矩阵运算,获得所述第一目标矩阵的第一逆矩阵;将所述第一逆矩阵分别与所述第二子矩阵和所述第三子矩阵进行相乘,获得所述第二子矩阵对应的第二目标矩阵以及所述第三子矩阵对应的第三目标矩阵;根据所述第二目标矩阵的第二特征信息进行矩阵运算,获得所述第二目标矩阵对应的对角矩阵以及所述对角矩阵对应的第二逆矩阵;采用所述对角矩阵的第三特征信息进行矩阵运算,获得雅可比矩阵;采用所述第二逆矩阵与所述第三子矩阵进行矩阵运算,获得残差矩阵;所述加法器树,用于在进行矩阵乘法时进行运算加速。10.根据权利要求9所述的系统,其特征在于,所述算术逻辑单元包括第一算术逻辑单元以及若干个第二算术逻辑单元;其中,所述第一算术逻辑单元用于执行加法、减法、乘法、
除法以及开方中的至少一种运算,所述第二算术逻辑单元用于执行加法、减法、乘法中的至少一种运算。11.一种目标对象的定位装置,其特征在于,包括:数据获取模块,用于获取目标对象采集的环境数据以及运动数据;海森矩阵获取模块,用于获取原始海森矩阵以及针对所述原始海森矩阵的维度信息,并根据所述维度信息对所述原始海森矩阵进行边缘化处理,获得目标海森矩阵;求解模块,用于对所述目标海森矩阵进行求解,获得若干个子矩阵;加速计算模块,用于根据所述若干个子矩阵进行加速计算,获得雅可比矩阵以及残差矩阵,所述雅可比矩阵为用于表征视觉惯性融合系统的状态信息的矩阵,所述残差矩阵为用于优化变量参数的矩阵;定位模块,用于根据所述雅可比矩阵与所述残差矩阵对所述环境数据和所述运动数据进行计算,获得所述目标对象的定位信息。12.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行存储器上所存放的程序时,实现如权利要求1-7任一项所述的方法。13.一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-7任一项所述的方法。
技术总结本发明实施例提供了一种目标对象的定位方法、系统、装置、电子设备及存储介质,所述方法包括:获取目标对象采集的环境数据以及运动数据;获取原始海森矩阵以及针对所述原始海森矩阵的维度信息,并根据所述维度信息对所述原始海森矩阵进行边缘化处理,获得目标海森矩阵;对所述目标海森矩阵进行求解,获得若干个子矩阵;根据所述若干个子矩阵进行加速计算,获得雅可比矩阵以及残差矩阵,所述雅可比矩阵为用于表征视觉惯性融合系统的状态信息的矩阵,所述残差矩阵为用于优化变量参数的矩阵;根据所述雅可比矩阵与所述残差矩阵对所述环境数据和所述运动数据进行计算,获得所述目标对象的定位信息。对象的定位信息。对象的定位信息。
技术研发人员:庞业勇 吴頔 陈志远 都大龙
受保护的技术使用者:北京鉴智科技有限公司
技术研发日:2022.07.05
技术公布日:2022/11/1