一種基于深度攝像機(jī)的快速3d骨骼模型檢測(cè)方法
【專利摘要】本發(fā)明涉及計(jì)算機(jī)視覺【技術(shù)領(lǐng)域】,具體涉及一種基于深度攝像機(jī)的快速3D骨骼模型檢測(cè)方法,包括:使用深度攝像機(jī)拍攝整個(gè)人體,在圖像中使用Adaboost算法進(jìn)行人臉檢測(cè),得到人臉的深度信息;基于人臉的深度信息,提取人體輪廓;使用“凸模板”驗(yàn)證算法對(duì)檢測(cè)到的人體輪廓進(jìn)行檢測(cè)驗(yàn)證;驗(yàn)證通過后,對(duì)人體輪廓進(jìn)行圖像平滑處理,通過細(xì)化算法獲取人體輪廓骨架線;提取人體輪廓骨架線上的特征點(diǎn),并且對(duì)特征點(diǎn)進(jìn)行個(gè)數(shù)和位置的修正,排除干擾點(diǎn);對(duì)修正后的特征點(diǎn)進(jìn)行驗(yàn)證,如果驗(yàn)證通過,則采用快速關(guān)節(jié)點(diǎn)提取算法得到精確關(guān)節(jié)點(diǎn)等特征。本發(fā)明能運(yùn)算速度快,計(jì)算復(fù)雜度低,適應(yīng)各種復(fù)雜背景,每幀圖像僅需5ms。
【專利說明】一種基于深度攝像機(jī)的快速3D骨骼模型檢測(cè)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)視覺【技術(shù)領(lǐng)域】,具體涉及一種基于深度攝像機(jī)的快速3D骨骼模型檢測(cè)方法。
【背景技術(shù)】
[0002]人機(jī)交互越來越成為人們?nèi)粘I钪械囊粋€(gè)重要組成部分,特別是近幾年,隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,符合人們交流習(xí)慣的新型人機(jī)交互技術(shù)變得異常活躍并取得了很多創(chuàng)新性成果。
[0003]隨著以紅外掃描方式為核心的人體骨骼識(shí)別方式的興起,以體感輸入隔空操作計(jì)算機(jī)將日益走入人們的生活,魯棒的人體骨架識(shí)別在游戲、人機(jī)交互、安全、遠(yuǎn)程監(jiān)控,甚至醫(yī)療方面有很廣泛的應(yīng)用,而深度攝像機(jī)的出現(xiàn)使得人體骨骼模型識(shí)別更加便宜且易于實(shí)現(xiàn)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種基于深度攝像機(jī)的快速3D骨骼模型檢測(cè)方法,解決現(xiàn)有技術(shù)無法完整顯示人的輪廓,并且不能實(shí)時(shí)的生成人體的3D骨骼模型,以得到各個(gè)關(guān)節(jié)點(diǎn)的3D坐標(biāo)的問題。
[0005]為解決上述的技術(shù)問題,本發(fā)明采用以下技術(shù)方案:
[0006]一種基于深度攝像機(jī)的快速3D骨骼模型檢測(cè)方法,包括:
[0007]步驟一,使用深度攝像機(jī)拍攝整個(gè)人體,在圖像中使用Adaboost算法進(jìn)行人臉檢測(cè),得到人臉的深度信息;
[0008]步驟二,基于人臉的深度信息,提取人體輪廓;
[0009]步驟三,使用“凸模板”驗(yàn)證算法對(duì)檢測(cè)到的人體輪廓進(jìn)行檢測(cè)驗(yàn)證;
[0010]步驟四,驗(yàn)證通過后,對(duì)人體輪廓進(jìn)行圖像平滑處理,通過細(xì)化算法獲取人體輪廓骨架線;
[0011]步驟五,提取人體輪廓骨架線上的特征點(diǎn),并且對(duì)特征點(diǎn)進(jìn)行個(gè)數(shù)和位置的修正,排除干擾點(diǎn);
[0012]步驟六,對(duì)修正后的特征點(diǎn)進(jìn)行驗(yàn)證,如果驗(yàn)證通過,則采用快速關(guān)節(jié)點(diǎn)提取算法得到精確關(guān)節(jié)點(diǎn),如果驗(yàn)證沒有通過,則采用3D人體部位識(shí)別算法得到精確關(guān)節(jié)點(diǎn);
[0013]步驟七,連接關(guān)節(jié)點(diǎn),形成完整的人體骨骼模型。
[0014]進(jìn)一步的,所述步驟二中提取人體輪廓的方法如下:深度攝像機(jī)人臉中心點(diǎn)開始,向四周擴(kuò)展,找出所有與此深度相近的像素點(diǎn),對(duì)每一個(gè)像素點(diǎn),計(jì)算其4-鄰域點(diǎn)(上、下、左、右鄰域點(diǎn))的深度值,判斷其深度值與中心點(diǎn)的差值是否小于閾值,如果小于閾值則保留此像素點(diǎn),并以此點(diǎn)為中心進(jìn)行遞歸計(jì)算,數(shù)學(xué)表達(dá)式如下:
[0015]I Depth (X,y)-Depth (χ-l, y) I < Thresh
[0016]I Depth (χ, y)-Depth (χ, y_l) I < Thresh[0017]| Depth (x, y)-Depth (x+1, y) | < Thresh
[0018]| Depth (x, y)-Depth (x, y+1) | < Thresh
[0019]如果大于閾值則停止此點(diǎn)的計(jì)算,深度滿足條件的點(diǎn)記錄為1,否則取為0,這樣遞歸計(jì)算直到整個(gè)圖像擴(kuò)展完畢便可得到人的輪廓。
[0020]進(jìn)一步的,所述步驟三中“凸模板”分為相互扣合的“凹”形和“凸”形,“凸模板”驗(yàn)
證算法是指把“凸模板”放在人臉檢測(cè)到的區(qū)域附近,設(shè)定s_vra£是“凸”形面積,Sconcave是“凹”形面積,通過公式
[0021]
【權(quán)利要求】
1.一種基于深度攝像機(jī)的快速3D骨骼模型檢測(cè)方法,其特征在于包括:步驟一,使用深度攝像機(jī)拍攝整個(gè)人體,在圖像中使用Adaboost算法進(jìn)行人臉檢測(cè),得到人臉的深度信息;步驟二,基于人臉的深度信息,提取人體輪廓;步驟三,使用“凸模板”驗(yàn)證算法對(duì)檢測(cè)到的人體輪廓進(jìn)行檢測(cè)驗(yàn)證;步驟四,驗(yàn)證通過后,對(duì)人體輪廓進(jìn)行圖像平滑處理,通過細(xì)化算法獲取人體輪廓骨架線;步驟五,提取人體輪廓骨架線上的特征點(diǎn),并且對(duì)特征點(diǎn)進(jìn)行個(gè)數(shù)和位置的修正,排除干擾點(diǎn);步驟六,對(duì)修正后的特征點(diǎn)進(jìn)行驗(yàn)證,如果驗(yàn)證通過,則采用快速關(guān)節(jié)點(diǎn)提取算法得到精確關(guān)節(jié)點(diǎn),如果驗(yàn)證沒有通過,則采用3D人體部位識(shí)別算法得到精確關(guān)節(jié)點(diǎn);步驟七,連接關(guān)節(jié)點(diǎn),形成完整的人體骨骼模型。
2.根據(jù)權(quán)利要求1所述的一種基于深度攝像機(jī)的快速3D骨骼模型檢測(cè)方法,其特征在于:所述步驟二中提取人體輪廓的方法如下:深度攝像機(jī)人臉中心點(diǎn)開始,向四周擴(kuò)展,找出所有與此深度相近的像素點(diǎn),對(duì)每一個(gè)像素點(diǎn),計(jì)算其4-鄰域點(diǎn)的深度值,判斷其深度值與中心點(diǎn)的差值是否小于閾值,如果小于閾值則保留此像素點(diǎn),并以此點(diǎn)為中心進(jìn)行遞歸計(jì)算,如果大于閾值則停止此點(diǎn)的計(jì)算,深度滿足條件的點(diǎn)記錄為1,否則取為0,這樣遞歸計(jì)算直到整個(gè)圖像擴(kuò)展完畢便可得到人的輪廓。
3.根據(jù)權(quán)利要求1所述的一種基于深度攝像機(jī)的快速3D骨骼模型檢測(cè)方法,其特征在于:所述步驟三中“凸模板”分為相互扣合的“凹”形和“凸”形,“凸模板”驗(yàn)證算法是指把“凸模板”放在人臉檢測(cè)到的區(qū)域附近,設(shè)定S_vex是“凸”形面積,Sconcave是“凹”形面積,通過公式
4.根據(jù)權(quán)利要求1所述的一種基于深度攝像機(jī)的快速3D骨骼模型檢測(cè)方法,其特征在于:所述步驟四中,通過細(xì)化算法獲取人體輪廓骨架線的方法如下:使用圖像降采樣,將圖像高度和寬度同時(shí)縮小為原來的四分之一,然后使用5X5中值濾波進(jìn)行圖像的平滑操作,最后使用Rosenfeld-8細(xì)化算法提取人體輪廓骨架線。
5.根據(jù)權(quán)利要求1所述的一種基于深度攝像機(jī)的快速3D骨骼模型檢測(cè)方法,其特征在于:所述步驟五中,特征點(diǎn)提取使的方法如下:在骨架點(diǎn)上,使用遞歸算法,遍歷骨架每個(gè)像素點(diǎn),對(duì)每個(gè)像素點(diǎn)進(jìn)行處理,在每個(gè)像素點(diǎn)處,虛擬畫一個(gè)圓,用圓周與骨架線相交進(jìn)行判斷,如果骨架線的四周只有一個(gè)連接點(diǎn)且與圓周只有一個(gè)交點(diǎn),則為端點(diǎn);如果骨架線與圓周有三個(gè)或以上交點(diǎn),則為分支點(diǎn);如果骨架線與圓周只有兩個(gè)交點(diǎn),則為內(nèi)部線,由此可提取骨架上的特征點(diǎn)。
6.根據(jù)權(quán)利要求1所述的一種基于深度攝像機(jī)的快速3D骨骼模型檢測(cè)方法,其特征在于:所述步驟五中,對(duì)特征點(diǎn)進(jìn)行修正是通過合并端點(diǎn)、合并分支點(diǎn)以及合并干擾分支點(diǎn)與端點(diǎn)實(shí)現(xiàn)的,如果端點(diǎn)距離過近,則合并端點(diǎn),新特征點(diǎn)為兩個(gè)初始點(diǎn)的線上的中點(diǎn);如果分支點(diǎn)距離過近,則合并分支點(diǎn),新特征點(diǎn)為兩個(gè)初始點(diǎn)的線上的中點(diǎn);如果分支點(diǎn)與端點(diǎn)的距離過近,則可能是干擾線條,合并干擾分支點(diǎn)與端點(diǎn),新特征點(diǎn)為兩個(gè)初始點(diǎn)的線上的中點(diǎn)。
7.根據(jù)權(quán)利要求1所述的一種基于深度攝像機(jī)的快速3D骨骼模型檢測(cè)方法,其特征在于:所述步驟六中,特征點(diǎn)驗(yàn)證方法如下:在骨架線上有設(shè)定2個(gè)分支點(diǎn)和5個(gè)端點(diǎn),用線上最短距離計(jì)算,de_nb+dmiddle = ,其中de_nb為端點(diǎn)到近臨分支點(diǎn)的距離,dmiddle為中軸長(zhǎng)度,de_fb為端點(diǎn)到遠(yuǎn)分支點(diǎn)的距離。
8.根據(jù)權(quán)利要求1所述的一種基于深度攝像機(jī)的快速3D骨骼模型檢測(cè)方法,其特征在于:所述步驟六中,快速關(guān)節(jié)點(diǎn)提取算法得到精確關(guān)節(jié)點(diǎn)的方法如下:首先使用“線上最短距離找點(diǎn)算法”,找到關(guān)節(jié)點(diǎn)的大概位置,然后通過在輪廓中設(shè)置最大占有面積矩形區(qū)域,定位肩部和臀部四個(gè)關(guān)節(jié)點(diǎn)坐標(biāo),接著在矩形區(qū)域上下兩點(diǎn)之間定位腰部與頸部位的關(guān)節(jié)坐標(biāo),最后通過計(jì)算骨架線上點(diǎn)到手與頸部直線或者腳與臀部直線的距離,變化率最大的點(diǎn)為關(guān)節(jié)點(diǎn)。
9.根據(jù)權(quán)利要求1所述的一種基于深度攝像機(jī)的快速3D骨骼模型檢測(cè)方法,其特征在于:所述步驟六中,3D人體部位識(shí)別算法得到精確關(guān)節(jié)點(diǎn)的方法如下: 提取的人體輪廓的二值圖,在輪廓區(qū)域處,把深度值填充進(jìn)去,形成輪廓深度圖; 統(tǒng)計(jì)物體X,y的平均值,得到物體重心點(diǎn),在骨架線上,找一點(diǎn)與重心點(diǎn)距離最近,把此點(diǎn)作為“骨架線中心點(diǎn)”或“人體中心點(diǎn)”; 計(jì)算骨架線上每一個(gè)點(diǎn)到人體中心點(diǎn)的距離,并生成一個(gè)M圖,記錄所有骨架線上的距離值;利用M圖,為了提取各個(gè)人體部位,提出一種人體部位距離度量算法,估算人體各個(gè)部位之間距離,為關(guān)節(jié)識(shí)別提供基本信息; 統(tǒng)計(jì)在輪廓深度圖中所有的距離平均值,ΗΒΗ)距離大于平均值中取75%分為一類,距離小于平均值中取75%分為另一類; 用一個(gè)矩形框把身體區(qū)域框住,并使它位于二值輪廓區(qū)域中,在交線處得到左肩、右肩、左臀和右臀四個(gè)關(guān)節(jié)點(diǎn) 位置,在矩形框上下方找到位于兩肩之間的頸部關(guān)節(jié)點(diǎn)和位于中心點(diǎn)附近的腰部關(guān)節(jié)點(diǎn),然后提取手部區(qū)域,該區(qū)域距四個(gè)關(guān)節(jié)更遠(yuǎn)的一端作為四肢端點(diǎn),距離四個(gè)關(guān)節(jié)近的一端作為中間關(guān)節(jié)點(diǎn)。
【文檔編號(hào)】G06K9/46GK103679175SQ201310684923
【公開日】2014年3月26日 申請(qǐng)日期:2013年12月13日 優(yōu)先權(quán)日:2013年12月13日
【發(fā)明者】程洪, 莊浩洋, 葉果, 楊路 申請(qǐng)人:電子科技大學(xué)