李珩 吳明磊 蔣海濱 賈博 吳壯志
【摘要】提出了一種基于三維點云模型的人體頭部尺寸自動測量方法,并設計與實現了人體頭部尺寸測量系統。該系統采用基于幾何特征分析的方法來識別頭部測點,并根據測點計算頭部的各項尺寸。實驗證表明,系統具有測量速度快、精度高的特點。目前已成功應用于頭盔和面罩等產品的設計中。
【關鍵詞】人體測量學;點云模型;測點識別;頭部尺寸
1.引言
人體測量學[1]是人機工程學的一個重要分支領域,通過測量人體各部位的尺寸,運用統計學的方法,對人體形態特征進行研究。頭部測量是人體測量學的重要組成部分,對頭盔、防毒面具、防護目鏡、通訊耳機等頭部相關裝備的制造具有重要意義。傳統的頭面部裝備設計主要參考頭寬、頭長兩項分離的一維指標,由于這兩項一維指標僅反映了頭顱的一維尺寸大小,而無法反映三維曲面形狀,所以據此設計的頭面部裝備往往只能按大小分號而不能按形狀分型,而且與頭顱的貼合度較差。隨著三維掃描技術的發展,通過掃描儀獲取頭部三維模型,運用頭面部的整個形態信息進行頭面部裝備的設計已獲得廣泛關注。
從點云模型中提取頭部尺寸的難點在于如何魯棒準確地提供識別頭部測點。國內外學者已經提出了多種在頭部點云模型中提取測點的方法,主要分為如下兩類:
(1)基于幾何特征分析的方法[2-4]:此類方法根據測點附近的幾何特征(如高斯曲率、平均曲率、局部極值、最值等)和測點之間的結構關系等來提取測點。對無明顯特征的測點,則借助統計規律和人體比例特征獲得其大致位置,再由用戶交互式編輯得到其精確位置;
(2)基于模板網格變形的方法:基于模板網格的形狀處理技術近年來得到了計算機圖形學領域的重視[5-6],此方法的核心步驟是:對于待處理的頭部模型,將一個已經標注測點的頭部模板網格變形到待處理模型,生成一個幾何上與待處理模型在允許誤差范圍內、拓撲上和模板網格一致的網格,變形后的模板網格上的測點即為待識別的測點。基于幾何特征的識別方法實現比較復雜,但算法效率高,而且識別結果比較準確;而基于模板網格變形的識別方法則魯棒性好,但算法效率不高,而且部分測點識別精度低。
本文以頭盔和面罩等產品的設計為背景,針對三維頭部點云模型數據,采用基于幾何特征的測點識別方法,設計和實現了一個頭部尺寸自動測量系統。
2.技術要求
本文以頭盔和面罩設計為背景,依據《GJB 4856-2003 中國男性飛行員人體尺寸》[7],共提取人體頭部50尺寸測量項目,完成三維頭部尺寸測量。
2.1 測點和測量項目
測量項目是指在相應的測量姿勢上,根據測點給出的人體水平尺寸(包括圍度尺寸)、垂直尺寸或其他尺寸,例如頭最大長、頭最大寬、頭圍等。測點是用于表示測量位置的界點,它通常為肌肉下方的骨骼突出部位或者關節連接處[7],例如耳屏點、眶下點、枕后點等。測量項目一般由一個或多個測點進行定義,例如“頭圍”的相關測點為“眉間點”和“枕后點”。測點和測量項目的定義參見《GJB 4856-2003》[7],圖1給出了測量項目“頭圍”的示意圖及相關測點。
圖1 “頭圍”及相關測點示意圖
2.2 頭部解剖學坐標系
本文中的三維頭部模型采用頭部解剖學坐標系[8],如圖2所示。該坐標以左耳屏點、右耳屏點和左眶下點定義的平面為水平面(XOY平面),左、右耳屏點的中點為坐標原點O,垂直此平面的軸為Z軸(向上為正向),Y軸為右耳屏點與左耳屏點的連線(向左為正向),X、Y、Z軸滿足右手關系(向前為正向)。
圖2 頭部解剖學坐標
圖3 系統測量流程圖
3.尺寸測量流程與關鍵技術
3.1 尺寸測量流程
系統測量流程如圖3所示。首先讀入人體點云數據,對其進行預處理,去除噪聲點并建立頭部解剖學坐標系;其次,采用基于幾何特征分析的方法自動識別頭部的35個測點,并經過人工確認。如果不滿意,則通過交互式調整測點位置;最后計算人體頭部50個測量項目并輸出測量結果。
3.2 預處理
首先,由于遮擋等原因,目標模型中往往含有噪聲、空洞,同時模型的邊界也不規整,需要用Geomagic等軟件中對模型進行去噪、補洞、邊界修補等規則化處理。
其次,由于頭部模型往往處在不同的坐標系下,這不利于后續的數據處理,因此需要將所有的頭部點云模型轉換到頭部解剖學坐標系下。該坐標系根據左耳屏點、右耳屏點和左眶下點來定義,如果此三點已知,通過三維平移和旋轉變換即可完成坐標變換。可通過貼標記點并進行識別得到此三點;或者通過交互拾取的方法,讓用戶在頭部模型上拾取此三點。
3.3 測點識別
測點自動識別問題是頭部尺寸自動測量中的一個經典問題,也是尺寸自動測量的難點。本系統采用基于幾何特征分析的識別方法,并結合人體各部分的比例關系和測點之間的約束關系來進行測點自動識別。
根據《GJB 4856-2003》,50個測量項目共涉及35個測點。根據測點在人體頭部上的位置和相關特征,可以將測點分為四類:
(1)第一類為最值點。
這類測點又可以分為局部最值點和全局最值點兩類,局部最值點具有局部區域內的沿某一坐標軸方向的最值。而全局最值點在整個頭部模型上具有沿某一坐標方向上的最大值或者最小值,例如頭頂點、枕后點、耳外點、鼻尖點等;
(2)第二類是局部極值點。
這類測點或者位于輪廓線上,屬于輪廓線上的凸點、凹點或者突變點,如鼻梁點、頦下點等;
(3)第三類為約束測點。
此類測點由其它測點定義,可以根據其它測點計算出來,例如,枕后點即可根據眉間點進行計算(枕后點為在正中矢狀面上,枕部離眉間點最遠的點)。
(4)第四類為一般測點。
這類測點在其附近區域無明顯幾何特征,只能通過頭部比例關系等來進行估算。
在進行測點識別時,最值點是最容易識別的,其次是輪廓線上的局部極限點,接著是位于區域上的局部極值點和約束測點,最后是一般測點。因而在測點自動提取時,也遵循這樣一個順序:首先根據測點的定義提取位于頭部上的最值點;然后借助輪廓提取和分析的方法,對人體頭部有價值的輪廓線上的測點進行識別;之后,根據區域上待識別測點與已識別的測點的關系,識別區域上的局部極值點;最后對無明顯特征的一般測點,借助統計學和人體比例學特征獲得其大致位置,或者根據其與已經識別出來的測點的關系獲得其初始位置,再由用戶交互式編輯得到其精確位置。
(1)最值點識別:
測點識別在預處理后的模型上進行,預處理后的模型已經位于解剖學坐標系下。在此坐標系下最值點在局部范圍上或者全局范圍上具有沿某一坐標方向上的最大值或者最小值。例如,頭頂點是鉛垂軸方向上具有最大值的點,枕后點和鼻尖點分別是頭部中部區域上沿縱軸方向的最小值和最大值點,左、右耳外點分別是頭部中部區域上沿橫軸方向的最小值和最大值點。對最值點的識別比較簡單,通過查找模型上某一坐標軸方向的最值即可得到待識別測點。
(2)局部極值點識別:
輪廓線可以表達人體頭面部的細節結構。正中矢狀面輪廓線是人體頭部最有價值的輪廓線,有相當一部分測點位于該輪廓線上,包括眉間點、鼻梁點、鼻尖點、鼻下點、上唇中點、口裂點、下唇中點、齦點、頦上點、頦前點、頦下點、喉結點、后頭頂點、枕外隆突點等。除側面輪廓線之外,水平輪廓線上也存在部分測點,比如左、右鼻翼點,耳下附著點。對位于輪廓線上的局部極值點,首先提取測點所在的輪廓線,然后借助輪廓分析的方法提取輪廓線上的候選點集,最后根據待識別測點的語義特征在候選點集中查找待識別測點。
(3)約束測點識別:
此類測點由其它測點定義,可以根據其它測點通過截面輪廓線計算出來。包括枕后點(枕后點定義在正中矢狀面上,枕部離眉間點最遠的點)、后頭頂點(在正中矢狀面上,頭頂點后,頭頂部離頦下點最遠的點)等。
(4)一般測點識別:
人體頭部上也存在著一小部分測點(如左、右顴點以及左、右顳嵴點),它們既不具備在某個坐標軸上具有最值,又不位于有價值的輪廓線上,同時也不位于特定的面部區域上,因而前面兩小節所述的識別算法對其失效。對這類不具備明顯幾何特征的一般測點,可以借助人體面貌形態學特征,首先確定這類測點在人體頭部上的比例關系;然后根據頭部包圍盒的邊界點以及測點所對應的比例關系計算測點的初始粗略位置;最后給定一個閾值,在模型上查找與初始識別點的距離落在閾值內的所有點,取點集的中心作為一般點的最后識別位置。
3.4 尺寸計算
本系統中需要計算的尺寸測量項目共50項,包括《GJB 4856-2003:中國男性飛行員人體尺寸》中定義的B.1.1~B.1.50。一個測量項目由1個或一個以上的測點進行定義。根據不同測量項目在計算方法上的差異,將測量項目劃分為五類:
1)兩點間垂直距離:包括B.1.3~B.1.5等3項;
2)兩點直線距離:包括B.1.1、B.1.2、B.1.6~B.1.36等33項;
3)兩點水平距離:包括B.1.37~B.1.39眼突枕突距等3項;
4)圍長:包括B.1.40~B.1.43等4項;
5)弧長:包括B.1.44~B.1.50等7項。
(1)距離類尺寸計算:此類尺寸測量項目通常定義為兩個相關測點的垂直高度、水平距離或直線距離。
因此,一旦頭部測點被識別出來以后,距離類測量項目的求解就相對比較容易了。設與測量項目定義相關的測點為和,則垂直距離=,水平距離=,直線距離=。
(2)圍長類尺寸計算:圍長為頭部某一截面線的圍度,由于采用卷尺手工測量圍長的過程可以近似于求截面線上點集的凸包長度的過程,因此本系統中采用計算截面線上點集凸包長度的方法來計算圍長,凸包計算采用Graham掃描算法[9]。
(3)弧長類尺寸計算:弧長類測量項目的計算和圍長相似,不同點主要有兩點:
1)求得截面點集后,首先需要根據弧長的首末端點定義準則來刪除不在弧長上的點;
2)對剩下的點進行B樣條擬合,用B樣條的長度作為弧長。
4.系統設計與實現
4.1 功能概述
針對每個被測者,本系統讀入被測者頭部點云數據,通過對點云去噪、建立標準測量坐標系完成預處理;然后采用幾何特征分析的方法自動識別人體所有測點,并進行測量項目的自動計算。系統完成的主要功能如下:
(1)被測者管理:
系統使用數據庫來存儲和管理被測者的個人信息、模型信息、測點和測量項目信息,提供相應的查詢、增加、刪除、修改、報表生成、結果打印功能。
(2)讀入并顯示頭部模型:
將被測者的點云模型讀入系統,并對其進行瀏覽和顯示。
(3)測點識別:
通過采用幾何特征分析的方法,借助人體比例關系等方法,在沒有人工干預的情況下,自動識別頭部測點。
(4)測點編輯與更新:
系統自動識別測點后,用戶可以通過交互編輯的方式修改測點位置。
(5)自動測量:
在測點自動識別完成后,系統能夠自動計算頭部所有測量項目的尺寸。
(6)測量結果輸出:
系統能夠將被測者的頭部尺寸測量結果以Excel表格文件進行輸出。
(7)批處理:
在用戶指定一個頭部模型數據文件目錄后,系統可以自動的完成該目錄下全部模型的自動測量工作。
4.2 系統模塊
本系統采用模塊化設計,將整個系統劃分為七個獨立的模塊:文件操作模塊、數據庫管理模塊、渲染引擎模塊、配置管理模塊、XML組件模塊、測點識別模塊、自動測量模塊。測點識別和自動測量模塊是整個系統的核心;渲染引擎模塊負責向用戶展示頭部模型、測點以及測量項目示意圖;配置管理模塊通過XML組件模塊來得到測點和測量項的配置信息。
本系統運行于Windows XP/Win7,采用VC2010作為開發平臺,用C++語言實現;系統采用Qt作為界面開發包,底層圖形庫采用OpenGL。
圖4為系統運行的主界面。主界面為“測量界面”,可以分為:“菜單條”、“工具條”、“狀態條”、“模型顯示視口”和“測點和測量項目列表”等五個部分。另外還包括“管理界面”、“統計分析”等操作界面。
4.3 測量結果與分析
圖5給出了一位被測者的35個測點和部分尺寸測量項目結果。圖5a為識別出來的35個的測點;圖5b和圖5c則顯示了“容貌面長II”和“頭圍”兩個測量項目的示意圖(包括相關測點和尺寸值)。通過在系統主界面的“測點和測量項目列表”中選中不同的測量項目,可以對所測量項目方便地進行瀏覽。實驗結果表明,本文設計的測點識別和尺寸計算方法,具有識別準確、效率高、魯棒性好等優點。
圖4 系統運行主界面
圖5 測點結果和測量項目
5.結束語
本文給出了一種基于三維點云模型的人體頭部尺寸自動測量方法,設計與實現了頭部尺寸測量系統。系統輸入為被測者通過三維人體頭部掃描儀得到的頭部點云模型,輸出為文獻[7]規定的50個頭部尺寸。系統通過采用幾何特征分析的方法自動識別被測者頭部的測點,并根據測點計算頭部的各項尺寸。
與傳統手工測量相比,本方法能實現自動測量,縮短了測量時間,提高了測量精度和效率。實驗驗證表明,系統具有測量速度快、精度高等特點。目前已成功應用于頭盔和面罩等產品的設計中。
參考文獻
[1]席煥久,陳昭.人體測量方法(第二版)[M].北京:科學出版社,2010.
[2]Li P,Corner B D,Paquette S.Automatic Landmark Extraction from Three-dimensional Head Scan Data[C]//Proc.SPIE 4661,Three-Dimensional Image Capture and Applications V,169.2002.
[3]Chua C S,Han F,and Ho Y K.3D human face recognition using point signature[C]//Proceedings of the IEEE International Conference on Automatic Face and Gesture Recognition.2000:233-238.
[4]Salazar A E,Prieto F A.3D BSM for face segmentation and landmarks detection[C]//Proc.SPIE 7526,Three-Dimensional Image Processing(3DIP)and Applications,752608.2010.
[5]Allen B,Curless B,Popovic Z.The Space of Human Body Shapes:Reconstruction and Parameterization from Range Scans[J].ACM Transactions on Graphics(ACM SIGGRAPH2003),2003,22(3):587-594.
[6]Yeh I-Cheng,Lin Chao-Hung,Sorkine O,et al.Template-based 3d model ?tting using dual-domain relaxation[J].IEEE Transactions on Visualization and Computer Graphics,2011,17(8):1178-1190.
[7]GJB 4856-2003,中國男性飛行員人體尺寸[S].
[8]GJB1564A-2012,飛行保護頭盔通用規范[S].
[9]Andrew A M.Another efficient algorithm for convex hulls in two dimensions[J].Information Processing Letter.1979,9(5):216-219.
作者簡介:李珩(1971-),男,大學本科,高級工程師,現供職于航宇救生裝備有限公司,研究方向:航空救生。