本发明公开了一种惯性传感器的定位方法,其能够实现长时间稳定定位。这种惯性传感器的定位方法包括步骤:(1)使用Android手机获取惯性传感器数据,通过无线路由器实时传输至服务器计算机;(2)使用Kinect深度摄像机获取RGB-D数据,通过局域网实时传输至服务器计算机;(3)对步骤(1)和(2)的两种数据进行时间和空间上的对齐,时间对齐是将两种数据每一时刻的数据映射起来,空间对齐是对两种数据定位坐标系建立投影映射关系,使之能够相互转换;(4)利用步骤(2)的RGB-D数据修正惯性传感器定位的累积误差,实现长时间稳定定位。
1.一种惯性传感器的定位方法,其特征在于:包括以下步骤:(1)使用Android手机获取惯性传感器数据,通过无线路由器实时传输至服务器计算机;(2)使用Kinect深度摄像机获取RGB-D数据,通过局域网实时传输至服务器计算机;(3)对步骤(1)和(2)的两种数据进行时间和空间上的对齐,时间对齐是将两种数据每一时刻的数据映射起来,空间对齐是对两种数据定位坐标系建立投影映射关系,使之能够相互转换;(4)利用步骤(2)的RGB-D数据修正惯性传感器定位的累积误差,实现长时间稳定定位。
2.根据权利要求1所述的惯性传感器的定位方法,其特征在于:步骤(1)的惯性传感器数据通过加速度传感器和陀螺仪传感器得到:通过使用加速度传感器,获得三轴加速度的变化序列,从其中一组序列得到时间和步长的关系;通过使用陀螺仪传感器,获得围绕三个坐标轴旋转的三个角速度,分别对应三个角度值:横滚角roll、俯仰角pitch、航向角yaw,转向角通过公式(1)计算
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>其中,k是当前观测值的时间,Ψ是角度值矩阵,包括roll、pitch、yaw三个角度值,Eb2n是人体和传感器之间的旋转校正矩阵,
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="82"/>是角速度的观测向量,
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="128"/>是角速度的固有偏差估计,Δt是两个观测值之间的时间间隔。
3.根据权利要求2所述的惯性传感器的定位方法,其特征在于:步骤(2)的RGB-D数据包括视频序列和深度序列:对于视频序列,使用方向梯度直方图HOG表示法构造目标的视频特征;对于深度序列,使用方向深度直方图HOD表示法的改进方法CoHOD表示法构造目标的深度特征;分别定义视频和深度特征的相似度,然后视频和深度特征的融合相似度看作是视频和深度相似度的积,对RGB-D序列实现跟踪和定位。
4.根据权利要求3所述的惯性传感器的定位方法,其特征在于:步骤(4)中将深度定位结果投影到惯性传感器坐标系中,生成惯性传感器定位所需的修正数据,然后使用薄板样条TPS构造坐标变换,TPS变形后基准步行轨迹H1修正到H2;同时,由目标在Kinect深度摄像机视线内的定位轨迹拟合出目标离开Kinect深度摄像机视线后的移动方向,从而修正惯性传感器的方向误差。
5.根据权利要求4所述的惯性传感器的定位方法,其特征在于:在步骤(4)之前采用步态识别技术来识别进入Kinect深度摄像机视野内目标的身份。
技术领域本发明属于计算机视觉的技术领域,具体地涉及一种惯性传感器的定位方法,其使用Kinect深度摄像机的RGB-D信息来辅助修复惯性传感器的定位累积误差,从而实现长时间稳定定位。
背景技术目标定位一直是计算机视觉领域的重要研究课题。常见的定位技术有GPS定位、无线定位、基站定位、惯性传感器定位等,本发明使用的是惯性传感器定位。随着微机电系统(MEMS)技术的快速发展,惯性传感器具有体积小、重量轻、成本低等特点,被广泛应用于终端设备中,如智能移动终端。用户需要主动参与携带必要的传感器设备,然后通过传感器中加速度计和陀螺仪采集的数据实现目标定位。这种主动定位方法可以实现自我导航。但惯性传感器定位方法存在一个关键问题,即随着时间的增加,定位会出现越来越大的累积误差。目前虽然已经有一些方法实现了惯性传感器定位误差的修正,但长时间定位仍然是一个挑战。为了克服这个问题,我们提出了一个通过使用Kinect深度摄像机获得的RGB-D数据修正累积误差的方法。Kinect是一种3D体感摄像机,主要应用于体感游戏的信息获取,可以捕捉到深度信息、视频信息、骨架信息等。使用Kinect摄像机获得的RGB-D数据,可以很方便地获取Kinect视线内目标的三维位置,并且在4米视距内的精度很高,可以反映目标的真实位置。在传感器定位区域内的一些主要地方放置Kinect摄像机,可以获得Kinect摄像机实现范围内的高精度定位坐标,从而及时修正惯性传感器定位的累积误差,为长时间稳定定位提供条件,对于老人监护、儿童监护、罪犯监视等场合很有意义。
发明内容本发明的技术解决问题是:克服现有技术的不足,提供一种惯性传感器的定位方法,其能够实现长时间稳定定位。本发明的技术解决方案是:这种惯性传感器的定位方法,包括以下步骤:(1)使用Android手机获取惯性传感器数据,通过无线路由器实时传输至服务器计算机;(2)使用Kinect深度摄像机获取RGB-D数据,通过局域网实时传输至服务器计算机;(3)对步骤(1)和(2)的两种数据进行时间和空间上的对齐,时间对齐是将两种数据每一时刻的数据映射起来,空间对齐是对两种数据定位坐标系建立投影映射关系,使之能够相互转换;(4)利用步骤(2)的RGB-D数据修正惯性传感器定位的累积误差,实现长时间稳定定位。本发明在进行惯性传感器定位的同时,利用部分关键位置由Kinect深度摄像机获得的RGB-D数据进行修正,从而及时修正惯性传感器定位的累积误差,实现长时间稳定定位。
附图说明图1是共生矩阵生成过程的示例图;图2是惯性传感器定位修正的示意图;图3是深度摄像机辅助修正惯性传感器定位方法与原有的惯性传感器定位方法的比较图,(3a)是原有的惯性传感器定位结果,(3b)是带有深度摄像机修正的惯性传感器定位结果。
具体实施方式这种惯性传感器的定位方法,包括以下步骤:(1)使用Android手机获取惯性传感器数据,通过无线路由器实时传输至服务器计算机;(2)使用Kinect深度摄像机获取RGB-D数据,通过局域网实时传输至服务器计算机;(3)对步骤(1)和(2)的两种数据进行时间和空间上的对齐,时间对齐是将两种数据每一时刻的数据映射起来,空间对齐是对两种数据定位坐标系建立投影映射关系,使之能够相互转换;(4)利用步骤(2)的RGB-D数据修正惯性传感器定位的累积误差,实现长时间稳定定位。本发明在进行惯性传感器定位的同时,利用部分关键位置由Kinect深度摄像机获得的RGB-D数据进行修正,从而及时修正惯性传感器定位的累积误差,实现长时间稳定定位。优选地,步骤(1)的惯性传感器数据通过加速度传感器和陀螺仪传感器得到:通过使用加速度传感器,获得三轴加速度的变化序列,从其中一组序列得到时间和步长的关系;通过使用陀螺仪传感器,获得围绕三个坐标轴旋转的三个角速度,分别对应三个角度值:横滚角roll、俯仰角pitch、航向角yaw,转向角通过公式(1)计算
Ψ k + 1 = Ψ k + E b 2 n , k · ( ω ~ b , k - ω ^ b , k bias ) · Δt - - - ( 1 ) ]]>其中,k是当前观测值的时间,Ψ是角度值矩阵,包括roll、pitch、yaw三个角度值,E
b2n是人体和传感器之间的旋转校正矩阵,
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="82"/>是角速度的观测向量,
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="129"/>是角速度的固有偏差估计,Δt是两个观测值之间的时间间隔。优选地,步骤(2)的RGB-D数据包括视频序列和深度序列:对于视频序列,使用方向梯度直方图HOG表示法构造目标的视频特征;对于深度序列,使用方向深度直方图HOD表示法的改进方法CoHOD表示法构造目标的深度特征;分别定义视频和深度特征的相似度,然后视频和深度特征的融合相似度看作是视频和深度相似度的积,对RGB-D序列实现跟踪和定位。优选地,步骤(4)中将深度定位结果投影到惯性传感器坐标系中,生成惯性传感器定位所需的修正数据,然后使用薄板样条TPS构造坐标变换,TPS变形后基准步行轨迹H
1修正到H
2;同时,由目标在Kinect深度摄像机视线内的定位轨迹拟合出目标离开Kinect深度摄像机视线后的移动方向,从而修正惯性传感器的方向误差。优选地,在步骤(4)之前采用步态识别技术来识别进入Kinect深度摄像机视野内目标的身份。以下对本发明进行更详细的说明。1.基于惯性传感器的目标定位惯性传感器包括加速度传感器和陀螺仪传感器。通过使用加速度传感器,可以获得三轴加速度的变化序列。从一组序列样本,我们可以得到时间和步长的关系。通过使用陀螺仪传感器,我们可以获得围绕三个坐标轴旋转的三个角速度,分别对应三个角度值:横滚角roll、俯仰角pitch、航向角yaw。转向角计算公式如下:
Ψ k + 1 = Ψ k + E b 2 n , k · ( ω ~ b , k - ω ^ b , k bias ) · Δt - - - ( 1 ) ]]>其中,k是当前观测值的时间。Ψ是角度值矩阵,包括roll、pitch、yaw三个角度值。E
b2n是人体和传感器之间的旋转校正矩阵。
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="80"/>是角速度的观测向量。
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="132"/>是角速度的固有偏差估计。Δt是两个观测值之间的时间间隔。从步距和每一步的转向角度,我们可以从它的当前坐标计算目标的下一个位置。但惯性传感器定位方法的一个关键问题是,跟踪时间增加的时候会有巨大的累积误差。有许多可能的原因,如陀螺仪传感器的角速度固有偏差
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="121"/>估计不准,是导致累积误差的主要原因;传感器安装和个人行走姿势的不同是导致累积误差的另一原因。目前虽然已经有一些方法实现了惯性传感器定位误差的修正,但长时间定位仍然是一个挑战。为了克服这个问题,我们提出了一个通过使用深度摄像机获得的RGB-D数据修正累积误差的方法。2.Kinect深度摄像机的RGB-D序列定位Kinect深度摄像机可以同时获得视频和深度信息,即RGB-D序列,很容易获得目标的三维位置,因此基于RGB-D序列跟踪的主要任务是构造动态跟踪模型,我们采用粒子滤波跟踪框架来实现动态跟踪。与视频粒子滤波模型相比,基于RGB-D序列模型定义了RGB-D数据的目标特征表示。我们描述了人体在视频域和深度域的特征,然后定义了RGB-D数据的融合特征。对于视频序列,本发明使用HOG(方向梯度直方图)表示法[4]构造目标的视频特征。HOG表示法的基本思想是通过图像梯度或边缘的方向信息表示目标的表观和形状特征。首先采用一种梯度模板计算每个像素点的梯度和方向;然后将图像按空间位置分成均匀的小块,称为细胞,在细胞内按照设定好的量化间隔统计梯度直方图,并按照梯度的幅值进行投影;将相邻的细胞(如2*2)组成一个块,在块内归一化直方图;最后将检测窗口所有块的直方图进行组合就形成特征向量。对于深度序列,本发明使用HOD(方向深度直方图)表示法的改进方法CoHOD表示法构造目标的深度特征。首先将成对的梯度方向作为一个单元,某一特定位移下,所有单元能够构建一个8*8的二维直方图,这个直方图就是我们特征表示符CoHOD的核心——共生矩阵。深度图像中某一位移对应的共生矩阵生成过程如图1所示,我们发现共生矩阵描述了梯度方向的分布趋势。相邻梯度方向的组合能够从细节方面更好的描述物体,这样能够更好的进行人体分类,达到更加理想的识别效果。从算术的角度来描述共生矩阵的生成过程,假设被检测图像大小为m*n,对应位移(x,y)生成共生矩阵C的公式如下:
C x , y ( i , j ) = Σ p = 1 n Σ q = 1 m 1 , if ( I ( p , q ) = i ) and ( I ( p + x , q + y ) = j ) 0 , else - - - ( 2 ) ]]>其中I(p,q)表示(p,q)位置的像素值大小。CoHOD是基于方向梯度直方图的特征表示法,所以它能够保持方向梯度直方图在人体检测中所表现出的所有优点,能够很好的处理人体姿势变化等问题,对特征的描述性更强,具有很高的鲁棒性。为了将视频和深度特征整合成跟踪所需的通用表示法,我们首先分别定义了视频和深度特征的相似度。然后视频和深度特征的融合相似度可以看作是视频和深度相似度的积。利用融合的RGB-D特征相似度,可以对RGB-D序列实现跟踪和定位。3.深度摄像机辅助修正惯性传感器定位惯性传感器定位方法可应用于大场景,但随着时间的推移,会产生累积误差。深度信息定位和跟踪具有高精度,但可跟踪区域受限。考虑到这两种方法的特点,我们提出了一个深度信息修正惯性传感器定位的方法。在该方法中,深度信息定位结果被用于修正惯性传感器定位的累计误差。如图2所示,将深度信息定位结果投影到惯性传感器坐标系中,生成惯性传感器定位所需的修正数据,然后使用薄板样条(TPS)构造坐标变换。TPS变形是一个非刚性样条映射方法,具有灵活性强、全局平滑、易于计算等良好特性。TPS变形可看作是一个映射f:R
2→R
2,由基准和目标上的两组对齐点集决定。对于惯性传感器定位的基准轨迹H
1和修正后的目标轨迹H
2,TPS变形是通过惯性传感器和深度摄像机同时获得的如下控制点集决定的:M
k={L
kj|L
kj=(x
kj,y
kj),j=1,…,M,k=1,2}xa0xa0xa0(3)其中M
1是惯性传感器定位的位置,M
2是深度摄像机参与跟踪时获得的深度定位结果。L
kj表示一个坐标点,M是点集中点的数量。根据TPS定义,f有如下插值条件:f(M
1j)=M
2j,j=1,2,…,Mxa0xa0xa0(4)同时,TPS变形的弯曲平滑应尽量满足最小化如下弯曲能量函数:
E ( f ) = ∫ ∫ R 2 ( ∂ 2 f ∂ x 2 ) 2 + 2 ( ∂ 2 f ∂ x ∂ y ) 2 + ( ∂ 2 f ∂ y 2 ) 2 dxdy - - - ( 5 ) ]]>f可以通过最小化(5)中的能量函数得到。在实际使用中,为了利用对应控制点的偏差和(5)中的平滑能量,使用如下能量函数来获得最终的TPS变形:
E ( λ ) = 1 M Σ j = 1 M | | M 2 j - f ( M 1 j ) | | + λE ( f ) - - - ( 6 ) ]]>其中,λ控制平滑的程度。给定一个固定的λ,将会有一个唯一的最小的能量函数。TPS变形后,基准步行轨迹H
1可以修正到H
2。同时,由目标在Kinect摄像机视线内的定位轨迹,还能拟合出目标离开Kinect摄像机视线后的移动方向,可以修正惯性传感器的方向误差。在整个跟踪过程中,只要深度摄像机检测并跟踪到目标,就执行轨迹和方向修正操作。4.Kinect深度摄像机目标与惯性传感器目标的身份对应在本发明的应用场景中,需要定位的人通常不止一个。为了适应多人定位时的深度摄像机辅助修正,需要识别进入Kinect摄像机视野内目标的身份,然后修正身份对应的惯性传感器目标的定位轨迹。本发明使用改进的步态识别技术进行身份识别。步态识别是一种新兴的生物特征识别技术,旨在从相同的行走行为中寻找和提取个体之间的变化特征,以实现自动的身份识别。与其他的生物识别技术相比,步态识别具有非接触远距离和不容易伪装的优点。在智能视频监控领域,比面部识别更具优势。传统的步态识别仅使用Gait(步态)特征进行身份识别,本发明结合了由Kinect深度摄像机所获得的基于视频和深度信息的RGB-D特征,形成RGB-D-Gait特征用来进行身份识别,提高了识别的正确率。为了验证提出的多源异构数据融合方法,使用在真实场景中获得的数据进行了多次实验。我们使用Android智能手机来收集惯性传感器数据,包括三轴加速计和三轴陀螺仪的数据,收集频率为50Hz。智能手机放在腰包中,将腰包固定在身上。跟踪实验之前,要求测试人员原地站立10秒以上,以获得惯性传感器的固有偏差。同时用多个Kinect摄像机获得RGB-D序列数据。实验测试了惯性传感器定位与深度信息修正方法的性能。这个实验是在一个70米*30米的教学楼“8”字形走廊完成的。测试人员沿走廊行走,得到原始惯性传感器定位结果如图3(a)所示。可以看出,前半部分定位结果较为准确,而后半部分定位结果误差越来越大,结果并不理想。为了获得更好的定位结果,首先由Kinect摄像机获得定位结果的修正数据,然后利用以TPS变形为基础的方法来修正定位结果,结果如图3(b)所示,可以看出修正效果较为理想。分别计算出修正前后的定位结果平均误差,该修正方法使平均误差从17.120米降至2.119米。以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。