本發(fā)明涉及人機(jī)交互技術(shù)領(lǐng)域,具體涉及一種交互式皮影表演系統(tǒng)及操作控制方法。
背景技術(shù):皮影戲是一項(xiàng)歷史悠久的藝術(shù)表演,在民間廣為流傳。然而,傳統(tǒng)皮影制作過(guò)程復(fù)雜且周期長(zhǎng),同時(shí)皮影戲?qū)Ρ硌輬?chǎng)景和表演者技術(shù)都有很高的要求。隨著各種現(xiàn)代藝術(shù)的沖擊以及傳統(tǒng)皮影藝術(shù)其自身的局限性導(dǎo)致傳統(tǒng)皮影藝術(shù)發(fā)展極其緩慢,皮影藝術(shù)瀕臨失傳。隨著計(jì)算機(jī)技術(shù)的發(fā)展,將人機(jī)交互技術(shù)應(yīng)用于皮影表演成為保護(hù)皮影藝術(shù)的有效手段,然而,如何使交互式數(shù)字化皮影不脫離傳統(tǒng)皮影藝術(shù)性同時(shí)又能被大多數(shù)人接受并操作是一個(gè)重大挑戰(zhàn),需要解決的問(wèn)題包括如何讓皮影制作和皮影表演更簡(jiǎn)單易行、如何增強(qiáng)使用者與皮影表演之間的互動(dòng)性、如何使表演更生動(dòng)形象、如何將表演內(nèi)容完整保存等。公開(kāi)號(hào)為CN102778953A(申請(qǐng)?zhí)枮镃N201210217372)的中國(guó)發(fā)明專利“基于Kinect的皮影戲遠(yuǎn)程數(shù)字表演的體感控制方法”中公開(kāi)了一種基于Kinect的皮影戲遠(yuǎn)程數(shù)字表演的體感控制方法,該方法首先識(shí)別并構(gòu)建演員的手勢(shì)動(dòng)作;再利用演員的人體各關(guān)節(jié)點(diǎn)位置數(shù)據(jù),通過(guò)骨骼節(jié)點(diǎn)到皮影各部位節(jié)點(diǎn)的映射運(yùn)算,生成數(shù)字皮影人物圖片形象數(shù)據(jù),通過(guò)遠(yuǎn)程桌面技術(shù),使客戶端計(jì)算機(jī)觀賞到皮影戲表演。該方法在一定程度上使交互式數(shù)字化皮影的操作簡(jiǎn)便,但是,這種方法存在以下不足:第一,Kinect獲取的人體數(shù)據(jù)不能在網(wǎng)絡(luò)間傳輸,因此客戶端的用戶只能觀看,無(wú)法參與互動(dòng)表演。第二,表演僅為單人表演,缺乏人與人之間的互動(dòng)表演。第三,表演期間沒(méi)有伴奏和字幕的播放,導(dǎo)致表演比較枯燥乏味。第四,表演內(nèi)容不能存儲(chǔ)為視頻。公開(kāi)號(hào)為CN102930084A(申請(qǐng)?zhí)枮镃N201210396207)的中國(guó)發(fā)明專利“皮影戲數(shù)字表演平臺(tái)”中公開(kāi)了一種皮影戲數(shù)字表演平臺(tái),該平臺(tái)實(shí)現(xiàn)了用戶登錄后,通過(guò)控制各個(gè)鼠標(biāo)、鍵盤(pán)或者多態(tài)觸摸屏來(lái)操作皮影對(duì)象。皮影的移動(dòng)是通過(guò)鼠標(biāo)點(diǎn)擊位置或者觸摸點(diǎn)位置與皮影模型的Flash元件綁定。當(dāng)有移動(dòng)發(fā)生時(shí),皮影模型中所有Flash元件隨點(diǎn)擊位置移動(dòng)而同步移動(dòng)。表演伴隨字幕、場(chǎng)景特效、配樂(lè),支持場(chǎng)景布局和切換,視頻的錄制與回放。該方法存在的不足之處:第一,表演不夠靈活。單靠鼠標(biāo)或者觸摸點(diǎn)控制皮影人物使皮影人物的可控制點(diǎn)有了限制,同時(shí)操作起來(lái)不方便。投入到使用需 要操作者做大量的培訓(xùn);第二,不能廣泛推廣。相對(duì)于家庭用戶,設(shè)備搭建復(fù)雜,同時(shí)只支持現(xiàn)場(chǎng)的表演,沒(méi)有網(wǎng)絡(luò)的傳播與互動(dòng)。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明所要解決的第一個(gè)技術(shù)問(wèn)題是針對(duì)上述現(xiàn)有技術(shù)提供一種交互式皮影表演系統(tǒng),該系統(tǒng)能夠?qū)崿F(xiàn)不同地理位置客戶端之間互動(dòng)皮影表演。本發(fā)明所要解決的第二個(gè)技術(shù)問(wèn)題是針對(duì)上述現(xiàn)有技術(shù)提供一種交互式皮影表演系統(tǒng)的操作控制方法。本發(fā)明解決上述第一個(gè)技術(shù)問(wèn)題所采用的技術(shù)方案為:一種交互式皮影表演系統(tǒng),包括主客戶端,所述主客戶端設(shè)置有顯示單元和輸入單元,主客戶端一側(cè)的表演者為主表演者;與主客戶端連接的主體感檢測(cè)器,用于采集主表演者的人體骨骼節(jié)點(diǎn)數(shù)據(jù)和/或語(yǔ)音數(shù)據(jù);從客戶端,從客戶端一側(cè)的表演者為從表演者;與從客戶端連接的從體感檢測(cè)器,用于采集從表演者的人體骨骼節(jié)點(diǎn)數(shù)據(jù)和/或語(yǔ)音數(shù)據(jù);服務(wù)器端,主客戶端和從客戶端均與服務(wù)器端連接,所述服務(wù)器端預(yù)先保存有皮影人物模型數(shù)據(jù)包和皮影資源數(shù)據(jù)包,皮影資源數(shù)據(jù)包包含皮影戲表演場(chǎng)景文件、背景文件、字幕文件、和背景音樂(lè)文件;所述主客戶端設(shè)置有鏈接到服務(wù)器端內(nèi)皮影資源數(shù)據(jù)包的皮影資源腳本,利用該皮影資源腳本,主表演者能根據(jù)主客戶端顯示單元的顯示,通過(guò)主體感檢測(cè)器和/或輸入單元選擇要表演的皮影資源;所述主客戶端設(shè)置有鏈接到服務(wù)器端內(nèi)皮影人物模型數(shù)據(jù)包的皮影模型腳本,利用該皮影模型腳本,主表演者能根據(jù)主客戶端顯示單元的顯示,通過(guò)主體感檢測(cè)器和/或輸入單元選擇要表演的主皮影人物模型和從皮影人物模型;所述服務(wù)器端將主體感檢測(cè)器和/或從體感檢測(cè)器采集獲取的人體骨骼節(jié)點(diǎn)數(shù)據(jù)在選中的皮影資源內(nèi)進(jìn)行整合,得到皮影表演內(nèi)容,整合方法為:在主客戶端選中的皮影資源內(nèi),服務(wù)器端將主體感檢測(cè)器采集獲取的人體骨骼節(jié)點(diǎn)數(shù)據(jù)一一映射到主客戶端選中的主皮影人物模型對(duì)應(yīng)的節(jié)點(diǎn);服務(wù)器端將從體感檢測(cè)器采集獲取的人體骨骼節(jié)點(diǎn)數(shù)據(jù)一一映射到主客戶端選中的從皮影人物模型對(duì)應(yīng)的節(jié)點(diǎn)。所述服務(wù)器端將整合后的皮影表演內(nèi)容發(fā)送給主客戶端,主客戶端通過(guò)顯示單元將整合后的皮影表演內(nèi)容進(jìn)行顯示。所述從客戶端也設(shè)置有從顯示單元,所述服務(wù)器端將整合后的皮影表演內(nèi)容發(fā)送給 從客戶端,從客戶端通過(guò)從顯示單元將整合后的皮影表演內(nèi)容進(jìn)行顯示。所述服務(wù)器端將主體感檢測(cè)器采集獲取的人體骨骼節(jié)點(diǎn)數(shù)據(jù)和/或語(yǔ)音數(shù)據(jù)進(jìn)行“表演開(kāi)始”或“表演結(jié)束”識(shí)別,當(dāng)“表演開(kāi)始”后,所述服務(wù)器端開(kāi)始將主體感檢測(cè)器和/或從體感檢測(cè)器采集獲取的人體骨骼節(jié)點(diǎn)數(shù)據(jù)在選中的皮影資源內(nèi)進(jìn)行整合;當(dāng)“表演結(jié)束”后,所述服務(wù)器端結(jié)束整合。所述服務(wù)器端還包括視對(duì)皮影表演內(nèi)容進(jìn)行視頻錄制的視頻錄制模塊。所述皮影模型腳本鏈接的內(nèi)容包括人物各部位關(guān)節(jié)點(diǎn)的名稱、模型文件名、旋轉(zhuǎn)自由度和相對(duì)父節(jié)點(diǎn)的偏移量,所述人物各部位包括頭部、胸部、臀部、左腿、右腿、左上臂、右上臂、左小臂、右小臂、左手和右手。為了易于網(wǎng)絡(luò)推廣,所述服務(wù)器端、所述主客戶端和所述從客戶端均安裝有VRPN,所述主客戶端通過(guò)VRPN將主體感檢測(cè)器采集的人體骨骼節(jié)點(diǎn)數(shù)據(jù)和/或語(yǔ)音數(shù)據(jù)進(jìn)行封裝并傳輸給服務(wù)器端,所述從客戶端通過(guò)VRPN將從體感檢測(cè)器采集的人體骨骼節(jié)點(diǎn)數(shù)據(jù)和/或語(yǔ)音數(shù)據(jù)進(jìn)行封裝并傳輸給服務(wù)器端。同時(shí),服務(wù)器端還能通過(guò)VRPN將整合后的皮影表演內(nèi)容傳輸給主客戶端和從客戶端。本發(fā)明解決上述第二個(gè)技術(shù)問(wèn)題所采用的技術(shù)方案為:一種交互式皮影表演系統(tǒng)的操作控制方法,其特征在于:包括如下步驟:步驟一、將主客戶端和從客戶端接入互聯(lián)網(wǎng),將服務(wù)器端也接入互聯(lián)網(wǎng),將主體感檢測(cè)器連接到主客戶端,將從體感檢測(cè)器連接到從客戶端,主體感檢測(cè)器放置的高度為主表演者的腹部高度處,并正對(duì)著主表演者,從體感檢測(cè)器放置的高度為從表演者的腹部高度處,并正對(duì)著從表演者;步驟二、打開(kāi)主客戶端、從客戶端和服務(wù)器端,啟動(dòng)體感檢測(cè)器;步驟三、主客戶端利用皮影模型腳本根據(jù)顯示單元的顯示,通過(guò)主體感檢測(cè)器和/或輸入單元選擇要表演的主皮影人物模型和從皮影人物模型;步驟四、主客戶端利用皮影資源腳本,根據(jù)顯示單元的顯示,通過(guò)主體感檢測(cè)器和/或輸入單元選擇要表演的皮影資源;步驟五、服務(wù)器端使用手勢(shì)識(shí)別方法,對(duì)主客戶端選擇的皮影資源進(jìn)行反饋,當(dāng)主客戶端要表演的皮影資源選擇完畢后,主表演者做出“表演開(kāi)始”的語(yǔ)音控制命令或“表演開(kāi)始”的手勢(shì)控制命令,服務(wù)器端將成功識(shí)別的“表演開(kāi)始”的語(yǔ)音控制命令或“表演開(kāi)始”手勢(shì)控制命令發(fā)送給主客戶端和從客戶端;步驟六、主表演者和從表演者開(kāi)始表演,服務(wù)器端采集主表演者和從表演者的人體骨骼節(jié)點(diǎn)數(shù)據(jù)和語(yǔ)音數(shù)據(jù),并在步驟四選擇的皮影資源內(nèi)進(jìn)行整合,然后將整合后的皮影表演內(nèi)容發(fā)送給主客戶端進(jìn)行顯示;步驟七、待表演結(jié)束后,主表演者做出“表演結(jié)束”的語(yǔ)音控制命令或“表演結(jié)束” 的手勢(shì)控制命令,服務(wù)器端將成功識(shí)別的“表演結(jié)束”的語(yǔ)音控制命令或“表演結(jié)束”的手勢(shì)控制命令發(fā)送給主客戶端和從客戶端。所述步驟五和步驟七中使用到的手勢(shì)識(shí)別方法為單步手勢(shì)識(shí)別方法,包括以下步驟:步驟1、初始化,設(shè)置手勢(shì)動(dòng)態(tài)數(shù)組及該手勢(shì)動(dòng)態(tài)數(shù)組中數(shù)據(jù)的有效長(zhǎng)度閾值,設(shè)置手勢(shì)圖形的標(biāo)準(zhǔn)大小,設(shè)置與所述手勢(shì)圖形標(biāo)準(zhǔn)大小相匹配的手勢(shì)圖形匹配模板;步驟2、定義手勢(shì)識(shí)別有效區(qū),所述手勢(shì)識(shí)別有效區(qū)為:以采集到的人體的右肩節(jié)點(diǎn)或左肩節(jié)點(diǎn)為水平方向的中心、分別向兩側(cè)延伸半肩的距離定義為水平方向區(qū)域,髖骨節(jié)點(diǎn)以上至頭頂之間的距離定義為垂直方向區(qū)域;步驟3、在所述手勢(shì)識(shí)別有效區(qū)內(nèi)檢測(cè)手部位置,轉(zhuǎn)步驟4,否則轉(zhuǎn)步驟3;步驟4、自手進(jìn)入手勢(shì)識(shí)別有效區(qū)開(kāi)始,到離開(kāi)手勢(shì)識(shí)別有效區(qū)為止,作為一個(gè)完整的手勢(shì)識(shí)別事件進(jìn)行判斷,當(dāng)手進(jìn)入手勢(shì)識(shí)別有效區(qū)后,將手在手勢(shì)識(shí)別有效區(qū)的點(diǎn)對(duì)應(yīng)的坐標(biāo)數(shù)據(jù)存入手勢(shì)動(dòng)態(tài)數(shù)組,當(dāng)手離開(kāi)手勢(shì)識(shí)別有效區(qū)時(shí),存入手坐標(biāo)數(shù)據(jù)過(guò)程結(jié)束,將一個(gè)完整的手勢(shì)識(shí)別事件中動(dòng)態(tài)數(shù)組所保存的手勢(shì)坐標(biāo)數(shù)據(jù)量與預(yù)先設(shè)置的手勢(shì)動(dòng)態(tài)數(shù)組中數(shù)據(jù)的有效長(zhǎng)度閾值進(jìn)行比較,如果一個(gè)完整的手勢(shì)識(shí)別事件中動(dòng)態(tài)數(shù)組所保存的手勢(shì)坐標(biāo)數(shù)據(jù)量超過(guò)有效長(zhǎng)度閾值,則判斷當(dāng)前存儲(chǔ)的坐標(biāo)數(shù)據(jù)構(gòu)成一個(gè)手勢(shì),觸發(fā)手勢(shì)的識(shí)別過(guò)程,轉(zhuǎn)步驟5,否則清空數(shù)組數(shù)據(jù),轉(zhuǎn)步驟3;步驟5、根據(jù)一個(gè)完整的手勢(shì)識(shí)別事件中動(dòng)態(tài)數(shù)組所保存的手勢(shì)坐標(biāo)數(shù)據(jù)進(jìn)行手勢(shì)圖形重組,得出手勢(shì)圖形,找出手勢(shì)圖形的圖心,建立手勢(shì)圖形起點(diǎn)和圖心連線,并以圖心為圓心旋轉(zhuǎn)手勢(shì)圖形,使所述手勢(shì)圖形的起點(diǎn)和圖心連接成的連線呈水平狀態(tài),旋轉(zhuǎn)方向的選取按照以下規(guī)則進(jìn)行:如果手勢(shì)圖形的起始點(diǎn)在圖心點(diǎn)左側(cè),且手勢(shì)圖形起點(diǎn)和圖心連線與水平線夾角為正,則手勢(shì)圖形按照順時(shí)針?lè)较蛐D(zhuǎn);如果手勢(shì)圖形的起始點(diǎn)在圖心點(diǎn)左側(cè),且手勢(shì)圖形起點(diǎn)和圖心連線與水平線夾角為負(fù),則手勢(shì)圖形按照逆時(shí)針?lè)较蛐D(zhuǎn);如果手勢(shì)圖形的起始點(diǎn)在圖心點(diǎn)右側(cè),且手勢(shì)圖形起點(diǎn)和圖心連線與水平線夾角為正,則手勢(shì)圖形按照逆時(shí)針?lè)较蛐D(zhuǎn);如果手勢(shì)圖形的起始點(diǎn)在中心點(diǎn)右側(cè),且手勢(shì)圖形起點(diǎn)和圖心連線與水平線夾角為負(fù),則手勢(shì)圖形按照順時(shí)針?lè)较蛐D(zhuǎn);步驟6、將旋轉(zhuǎn)后的手勢(shì)圖形縮放成預(yù)先設(shè)置的標(biāo)準(zhǔn)大小,將旋轉(zhuǎn)后的手勢(shì)圖形與手勢(shì)圖形匹配模板進(jìn)行對(duì)比,得到與手勢(shì)圖形最佳匹配的手勢(shì)圖形匹配模板,從而得到手勢(shì)識(shí)別結(jié)果。所述步驟5重組手勢(shì)圖形過(guò)程中,使用64個(gè)點(diǎn)重新表示手勢(shì)圖形,從而得出手勢(shì)圖形;所述手勢(shì)圖形匹配模板包括順時(shí)針旋轉(zhuǎn)圓形手勢(shì)圖形匹配模板、逆時(shí)針旋轉(zhuǎn)圓形 手勢(shì)圖形匹配模板、向左移動(dòng)直線手勢(shì)圖形匹配模板和向右移動(dòng)直線手勢(shì)圖形匹配模板。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:1、可以多人共同表演。本發(fā)明中的交互式皮影表演系統(tǒng)適用于兩人以上的皮影表演,人物數(shù)量不受限制,而且本發(fā)明中的交互式皮影表演系統(tǒng)的操作控制方法不僅能夠?qū)崿F(xiàn)人機(jī)之間的互動(dòng),還有人與人之間的皮影表演互動(dòng)。2、易于網(wǎng)絡(luò)推廣。本發(fā)明進(jìn)一步技術(shù)方案中,服務(wù)器端、主客戶端和從客戶端均借助虛擬現(xiàn)實(shí)外圍設(shè)備網(wǎng)絡(luò)VRPN將數(shù)據(jù)來(lái)源不僅限于本地Kinect,同時(shí)也可以來(lái)自因特網(wǎng)中其他Kinect設(shè)備,并且Kinect設(shè)備價(jià)格低廉、功能強(qiáng)大,作為XBOX體感游戲機(jī)的一部分被廣大家庭用戶使用。3、連接服務(wù)器端的客戶端能觀看皮影表演內(nèi)容,同時(shí),在改進(jìn)技術(shù)方案中,服務(wù)器端還可以對(duì)皮影表演內(nèi)容進(jìn)行視頻錄制。4、操作簡(jiǎn)單,內(nèi)容豐富。表演者不需要經(jīng)過(guò)培訓(xùn)即可操作皮影人物進(jìn)行表演,表演者可以不遵循固有的形式,根據(jù)自己的喜好自行表演,在表演過(guò)程中,還集成了皮影表演所需的背景音樂(lè),同時(shí)集成了皮影表演場(chǎng)景、背景和字幕的顯示,加上皮影人物模型的呈現(xiàn),共同整合顯示在主客戶端及從客戶端的顯示單元。附圖說(shuō)明圖1為本實(shí)施例中交互式皮影表演系統(tǒng)的組成圖。圖2為本實(shí)施例中交互式皮影表演系統(tǒng)的操作控制方法的流程圖。圖3為本實(shí)施例中單步手勢(shì)識(shí)別方法的流程圖。具體實(shí)施方式以下結(jié)合附圖實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。如圖1所示,本實(shí)施例中的交互式皮影表演系統(tǒng),包括主客戶端,所述主客戶端設(shè)置有顯示單元和輸入單元,主客戶端一側(cè)的表演者為主表演者;與主客戶端連接的主體感檢測(cè)器,用于采集主表演者的人體骨骼節(jié)點(diǎn)數(shù)據(jù)和/或語(yǔ)音數(shù)據(jù);從客戶端,從客戶端一側(cè)的表演者為從表演者,從客戶端可以包括一個(gè)或者二個(gè)以上;與從客戶端連接的從體感檢測(cè)器,用于采集從表演者的人體骨骼節(jié)點(diǎn)數(shù)據(jù)和/或語(yǔ)音數(shù)據(jù);服務(wù)器端,主客戶端和從客戶端均與服務(wù)器端連接,所述服務(wù)器端預(yù)先保存有皮影人物模型數(shù)據(jù)包和皮影資源數(shù)據(jù)包,皮影資源數(shù)據(jù)包包含皮影戲表演場(chǎng)景文件、背景文件、字幕文件、和背景音樂(lè)文件;所述主客戶端設(shè)置有鏈接到服務(wù)器端內(nèi)皮影資源數(shù)據(jù)包的皮影資源腳本,利用該皮影資源腳本,主表演者能根據(jù)主客戶端顯示單元的顯示,通過(guò)主體感檢測(cè)器和/或輸入單元選擇要表演的皮影資源;所述主客戶端設(shè)置有鏈接到服務(wù)器端內(nèi)皮影人物模型數(shù)據(jù)包的皮影模型腳本,利用該皮影模型腳本,主表演者能根據(jù)主客戶端顯示單元的顯示,通過(guò)主體感檢測(cè)器和/或輸入單元選擇要表演的主皮影人物模型和從皮影人物模型;所述從客戶端也可設(shè)置鏈接到服務(wù)器端內(nèi)皮影資源數(shù)據(jù)包的皮影資源腳本和鏈接到服務(wù)器端內(nèi)皮影人物模型數(shù)據(jù)包的皮影模型腳本,通過(guò)從體感檢測(cè)器和/或輸入單元選擇要表演的皮影資源和從皮影人物模型;所述服務(wù)器端將主體感檢測(cè)器和/或從體感檢測(cè)器采集獲取的人體骨骼節(jié)點(diǎn)數(shù)據(jù)在選中的皮影資源內(nèi)進(jìn)行整合,得到皮影表演內(nèi)容,整合方法為:在主客戶端選中的皮影資源內(nèi),服務(wù)器端將主體感檢測(cè)器采集獲取的人體骨骼節(jié)點(diǎn)數(shù)據(jù)一一映射到主客戶端選中的主皮影人物模型對(duì)應(yīng)的節(jié)點(diǎn);服務(wù)器端將從體感檢測(cè)器采集獲取的人體骨骼節(jié)點(diǎn)數(shù)據(jù)一一映射到主客戶端選中的從皮影人物模型對(duì)應(yīng)的節(jié)點(diǎn)。所述服務(wù)器端將整合后的皮影表演內(nèi)容發(fā)送給主客戶端,主客戶端通過(guò)顯示單元將整合后的皮影表演內(nèi)容進(jìn)行顯示。所述從客戶端也可以設(shè)置從顯示單元,所述服務(wù)器端將整合后的皮影表演內(nèi)容也可以發(fā)送給從客戶端,從客戶端通過(guò)從顯示單元將整合后的皮影表演內(nèi)容進(jìn)行顯示。所述服務(wù)器端將主體感檢測(cè)器采集獲取的人體骨骼節(jié)點(diǎn)數(shù)據(jù)和/或語(yǔ)音數(shù)據(jù)進(jìn)行“表演開(kāi)始”或“表演結(jié)束”識(shí)別,當(dāng)“表演開(kāi)始”后,所述服務(wù)器端開(kāi)始將主體感檢測(cè)器和/或從體感檢測(cè)器采集獲取的人體骨骼節(jié)點(diǎn)數(shù)據(jù)在選中的皮影資源內(nèi)進(jìn)行整合;當(dāng)“表演結(jié)束”后,所述服務(wù)器端結(jié)束整合。所述服務(wù)器端還包括視對(duì)皮影表演內(nèi)容進(jìn)行視頻錄制的視頻錄制模塊,服務(wù)器端利用所述視頻錄制模塊進(jìn)行皮影表演視頻的錄制。所述皮影模型腳本鏈接的內(nèi)容包括人物各部位關(guān)節(jié)點(diǎn)的名稱、模型文件名、旋轉(zhuǎn)自由度和相對(duì)父節(jié)點(diǎn)的偏移量,所述人物各部位包括頭部、胸部、臀部、左腿、右腿、左上臂、右上臂、左小臂、右小臂、左手和右手。為了易于網(wǎng)絡(luò)推廣,所述服務(wù)器端、所述主客戶端和所述從客戶端均安裝有虛擬現(xiàn)實(shí)外圍設(shè)備網(wǎng)絡(luò)Virtual-RealityPeripheralNetwork,簡(jiǎn)稱VRPN,VRPN是由一系列的類庫(kù)組成,提供客戶端與服務(wù)器端之間的網(wǎng)絡(luò)透明接口,實(shí)現(xiàn)網(wǎng)絡(luò)透明訪問(wèn)設(shè)備的低延遲和可靠性,所述主客戶端通過(guò)VRPN分別按照不同設(shè)備類型將主體感檢測(cè)器采集的人 體骨骼節(jié)點(diǎn)數(shù)據(jù)和/或語(yǔ)音數(shù)據(jù)進(jìn)行封裝并傳輸給服務(wù)器端,所述從客戶端通過(guò)VRPN分別按照不同設(shè)備類型將從體感檢測(cè)器采集的人體骨骼節(jié)點(diǎn)數(shù)據(jù)和/或語(yǔ)音數(shù)據(jù)進(jìn)行封裝并傳輸給服務(wù)器端,設(shè)備類型Analog封裝人體骨骼節(jié)點(diǎn)數(shù)據(jù),設(shè)備類型Text封裝語(yǔ)音數(shù)據(jù)。服務(wù)器端建立與主客戶端和從客戶端設(shè)備類型對(duì)應(yīng)的讀取類型,通過(guò)VRPN分別讀取主客戶端和從客戶端相應(yīng)設(shè)備類型封裝的數(shù)據(jù),從而進(jìn)行響應(yīng)。如圖2所示,一種交互式皮影表演系統(tǒng)的操作控制方法,包括如下步驟:步驟一、將主客戶端和從客戶端接入互聯(lián)網(wǎng),將服務(wù)器端也接入互聯(lián)網(wǎng),如此即實(shí)現(xiàn)了主客戶端、從客戶端和服務(wù)器端的網(wǎng)絡(luò)連接,將主體感檢測(cè)器連接到主客戶端,將從體感檢測(cè)器連接到從客戶端,主體感檢測(cè)器放置的高度為主表演者的腹部高度處,并正對(duì)著主表演者,從體感檢測(cè)器放置的高度為從表演者的腹部高度處,并正對(duì)著從表演者,如此主體感檢測(cè)器和從體感檢測(cè)器分別可以方便采集主表演者和從表演者的人體骨骼節(jié)點(diǎn)數(shù)據(jù);步驟二、打開(kāi)主客戶端、從客戶端和服務(wù)器端,啟動(dòng)體感檢測(cè)器;與主客戶端連接的主體感檢測(cè)器在檢測(cè)不到主表演者來(lái)源信號(hào)后,則服務(wù)器端自動(dòng)將其中一個(gè)從客戶端升級(jí)為新的主客戶端;主客戶端可以實(shí)現(xiàn)的操作有:表演場(chǎng)景的切換、表演開(kāi)始和結(jié)束的命令控制、視頻錄制開(kāi)始和結(jié)束的命令控制、皮影人物的運(yùn)動(dòng)控制、字幕的滾動(dòng)控制和背景的切換;從客戶端可以實(shí)現(xiàn)的操作有:皮影人物的運(yùn)動(dòng)控制、字幕的滾動(dòng)控制和背景的切換;步驟三、主客戶端利用皮影模型腳本鏈接到服務(wù)器端內(nèi)皮影人物模型數(shù)據(jù)包,根據(jù)顯示單元的顯示,通過(guò)主體感檢測(cè)器和/或輸入單元選擇要表演的主皮影人物模型和從皮影人物模型;其中,皮影人物模型數(shù)據(jù)包中的皮影人物模型構(gòu)建方法為常用方法,其構(gòu)建方法如下:a、皮影人物模型通過(guò)3DMax軟件建模獲得;b、皮影人物模型貼圖采用TGA格式圖片;c、定義皮影模型腳本,該皮影模型腳本內(nèi)存儲(chǔ)有各個(gè)關(guān)節(jié)點(diǎn)的名稱、模型文件名、旋轉(zhuǎn)自由度和相對(duì)于父節(jié)點(diǎn)偏移量,各個(gè)關(guān)節(jié)點(diǎn)的名稱分別為:頭部、胸部、臀部、左腳、右腿、左上臂、右上臂、左小臂、右小臂、左手和右手;d、子節(jié)點(diǎn)相對(duì)于父節(jié)點(diǎn)的偏移決定了子節(jié)點(diǎn)相對(duì)于父節(jié)點(diǎn)模型的起始繪制點(diǎn),根據(jù)定義的皮影模型腳本文件中的偏移信息和模型文件信息,從頭部節(jié)點(diǎn)開(kāi)始,依次得到子節(jié)點(diǎn)的起始繪制點(diǎn),并繪制出每一條子鏈,從而得到整個(gè)皮影人物模型;步驟四、主客戶端利用皮影資源腳本鏈接到服務(wù)器端內(nèi)皮影資源數(shù)據(jù)包,根據(jù)顯示單元的顯示,通過(guò)主體感檢測(cè)器和/或輸入單元選擇要表演的皮影資源,選擇需要表演的皮影資源包括選擇皮影戲表演的場(chǎng)景,主表演者可以使用左揮手和右揮手的手勢(shì)控制命 令進(jìn)行表演場(chǎng)景的選擇,左揮手代表選擇下一場(chǎng)景,右揮手代表選擇前一場(chǎng)景,如此進(jìn)行手勢(shì)操作直至選出皮影戲表演場(chǎng)景;服務(wù)器端利用手勢(shì)識(shí)別方法識(shí)別的手勢(shì)控制命令進(jìn)行皮影戲表演場(chǎng)景的更換,并將選擇到的皮影戲表演場(chǎng)景顯示在主客戶端和/或從客戶端的顯示單元;步驟五、要表演的皮影資源選擇完畢后,主表演者做出“表演開(kāi)始”的語(yǔ)音控制命令或“表演開(kāi)始”的手勢(shì)控制命令,服務(wù)器端將成功識(shí)別的“表演開(kāi)始”的語(yǔ)音控制命令或“表演開(kāi)始”手勢(shì)控制命令發(fā)送給主客戶端和從客戶端,并將主客戶端和從客戶端Text設(shè)備類型的語(yǔ)音數(shù)據(jù)或Analog設(shè)備類型的手勢(shì)骨骼節(jié)點(diǎn)數(shù)據(jù)讀取的標(biāo)志位置設(shè)置為開(kāi)始標(biāo)志,主客戶端和從客戶端檢測(cè)到Text設(shè)備類型或Analog設(shè)備類型數(shù)據(jù)標(biāo)志位為開(kāi)始標(biāo)志后做出“表演開(kāi)始”的響應(yīng),如果主表演者做出“表演開(kāi)始”的語(yǔ)音控制命令或“表演開(kāi)始”的手勢(shì)控制命令通過(guò)服務(wù)器端進(jìn)行識(shí)別為無(wú)效命令后,則主客戶端和從客戶端Text設(shè)備類型的語(yǔ)音數(shù)據(jù)或Analog設(shè)備類型的手勢(shì)骨骼節(jié)點(diǎn)數(shù)據(jù)標(biāo)志位始終為初始標(biāo)志,初始標(biāo)志表示主客戶端和從客戶端不進(jìn)行任何動(dòng)作響應(yīng);其中服務(wù)器端對(duì)語(yǔ)音控制命令進(jìn)行識(shí)別的方法為常規(guī)的語(yǔ)音識(shí)別方法,服務(wù)器端對(duì)手勢(shì)控制命令進(jìn)行識(shí)別的方法為步驟四中的手勢(shì)識(shí)別方法;與此同時(shí),主表演者還可以向輸入單元輸入“錄制開(kāi)始”命令,或做出“錄制開(kāi)始”的手勢(shì)控制命令,再或者做出“錄制開(kāi)始”的語(yǔ)音控制命令,服務(wù)器端成功識(shí)別的“錄制開(kāi)始”的手勢(shì)控制命令或“錄制開(kāi)始”的語(yǔ)音控制命令后開(kāi)始皮影表演內(nèi)容的視頻錄制,錄制開(kāi)始時(shí),可以設(shè)置倒計(jì)時(shí),方便主表演者和從表演者做表演準(zhǔn)備;步驟六、主表演者和從表演者開(kāi)始表演,表演過(guò)程中,主客戶端和從客戶端可以通過(guò)手勢(shì)控制命令、語(yǔ)音控制命令或者輸入單元輸入的命令,通過(guò)主客戶端和從客戶端內(nèi)設(shè)置的皮影資源腳本鏈接到服務(wù)器端內(nèi)皮影資源數(shù)據(jù)包,從而選擇皮影表演過(guò)程中需要的背景、字幕和背景音樂(lè),服務(wù)器端采集主表演者和從表演者的人體骨骼節(jié)點(diǎn)數(shù)據(jù),并在選擇的皮影戲表演場(chǎng)景、背景、字幕和背景音樂(lè)一系列皮影資源內(nèi)進(jìn)行整合,然后將整合后的皮影表演內(nèi)容發(fā)送給主客戶端進(jìn)行顯示,也可同時(shí)將整合后的皮影表演內(nèi)容發(fā)送給從客戶端進(jìn)行顯示;其中,背景音樂(lè)也可以和皮影戲表演場(chǎng)景預(yù)先在服務(wù)器內(nèi)進(jìn)行配置,針對(duì)不同的皮影戲表演場(chǎng)景,背景音樂(lè)可以自動(dòng)切換及播放;在表演的同時(shí),進(jìn)行視頻錄制,錄制期間,表演內(nèi)容以每秒25幀的速度提取表演畫(huà)面,從而壓縮為AVI格式視頻;該步驟中,主體感檢測(cè)器和從體感檢測(cè)器分別將采集的的主表演者和從表演者的人體骨骼節(jié)點(diǎn)數(shù)據(jù)經(jīng)過(guò)客戶端傳送給服務(wù)器端,在服務(wù)器端利用常規(guī)的人物模型運(yùn)動(dòng)控制方法進(jìn)行皮影人物模型的運(yùn)動(dòng)控制,進(jìn)而顯示在所述主客戶端和從客戶端的顯示單元中,皮影人物模型的運(yùn)動(dòng)主要包括皮影人物模型在顯示單元內(nèi)的移動(dòng)和身體各部位的活 動(dòng),以頭部節(jié)點(diǎn)作為整個(gè)皮影人物的起始繪制點(diǎn),頭部節(jié)點(diǎn)的坐標(biāo)決定整個(gè)皮影人物在顯示單元內(nèi)的位置,頭部節(jié)點(diǎn)為父部位,父部位節(jié)點(diǎn)坐標(biāo)系為主坐標(biāo)系,其他各部位為子部位,子部位節(jié)點(diǎn)均有各自的子坐標(biāo)系,子坐標(biāo)系相對(duì)于主坐標(biāo)系的偏轉(zhuǎn)角即為子部位相對(duì)于父部位的偏轉(zhuǎn)角度,各部位模型繪制時(shí),根據(jù)偏轉(zhuǎn)角從根節(jié)點(diǎn)一直繪制到葉節(jié)點(diǎn),最終繪制出整個(gè)皮影人物模型,根據(jù)獲取的人體各關(guān)節(jié)點(diǎn)位置,計(jì)算出各部位的偏轉(zhuǎn)角,如此即完成表演者的表演動(dòng)作到皮影人物運(yùn)動(dòng)在所述主客戶端和從客戶端的顯示單元中的呈現(xiàn);步驟七、待表演結(jié)束后,主表演者做出“表演結(jié)束”的語(yǔ)音控制命令或“表演結(jié)束”的手勢(shì)控制命令,服務(wù)器端將成功識(shí)別的“表演結(jié)束”的語(yǔ)音控制命令或“表演結(jié)束”的手勢(shì)控制命令發(fā)送給主客戶端和從客戶端,主客戶端和從客戶端做出響應(yīng),主表演者和從表演者停止表演;與此同時(shí),主表演者也可以向輸入單元輸入“錄制結(jié)束”命令,或做出“錄制結(jié)束”的手勢(shì)控制命令,再或者做出“錄制結(jié)束”的語(yǔ)音控制命令,服務(wù)器端成功識(shí)別的“錄制結(jié)束”的手勢(shì)控制命令或“錄制結(jié)束”的語(yǔ)音控制命令后,結(jié)束錄制皮影表演視頻。同步驟五所述,服務(wù)器端對(duì)語(yǔ)音控制命令進(jìn)行識(shí)別的方法為常規(guī)的語(yǔ)音識(shí)別方法,服務(wù)器端對(duì)手勢(shì)控制命令進(jìn)行識(shí)別的方法為步驟四中的手勢(shì)識(shí)別方法。所述步驟四、步驟五和步驟七中的手勢(shì)識(shí)別方法為單步手勢(shì)識(shí)別方法,其包括以下步驟,參見(jiàn)圖3所示步驟1、初始化,設(shè)置手勢(shì)動(dòng)態(tài)數(shù)組及手勢(shì)動(dòng)態(tài)數(shù)組中數(shù)據(jù)的有效長(zhǎng)度閾值,設(shè)置手勢(shì)圖形的標(biāo)準(zhǔn)大小,設(shè)置與所述手勢(shì)圖形標(biāo)準(zhǔn)大小相匹配的手勢(shì)圖形匹配模板,所述手勢(shì)圖形匹配模板包括順時(shí)針旋轉(zhuǎn)圓形手勢(shì)圖形匹配模板、逆時(shí)針旋轉(zhuǎn)圓形手勢(shì)圖形匹配模板、向左移動(dòng)直線手勢(shì)圖形匹配模板和向右移動(dòng)直線手勢(shì)圖形匹配模板;步驟2、定義手勢(shì)識(shí)別有效區(qū),所述手勢(shì)識(shí)別有效區(qū)為:以采集到的人體的右肩節(jié)點(diǎn)或左肩節(jié)點(diǎn)為水平方向的中心、分別向兩側(cè)延伸半肩的距離定義為水平方向區(qū)域,髖骨節(jié)點(diǎn)以上至頭頂之間的距離定義為垂直方向區(qū)域;步驟3、在所述手勢(shì)識(shí)別有效區(qū)內(nèi)檢測(cè)手部位置,轉(zhuǎn)步驟4,否則轉(zhuǎn)步驟3;步驟4、自手進(jìn)入手勢(shì)識(shí)別有效區(qū)開(kāi)始,到離開(kāi)手勢(shì)識(shí)別有效區(qū)為止,作為一個(gè)完整的手勢(shì)識(shí)別事件進(jìn)行判斷,當(dāng)手進(jìn)入手勢(shì)識(shí)別有效區(qū)后,將手在手勢(shì)識(shí)別有效區(qū)的點(diǎn)對(duì)應(yīng)的坐標(biāo)數(shù)據(jù)存入手勢(shì)動(dòng)態(tài)數(shù)組,當(dāng)手離開(kāi)手勢(shì)識(shí)別有效區(qū)時(shí),存入手坐標(biāo)數(shù)據(jù)過(guò)程結(jié)束,將一個(gè)完整的手勢(shì)識(shí)別事件中動(dòng)態(tài)數(shù)組所保存的手勢(shì)坐標(biāo)數(shù)據(jù)量與預(yù)先設(shè)置的手勢(shì)動(dòng)態(tài)數(shù)組中數(shù)據(jù)的有效長(zhǎng)度閾值進(jìn)行比較,如果一個(gè)完整的手勢(shì)識(shí)別事件中動(dòng)態(tài)數(shù)組所保存的手勢(shì)坐標(biāo)數(shù)據(jù)量超過(guò)有效長(zhǎng)度閾值,則判斷當(dāng)前存儲(chǔ)的坐標(biāo)數(shù)據(jù)構(gòu)成一個(gè)手勢(shì),觸發(fā)手勢(shì)的識(shí)別過(guò)程,轉(zhuǎn)步驟5,否則清空數(shù)組數(shù)據(jù),轉(zhuǎn)步驟3;步驟5、根據(jù)一個(gè)完整的手勢(shì)識(shí)別事件中動(dòng)態(tài)數(shù)組所保存的手勢(shì)坐標(biāo)數(shù)據(jù)使用64個(gè) 點(diǎn)重新進(jìn)行手勢(shì)圖形重組表示手勢(shì)圖形,從而得出手勢(shì)圖形,找出手勢(shì)圖形的圖心,建立手勢(shì)圖形起點(diǎn)和圖心連線,并以圖心為圓心旋轉(zhuǎn)手勢(shì)圖形,使所述手勢(shì)圖形的起點(diǎn)和圖心連接成的連線呈水平狀態(tài),旋轉(zhuǎn)方向的選取按照以下規(guī)則進(jìn)行:如果手勢(shì)圖形的起始點(diǎn)在圖心點(diǎn)左側(cè),且手勢(shì)圖形起點(diǎn)和圖心連線與水平線夾角為正,則手勢(shì)圖形按照順時(shí)針?lè)较蛐D(zhuǎn);如果手勢(shì)圖形的起始點(diǎn)在圖心點(diǎn)左側(cè),且手勢(shì)圖形起點(diǎn)和圖心連線與水平線夾角為負(fù),則手勢(shì)圖形按照逆時(shí)針?lè)较蛐D(zhuǎn);如果手勢(shì)圖形的起始點(diǎn)在圖心點(diǎn)右側(cè),且手勢(shì)圖形起點(diǎn)和圖心連線與水平線夾角為正,則手勢(shì)圖形按照逆時(shí)針?lè)较蛐D(zhuǎn);如果手勢(shì)圖形的起始點(diǎn)在中心點(diǎn)右側(cè),且手勢(shì)圖形起點(diǎn)和圖心連線與水平線夾角為負(fù),則手勢(shì)圖形按照順時(shí)針?lè)较蛐D(zhuǎn);步驟6、將旋轉(zhuǎn)后的手勢(shì)圖形縮放成預(yù)先設(shè)置的標(biāo)準(zhǔn)大小,將旋轉(zhuǎn)后的手勢(shì)圖形與手勢(shì)圖形匹配模板進(jìn)行對(duì)比,得到與手勢(shì)圖形最佳匹配的手勢(shì)圖形匹配模板,從而得到手勢(shì)識(shí)別結(jié)果。