本發(fā)明涉及圖像處理、計算機圖形學(xué)、計算機視覺等領(lǐng)域,特別涉及一種基于快速點特征直方圖值進(jìn)行特征分析提取的高測量精度、高測量速度的三維人體頭部點云特征提取方法。
背景技術(shù):
近年來,計算機視覺領(lǐng)域得到飛速發(fā)展,在工業(yè)機器人、無人駕駛汽車、醫(yī)學(xué)圖像分析和拓?fù)浣!⑻摂M現(xiàn)實及現(xiàn)實增強、人工智能等領(lǐng)域均獲得了廣泛應(yīng)用。在以上諸多應(yīng)用中,人臉面部特征提取都是至關(guān)重要的一步,例如人臉識別、姿態(tài)估計、建模、追蹤等。
基于二維圖像人像識別算法都是針對正面人像,當(dāng)二維圖像的俯仰角度、光照、姿態(tài)、化妝、年齡等變化時,會顯著降低二維人臉識別算法的性能,經(jīng)常出現(xiàn)不能識別的情況。近年來,隨著科技的發(fā)展,獲取三維數(shù)據(jù)越來越具有可行性,同時因為三維人臉對光照和姿態(tài)不敏感等優(yōu)點,三維人臉信息開始受到越來越多的研究者關(guān)注。
隨著三維人臉處理技術(shù)的流行,特征提取作為這些技術(shù)中的關(guān)鍵步驟,其重要性也日益凸顯。在人體頭部組織中,鼻子和耳朵受表情、化妝、年齡等變化影響最小,同時三維幾何信息卻最為突出和豐富,但是目前還沒有一種成熟的能夠快速準(zhǔn)確提取人體鼻子和耳朵的三維測量技術(shù)。
技術(shù)實現(xiàn)要素:
本發(fā)明目的在于提供一種基于點特征直方圖值進(jìn)行特征分析提取的高測量精度、高測量速度的三維人體頭部點云特征提取方法及其裝置。本發(fā)明克服了傳統(tǒng)二維特征提取對光照、角度的敏感,且不需要訓(xùn)練大量數(shù)據(jù),實現(xiàn)了對人體頭部三個典型特征的快速準(zhǔn)確提取。利用本發(fā)明能對三維人體頭部點云數(shù)據(jù),提取鼻子尖、左側(cè)耳道、右側(cè)耳道等典型特征。
為了達(dá)到上述的目的,本發(fā)明采用以下技術(shù)方案實現(xiàn):一種三維人體頭部點云特征提取方法,其包括:
步驟一、點云數(shù)據(jù)預(yù)處理:
步驟二、訓(xùn)練階段:計算預(yù)處理后的點云數(shù)據(jù)中每個點的法線,進(jìn)而計算FPFH值,并基于FPFH值通過近似最近鄰快速庫建立K維樹結(jié)構(gòu)的數(shù)據(jù),K為預(yù)處理后的點云數(shù)據(jù)中點的個數(shù);
步驟三、從給定模型中手動選擇典型特征點,給定模型能選擇已知數(shù)據(jù)的大眾臉型,經(jīng)過設(shè)定與步驟二中同樣的法線及FPFH值計算參數(shù),計算得到典型特征點的FPFH值;
步驟四、查詢階段:統(tǒng)計學(xué)中的卡方值表示觀測值與理論值的偏差程度,將從給定模型中提取得到的典型特征點作為理論值,將訓(xùn)練好的待提取模型K維樹結(jié)構(gòu)中的點作為觀測值,逐一計算卡方值后,通過設(shè)定一定的閾值,即可得到由若干個相似點構(gòu)成的候選集;
步驟五、基于形狀響應(yīng)因子確定特征點,計算候選集中每一個點的主曲率,進(jìn)而計算形狀響應(yīng)因子。
本發(fā)明還提供一種三維人體頭部點云特征提取裝置,其應(yīng)用上述三維人體頭部點云特征提取方法,該裝置包括:
預(yù)處理模塊,其用于點云數(shù)據(jù)預(yù)的處理;
訓(xùn)練模塊,其用于計算預(yù)處理后的點云數(shù)據(jù)中每個點的法線,進(jìn)而計算FPFH值,并基于FPFH值通過近似最近鄰快速庫建立K維樹結(jié)構(gòu)的數(shù)據(jù),K為預(yù)處理后的點云數(shù)據(jù)中點的個數(shù);
典型特征點的FPFH值計算模塊,其用于從給定模型中手動選擇典型特征點,給定模型能選擇已知數(shù)據(jù)的大眾臉型,經(jīng)過設(shè)定與步驟二中同樣的法線及FPFH值計算參數(shù),計算得到典型特征點的FPFH值;
候選集生成模塊,其用于統(tǒng)計學(xué)中的卡方值表示觀測值與理論值的偏差程度,將從給定模型中提取得到的典型特征點作為理論值,將訓(xùn)練好的待提取模型K維樹結(jié)構(gòu)中的點作為觀測值,逐一計算卡方值后,通過設(shè)定一定的閾值,即可得到由若干個相似點構(gòu)成的候選集;
特征點確定模塊,其用于基于形狀響應(yīng)因子確定特征點,計算候選集中每一個點的主曲率,進(jìn)而計算形狀響應(yīng)因子。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:
1、提出了一種全新的三維人體頭部點云特征提取方法,為鼻部、耳部定位、識別與特征提取奠定了基礎(chǔ);
2、通過使用FPFH值可以實現(xiàn)實時提取未知人體頭部模型中的特征點,提高了三維測量的速度;
3、通過使用三維曲面的形狀響應(yīng)因子并結(jié)合法線外積的角度方向等限制條件,實現(xiàn)精確定位鼻尖與耳道點,并區(qū)分左右耳道點,提高了定位的精度,從而實現(xiàn)了三維人體頭部點云的高速度、高精度特征提取。
附圖說明
圖1是本發(fā)明一種三維人體頭部點云特征提取方法的算法執(zhí)行流程圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明的三維人體頭部點云特征提取方法可設(shè)計成三維人體頭部點云特征提取裝置進(jìn)行應(yīng)用,如通過軟件設(shè)計成App在電子設(shè)備中推廣與應(yīng)用。三維人體頭部點云特征提取裝置主要包括預(yù)處理模塊、訓(xùn)練模塊、典型特征點的FPFH值計算模塊、候選集生成模塊、特征點確定模塊。本發(fā)明的三維人體頭部點云特征提取方法主要包括五個步驟。
步驟一、點云數(shù)據(jù)預(yù)處理。
此步驟由預(yù)處理模塊執(zhí)行。原始數(shù)據(jù)可能數(shù)據(jù)量較大,需要進(jìn)行下采樣以加快處理速度;噪聲數(shù)據(jù)需要去除;由于拍攝角度遮擋等造成的離群點需要去除。
點云數(shù)據(jù)預(yù)處理分三步執(zhí)行:首先,利用該點云數(shù)據(jù)的每個體素內(nèi)所有點的重心來近似代替體素中的其他點進(jìn)行下采樣,從而降低該點云數(shù)據(jù)的點云密度;其次,設(shè)定一定的取值范圍,刪除該點云數(shù)據(jù)中頸部以下的噪聲數(shù)據(jù);最后,通過在給定搜索半徑范圍內(nèi)鄰近點數(shù)量小于給定閾值的方法,將該點云數(shù)據(jù)中的離群點刪除。
步驟一中所述的下采樣是指利用每個體素(即三維立方體)內(nèi)所有點的重心來近似代替體素中的其他點。去除噪聲數(shù)據(jù)是指通過設(shè)定一定的取值范圍,刪除掃描點云中頸部以下的數(shù)據(jù)。去除離群點是指如果一個點在給定搜索半徑范圍內(nèi)鄰近點數(shù)量小于給定閾值,則判定為離群點并將其刪除。
步驟二、訓(xùn)練階段:計算預(yù)處理后的點云數(shù)據(jù)中每個點的法線,進(jìn)而計算FPFH值,并基于FPFH值通過近似最近鄰快速庫建立K維樹結(jié)構(gòu)的數(shù)據(jù),K為預(yù)處理后的點云數(shù)據(jù)中點的個數(shù)。
此步驟由訓(xùn)練模塊執(zhí)行。計算每個點的法線、進(jìn)而計算FPFH值,并基于FPFH通過近似最近鄰快速庫(FLANN)建立K維樹。
計算預(yù)處理后的點云數(shù)據(jù)中每個點的法線:等同于計算預(yù)處理后的點云數(shù)據(jù)中每點的切平面法線,轉(zhuǎn)換為對式(1)中的協(xié)方差矩陣C進(jìn)行分解,對應(yīng)協(xié)方差矩陣C最小特征值的特征向量作為預(yù)處理后的點云數(shù)據(jù)中每點的法線;通過式(2)使所有法線一致朝向視點方向。其中,Pi是預(yù)處理后的點云數(shù)據(jù)中第i個點的數(shù)據(jù),k是Pi鄰近點的數(shù)目,是Pi所有鄰近點的三維質(zhì)心,vp為視點。
得到法線后,通過以下流程計算FPFH值。
(1)、對于預(yù)處理后的點云數(shù)據(jù)中每一個查詢點Pt,通過式(3)、(4)、(5)計算這個查詢點Pt和它鄰域點Ps之間的uvw坐標(biāo)系;
u=ns 式(3)
w=u×v 式(5)
其中,ns為查詢點Pt的鄰域點Ps的法線。
(2)、通過式(6)、(7)、(8)計算查詢點Pt的法線nt與鄰域點Ps的法線ns之間的一組偏差角度α,θ,此結(jié)果稱為簡化的點特征直方圖SPFH;
α=v·nt 式(6)
θ=arctan(w·nt,u·nt) 式(8)
其中,d為查詢點Pt到鄰域點Ps之間的直線距離。
(3)、重新確定每個點的k鄰域,使用鄰近點Pk的SPFH值,通過式(9)來確定查詢點Pt的FPFH值FPFH(Pt);
其中,得到預(yù)處理后的點云數(shù)據(jù)中每個點的FPFH值后,通過使用FLANN建立K維樹結(jié)構(gòu)的數(shù)據(jù)。
步驟三、從給定模型中手動選擇典型特征點,給定模型能選擇已知數(shù)據(jù)的大眾臉型,經(jīng)過設(shè)定與步驟二中同樣的法線及FPFH值計算參數(shù),計算得到典型特征點的FPFH值。
此步驟由典型特征點的FPFH值計算模塊執(zhí)行。在本實施例中,典型特征點包括鼻子尖典型特征點、左側(cè)耳道典型特征點、右側(cè)耳道典型特征點。從給定模型中手動選擇鼻子尖、左側(cè)耳道、右側(cè)耳道三個典型特征點,設(shè)定與以上兩個步驟相同的計算參數(shù)后,得到該點處的FPFH值,可以根據(jù)不同人種選擇大眾臉型作為給定模型。也就是說,步驟三中的給定模型是指選擇已知數(shù)據(jù)的大眾臉型,通過人手動選擇鼻子尖、左側(cè)耳道、右側(cè)耳道三個典型特征點后,經(jīng)過設(shè)定與步驟二中同樣的法線及FPFH值(即FPFH值)計算參數(shù),計算得到三個典型特征點的FPFH值。
步驟四、查詢階段:統(tǒng)計學(xué)中的卡方值表示觀測值與理論值的偏差程度,將從給定模型中提取得到的典型特征點作為理論值,將訓(xùn)練好的待提取模型K維樹結(jié)構(gòu)中的點作為觀測值,逐一計算卡方值后,通過設(shè)定一定的閾值,即可得到由若干個相似點構(gòu)成的候選集。
此步驟由候選集生成模塊執(zhí)行。從訓(xùn)練好的待提取模型K維樹中,通過計算卡方值得到由若干個相似點構(gòu)成的候選集。步驟四中所述的卡方值表示觀測值與理論值的偏差程度,通過式(10)、(11)計算得到。將從給定模型中提取得到的典型特征點作為理論值Qi,將訓(xùn)練好的待提取模型K維樹結(jié)構(gòu)中的點Pi作為觀測值,逐一計算卡方值后,通過設(shè)定一定的閾值,即可得到由若干個相似點構(gòu)成的候選集。Ei是對應(yīng)Pi的期望值。
步驟五、基于形狀響應(yīng)因子確定特征點,計算候選集中每一個點的主曲率,進(jìn)而計算形狀響應(yīng)因子。
此步驟由特征點確定模塊執(zhí)行。鼻子尖典型特征點最終配置鼻尖候選集,左側(cè)耳道典型特征點、右側(cè)耳道典型特征點最終配置左右側(cè)耳道候選集;設(shè)置特性:每個候選集中對應(yīng)一個曲面,曲面越凸出,類似于鼻子尖處,則形狀響應(yīng)因子越大;曲面越凹陷,類似于碗狀或耳道內(nèi)點,則形狀響應(yīng)因子越?。桓鶕?jù)此特性,在鼻尖候選集中選擇形狀響應(yīng)因子最大的點作為鼻尖點,在左右側(cè)耳道候選集中選擇形狀響應(yīng)因子最小的點作為兩個耳道點,通過計算耳道點處法線與鼻尖點處法線外積的方向,區(qū)分左右耳道點。
左、右耳道點的法線分別位于鼻尖點法線的左右兩側(cè),通過計算耳道點處法線與鼻尖點處法線外積的方向,利用右手定則,拇指向下是右耳道點,拇指向上是左耳道點。
每個候選集中對應(yīng)一個曲面,形狀響應(yīng)因子通過以下步驟計算得到:
①計算曲面上一離散點處的高斯曲率kH和平均曲率kG;
②通過式(12)、(13)計算該離散點處的主曲率k1和k2,其中k1≥k2;
③通過式(14)計算該離散點的形狀響應(yīng)因子S;
下面結(jié)合附圖1對本發(fā)明一種三維人體頭部點云特征提取方法作進(jìn)一步說明。
本實施例的三維人體頭部點云特征提取方法的第一個步驟是點云數(shù)據(jù)預(yù)處理,分三步執(zhí)行。首先,因為原始數(shù)據(jù)量會比較大,所以利用每個體素(即三維立方體)內(nèi)所有點的重心來近似代替體素中的其他點進(jìn)行下采樣,從而降低點云密度。其次,原始數(shù)據(jù)可能包含頸部以下及其他點云數(shù)據(jù),所以需要設(shè)定一定的取值范圍,刪除掃描點云中頸部以下及其他干擾等噪聲數(shù)據(jù)。最后,由于點云獲取設(shè)備本身的精度及噪聲的因素引起的離群點,需要通過在給定搜索半徑范圍內(nèi)鄰近點數(shù)量小于給定閾值的方法,將離群點刪除。
本實施例的三維人體頭部點云特征提取方法的第二個步驟是訓(xùn)練數(shù)據(jù),分二步執(zhí)行。首先,計算法線,等同于計算點云中每點的切平面法線,進(jìn)一步將該問題轉(zhuǎn)換為對式(1)中的協(xié)方差矩陣C進(jìn)行分解,對應(yīng)C最小特征值的特征向量可作為點云中每點Pi的法線,其中k是Pi鄰近點的數(shù)目,是所有鄰近點的三維質(zhì)心。通過式(2)使所有法線一致朝向視點方向,其中vp為視點。
得到法線后,通過以下流程計算FPFH值:
(1)對于每一個查詢點Pt,通過式(3)、(4)、(5)計算這個點和它鄰域點Ps之間的uvw坐標(biāo)系;
(2)通過式(6)、(7)、(8)計算Pt的法線nt與Ps的法線ns之間的一組偏差角度α,θ,此結(jié)果稱為SPFH(簡化的點特征直方圖);
(3)重新確定每個點的k鄰域,使用鄰近點Pk的SPFH值,通過式(9)來確定Pt的FPFH。
u=ns 式(3)
w=u×v 式(5)
α=v·nt 式(6)
θ=arctan(w·nt,u·nt) 式(8)
得到點云數(shù)據(jù)中每個點的FPFH值后,通過使用FLANN建立K維樹結(jié)構(gòu)的數(shù)據(jù)。
本實施例的三維人體頭部點云特征提取方法的第三個步驟是從給定模型中手動選擇鼻子尖、左側(cè)耳道、右側(cè)耳道三個典型特征點。給定模型可以選擇已知數(shù)據(jù)的大眾臉型,經(jīng)過設(shè)定與步驟二中同樣的法線及FPFH值計算參數(shù),計算得到三個典型特征點的FPFH值。
本實施例的三維人體頭部點云特征提取方法的第四個步驟是查詢數(shù)據(jù),統(tǒng)計學(xué)中的卡方值表示觀測值與理論值的偏差程度,通過式(10)、(11)計算得到,所以利用卡方值來完成此步驟。將從給定模型中提取得到的典型特征點作為理論值Qi,將訓(xùn)練好的待提取模型K維樹結(jié)構(gòu)中的點Pi作為觀測值,逐一計算卡方值后,通過設(shè)定一定的閾值,即可得到由若干個相似點構(gòu)成的候選集。
本實施例的三維人體頭部點云特征提取方法的第五個步驟是通過形狀響應(yīng)因子確定最終的鼻尖點,通過鼻尖點法線與耳道點法線的外積方向確定最終的左右耳道點。其中形狀響應(yīng)因子通過以下流程計算得到:
(1)計算曲面上一離散點處的高斯曲率kH和平均曲率kG;
(2)通過式(12)、(13)計算該點處的主曲率k1和k2,其中k1≥k2;
(3)通過式(14)計算該點的形狀響應(yīng)因子S。
曲面越凸出,類似于鼻子尖處,則形狀響應(yīng)因子越大;曲面越凹陷,類似于碗狀或耳道內(nèi)點,則形狀響應(yīng)因子越小。根據(jù)此特性,在鼻尖候選集中選擇形狀響應(yīng)因子最大的點作為鼻尖點,在左右耳道候選集中選擇形狀響應(yīng)因子最小的點作為耳道點。因為左右耳道點的法線分別位于鼻尖點法線的左右兩側(cè),所以通過計算耳道點處法線與鼻尖點處法線外積的方向,利用右手定則,拇指向下是右耳道點,拇指向上是左耳道點。
以上內(nèi)容是結(jié)合具體的優(yōu)選實施方式對本發(fā)明所作的詳細(xì)說明,不能認(rèn)定本發(fā)明具體實施僅限于這些說明。對于本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明由所提交的權(quán)利要求書確定的發(fā)明保護范圍。