• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于體感和3D虛擬仿真技術(shù)的靜態(tài)手語—口語互譯軟件設(shè)計與實現(xiàn)

      2016-05-14 15:49吳金波帖軍鄭祿
      軟件導(dǎo)刊 2016年7期

      吳金波 帖軍 鄭祿

      摘要:基于當(dāng)今社會對手語翻譯的迫切需求,系統(tǒng)分析了手語翻譯、口語翻譯、練習(xí)系統(tǒng)、自定義手語、娛樂模塊五大功能模塊?;隗w感和3D虛擬仿真技術(shù),設(shè)計并實現(xiàn)了靜態(tài)手語-口語互譯軟件系統(tǒng)。從指尖坐標(biāo)獲取、語音識別、口語翻譯、練習(xí)系統(tǒng)、體感游戲、自定義手語六大方面詳細(xì)介紹了其技術(shù)路線與實現(xiàn)過程。

      關(guān)鍵詞關(guān)鍵詞:體感技術(shù);手語翻譯;Kinect;Unity3D

      DOIDOI:10.11907/rjdk.161417

      中圖分類號:TP319文獻(xiàn)標(biāo)識碼:A文章編號文章編號:16727800(2016)007006702

      0引言

      據(jù)調(diào)查,目前全世界有3.6億的聽力障礙人士,其中有近2 100萬來自中國,手語是聽力障礙人士實現(xiàn)溝通的主要語言,然而由于大部分人不懂手語,使得聾啞人士和普通人之間的交流十分困難。而通過人工進(jìn)行手語和口語實時互譯,來解決大多數(shù)人的溝通問題又極不現(xiàn)實。隨著計算機科學(xué)技術(shù)的飛速發(fā)展,以體感和虛擬現(xiàn)實為代表的各種新興技術(shù)的出現(xiàn),使得通過技術(shù)的創(chuàng)新、融合以更加低廉的成本和更高的效率滿足日益增長的需求成為可能。將體感和3D虛擬仿真技術(shù)相結(jié)合,并運用于靜態(tài)手語和口語互譯實現(xiàn)中,不僅極大提高了效率,同時也為當(dāng)前手語翻譯研究提供了一個新的切入點。

      1功能分析

      手語翻譯: 用戶只需要在Kinect前面做出相應(yīng)的手語動作,系統(tǒng)便能自動捕捉,通過分析并處理深度圖像數(shù)據(jù),將其翻譯并以文字的方式展現(xiàn)出來[1]。

      口語翻譯: 系統(tǒng)提供了兩種方式,分別是文本輸入方式和語音輸入方式。用戶可以選擇使用文字或是語音的方式向系統(tǒng)傳遞需要翻譯的信息,單擊“翻譯”按鈕后,3D虛擬人物就會將其自動轉(zhuǎn)化為手語展示給用戶,相當(dāng)方便。

      練習(xí)系統(tǒng): 用戶通過觀看3D虛擬人物所做的手語動作來分辨出其對應(yīng)的手語意思,并點擊系統(tǒng)顯示在界面上多個漢語意思中自己認(rèn)為正確的一個,然后系統(tǒng)會對用戶的分辨結(jié)果作出判斷,通過直觀簡潔的流程讓用戶更好地學(xué)習(xí)手語。

      自定義手語:自定義手語功能目前只支持自定義一種手語(再見時的擺手動作),該功能是預(yù)留給下一版作為擴充之用。

      娛樂模塊: 主要以體感游戲的方式呈現(xiàn)給用戶,用戶通過簡單的手勢來控制游戲主角,從而融入游戲[2]。

      2系統(tǒng)設(shè)計

      本系統(tǒng)以Unity3D為開發(fā)平臺,使用CCT.NUI開源體感識別庫、OpenNI/NITE組合開發(fā)包和KinectWrapperPackage中間件的接口進(jìn)行開發(fā)。系統(tǒng)整體架構(gòu)如圖1所示。

      2.1OpenNI簡介

      OpenNI(開放式的自然交互)是一個非營利組織,該組織專注于提高和改善自然交互設(shè)備,應(yīng)用軟件的互操作能力,通過使用這些硬件和中間件來很方便地訪問和使用一些設(shè)備。

      OpenNI的API允許開發(fā)人員直接基于最原始的數(shù)據(jù)格式編寫中間件上層算法,而不管這些數(shù)據(jù)是由哪個傳感器設(shè)備產(chǎn)生。OpenNI的這種機制給了傳感器制造商一個充分的自由空間去制造自己的傳感器而不用考慮上層OpenNI兼容的應(yīng)用程序。

      OpenNI API使得自然交互應(yīng)用開發(fā)人員通過傳感器輸出的標(biāo)準(zhǔn)化數(shù)據(jù)類型來處理真實的三維數(shù)據(jù),這些標(biāo)準(zhǔn)化的數(shù)據(jù)類型可以表示人體全身、手的位置,或者僅僅是一個含有深度信息的像素圖等。

      2.2系統(tǒng)模塊組成

      本系統(tǒng)主要包括靜態(tài)手語識別、口語識別、練習(xí)系統(tǒng)、娛樂模塊、自定義手語庫共5個模塊。

      (1) 靜態(tài)手語識別。靜態(tài)手語識別是本系統(tǒng)最核心的模塊之一,用戶只需要在Kinect可識別范圍內(nèi)做出相應(yīng)手語動作,系統(tǒng)通過分析處理從Kinect獲取的深度和骨骼數(shù)據(jù),將其翻譯成漢語,以文字的形式顯示在屏幕上,簡單直觀[3]。

      (2) 口語識別??谡Z識別模塊提供了兩種方式以方便用戶向系統(tǒng)傳遞需要翻譯的信息,分別是文本框輸入、語音識別輸入。①文本框輸入:用戶直接在輸入框輸入需要翻譯的內(nèi)容,單擊“翻譯”按鈕,系統(tǒng)的3D虛擬人物便將此內(nèi)容以手語的形式展示出來;②語音識別輸入:用戶只需開啟語音識別,然后在Kinect可識別的范圍內(nèi)直接說出想要翻譯的內(nèi)容,Kinect識別出信息后便會顯示在文本框內(nèi),用戶確認(rèn)內(nèi)容無誤后,單擊“翻譯”按鈕,3D虛擬人物便會將其翻譯[4]。

      (3) 練習(xí)系統(tǒng)。用戶點擊“開始”后,系統(tǒng)會按照一定順序選擇一則手語的動畫并播放出來。用戶可以根據(jù)動畫判斷相應(yīng)的手語意思并選擇,系統(tǒng)會作出判斷。該系統(tǒng)簡單易用,適合大多數(shù)人的日常學(xué)習(xí)。

      (4) 娛樂模塊。主要以體感游戲的方式呈現(xiàn),用戶通過簡單的手勢來控制游戲主角。

      (5) 自定義手語。用戶在自定義手語頁面只需單擊錄制按鈕,手勢錄制進(jìn)程即被啟動,視頻錄制完畢后,通過算法處理加入到程序中,關(guān)閉錄制進(jìn)程并在自定義手語庫頁面的文本框內(nèi)填寫對應(yīng)的文字意思,然后單擊“提交”按鈕,自定義的手語便自動保存。

      3技術(shù)路線與實現(xiàn)

      3.1指尖坐標(biāo)獲取

      在手勢識別模塊中,最關(guān)鍵的部分就是對于手指指尖坐標(biāo)的獲取。Kinect本身無法直接識別出手指,而開源庫體感識別庫CCT.NUI實現(xiàn)了Kinect對手指指尖坐標(biāo)的捕捉,同時兼容OpenNI/NITE以及Kinect SDK兩種驅(qū)動及其開發(fā)包。可以通過CCT.NUI的接口,很方便地獲取到指尖坐標(biāo),進(jìn)而對坐標(biāo)進(jìn)行處理,通過有限自動機轉(zhuǎn)化成相應(yīng)手語。手語識別過程如圖2所示。

      3.2語音識別

      利用Kinect對特定命令識別(recognition of command)的功能,將Kinect SDK中的Microsoft.Speech.dll作進(jìn)一步封裝,將原本只能識別英文的DLL封裝成可以識別中文的DLL,從而達(dá)到識別中文語音的目的。再利用進(jìn)程間的通信,把通過Kinect識別的語音傳到主進(jìn)程中,從而實現(xiàn)Kinect與Unity3D的交互。

      3.3口語翻譯

      當(dāng)系統(tǒng)獲取到需要翻譯的信息后,需要讓3D虛擬人物將其以手語的方式展示出來。此過程是首先將能夠識別的手語制作成一個個3D動畫,然后分別導(dǎo)入到Unity3D中,利用Unity3D的動畫系統(tǒng),將其循環(huán)播放。至于手語動畫的選擇,則由輸入系統(tǒng)所需要翻譯的信息決定,從需要翻譯的信息到手語的轉(zhuǎn)化過程同樣是借助有限狀態(tài)機實現(xiàn)。口語翻譯流程如圖3所示。

      3.4練習(xí)系統(tǒng)

      練習(xí)系統(tǒng)主要分為兩個部分:手語展示部分和用戶選擇結(jié)果判定的決策部分。通過將每一則手語和特定的漢語意思進(jìn)行關(guān)聯(lián),當(dāng)系統(tǒng)以一定的順序播放手語動畫時,用戶可以同步進(jìn)行語意判定,系統(tǒng)的判定決策系統(tǒng)由狀態(tài)機實現(xiàn)。

      3.5體感游戲

      基于Unity3D的體感游戲也是本項目的一個技術(shù)難點。Kinect與Unity3D本身并不能直接進(jìn)行數(shù)據(jù)交互,如果自己去寫中間件將花費大量時間,將大量時間花在系統(tǒng)的非核心部分是得不償失的,因此采用現(xiàn)有的中間件便成為了最佳選擇。本軟件中采用的是卡內(nèi)基梅隆大學(xué)的KinectWrapperPackage插件,只需將此插件包導(dǎo)入到Unity3D里便可使用插件包提供的接口,方便地獲取到Kinect的數(shù)據(jù),再通過獲取到的骨骼數(shù)據(jù)進(jìn)行處理,識別出相應(yīng)手勢,再將其轉(zhuǎn)化為控制游戲角色的指令,就能實現(xiàn)體感控制。體感控制實現(xiàn)流程如圖4所示。

      沛县| 溧水县| 越西县| 灵宝市| 舟山市| 应城市| 永修县| 阜宁县| 大余县| 兴山县| 青田县| 顺昌县| 泽库县| 南郑县| 枞阳县| 辽阳县| 定结县| 卢氏县| 淮阳县| 宜都市| 黎川县| 遂溪县| 平度市| 石家庄市| 桃源县| 平武县| 泗阳县| 文登市| 吴忠市| 崇礼县| 礼泉县| 澳门| 盐池县| 襄垣县| 洪洞县| 武强县| 略阳县| 广宁县| 女性| 博兴县| 扶风县|