一種用于機器人交互對象檢測的3d視線方向估計方法
【技術領域】
[0001] 本發(fā)明設及一種用于機器人交互對象檢測的3D視線方向估計方法。
【背景技術】
[0002] 人機交互(Human-Computer Interaction,肥I)是研究人與計算機之間通過相互 理解的交流與通信,在最大程度上為人們完成信息管理、服務和處理等功能,使計算機真正 成為人們工作學習的和諧助手的一口技術科學。
[0003] 視線估計技術作為人機交互技術的重要分支,主要研究對人類眼睛運動特性的檢 測與識別,實現對其他功能系統(tǒng)的自動控制;該技術的最大優(yōu)點是可W通過眼晴注視實現 對外部設備的控制,進而實現多任務操作;有關資料統(tǒng)計顯示,全國至少有50萬的人口存 在不同程度的肢體擁痕,生活不能自理;那么如果他們能用眼睛來代替手操作,W后再加 上機電控制技術就完全可W增加他們的獨立能力,提高生活質量。
[0004] 因此,近年來有研究人員開始把視線方向估計技術應用于社會服務機器人中,實 現機器人自動鎖定用戶,而用戶可W通過眼睛控制機器人等功能;對于視線方向估計,近年 來的研究主要分為兩大方向:一是通過神經網絡進行估計;二是通過眼部特征分析進行實 現,根據神經網絡來估計視線方向具有較高的精度和實時性,但缺少很好的魯椿性,因為當 環(huán)境改變時需要重新建立模型。
【發(fā)明內容】
[0005] 本發(fā)明的目的在于克服現有技術的不足,提供一種用于機器人交互對象檢測的3D 視線方向估計方法,使用RG抓傳感器頭部姿勢的估計并應用于機器人中,系統(tǒng)僅采用一個 RG抓傳感器,無需其他的傳感器,具有硬件簡單,實現容易的特點;訓練強分類器來進行人 眼檢測,實現簡單,檢測跟蹤效果好;在檢測瞳孔中屯、時,采用投影積分法、霍夫變換法和透 視校正,能夠得到比較準確的瞳孔中屯、。
[0006] 本發(fā)明的目的是通過W下技術方案來實現的:一種用于機器人交互對象檢測的 3D視線方向估計方法,它包括W下步驟:
[0007] S1.進行頭部姿勢估計;使用RG抓傳感器采集彩色信息和深度信息,根據采集到 的信息計算頭部的S維位置信息T W及頭部姿勢R ;
[0008] S2.計算出得到的頭部姿勢R與頭部基準姿勢R0之間的映射矩陣M,其中頭部基 準姿勢R0為用戶和機器人正面相對時的頭部姿勢,R0 = [0, 0, 1];
[0009] S3.采集人眼圖片,從采集到的人眼圖片中提取出人眼區(qū)域圖像;
[0010] S4.得到人眼區(qū)域圖像后,對瞳孔中屯、進行檢測和計算,得到最終的瞳孔中屯、Pt;
[0011] S5.計算在頭部坐標系中眼球中屯、的坐標C。,并根據C。計算出世界坐標系下眼球 中屯、坐標Ck和瞳孔中屯、坐標Pk,設計算得到的眼球中屯、坐標為Ck= (〇,,Oy,〇z),瞳孔中屯、坐 標為Pk= (PX,Py,P,),根據該兩點計算眼球注視方向g化Y,幻:
[0012]
[0013] 然后計算用戶視線方向為:
[0014] gd=R*M-i水g。
[0015] 在得到用戶視線方向結果之后,還包括一個交互對象判斷的步驟,包括W下子步 驟:
[0016] S61.計算用戶的視線方向與機器人視線的角度a ;
[0017] S62.判斷角度a是否小于預先設定的闊值y ;
[0018](1) a小于預先設定的闊值y,該用戶是機器人的交互對象;
[0019](2) a不小于預先設定的闊值y,該用戶不是機器人的交互對象。
[0020] 所述的步驟S3包括W下子步驟:
[0021] S31.訓練強分類器;
[0022] S32.采集人眼圖片;
[0023]S33.使用訓練好的強分類器從采集到的人眼圖片中提取出人眼區(qū)域圖像。
[0024] 所述的步驟S31包括W下子步驟:
[00巧]S311.采集大量圖片,并將每個采集到的圖片分離為不同的樣本,得到人眼訓練樣 本數據集,并設定一個最大的訓練循環(huán)次數t;
[0026]S312.對每個樣本權重值進行初始化,即初始化每個樣本的概率分布;
[0027] S313.進行t次循環(huán)迭代,每次循環(huán)迭代需要進行;在當前的概率分布下訓練弱分 類器,得到基本的分類器;計算該弱分類器的分類誤差率;更新訓練數據集中每個樣本的 權重;
[0028]S314.把前面訓練得到的t個弱分類器按照權重進行級聯相連,得到最終的強分 類器。
[0029] 所述的步驟S4包括W下子步驟:
[0030]S41.得到人眼區(qū)域圖像后,使用投影積分法求出圖像的水平投影積分IPF,(y)和 垂直投影積分IPFh(y);
[0031]
[0032] 式中,W和h分別為圖像的寬和高,I(X,y)為像素點(X,y)的像素值;
[003引S42.經過兩個方向的投影積分后,得到一個很小的包含瞳孔區(qū)域的圖像,采用霍 夫變換法得到瞳孔中屯、P;
[0034] S43.把該瞳孔中屯、通過映射矩陣M進行透視校正,得到最終瞳孔中屯、Pt:
[00;35] Pt= M卸,
[0036] 式中,M為步驟S2中得到的映射矩陣。
[0037] 所述的步驟S5包括W下子步驟:
[0038]S51.計算世界坐標系下瞳孔中屯、空間坐標Pk和眼球中屯、空間坐標CK的函數關 系:
[0039]
[0040] 式中,(VVp)瞳孔中屯、在圖像中的平面坐標,可W由步驟S4得到,(u。,V。)是圖像 中屯、的平面坐標,Pk= (Xp,yp,Zp)是瞳孔中屯、在世界坐標系下的空間坐標,f為RG抓傳感 器的焦距,Ck是世界坐標系下眼球中屯、的空間坐標,K表示世界坐標系下瞳孔中屯、P到眼球 中屯、C的空間距離,是固定值,故Pk能夠用CK表示,PK與CK的函數關系式表示為:
[00川PK=fi(CK);
[0042] S52.計算世界坐標系下角膜體中屯、的空間坐標CpK眼球中屯、Ck的空間坐標函數關 系式:
[0043]
[0044] 式中,K。表示角膜體中屯、Cp到眼球中屯、C的距離,是固定值,故將步驟S51中得到 的函數關系Pk=fi(Ck)代入上式中能夠得到CpK與Ck的函數關系式,表示為:
[0045] CpK=f2(Ck);
[0046] S53.計算世界坐標系下眼球中屯、Ck的空間坐標與頭部坐標系下眼球中屯、空間坐 標C。的函數關系式;
[0047] Cr二R*C Q+T二(C〇),
[004引其中T和R由步驟S1得到,作為頭部坐標系和世界坐標系的轉換矩陣,頭部不動 時,眼球在旋轉過程中眼睛球的中屯、位置并沒有改變。
[004引 S54.將步驟S53中得到的函數關系式代入步驟S51得到的函數關系式PK=fi(CK) 中,得到Pk與C。的函數關系式;
[0050]Pk= f 4(C0),
[0051] 將步驟S53中得到的函數關系式代入步驟S52中的到的函數關系式CpK=f2(Ck) 中,得出CpK與C。的函數關系式;
[0052] CpK=f5(C〇);
[0053] S55.同一個人的人眼的視軸和光軸之間的夾角是0固定的,0的余弦值表示 為:
[0054]
[0055] 式中G表示世界坐標系中注視點的空間坐標,將Ck= f3(C。),Pk= f4(〇|),CpK= fs(C。)代入0的余弦值表達式中,式中就只有C。和G兩個未知量,C。和G的函數關系表示 為:
[005引 C0=feK);
[0057] S56.通過標定程序,讓用戶注視一系列標定的點,并轉化到世界坐標系中,得到世 界坐標系中注視點的空間坐標G,將G的坐標代入公式Q= fe(G),的到頭部坐標系下眼球 中屯、空間坐標C。,將C。分別代入Ck= f 3(C。)和Pk= f 4(C。)中,得到世界坐標系下眼球中屯、 坐標Ck和瞳孔中屯、坐標Pk;
[005引 S57.設計算得到的眼球中屯、坐標為Ck= (0 X,Oy,0z),瞳孔中屯、坐標為Pk= (Px,Py,Pz),根據該兩點計算眼球注視方向g狂,Y,口:
[0059]
[0060] 然后計算出用戶視線方向為:
[0061] gd= R*M-i*g。
[0062] 本發(fā)明的有益效果是;(1)使用RG抓傳感器頭部姿勢的估計并應用于機器人中, 系統(tǒng)僅采用一個RG抓傳感器,無需其他的傳感器,具有硬件簡單,實現容易的特點。
[0063] (2)訓練強分類器來進行人眼檢測,實現簡單,檢測跟蹤效果好。
[0064] 做在檢測瞳孔中屯、時,采用投影積分法、霍夫變換法和透視校正,能夠得到比較 準確的瞳孔中屯、。
【附圖說明】
[0065] 圖1為本發(fā)明的流程圖;
[0066] 圖2為3D視線估計模型圖;
[0067] 圖3為交互對象判斷示意圖。
【具體實施方式】
[0068] 下面結合附圖進一步詳細描述本發(fā)明的技術方案,但本發(fā)明的保護范圍不局限于 W下所述。
[006引如圖1所示,一種用于機器人交互對象檢測的3D視線方向估計方法,它包括W下 步驟:
[0070] S1.進行頭部姿勢估計;使用RG抓傳感器采集彩色信息和深度信息,根據采集到 的信息計算頭部的S維位置信息T W及頭部姿勢R ;
[0071] S2.計算出得到的頭部姿勢R與頭部基準姿勢R0之間的映射矩陣M,其中頭部基 準姿勢R0為用戶和機器人正面相對時的頭部姿勢,R0 = [0, 0, 1];
[007引 S3.采集人眼圖片,從采集到的人眼圖片中提取出人眼區(qū)域圖像;
[007引 S4.得到人眼區(qū)域圖像后,對瞳孔中屯、進行檢測和計算,得到最終的瞳孔中屯、Pt;
[0074] S5.計算在頭部坐標系中眼球中屯、的坐標C。,并根據C。計算出世界坐標系下眼球 中屯、坐標Ck和瞳孔中屯、坐標Pk,設計算得到的眼球中屯、坐標為Ck= (〇,,Oy,〇z),瞳孔中屯、坐 標為Pk= (P X,Py,P,),根據該兩點計算眼球注視方向g化Y,幻:
[00巧]
[0076] 然后計算用戶視線方向為:
[0077] gd=R*M-i 水g。
[0078] 所述的步驟S3包括W下子步驟:
[007引 S31.訓練強分類器;
[0080] S32.采集人眼圖片;
[0081] S33.使用訓練好的強分類器從采集到的人眼圖片中提取出人眼區(qū)域圖像。
[0082] 所述的步驟S31包括W下子步驟:
[0083] S311.采集大量圖片,并將每個采集到的圖片分離為不同的樣本,得到人眼訓練樣 本數據集,并設定一個最大的訓練循環(huán)次數t;
[0084] S312.對每個樣本權重值進行初始化,即初始化每個樣本的概率分布;
[0085] S313.進行t次循環(huán)迭代,每次循環(huán)迭代需要進行;在當前的概率分布下訓練弱分 類器,得到基本的分類器;計算該弱分類器的分類誤差率;更新訓練數據集中每個樣本的 權重;
[0086] S314.把前面訓練得到的t個弱分類器按照權重進行級聯相連,得到最終的強分 類器。
[0087] 所述的步驟S4包括W下子步驟:
[0088] S41.得到人眼區(qū)