一種三維人體頭部點雲特徵提取方法及其裝置與流程
2023-10-10 05:18:04

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