手語(yǔ)識別和翻譯
其后我們關(guān)掉骨架提取的功能,使用率大幅降低到只有25%。經(jīng)過(guò)進(jìn)一步性能分析的工作,我們證實(shí)了瓶頸的來(lái)源就是骨骼提取。不幸地,骨骼提取的算法并不是開(kāi)源的,而是被PrimeSence所保護。所以我們并不能通過(guò)修改原代碼或是把算法放到FPGA里以達致降低處理器使用率的效果?! ?/p>本文引用地址:http://dyxdggzs.com/article/137079.htm

解決方法
為了解決這個(gè)問(wèn)題,我們嘗試選擇性地使用原始數據。原來(lái)數據傳遞方式是用戶(hù)產(chǎn)生器(User Generator)直接從深度圖像產(chǎn)生器(Depth Generator)得到原始數據。新的方法就是設立一個(gè)仿真深度圖像產(chǎn)生器(Mock Depth Generator)。它會(huì )仿真成原來(lái)的產(chǎn)生器,而用戶(hù)產(chǎn)生器則從它得到數據。
當Kinect得到新的數據,它會(huì )將數據傳給深度產(chǎn)生器,然后后者會(huì )發(fā)給仿真深度圖像產(chǎn)生器。而每隔一個(gè)幀,仿真深度圖像產(chǎn)生器會(huì )將得到的數據傳給用戶(hù)產(chǎn)生器。換言之,兩幀從Kinect上得到的數據,只有一幀會(huì )真正被用作提取骨架,而另一幀將會(huì )被忽略。
這個(gè)做法雖然令幀率降低到15,但處理器使用率卻降至只有50%。而且經(jīng)過(guò)我們的驗證,幾乎沒(méi)有出現丟幀的情況,即使出現亦沒(méi)有影響到提取骨架節點(diǎn)的質(zhì)素。經(jīng)過(guò)這個(gè)特殊處理,我們確定在這平臺使用Kinect是可行的,甚至還可提取額外的處理器資源用以其他運算工作。
設計和實(shí)現
概述
系統通過(guò)Kinect獲取深度影像,并使用應用程序OpenNI從深度影像中提取用戶(hù)的骨架。在獲取的骨架中,我們選取左右手、肘、肩六個(gè)關(guān)節點(diǎn)??偟膩?lái)看,用戶(hù)完成了一個(gè)手語(yǔ),通過(guò)Kinect和OpenNI,系統將記錄一系列的幀,每一幀由左右手、肘、肩六個(gè)關(guān)節點(diǎn)的三維空間向量組成。用戶(hù)每一次完成同一個(gè)手語(yǔ)都會(huì )有差別,所以我們在特征提取之前需要對記錄的幀進(jìn)行常態(tài)化處理。我們使用支持向量機(SVM)對提取的特征向量進(jìn)行分類(lèi)。每一類(lèi)表示一個(gè)手語(yǔ)。圖2描述了整個(gè)手語(yǔ)識別的流程?! ?/p>

手語(yǔ)獲取
雙手交叉握于腹部前方。這一動(dòng)作我們稱(chēng)之為“預備動(dòng)作”,表示手語(yǔ)的開(kāi)始和結束。為了避免潛在的識別錯誤,我們要求每相鄰的兩幀(0.13s),用戶(hù)至少移動(dòng)5厘米。如果用戶(hù)做預備動(dòng)作超過(guò)100幀(6.67s),系統將會(huì )停止獲取手語(yǔ)數據。
數據處理
正如我們之前提到的常態(tài)化處理,我們將獲取的一系列幀通過(guò)均分和插入的方法統一成121幀,即2178個(gè)三維空間向量。我們對常態(tài)化處理后的數據進(jìn)行特征提取,產(chǎn)生1694個(gè)特征向量。最后我們將所有的特征向量放在一個(gè)矩陣里,用于SVM分類(lèi)。
手語(yǔ)訓練和分類(lèi)
LIBSVM是一個(gè)用于支持向量機的集成軟件,支持多類(lèi)分類(lèi)。用戶(hù)使用LIBSVM提供的庫,可以更容易地使用SVM。我們使用“svm-train”讀取輸入文件(Input File),生成模型文件(Model file)。我們的輸入文件包含1694個(gè)特征向量。我們對每個(gè)手語(yǔ)單詞訓練20到30次。到目前為止,我們總共訓練了48個(gè)手語(yǔ)。我們可以通過(guò)訓練更多的手語(yǔ)擴展我們的數據庫。
使用“svm-predict”可以預測用戶(hù)所做的手語(yǔ)屬于哪一類(lèi)。
參考文獻:
[1]Chinese Sign Language [R/OL].http://baike.baidu.com/view/42806.htm
[2]OpenNI [R/OL].http://75.98.78.94/About.aspx
[3]PrimeSense 3D Sensor Data Sheet[R/OL].http://www.primesense.com/press-room/resources/file/4-primesense-3d-sensor-data-sheet?lang=en
[4]LIBSVM [R/OL].http://www.csie.ntu.edu.tw/~cjlin/libsvm/
[5]Hardware Requirements of Kinect[R/OL].http://www.microsoft.com/en-us/kinectforwindows/purchase/sensor_setup.aspx
[6]FPGA-based MP3 Player[R/OL].http://cegt201.bradley.edu/projects/proj2010/fpgamp3/FPGAMP3_Project_Report.pdf
[7]Altera wiki - MP3 player[R/OL].http://www.alterawiki.com/wiki/MP3_Player
評論