freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

頭部跟蹤系統(tǒng)設(shè)計在虛擬聽覺的應(yīng)用畢業(yè)論文(編輯修改稿)

2024-08-13 16:13 本頁面
 

【文章內(nèi)容簡介】 (Ray Tracing)的算法。頭相關(guān)函數(shù)用人頭錄音方式記錄了不同方向聲源在人耳處的沖擊響應(yīng),將聲音和頭相關(guān)函數(shù)卷積,就可以得到來自該方向的聲音?;诠饩€追蹤算法的虛擬聽覺采用光線追蹤來模擬聲音的傳播,通過計算可以得到聲音從聲源 經(jīng)過場景的反射、衍射、折射 到聽者的房間 BRIR 響應(yīng)。 由于聲場的波長比場景中障礙物的尺寸大,所以使用這樣的方法計算散射是合適的 [2]。 上 海 大 學(xué) 畢 業(yè) 論 文 (設(shè) 計) 6 圖 11 HRTF 數(shù)據(jù)以及計算出的 BRIR 頭部跟蹤 頭部跟蹤系統(tǒng)的應(yīng)用十分廣泛,它可以用來捕捉人頭部的運(yùn)動,近年來在游戲、虛擬現(xiàn)實領(lǐng)域發(fā)揮著越來越重要的角色。其實現(xiàn)主要有基于光學(xué)和基于捷聯(lián)慣導(dǎo)算法兩種方式。基于光學(xué)的方式比起捷聯(lián)慣導(dǎo)方式的優(yōu)勢在于可以檢測到頭部的 平動,而捷聯(lián)慣導(dǎo)方式只可以檢測到頭部轉(zhuǎn)動。不過光學(xué)方式需要高速 紅外攝像頭,實現(xiàn)成本很大,同時實時性并不好。鑒于本系統(tǒng)用于虛擬聽覺,對轉(zhuǎn)動要求高,平動部分可以使用鍵盤控制,所以我們將使用捷聯(lián)慣導(dǎo)算法來實現(xiàn)頭部跟蹤系統(tǒng)。 為了對傳感器數(shù)據(jù)濾波,本系統(tǒng)中使用的是 DCM 互補(bǔ)濾波 [3]方法 ,雖然 Kalman 濾波 [20]方法可能會有更好的效果,不過考慮到在單片機(jī)中計算的時間復(fù)雜度,而且兩者實際效果差距相似,所以我們使用互補(bǔ)濾波方法。 圖 12 頭部跟蹤系統(tǒng) 上 海 大 學(xué) 畢 業(yè) 論 文 (設(shè) 計) 7 人類聽覺在水平面上可以對聲源做非常準(zhǔn)確的定位,因為水平面上不單單是依靠單耳來確定位置,而是依靠雙耳的時間差 ITD、強(qiáng)度差 ILD 來定位。而確定仰角時只能依靠單耳信息,也就是人頭部、身體、外耳廓對聲音頻譜的濾波作用,所以是不準(zhǔn)確的 [1]。由于人類對水平方位感知更明顯,在頭部跟蹤系統(tǒng)中我們著重考慮水平方向的精度。在水平面上,人類對聲音角度 感知的最小值是 1176。左右,少于 1176。的角度變換人類無法察覺。本系統(tǒng)的精度在水平方向是 12176。,所以是符合虛擬聲音對頭部跟蹤的要求的。 上 海 大 學(xué) 畢 業(yè) 論 文 (設(shè) 計) 8 第二章 頭部跟蹤系統(tǒng)設(shè)計 頭部跟蹤作用與原理 在虛擬現(xiàn)實系統(tǒng)中,如果可以知道用戶頭部的轉(zhuǎn)動姿態(tài),根據(jù)這些信息調(diào)整虛擬現(xiàn)實中場景聲音的生產(chǎn),使用戶的獲得更真實的感受。 圖 21 頭部跟蹤在虛擬聽覺中的作用 如果沒有頭部跟蹤,用戶頭部旋轉(zhuǎn)了 90 度,虛擬聲源的位置也會隨之旋轉(zhuǎn) 90 度;而如果加上頭部跟蹤系統(tǒng),轉(zhuǎn)動時可以將聲源位置反向旋轉(zhuǎn)同樣角度,這樣,聲音對于用戶依然保持 在同一位置。 圖 22 頭部的轉(zhuǎn)動 頭部跟蹤系統(tǒng)的本質(zhì)是通過傳感器來檢查頭部在 X, Y, Z 三軸方向的轉(zhuǎn)動角 Roll ,Pitch , Yaw。使用加速度傳感器可以檢測到重力的方向,有了重力的方向,我們就可以用之計算出 Roll 和 Pitch 信息;使用地磁傳感器可以檢測出地磁場的方向,使用地磁信息,我們可以計算出 Yaw 方向的數(shù)值。不過由于無論是重力計還是地磁計,它的響應(yīng)速度都是較慢的,為了糾正他們的數(shù)據(jù),還需要使用陀螺儀來檢測角速度。使用角速度信息來加快姿態(tài)調(diào)整。傳感器數(shù)據(jù)波動較大,如何更好地融合加速度計、地磁計和陀螺儀的數(shù)據(jù)計算上 海 大 學(xué) 畢 業(yè) 論 文 (設(shè) 計) 9 出準(zhǔn)確的姿態(tài)是亟待解決的問題,這就需要 DCM 互補(bǔ)濾波器。 DCM 互補(bǔ)濾波器設(shè)計 傳感器輸入數(shù)據(jù)不穩(wěn)定,為了得到穩(wěn)定的結(jié)果,需要融合不同的傳感器數(shù)據(jù)進(jìn)行濾波。 DCM 矩陣 首先,我們需要定義 2 個坐標(biāo)系: 地理坐標(biāo)系:真實世界所在的坐標(biāo)系。重力向量為( 0,0,1g),地磁向量是( 0,1,x)兩個三維向量 ,對于地磁我們不關(guān)心其垂直分量。 頭部坐標(biāo)系:上面有加計、陀螺、電子羅盤傳感器,三個三維向量。 圖 23 兩個坐標(biāo)系的轉(zhuǎn)換 方向余弦矩陣 (Direction Cosine Matrix)是表示從坐標(biāo)系 OXYZ到坐標(biāo)系 Oxyz 變換的矩陣,使用它,我們可以實現(xiàn)地理坐標(biāo)系與頭部坐標(biāo)系這兩個坐標(biāo)系間的轉(zhuǎn)換。 如上圖所示,這是一個 3 維空間中的坐標(biāo)系變化。在我們的系統(tǒng)中, OXYZ 是世界坐標(biāo)系, Oxyz 是頭部跟蹤系統(tǒng)所在的局部坐標(biāo)系。使用 DCM 的目的也就是將坐標(biāo)從世界坐標(biāo)系變換到頭部坐標(biāo)系,以便進(jìn)行姿態(tài)計算。 設(shè) X, Y, Z 為世界坐標(biāo)系中的 3 個單位向量: ⑴ 上 海 大 學(xué) 畢 業(yè) 論 文 (設(shè) 計) 10 設(shè) x, y, z 是局部坐標(biāo)系中的 3 個單位向量: ⑵ 在全局坐標(biāo)中: ⑶ 則: ⑷ 其中 是 X 和 的夾角。 所以有: ⑸ ??????????321321321c o sc o sc o sc o sc o sc o sc o sc o sc o s????????? 即為 DCM 矩陣,表示從世界坐標(biāo)系到頭部局部坐標(biāo)系的變換。 且有。 互補(bǔ)濾波器設(shè)計 圖 24 互補(bǔ)濾波示意圖 為了準(zhǔn)確融合加速度、地磁、角速度三個傳感器的結(jié)果,我們需要使用互補(bǔ)濾波器。這樣做有 2 個好處: 高通濾波器可以抑制陀螺儀低頻漂移 低通濾波器可以很好的抑制加速度計的噪聲 也就是說,加計和地磁傳感器在長久來看是很準(zhǔn)確的,而陀螺儀在短時間內(nèi)是很準(zhǔn)確???????????????????????????????zyxzyx321321321coscoscoscoscoscoscoscoscos39。39。39。?????????上 海 大 學(xué) 畢 業(yè) 論 文 (設(shè) 計) 11 的,結(jié)合二者數(shù)據(jù),可以得到較優(yōu)的結(jié)果。 偽代碼: angle = (K)*(angle + gyro * dt) + (1K)*(x_acc)。 上述偽代碼即為互補(bǔ)濾波器融合加計和陀螺儀數(shù)值的簡單例子。 IMU 計算方程 IMU(Inertial measurement unit, 慣性測量單元 )是用于姿態(tài)解算的單元。姿態(tài)解算運(yùn)算中需要用到大量的旋轉(zhuǎn)操作,所以選擇合適的旋轉(zhuǎn)方式對系統(tǒng)的計算十分重要。 旋轉(zhuǎn)的表示方式 常用的選擇表示方法有:旋轉(zhuǎn)矩陣、歐拉角、四元數(shù)。旋轉(zhuǎn)矩陣、歐拉角、四元數(shù)主要用于 :向量的旋轉(zhuǎn)、坐標(biāo)系之間的轉(zhuǎn)換、方位的平滑插值計算。 表 21 各旋轉(zhuǎn)表示方法比較 任務(wù) /性質(zhì) 旋轉(zhuǎn)矩陣 歐拉角 四元數(shù) 在坐標(biāo)系間 (物體和慣性 )旋轉(zhuǎn)點 能 不能 (必須轉(zhuǎn)換到矩陣 ) 不能 (必須轉(zhuǎn)換到矩陣 ) 連接或增量旋轉(zhuǎn) 能 ,但經(jīng)常比四元數(shù)慢 ,小心矩陣蠕變的情況 不能 能 ,比矩陣快 插值 基本上不能 能 ,但可能遭遇萬向鎖或其他問題 Slerp 提供了平滑插值 易用程度 難 易 難 在內(nèi)存或文件中存儲 9 個數(shù) 3 個數(shù) 4 個數(shù) 對給定方位的表達(dá)方式是否唯一 是 不是 ,對同一方位有無數(shù)多種方法 不是 ,有兩種方法 ,它們互相為共軛 可能導(dǎo)致非法 矩陣蠕變 任意三個數(shù)都能構(gòu)成合法的歐拉角 可能會出現(xiàn)誤差積累 ,從而產(chǎn)生非法的四元數(shù) 上 海 大 學(xué) 畢 業(yè) 論 文 (設(shè) 計) 12 歐拉角顯然是最直接的方式,與人類對旋轉(zhuǎn)的感知最為接近,但是歐拉角會出現(xiàn)萬向鎖這樣的問題,即三軸系統(tǒng)中由于其中一軸旋轉(zhuǎn) 90 度導(dǎo)致?lián)p失一軸的自由度,三軸系統(tǒng)的自由度退化為 2 軸。也就是說: 當(dāng)任意一軸旋轉(zhuǎn) 90176。的時候會導(dǎo)致該軸同其他軸重合,此時旋轉(zhuǎn)被重合的軸 無法產(chǎn)生 任何效果,這就是 萬向鎖 (Gimbal Lock)。 圖 25 萬向鎖 作為旋轉(zhuǎn)變換,矩陣是必要的,可以把四元數(shù)或歐拉角作為主數(shù)據(jù),同時維護(hù)一個旋轉(zhuǎn)矩陣,當(dāng)四元數(shù)或歐拉角變化時更新矩陣。歐拉角雖然占用更少的內(nèi)存 (比四元數(shù)少 1/4),但是轉(zhuǎn)換到矩陣的時間要比四元數(shù)更慢一些。 平滑的插值只能用四元數(shù)完成。直接用歐拉角插值會產(chǎn)生奇怪的轉(zhuǎn)動。 綜上考慮,我們選擇四元數(shù)作為旋轉(zhuǎn)的表示方式,因為四元數(shù)插值方便、沒有萬向鎖問題、運(yùn)算速度較快。 四元數(shù) 四元數(shù)是由哈密頓在 1843 年愛爾蘭發(fā)現(xiàn)的。當(dāng)時他正研究擴(kuò)展復(fù)數(shù)到更高的維次(復(fù)數(shù)可視為平面上的點)。他不能做到三維空間的例子,但四維則造出四元數(shù)。根據(jù)哈密頓記述,他于 10 月 16 日跟他的妻子在都柏林的皇家運(yùn)河( Royal Canal)上散步時突然想到的方程 解。之后哈密頓立刻將此方程刻在附近布魯穆橋( Brougham Bridge,現(xiàn)稱為金雀花橋 Broom Bridge)。這條方程放棄了交換律,是當(dāng)時一個極端的想法(那時還未發(fā)展出向量和矩陣) [4]。 四元數(shù) 常見于控制論、信號處理、姿態(tài)控制, 用來表示旋轉(zhuǎn)和方位。這是由于四元數(shù)轉(zhuǎn)換組合比很多矩陣轉(zhuǎn)換組合在數(shù)字上更穩(wěn)定。 四元數(shù)一般定義如下: 上 海 大 學(xué) 畢 業(yè) 論 文 (設(shè) 計) 13 ⑹ 其中 w,x,y,z 是實數(shù)。同時,有 : 四元數(shù)也可以表示為: 其中 v=(x,y,z)是矢量, w 是標(biāo)量,雖然 v 是矢量。 當(dāng)用一個四元數(shù)乘以一個向量時,實際上就是讓該向量圍繞著這個四元數(shù)所描述的旋轉(zhuǎn)軸,轉(zhuǎn)動這個四元數(shù)所描述的角度而得到的向量。 四元數(shù)加法: ⑺ 四元數(shù)取模: ⑻ 四元數(shù)乘法: ⑼ 四元數(shù)共軛: ⑽ 四元數(shù)倒數(shù): ⑾ 對于四元數(shù),我們最重要的是用是用它來旋轉(zhuǎn)一個向量,假設(shè)有一個用四元數(shù)表示的旋轉(zhuǎn)為: ,有一個向量 ,則經(jīng)過旋轉(zhuǎn)后的結(jié)果 為: ⑿ 其中 q*為四元數(shù) q 的共軛四元數(shù), 是轉(zhuǎn)動角度。 有了四元數(shù),如果應(yīng)用于變換,我們還需要將四元數(shù)轉(zhuǎn)化成相對應(yīng)的矩陣。把上述的上 海 大 學(xué) 畢 業(yè) 論 文 (設(shè) 計) 14 表示為 ,則有 ⒀ 上式在其次坐標(biāo)下可以簡化為: ⒁ 當(dāng) N(q)=1 時,上式可以進(jìn)一步簡化為: ⒂ 由傳感器數(shù)值與四元數(shù) 我們可以獲取到地磁、加速度計和陀螺儀的數(shù)值,根據(jù)這些數(shù)值我們可以實時更新四元數(shù)方程,使四元數(shù)表示的方位與頭部所在的姿態(tài)保持一致。 首先,我們需要根據(jù)之前計算出的四元數(shù)來反算出前一時刻頭部所在的姿態(tài)的重力方向,然后,計算此時傳感器得到的重力信息和前一時刻的差,更新四元數(shù)。 ⒃ 上 海 大 學(xué) 畢 業(yè) 論 文 (設(shè) 計) 15 上述公式即為由前一狀態(tài)四元數(shù)計算出重 力參考方向。 Vx, Vy, Vz 分別為重力在三軸的分量。這個公式來自從 中的: ⒄ 重力向量就是 Q 的第三行。 與重力一樣,我們也需要計算地磁場的參考方向,并且依據(jù)地磁的方向來更新 Yaw 方向的四元數(shù)。地磁參考方向計算如下: ⒅ mx,my,mz 是地磁傳感器得到的數(shù)值的歸一化表示, hx,hy,hz 是計算出來的地磁參考方向。由于我們并不關(guān)心地磁垂直方向的量,所以把地磁的 y 軸和 x 軸做了融合,得到新的參考方向 bx,bz。 之后是由上一時刻四元數(shù)表示的方向計算地磁的方向: ⒆ 上公式依舊來源于 中的 有了重力和地磁的參考方向,我們可以計算出傳感器得到的方向與場的方向間的差值,上 海 大 學(xué) 畢 業(yè) 論 文 (設(shè) 計) 16 這種求差值本質(zhì)上是進(jìn)行了一次向量叉乘運(yùn)算: ⒇ 其中, 是傳感器和場方向的差, 是加速度計數(shù)值, 是重力場參考方向, 是地磁計數(shù)值, 是地磁場參考方向。將向量展開成分量,則有: 最后,我們需要把陀螺儀的數(shù)值融合到誤差 E 中,對 E 做一些 PID 控制,使結(jié)果更加平滑準(zhǔn)確。 gx = gx + IMU_Kp*ex + exInt。 gy = gy + IMU_Kp*ey + eyInt。 gz = gz + IMU_Kp*ez + ezInt。 上述偽代碼中的 gx,gy,gz 即是陀螺儀的三軸的數(shù)值,與上面的 E 相融合以后,就可以使用在四元數(shù)微分方程里來更新四元數(shù)了。 四元數(shù)微分方程 數(shù)值分析中,龍格-庫塔法( RungeKutta)是用于模擬常微分方程的解的重要的一類隱式或顯式迭代法。這些技術(shù)由數(shù)學(xué)家卡爾 龍格和馬丁 威爾海姆 庫塔于 1900 年左右發(fā)明 [5]。 下面舉一個具體例子來說明龍格庫塔方法。 令初值問題表述如: 則
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1