欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種實時3D遠程人機交互系統(tǒng)的制作方法

文檔序號:11196164閱讀:1350來源:國知局
一種實時3D遠程人機交互系統(tǒng)的制造方法與工藝

本實用新型涉及到人機交互和實時遠程3D視頻通信領域,尤其是涉及到一種實時3D遠程人機交互系統(tǒng)的技術背景。



背景技術:

如今,雙目攝像頭快速發(fā)展,如ZED、KINECT等雙目攝像頭,使獲取深度圖像信息越來越便利,并且成本低、精度高。特別是KINECT雙目攝像頭,用戶可以很方便去獲取和使用3D點云數(shù)據(jù)。將KINCKET運用到一種實時3D遠程人機交互系統(tǒng)中,可以做到在一個較高的精度下節(jié)約制造成本。

PCL(Point Cloud Library)的出現(xiàn),人們處理3D圖片操作變得更加簡單,結果更加穩(wěn)定。一種實時3D遠程AR交互系統(tǒng)使用PCL去處理采集到的3D點云數(shù)據(jù),具有很大的優(yōu)勢。

AR技術的興起,各種識別人身體部位的3D信息的設備得到快速發(fā)展,LEAP MOTION能夠快速、穩(wěn)定、準確采集到人的手部3D信息,這個為一種實時3D遠程人機交互系統(tǒng)提供了交互技術硬件支持。

學術界已經(jīng)有一些應用于遠程人機交互系統(tǒng)和3D視頻實時傳輸?shù)南嚓P專利,主要有:

1.中國公開專利:CN 103793060 A 一種用戶交互系統(tǒng)和方法:交互界面的虛擬物體跟隨提取人手的3D位置信息移動,該發(fā)明實現(xiàn)了3D交互系統(tǒng),但是該發(fā)明只是單方向交互,并且用戶必須佩戴頭戴式3D顯示器等,使用者操作繁瑣。

2.中國公開專利:CN 105389006 A 一種基于Kinect的裸眼3D交互改進方法:利用 Kinect 采集到人手關節(jié)信息進行交互,但是在交互之前必須調整Kinect 到合適的位置和角度,由于安裝復雜,限制了其使用范圍。

3.中國公開專利:CN 103269423 A 可拓展式三維顯示遠程視頻通信方法:利用RGB-D相機采集到人物圖像,經(jīng)過處理并發(fā)送到第二個用戶,第二個用戶接收并顯示任務圖像信息和播放聲音,該發(fā)明只是實現(xiàn)了信息提取和傳輸,并沒有雙向交互過程。



技術實現(xiàn)要素:

本實用新型是實現(xiàn)一種實時3D遠程交互系統(tǒng),目的是在裸眼3D效果下,實現(xiàn)人與3D投影交互,其中3D投影是遠程的操作的替身。本實用新型可概述為兩大部分,分別是服務操作端、客戶交互端,其中客戶交互端為移動機器人。服務操作端至少包括一臺電腦、深度攝像機、服務操作端圖像處理模塊、服務操作端數(shù)據(jù)發(fā)送\接收模塊、服務操作端命令處理模塊、服務操作端3D圖像顯示模塊;客戶交互端至少包括一臺電腦、leap motion、客戶交互端3D圖像顯示模塊、客戶交互端命令處理模塊、客戶交互端圖像處理模塊、客戶交互端數(shù)據(jù)發(fā)送\接收模塊、手的信息處理模塊。

服務操作端和客戶交互端實現(xiàn)實時在線通訊,服務操作端將3D圖像和操作命令發(fā)送給客戶交互端,客戶交互端把交互結果發(fā)送給服務操作端。

服務操作端數(shù)據(jù)發(fā)送\接收模塊和客戶交互端數(shù)據(jù)發(fā)送\接收模塊,用來發(fā)送和接收網(wǎng)絡數(shù)據(jù),且必須可以處理大數(shù)據(jù)。

服務操作端可顯示交互結果的3D效果,客戶交互端可顯示操作者信息和命令(或者指導信息)的3D效果。

服務操作端圖像處理模塊和服務操作端命令處理模塊,分別用來對點云數(shù)據(jù)進行處理(如濾波、分割、重建)、處理操作者命令和客戶交互端發(fā)送過來的命令;客戶交互端圖像處理模塊、渲染模塊和客戶交互端命令處理模塊,分別用來對點云數(shù)據(jù)進行存儲(如濾波、分割、重建)、渲染3D圖像、處理服務操作端發(fā)送過來的操作者命令和客戶交互的結果。

客戶交互端手的信息處理模塊,可以對leap motion獲得數(shù)據(jù)進行處理,從而達到對模擬鼠標的控制。

服務操作端可以對客戶交互端的移動機器人進行控制,可以在客戶交互端顯示操作者的命令;客戶在客戶交互端可以和3D投影進行交互,交互結果可以更新在投影上和發(fā)送到服務操作端。

本實用新型具體操作過程如下:

服務操作端:實現(xiàn)操作者上本身的3D點云數(shù)據(jù)采集、3D點云數(shù)據(jù)處理、命令處理、數(shù)據(jù)發(fā)送\接收功能。實施步驟如下:

1.深度相機采集操作者上身的3D點云數(shù)據(jù),3D點云數(shù)據(jù)通過串口傳輸?shù)浇穗娔X上;

2.服務操作端電腦接收到3D點云數(shù)據(jù),將3D點云數(shù)據(jù)進行濾波、分割、重建等處理工作;

3.將處理好的3D點云數(shù)據(jù)和操作者對遠端的操作命令一起打包數(shù)據(jù)包;

4.把打包好的數(shù)據(jù)包發(fā)送遠端和接收客戶交互端發(fā)送過來的命令;

5.解析遠端發(fā)送反饋過來的命令,顯示給操作者;

6.循環(huán)1-5步驟。

客戶交互端:實現(xiàn)3D點云數(shù)據(jù)和近端發(fā)送的命令的接收、渲染3D點云數(shù)據(jù)、利用leap motion進行交互、發(fā)送交互結果到服務操作端的功能。實施步驟如下;

1.客戶交互端接收到服務操作端發(fā)送過來的數(shù)據(jù)包,將數(shù)據(jù)包拆包,并存在相應的緩存中,比如點云數(shù)據(jù)緩存區(qū)、命令寄存器等。

2.將命令寄存器的命令解析成相應的文字,將點云數(shù)據(jù)緩存區(qū)的點云數(shù)據(jù)和渲染3D圖片,以及將命令的文字賦給Text標簽的值并渲染Text標簽。

3.利用投影儀將渲染出來的效果投影到貼有幕布的玻璃上。

4.使用中斷方式實現(xiàn)leap motion交互,其中,leap motion提取客戶的手掌的位置信息、手掌法線、各個手指的向量等信息,然后把手掌的位置信息賦給模擬鼠標的位置,讓模擬鼠標跟隨手掌運動;利用手掌法線和手指向量信息識別兩種手勢,作為模擬鼠標的左右點擊。當模擬鼠標移動到Text處,點擊Text會觸發(fā)中斷,不同的Text會得到不同的命令。

5.將得到的命令打包,發(fā)送給服務操作端,并顯示給操作者。

6.重復1-5步驟,其中步驟1和2是并行進行的,處于不同的線程,步驟4中,leap motion處理客戶手的信息也是處于不同的線程。

本實用新型的優(yōu)點:

本實用新型結合不同領域的知識,利用廉價的深度攝像頭采集操作者信息,并利用局域網(wǎng)將操作信息傳送到客戶端,實現(xiàn)實時傳輸。在交互方面,利用Leap Motion 采集人手信息,去控制模擬鼠標,實現(xiàn)人與3D投影交互,操作方便,簡單。

附圖說明

圖1為本實用新型整體結構流程圖

圖2為本實用新型服務操作端圖像處理模塊

圖3為本實用新型客戶交互端圖像處理模塊

圖4為本實用新型客戶交互端手的信息處理模塊

圖5為本實用新型交互信息控制流程圖

其中0為操作者、1為深度攝像機、2為服務操作端圖像處理模塊、3為服務操作端3D圖像顯示模塊、4為服務操作端命令處理模塊、5為服務操作端數(shù)據(jù)發(fā)送\接收模塊、6為客戶交互端數(shù)據(jù)發(fā)送\接收模塊、7為客戶交互端命令處理模塊、8為客戶交互端圖像處理模塊、9為渲染模塊、10為投影儀、11為客戶交互端3D圖像顯示模塊、12為手的信息處理模塊、13為客戶的操作手、14為leap motion。

具體實施方式

下面結合附圖1到附圖5以及實施例對本實用新型作進一步詳細的描述。

如圖1所示,本實用新型整體流程大致包括15個模塊,其中由兩大部分組成,分別是服務操作端和客戶交互端,服務操作端利用深度攝像頭采集操作者的上半身的信息,經(jīng)過圖像處理后,然后組合操作者的命令成數(shù)據(jù)包,一起發(fā)送到客戶交互端??蛻艚换ザ私邮盏骄W(wǎng)絡傳過來的數(shù)據(jù),然后將數(shù)據(jù)包分包,存入不同的緩沖區(qū),然后顯示相關信息,其中這個需要一臺投影儀和貼著玻璃幕布的玻璃板,最終可以在客戶面前顯示相關的3D信息。在客戶交互端,客戶可以通過leap motion和3D投影圖像交互,交互的結果同樣會顯示在客戶交互端的玻璃板上,該結果同時通過局域網(wǎng)傳到服務操作端。

在服務操作端至少包括操作者0、深度攝像機1、服務操作端圖像處理模塊2、服務操作端3D圖像顯示模塊3、服務操作端命令處理模塊4、服務操作端數(shù)據(jù)發(fā)送\接收模塊5。其中,深度攝像機1在本次實施中使用Kinect攝像機,目的是采集操作者0上本身的3D點云信息;服務操作端圖像處理模塊2是處理3D點云信息,具體是對3D點云信息進行濾波、分割、重建;服務操作端3D圖像顯示模塊3是顯示采集處理后的信息和交互結果信息;服務操作端命令處理模塊4是對操作者的命令處理和交互結果的解析,為顯示\發(fā)送做好準備;服務操作端數(shù)據(jù)發(fā)送\接收模塊5是發(fā)送3D點云信息和操作者的命令、接收客戶交互端交互的結果。

在客戶交互端包括客戶交互端數(shù)據(jù)發(fā)送\接收模塊6、客戶交互端命令處理模塊7、客戶交互端圖像處理模塊8、渲染模塊9、投影儀10、客戶交互端3D圖像顯示模塊11、手的信息處理模塊12、客戶的操作手13、leap motion 14。其中,客戶交互端為移動機器人,移動機器人包括以上模塊??蛻艚换ザ藬?shù)據(jù)發(fā)送\接收模塊6是接收服務操作端發(fā)送過來的點云信息和命令、發(fā)送客戶交互端交互的結果;客戶交互端命令處理模塊7是對操作者的命令解析和交互結果的處理,為顯示\發(fā)送命令做好準備;客戶交互端圖像處理模塊8是處理點云信息和命令,具體是把點云數(shù)據(jù)和命令存在不同的緩存區(qū),并把點云數(shù)據(jù)賦給PCL對象,為渲染做好準備;渲染模塊9是把點云信息和命令在客戶交互端的電腦GRU上渲染;投影儀10是把渲染好信息投影到貼有幕布的玻璃板上;手的信息處理模塊12是處理leap motion 14采集到手一些信息,如手掌法線、手指向量、手掌位置等,在利用這一些信息之前也要進行濾波處理。利用手掌的位置信息賦給模擬鼠標的位置,這樣模擬鼠標就可以跟隨手掌移動,當模擬鼠標移動到Text標簽時候(Text標簽可以是一些指導信息或者一些交互命令,客戶可以查看各種指導信息和觸發(fā)各種命令),可以點擊Text標簽,這些結果會更新到幕布玻璃板上,同時也反饋到服務操作端,服務操作端接收到命令后,做出相應的反應,然后傳送到客戶交互端更新3D顯示內容,從而完成一次交互動作。

下面具體解釋每個步驟:

在服務操作端,利用深度攝像機1提取操作者0的上半身的3D點云數(shù)據(jù),本實施是使用是Kinect攝像機, kinect 攝像機安裝在操作者前方,調整好角度,便可以固定。本實施沒有使用微軟官方的驅動,使用了第三方的SensorKinect 作為本實例的驅動,然后利用第三方 OpenNI庫進行獲取點云數(shù)據(jù),其中利用其Grabber對象進行獲取點數(shù)據(jù)。

如圖2,當服務操作端電腦獲取到點云數(shù)據(jù)后,利用第三方PCL庫進行處理,首先是進行濾波,具體方法是使用統(tǒng)計濾波器( StatisticalOutlierRemoval )去除奇異點,接著使用雙邊濾波器平滑3D圖像。接下來是分割圖像,得到人的上半身的3D圖像,分割是基于隨機采樣一致性(RANSAC)分割算法,得到操作上身的模型。但是,如果不對3D點云數(shù)據(jù)進行重建,那么會導致人的臉部缺失,重建是使用基于快速Delaunay三角化曲面重建算法,到此得到了最終處理后的點云數(shù)據(jù)。

處理好點云數(shù)據(jù)后,操作者發(fā)出的命令經(jīng)過服務操作端命令處理模塊4轉換成發(fā)送命令的格式,結合點云數(shù)據(jù)打包成數(shù)據(jù)包,服務操作端發(fā)送\接收模塊5是使用Boost中 asio 模塊傳輸,發(fā)送先是把數(shù)據(jù)放入buffer流中,先發(fā)送數(shù)據(jù)大小然后發(fā)送整個數(shù)據(jù)包;在客戶交互端,接收到網(wǎng)絡數(shù)據(jù)包之后,首先從數(shù)據(jù)包中提取數(shù)據(jù)大小,然后分別接收3D點云數(shù)據(jù)和命令數(shù)據(jù),接收后放在對應的緩存區(qū)。當客戶交互端得到交互結果,同樣先經(jīng)過客戶交互端命令處理模塊7再打包數(shù)據(jù),先發(fā)送數(shù)據(jù)大小,再發(fā)送數(shù)據(jù);當服務操作端接收到網(wǎng)絡數(shù)據(jù),首先從數(shù)據(jù)包中提取數(shù)據(jù)大小,然后接收交互結果數(shù)據(jù),接著把交互信息顯示給操作者。

如圖3,客戶交互端得到服務操作端的數(shù)據(jù)后,把命令緩存區(qū)的數(shù)據(jù)轉換成string類型,接著,利用PCL中 CloudViewer 對象,把命令數(shù)據(jù)賦給Text標簽的值,最后對接收好的3D點云數(shù)據(jù)和Text標簽進行渲染。同時,投影議會將渲染好的3D效果投影到貼有幕布的人形玻璃板上。

在客戶交互端,客戶裸眼可以看到3D效果圖,其中由操作者的上半身圖像和一些命令信息,這些命令信息可以是指導信息也可以是操作者對客戶的要求等等??蛻艨梢允褂胠eap motion 14進行交互,交互信息可以傳回給服務操作端。首先介紹本發(fā)明如何去提取客戶的手信息來控制模擬鼠標(即手的信息處理模塊12),接下來介紹整個交互過程。

如圖4所示,當客戶的手放在leap motion 14的識別區(qū)域,leap motion 14會自動讀取手的信息,如手掌的位置、手掌的法線和各個手指的向量等。這些數(shù)據(jù)經(jīng)過濾波后就可得到較高的精度信息,把手掌位置賦給模擬鼠標的位置,即可讓模擬鼠標跟隨手掌一起運動。利用手掌的法線和各個手指的向量即可識別手勢,本實例中識別兩種手勢,分別是握拳和只有拇指張開,分別代表是鼠標的左右點擊。

圖5為這個系統(tǒng)交互的流程圖,在客戶交互端,leap motion 14獲得客戶的手信息,傳送給手的信息處理模塊12,當有點擊命令發(fā)生時,會觸發(fā)程序中斷,中斷程序會檢測點擊位置,然后根據(jù)位置確定點擊是哪個Text標簽,然后根據(jù)標簽確定哪個命令,然后將命令傳送回服務操作端。如果是指導信息,在客戶交互端會更新投影圖像,顯示相關的指導信息。當命令通過局域網(wǎng)傳輸?shù)椒詹僮鞫耍詹僮鞫私邮盏矫?,把命令解析并顯示給操作者,操作者會根據(jù)交互的結果做出相應的命令,該命令同樣會通過局域網(wǎng)傳送到客戶交互端,然后通過客戶交互端圖像處理模塊6和渲染模塊7,將操作者發(fā)送的命令顯示給客戶,如果命令是控制移動機器人運動,則該命令會傳給移動機器人控制面板。

上述實施例為本實用新型的實施方式,但本實用新型的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本實用新型的保護范圍之內。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
仙居县| 中江县| 微山县| 合山市| 翼城县| 平利县| 偃师市| 尼玛县| 如东县| 阿拉善盟| 乐清市| 双辽市| 黑河市| 靖州| 濮阳县| 永丰县| 开鲁县| 高要市| 庄浪县| 曲阳县| 临高县| 泾阳县| 云龙县| 奉贤区| 密山市| 富民县| 衡水市| 曲水县| 遂平县| 全椒县| 波密县| 西峡县| 巩留县| 加查县| 当涂县| 乌兰浩特市| 高州市| 米林县| 沈丘县| 磴口县| 渭源县|