头部跟踪系统设计在虚拟听觉的应用毕业论文(编辑修改稿)内容摘要:
(Ray Tracing)的算法。 头相关函数用人头录音方式记录了不同方向声源在人耳处的冲击响应,将声音和头相关函数卷积,就可以得到来自该方向的声音。 基于光线追踪算法的虚拟听觉采用光线追踪来模拟声音的传播,通过计算可以得到声音从声源 经过场景的反射、衍射、折射 到听者的房间 BRIR 响应。 由于声场的波长比场景中障碍物的尺寸大,所以使用这样的方法计算散射是合适的 [2]。 上 海 大 学 毕 业 论 文 (设 计) 6 图 11 HRTF 数据以及计算出的 BRIR 头部跟踪 头部跟踪系统的应用十分广泛,它可以用来捕捉人头部的运动,近年来在游戏、虚拟现实领域发挥着越来越重要的角色。 其实现主要有基于光学和基于捷联惯导算法两种方式。 基于光学的方式比起捷联惯导方式的优势在于可以检测到头部的 平动,而捷联惯导方式只可以检测到头部转动。 不过光学方式需要高速 红外摄像头,实现成本很大,同时实时性并不好。 鉴于本系统用于虚拟听觉,对转动要求高,平动部分可以使用键盘控制,所以我们将使用捷联惯导算法来实现头部跟踪系统。 为了对传感器数据滤波,本系统中使用的是 DCM 互补滤波 [3]方法 ,虽然 Kalman 滤波 [20]方法可能会有更好的效果,不过考虑到在单片机中计算的时间复杂度,而且两者实际效果差距相似,所以我们使用互补滤波方法。 图 12 头部跟踪系统 上 海 大 学 毕 业 论 文 (设 计) 7 人类听觉在水平面上可以对声源做非常准确的定位,因为水平面上不单单是依靠单耳来确定位置,而是依靠双耳的时间差 ITD、强度差 ILD 来定位。 而确定仰角时只能依靠单耳信息,也就是人头部、身体、外耳廓对声音频谱的滤波作用,所以是不准确的 [1]。 由于人类对水平方位感知更明显,在头部跟踪系统中我们着重考虑水平方向的精度。 在水平面上,人类对声音角度 感知的最小值是 1176。 左右,少于 1176。 的角度变换人类无法察觉。 本系统的精度在水平方向是 12176。 ,所以是符合虚拟声音对头部跟踪的要求的。 上 海 大 学 毕 业 论 文 (设 计) 8 第二章 头部跟踪系统设计 头部跟踪作用与原理 在虚拟现实系统中,如果可以知道用户头部的转动姿态,根据这些信息调整虚拟现实中场景声音的生产,使用户的获得更真实的感受。 图 21 头部跟踪在虚拟听觉中的作用 如果没有头部跟踪,用户头部旋转了 90 度,虚拟声源的位置也会随之旋转 90 度;而如果加上头部跟踪系统,转动时可以将声源位置反向旋转同样角度,这样,声音对于用户依然保持 在同一位置。 图 22 头部的转动 头部跟踪系统的本质是通过传感器来检查头部在 X, Y, Z 三轴方向的转动角 Roll ,Pitch , Yaw。 使用加速度传感器可以检测到重力的方向,有了重力的方向,我们就可以用之计算出 Roll 和 Pitch 信息;使用地磁传感器可以检测出地磁场的方向,使用地磁信息,我们可以计算出 Yaw 方向的数值。 不过由于无论是重力计还是地磁计,它的响应速度都是较慢的,为了纠正他们的数据,还需要使用陀螺仪来检测角速度。 使用角速度信息来加快姿态调整。 传感器数据波动较大,如何更好地融合加速度计、地磁计和陀螺仪的数据计算上 海 大 学 毕 业 论 文 (设 计) 9 出准确的姿态是亟待解决的问题,这就需要 DCM 互补滤波器。 DCM 互补滤波器设计 传感器输入数据不稳定,为了得到稳定的结果,需要融合不同的传感器数据进行滤波。 DCM 矩阵 首先,我们需要定义 2 个坐标系: 地理坐标系:真实世界所在的坐标系。 重力向量为( 0,0,1g),地磁向量是( 0,1,x)两个三维向量 ,对于地磁我们不关心其垂直分量。 头部坐标系:上面有加计、陀螺、电子罗盘传感器,三个三维向量。 图 23 两个坐标系的转换 方向余弦矩阵 (Direction Cosine Matrix)是表示从坐标系 OXYZ到坐标系 Oxyz 变换的矩阵,使用它,我们可以实现地理坐标系与头部坐标系这两个坐标系间的转换。 如上图所示,这是一个 3 维空间中的坐标系变化。 在我们的系统中, OXYZ 是世界坐标系, Oxyz 是头部跟踪系统所在的局部坐标系。 使用 DCM 的目的也就是将坐标从世界坐标系变换到头部坐标系,以便进行姿态计算。 设 X, Y, Z 为世界坐标系中的 3 个单位向量: ⑴ 上 海 大 学 毕 业 论 文 (设 计) 10 设 x, y, z 是局部坐标系中的 3 个单位向量: ⑵ 在全局坐标中: ⑶ 则: ⑷ 其中 是 X 和 的夹角。 所以有: ⑸ 321321321c o sc o sc o sc o sc o sc o sc o sc o sc o s 即为 DCM 矩阵,表示从世界坐标系到头部局部坐标系的变换。 且有。 互补滤波器设计 图 24 互补滤波示意图 为了准确融合加速度、地磁、角速度三个传感器的结果,我们需要使用互补滤波器。 这样做有 2 个好处: 高通滤波器可以抑制陀螺仪低频漂移 低通滤波器可以很好的抑制加速度计的噪声 也就是说,加计和地磁传感器在长久来看是很准确的,而陀螺仪在短时间内是很准确zyxzyx321321321coscoscoscoscoscoscoscoscos39。 39。 39。 上 海 大 学 毕 业 论 文 (设 计) 11 的,结合二者数据,可以得到较优的结果。 伪代码: angle = (K)*(angle + gyro * dt) + (1K)*(x_acc)。 上述伪代码即为互补滤波器融合加计和陀螺仪数值的简单例子。 IMU 计算方程 IMU(Inertial measurement unit, 惯性测量单元 )是用于姿态解算的单元。 姿态解算运算中需要用到大量的旋转操作,所以选择合适的旋转方式对系统的计算十分重要。 旋转的表示方式 常用的选择表示方法有:旋转矩阵、欧拉角、四元数。 旋转矩阵、欧拉角、四元数主要用于 :向量的旋转、坐标系之间的转换、方位的平滑插值计算。 表 21 各旋转表示方法比较 任务 /性质 旋转矩阵 欧拉角 四元数 在坐标系间 (物体和惯性 )旋转点 能 不能 (必须转换到矩阵 ) 不能 (必须转换到矩阵 ) 连接或增量旋转 能 ,但经常比四元数慢 ,小心矩阵蠕变的情况 不能 能 ,比矩阵快 插值 基本上不能 能 ,但可能遭遇万向锁或其他问题 Slerp 提供了平滑插值 易用程度 难 易 难 在内存或文件中存储 9 个数 3 个数 4 个数 对给定方位的表达方式是否唯一 是 不是 ,对同一方位有无数多种方法 不是 ,有两种方法 ,它们互相为共轭 可能导致非法 矩阵蠕变 任意三个数都能构成合法的欧拉角 可能会出现误差积累 ,从而产生非法的四元数 上 海 大 学 毕 业 论 文 (设 计) 12 欧拉角显然是最直接的方式,与人类对旋转的感知最为接近,但是欧拉角会出现万向锁这样的问题,即三轴系统中由于其中一轴旋转 90 度导致损失一轴的自由度,三轴系统的自由度退化为 2 轴。 也就是说: 当任意一轴旋转 90176。 的时候会导致该轴同其他轴重合,此时旋转被重合的轴 无法产生 任何效果,这就是 万向锁 (Gimbal Lock)。 图 25 万向锁 作为旋转变换,矩阵是必要的,可以把四元数或欧拉角作为主数据,同时维护一个旋转矩阵,当四元数或欧拉角变化时更新矩阵。 欧拉角虽然占用更少的内存 (比四元数少 1/4),但是转换到矩阵的时间要比四元数更慢一些。 平滑的插值只能用四元数完成。 直接用欧拉角插值会产生奇怪的转动。 综上考虑,我们选择四元数作为旋转的表示方式,因为四元数插值方便、没有万向锁问题、运算速度较快。 四元数 四元数是由哈密顿在 1843 年爱尔兰发现的。 当时他正研究扩展复数到更高的维次(复数可视为平面上的点)。 他不能做到三维空间的例子,但四维则造出四元数。 根据哈密顿记述,他于 10 月 16 日跟他的妻子在都柏林的皇家运河( Royal Canal)上散步时突然想到的方程 解。 之后哈密顿立刻将此方程刻在附近布鲁穆桥( Brougham Bridge,现称为金雀花桥 Broom Bridge)。 这条方程放弃了交换律,是当时一个极端的想法(那时还未发展出向量和矩阵) [4]。 四元数 常见于控制论、信号处理、姿态控制, 用来表示旋转和方位。 这是由于四元数转换组合比很多矩阵转换组合在数字上更稳定。 四元数一般定义如下: 上 海 大 学 毕 业 论 文 (设 计) 13 ⑹ 其中 w,x,y,z 是实数。 同时,有 : 四元数也可以表示为: 其中 v=(x,y,z)是矢量, w 是标量,虽然 v 是矢量。 当用一个四元数乘以一个向量时,实际上就是让该向量围绕着这个四元数所描述的旋转轴,转动这个四元数所描述的角度而得到的向量。 四元数加法: ⑺ 四元数取模: ⑻ 四元数乘法: ⑼ 四元数共轭: ⑽ 四元数倒数: ⑾ 对于四元数,我们最重要的是用是用它来旋转一个向量,假设有一个用四元数表示的旋转为: ,有一个向量 ,则经过旋转后的结果 为: ⑿ 其中 q*为四元数 q 的共轭四元数, 是转动角度。 有了四元数,如果应用于变换,我们还需要将四元数转化成相对应的矩阵。 把上述的上 海 大 学 毕 业 论 文 (设 计) 14 表示为 ,则有 ⒀ 上式在其次坐标下可以简化为: ⒁ 当 N(q)=1 时,上式可以进一步简化为: ⒂ 由传感器数值与四元数 我们可以获取到地磁、加速度计和陀螺仪的数值,根据这些数值我们可以实时更新四元数方程,使四元数表示的方位与头部所在的姿态保持一致。 首先,我们需要根据之前计算出的四元数来反算出前一时刻头部所在的姿态的重力方向,然后,计算此时传感器得到的重力信息和前一时刻的差,更新四元数。 ⒃ 上 海 大 学 毕 业 论 文 (设 计) 15 上述公式即为由前一状态四元数计算出重 力参考方向。 Vx, Vy, Vz 分别为重力在三轴的分量。 这个公式来自从 中的: ⒄ 重力向量就是 Q 的第三行。 与重力一样,我们也需要计算地磁场的参考方向,并且依据地磁的方向来更新 Yaw 方向的四元数。 地磁参考方向计算如下: ⒅ mx,my,mz 是地磁传感器得到的数值的归一化表示, hx,hy,hz 是计算出来的地磁参考方向。 由于我们并不关心地磁垂直方向的量,所以把地磁的 y 轴和 x 轴做了融合,得到新的参考方向 bx,bz。 之后是由上一时刻四元数表示的方向计算地磁的方向: ⒆ 上公式依旧来源于 中的 有了重力和地磁的参考方向,我们可以计算出传感器得到的方向与场的方向间的差值,上 海 大 学 毕 业 论 文 (设 计) 16 这种求差值本质上是进行了一次向量叉乘运算: ⒇ 其中, 是传感器和场方向的差, 是加速度计数值, 是重力场参考方向, 是地磁计数值, 是地磁场参考方向。 将向量展开成分量,则有: 最后,我们需要把陀螺仪的数值融合到误差 E 中,对 E 做一些 PID 控制,使结果更加平滑准确。 gx = gx + IMU_Kp*ex + exInt。 gy = gy + IMU_Kp*ey + eyInt。 gz = gz + IMU_Kp*ez + ezInt。 上述伪代码中的 gx,gy,gz 即是陀螺仪的三轴的数值,与上面的 E 相融合以后,就可以使用在四元数微分方程里来更新四元数了。 四元数微分方程 数值分析中,龙格-库塔法( RungeKutta)是用于模拟常微分方程的解的重要的一类隐式或显式迭代法。 这些技术由数学家卡尔 龙格和马丁 威尔海姆 库塔于 1900 年左右发明 [5]。 下面举一个具体例子来说明龙格库塔方法。 令初值问题表述如: 则。头部跟踪系统设计在虚拟听觉的应用毕业论文(编辑修改稿)
相关推荐
....................................................................................................................... 85 1 第 1 章 绪 论 目的 培养学生综合应用所学基础理论和专业知识,解决一 般工程技术问题的能力,进一步提高和训练学生的工程制图、理论分析、结构设计
,开始在自主研发发动机这块率先取得了突破,在行业内起到了带头的作用。 常州机电职业技术学院毕业 论文 11 3 奇瑞 营销方案的具体分析 奇瑞市场 环境营销分析 宏观环境 1) 政治法律环境 国家现在汽车工业振兴计划把 奇瑞 列入了扶持对 象。 2020 年之后短期内(特指 25 年)国家整体调控将以扩大内需 、 促进人民消费为主,对汽车行业的支持与拉动仍将持续
降水 — ,降水年度变化不大,湿润系数 —奈曼旗东明镇细木工板项目可行性研究报告书 8。 无霜期 144 天左右,最大降雨量 20cm,最大冻土深度 ,年 平均气温 — ℃,年平均风速 — ,光能资源丰富,年辐射量为 — 千卡 /平方厘米,辐射变化稳定,全年日照数为 2940— 2955 小时。 三、 项目概述 细木工板项目是集木材科学、高分子科学、林业科学等科学为一体的交叉学科。 主要以杨原木
备案报告,裕经贸字【 20xx】 8 号; 可行性研究报告编制的主要内容 本可行性研究报告的主要内容为:根据国家对一般工业项目可行性研究的内容及深度要求,依据建设单位的意见,对 裕民县振裕新型材科技有限责任公司年产 15万平方米夹心彩钢板及彩钢瓦生产线 项目项目建设的必要性、可行性进行分析论证;对项目产品市场前景提出预测意见;对工程选址、建设方案、技术方案、工程方案、产品方 案
后的水从集热器出口出去,把有用的热量带走,与此同时,在平板集热器的底部 和边框四周填充有保温材料,减少了透过透明端盖向环境散失的热量。 梁荣振:太阳辐射对平板太阳能热水器换热性能影响的实验研究 7 (2)平板集热器的组成结构 1) 吸热板芯 吸热板的涂层材料对吸收太阳辐射能量起非常重要的作用。 因为太阳辐射的波长主要集中在 ~ 的范围内,而吸热板的热辐射则主要集中在 2~20μm的波长范围内
货物的存放过程负责。 同时对所有货物进行清单整理,随时准备为销售环节提货。 四、店内 选址与 布局 夯行天下旅游用品超市 12 河 北省廊坊市北距北京市 50 公里,南离天津市 60 公里,处在两座直 辖市中间。 京津塘高速公路将北京、廊坊、天津连成一体,使廊坊的区位优势凸显。 旅游用品超市选址在廊坊市万达广场或者新华路位于商贸繁华地段,各种商店超市较多,且每日人流密集,是大众消费的集中地段。