一種基於深度圖像手勢識別的視力檢測方法
2023-06-18 18:52:41 1
一種基於深度圖像手勢識別的視力檢測方法
【專利摘要】本發明屬於圖像處理領域,公開了一種基於深度圖像手勢識別的視力檢測方法。首先利用深度數據獲取設備獲得深度圖像;然後利用深度圖像進行手勢區域的識別,根據識別到的區域進行手勢特徵的提取;最後依據提取的手勢特徵進行被測人手勢的識別,並與顯示屏幕上所顯示「E」字缺口方向進行匹配判斷,得到視力檢測的最後結果。本發明利用深度獲取設備動態獲取深度圖像,通過改進現有手勢識別技術,實現了手勢的動態識別,並將手勢的動態識別技術應用於視力檢測,不僅保持了傳統方法原有的簡便性,同時還克服了傳統檢測方法費時、費力的缺點,增加了檢測過程的趣味性。
【專利說明】一種基於深度圖像手勢識別的視力檢測方法
【技術領域】
[0001]本發明屬於圖像處理領域,涉及一種基於深度圖像信息手勢識別的視力檢測方法。
【背景技術】
[0002]視力檢測方法中最傳統的就是醫生和被測人一對一式的視力表檢測方法,被測人口答或用手勢指示視力表中醫生指定的字母「E」的開口方向。這種方法雖然簡單,但其檢查過程枯燥,而且需要醫生長時間陪伴,並且手工記錄,需要大量的人力資源和時間成本。
[0003]如果能將計算機圖像處理技術應用於視力檢測中,對被測人的手勢指向進行識別,將有效改進傳統的視力檢測方法。
[0004]在計算機領域中,手勢是一種自然而直觀的人機互動模式,手勢識別也是近年來人機互動中對用戶限制最少的識別方法。手勢識別在機器人控制手機體感遊戲虛擬鍵盤電腦控制等方面得到了廣泛應用。例如,基於膚色信息的動態手勢識別方法,它利用膚色信息進行手部圖像的提取,獲取包括手部在內的膚色圖像,進而提取手勢進行識別,但該方法容易受顏色與膚色相近信號的影響。基於梯度直方圖(HOG, Histograms Of OrientedGradient)特徵的手勢識別方法,解決了手勢提取時光照變化和手勢旋轉對於識別結果的影響,但該方法計算量太大,而且一般只能識別事先建立的庫中的有限手勢。2012年,曹雛清等提出了基於深度圖像技術的手勢識別方法,該方法通過利用深度信息進行手勢分割提取,避免了類膚色信息的幹擾,具有很強的魯棒性。但該方法只能識別常見的9種手勢,無法識別視力檢測中一些常 用的手勢,比如單指指向左,指向下,指向右這三個手勢,因此,還不能直接應用於視力檢測中。
【發明內容】
[0005]本發明的目的在於,提出一種基於深度圖像手勢識別的視力檢測方法,將場景深度獲取設備(比如Kinect等)的深度提取技術和深度圖像手勢識別技術同時應用於視力檢測中,實現無人監督情況下快速精確的視力檢測。
[0006]本發明的基本原理是,當被測人看到顯示屏上顯示的內容做出相應判斷的手勢時,通過場景深度提取設備整合出的深度數據,動態識別手勢,再經過一系列的人機互動,從而得到視力檢測結果。
[0007]本發明的技術方案如下:首先利用深度數據獲取設備來獲得深度圖像;然後利用深度圖像進行手勢區域的識別,根據識別到的區域進行手勢特徵的提取;最後依據提取出的手勢特徵來進行被測人手勢的識別。手勢動作共有四種,分別指向上、下、左、右。判斷出這些動作後,與顯示屏幕上所顯示「E」字缺口方向進行匹配判斷,得到視力檢測的最後結果O
[0008]與現有技術相比,本發明具有以下優點:
[0009]( I)本發明利用深度獲取設備獲取深度圖像,並通過改進現有手勢識別技術,實現了能夠應用於視力檢測的動態手勢識別;
[0010](2)本發明將手勢識別技術應用於視力檢測,不僅保持了傳統方法原有的簡便性,同時還克服了傳統檢測方法費時、費力的缺點,增加了檢測過程的趣味性。
【專利附圖】
【附圖說明】
[0011]圖1為本發明實施例視力檢測設備連接示意圖;
[0012]圖2為本發明所涉及視力檢測方法的主流程圖;
[0013]圖3為本發明實施例深度圖像的灰度直方圖;
[0014]圖4為本發明實施例手勢區域分割效果示意圖;
[0015]圖5為手勢區域像素值變化點標記示意圖;
[0016]圖6為手勢指向判斷示意圖。
【具體實施方式】
[0017]下面結合附圖和實施例對本發明做進一步說明。
[0018]進行視力 檢測的設備連接示意圖如圖1所示,包括=Kinect設備,電腦,顯示器,音箱,和被測人。Kinect設備用於深度圖像獲取。電腦與Kinect設備連接,並運行實現本發明所述方法的軟體。顯示器與電腦通過HDMI 口相連,用於呈現人機互動界面。音箱與電腦相連,用於播放語音提示。
[0019]本發明所涉及視力檢測方法的主流程圖如圖2所示,具體包括以下步驟:
[0020]步驟一,被測人做出反映顯示器屏幕上檢測字母「E」開口方向的手勢。
[0021]被測人站在深度提取設備正前方,根據自己看到的屏幕上檢測字母「E」的開口方向,對深度提取設備做出相應的手勢(只豎一個手指),並保持I~2秒鐘。手臂儘量向身前伸,斜向上約30度角,使深度提取設備在動態提取深度時能夠甄別出手臂和身體不同的深度範圍。
[0022]步驟二,深度提取設備kinect提取深度圖像。
[0023]Kinect設備通過紅外光,可見光鏡頭作為輸入,通過考慮光照、紋理、場景等複雜參數綜合生成一張深度圖像。
[0024]步驟三,將深度圖像作灰度像素統計,生成灰度圖,灰度值範圍為O~255。
[0025]步驟四,生成灰度直方圖,確定手勢區域和背景的分割深度閾值,方法如下:
[0026]①統計各深度範圍的像素數,生成灰度直方圖。生成的灰度直方圖如圖3所示。
[0027]在人機互動過程中,手勢動作通常都置於身體之前,手勢區域與背景區域位於不同的深度值範圍內,利用這一特點便可分割出手勢區域。同一深度的像素點在深度圖像中灰度值相同,但是每次人和深度攝像頭的距離不完全相同,相應的手勢區域在深度圖像上所存在的位置的深度值也不一樣,因此不能用固定的深度閾值來尋找手勢區域並完成手勢區域與背景區域的分割,而使用深度直方圖則可很好地解決這一問題。
[0028]②在灰度直方圖上,順著灰度區間由大到小遍歷像素點數,計算每一個灰度區間變化時像素點數的變化量。找到像素點數變化量第一次大於變化量閾值的灰度值,這個灰度值就是手勢區域和背景的分割深度閾值。像素點數變化量閾值一般在1.0X IO4~
1.5 X IO4 之間。[0029]如圖3中由曲線圈出的區域所示,當灰度值為235時像素點數變化明顯,該區域便為手勢區域,235即為手勢區域和背景的分割深度閾值。
[0030]步驟五,根據步驟四確定的手勢區域和背景的分割深度閾值,對手勢區域與背景區域的圖像進行二值化處理,從背景中分割出手勢圖像。
[0031]二值化處理後,背景區域為黑色,手勢區域為白色,從而可以很方便地從背景中分割出手勢圖像。二值化後的圖像效果如圖4所示。
[0032]步驟六,提取手指特徵,進行有無手勢判斷,方法如下:
[0033]①通過數學形態學中的腐蝕操作獲取手勢區域中心位置點。
[0034]手掌在手勢區域中佔有最大的面積,且點較為集中。通過連續的腐蝕操作,可以消除手勢區域的邊界點,使手勢區域逐步縮小,最終得到手勢區域的中心點C。
[0035]②在手勢區域畫圓軌跡。
[0036]計算中心點C與手勢區域邊緣的最大距離S,將最大距離10等分,每份距離d=S/10。以手勢區域中心點C為圓心、以i*d為半徑做圓軌跡,i=l,2,……,10,得到10個圓軌跡。
[0037]③在圓軌跡上標記像素值變化點。
[0038]按順時針方向記錄每條圓軌跡線上的像素值變化點。從黑色區域轉換到白色區域的變換點用Pu表示,從白色區域轉換到黑色區域的點用Qu表示,i表示軌跡圓的編號,j表示同一軌跡圓上P或者Q點的編號,每遇到一個變化點,P或者Q編號j都加一。標記完成後,刪除下標ij相同但P和`Q沒有成對出現的點。手勢區域像素值變化點的標記如圖5所示。
[0039]④計算手指數量。
[0040]先求每個軌跡圓i上獲得的j的最大值Ji=Hiax (i, j),再求所有軌跡圓上j的最大值Ji的最大值N0=max (Ji),N0即為與手掌相連的分支數量總和。由於分支中包含手指和手腕分支,則手指數量N=NO-1。
[0041]⑤判定N是否等於1,如果為1,轉步驟七進行手勢識別;否則判定無手勢。
[0042]步驟七,進行手勢指向識別,方法如下:
[0043]①對手指區域進行腐蝕,找到手指的中心點M。
[0044]②計算手指中心點M與手掌中心點C連線與橫軸或者縱軸的夾角A的正切值,判斷出手指方向區域,如圖6所示,黑色曲線劃的區域為手勢判定有效區域。
[0045]③根據M點所在的黑色區域判斷手勢的指向,手勢指向與M點所在區域對應的方向(上、下、左、右)相同。
[0046]步驟八,重複步驟一~七,根據手勢識別結果與檢測字母「E」的開口方向是否相符,測出被測人的視力級別。
【權利要求】
1.一種基於深度圖像手勢識別的視力檢測方法,其特徵在於將深度圖像手勢識別技術應用於視力檢測,包括以下步驟: 步驟一,被測人做出反映顯示器屏幕上檢測字母「E」開口方向的手勢; 步驟二,深度提取設備提取深度圖像; 步驟三,將深度圖像作灰度像素統計,生成灰度圖,灰度值範圍為O~255 ; 步驟四,生成灰度直方圖,確定手勢區域和背景的分割深度閾值; 步驟五,根據步驟四確定的手勢區域和背景的分割深度閾值,對手勢區域與背景區域的圖像進行二值化處理,從背景中分割出手勢圖像; 步驟六,提取手指特徵,進行有無手勢判斷; 步驟七,進行手勢指向識別; 步驟八,重複步驟一~七,根據手勢識別結果與檢測字母「E」的開口方向是否相符,測出被測人的視力級別。
2.根據權利要求1所述的一種基於深度圖像手勢識別的視力檢測方法,其特徵在於,步驟四所述確定手勢區域和背景的分割深度閾值的方法包括以下內容: (1)統計各深度範圍的像素數,生成灰度直方圖; (2)在灰度直方圖上,順著灰度區間由大到小遍歷像素點數,計算每一個灰度區間變化時像素點數的變化量;找到像素 點數變化量第一次大於變化量閾值的灰度值,這個灰度值就是手勢區域和背景的分割深度閾值;像素點數變化量閾值一般在1.0X IO4~1.5 X IO4之間。
3.根據權利要求1所述的一種基於深度圖像手勢識別的視力檢測方法,其特徵在於,步驟六所述提取手指特徵判斷有無手勢的方法如下: (1)通過數學形態學中的腐蝕操作獲取手勢區域中心位置點C; (2)在手勢區域畫等距離圓軌跡; (3)在圓軌跡上標記像素值變化點,方法如下: 按順時針方向記錄每條圓軌跡線上的像素值變化點,從黑色區域轉換到白色區域的變換點用Pu表示,從白色區域轉換到黑色區域的點用Qu表示,i表示軌跡圓的編號,j表示同一軌跡圓上P或者Q點的編號,每遇到一個變化點,P或者Q編號j都加一;標記完成後,刪除下標i j相同但P和Q沒有成對出現的點; (4)計算手指數量,方法如下: 先求每個軌跡圓i上獲得的j的最大值Ji=Hiax(Lj),再求所有軌跡圓上j的最大值1的最大值N0=max(Ji), NO即為與手掌相連的分支數量總和;由於分支中包含手指和手腕分支,則手指數量N=NO-1 ; (5)判定N是否等於1,如果為1,進行手勢指向識別;否則判定無手勢。
4.根據權利要求1所述的一種基於深度圖像手勢識別的視力檢測方法,其特徵在於,步驟七所述手勢指向識別的方法如下: (1)對手指區域進行腐蝕,找到手指的中心點M; (2)計算手指中心點M與手掌中心點C連線與橫軸或者縱軸的夾角A的正切值,判斷出手指方向區域; (3)根據M點所在的黑色區域判斷手勢的指向,手勢指向與M點所在區域對應的方向相同。
【文檔編號】A61B3/032GK103598870SQ201310552006
【公開日】2014年2月26日 申請日期:2013年11月8日 優先權日:2013年11月8日
【發明者】段立娟, 邱碩, 馬偉, 楊震, 陳建平 申請人:北京工業大學