李珩 吳明磊 蔣海濱 賈博 吳壯志
【摘要】提出了一種基于三維點云模型的人體頭部尺寸自動測量方法,并設(shè)計與實現(xiàn)了人體頭部尺寸測量系統(tǒng)。該系統(tǒng)采用基于幾何特征分析的方法來識別頭部測點,并根據(jù)測點計算頭部的各項尺寸。實驗證表明,系統(tǒng)具有測量速度快、精度高的特點。目前已成功應(yīng)用于頭盔和面罩等產(chǎn)品的設(shè)計中。
【關(guān)鍵詞】人體測量學(xué);點云模型;測點識別;頭部尺寸
1.引言
人體測量學(xué)[1]是人機工程學(xué)的一個重要分支領(lǐng)域,通過測量人體各部位的尺寸,運用統(tǒng)計學(xué)的方法,對人體形態(tài)特征進行研究。頭部測量是人體測量學(xué)的重要組成部分,對頭盔、防毒面具、防護目鏡、通訊耳機等頭部相關(guān)裝備的制造具有重要意義。傳統(tǒng)的頭面部裝備設(shè)計主要參考頭寬、頭長兩項分離的一維指標(biāo),由于這兩項一維指標(biāo)僅反映了頭顱的一維尺寸大小,而無法反映三維曲面形狀,所以據(jù)此設(shè)計的頭面部裝備往往只能按大小分號而不能按形狀分型,而且與頭顱的貼合度較差。隨著三維掃描技術(shù)的發(fā)展,通過掃描儀獲取頭部三維模型,運用頭面部的整個形態(tài)信息進行頭面部裝備的設(shè)計已獲得廣泛關(guān)注。
從點云模型中提取頭部尺寸的難點在于如何魯棒準(zhǔn)確地提供識別頭部測點。國內(nèi)外學(xué)者已經(jīng)提出了多種在頭部點云模型中提取測點的方法,主要分為如下兩類:
(1)基于幾何特征分析的方法[2-4]:此類方法根據(jù)測點附近的幾何特征(如高斯曲率、平均曲率、局部極值、最值等)和測點之間的結(jié)構(gòu)關(guān)系等來提取測點。對無明顯特征的測點,則借助統(tǒng)計規(guī)律和人體比例特征獲得其大致位置,再由用戶交互式編輯得到其精確位置;
(2)基于模板網(wǎng)格變形的方法:基于模板網(wǎng)格的形狀處理技術(shù)近年來得到了計算機圖形學(xué)領(lǐng)域的重視[5-6],此方法的核心步驟是:對于待處理的頭部模型,將一個已經(jīng)標(biāo)注測點的頭部模板網(wǎng)格變形到待處理模型,生成一個幾何上與待處理模型在允許誤差范圍內(nèi)、拓?fù)渖虾湍0寰W(wǎng)格一致的網(wǎng)格,變形后的模板網(wǎng)格上的測點即為待識別的測點?;趲缀翁卣鞯淖R別方法實現(xiàn)比較復(fù)雜,但算法效率高,而且識別結(jié)果比較準(zhǔn)確;而基于模板網(wǎng)格變形的識別方法則魯棒性好,但算法效率不高,而且部分測點識別精度低。
本文以頭盔和面罩等產(chǎn)品的設(shè)計為背景,針對三維頭部點云模型數(shù)據(jù),采用基于幾何特征的測點識別方法,設(shè)計和實現(xiàn)了一個頭部尺寸自動測量系統(tǒng)。
2.技術(shù)要求
本文以頭盔和面罩設(shè)計為背景,依據(jù)《GJB 4856-2003 中國男性飛行員人體尺寸》[7],共提取人體頭部50尺寸測量項目,完成三維頭部尺寸測量。
2.1 測點和測量項目
測量項目是指在相應(yīng)的測量姿勢上,根據(jù)測點給出的人體水平尺寸(包括圍度尺寸)、垂直尺寸或其他尺寸,例如頭最大長、頭最大寬、頭圍等。測點是用于表示測量位置的界點,它通常為肌肉下方的骨骼突出部位或者關(guān)節(jié)連接處[7],例如耳屏點、眶下點、枕后點等。測量項目一般由一個或多個測點進行定義,例如“頭圍”的相關(guān)測點為“眉間點”和“枕后點”。測點和測量項目的定義參見《GJB 4856-2003》[7],圖1給出了測量項目“頭圍”的示意圖及相關(guān)測點。
圖1 “頭圍”及相關(guān)測點示意圖
2.2 頭部解剖學(xué)坐標(biāo)系
本文中的三維頭部模型采用頭部解剖學(xué)坐標(biāo)系[8],如圖2所示。該坐標(biāo)以左耳屏點、右耳屏點和左眶下點定義的平面為水平面(XOY平面),左、右耳屏點的中點為坐標(biāo)原點O,垂直此平面的軸為Z軸(向上為正向),Y軸為右耳屏點與左耳屏點的連線(向左為正向),X、Y、Z軸滿足右手關(guān)系(向前為正向)。
圖2 頭部解剖學(xué)坐標(biāo)
圖3 系統(tǒng)測量流程圖
3.尺寸測量流程與關(guān)鍵技術(shù)
3.1 尺寸測量流程
系統(tǒng)測量流程如圖3所示。首先讀入人體點云數(shù)據(jù),對其進行預(yù)處理,去除噪聲點并建立頭部解剖學(xué)坐標(biāo)系;其次,采用基于幾何特征分析的方法自動識別頭部的35個測點,并經(jīng)過人工確認(rèn)。如果不滿意,則通過交互式調(diào)整測點位置;最后計算人體頭部50個測量項目并輸出測量結(jié)果。
3.2 預(yù)處理
首先,由于遮擋等原因,目標(biāo)模型中往往含有噪聲、空洞,同時模型的邊界也不規(guī)整,需要用Geomagic等軟件中對模型進行去噪、補洞、邊界修補等規(guī)則化處理。
其次,由于頭部模型往往處在不同的坐標(biāo)系下,這不利于后續(xù)的數(shù)據(jù)處理,因此需要將所有的頭部點云模型轉(zhuǎn)換到頭部解剖學(xué)坐標(biāo)系下。該坐標(biāo)系根據(jù)左耳屏點、右耳屏點和左眶下點來定義,如果此三點已知,通過三維平移和旋轉(zhuǎn)變換即可完成坐標(biāo)變換??赏ㄟ^貼標(biāo)記點并進行識別得到此三點;或者通過交互拾取的方法,讓用戶在頭部模型上拾取此三點。
3.3 測點識別
測點自動識別問題是頭部尺寸自動測量中的一個經(jīng)典問題,也是尺寸自動測量的難點。本系統(tǒng)采用基于幾何特征分析的識別方法,并結(jié)合人體各部分的比例關(guān)系和測點之間的約束關(guān)系來進行測點自動識別。
根據(jù)《GJB 4856-2003》,50個測量項目共涉及35個測點。根據(jù)測點在人體頭部上的位置和相關(guān)特征,可以將測點分為四類:
(1)第一類為最值點。
這類測點又可以分為局部最值點和全局最值點兩類,局部最值點具有局部區(qū)域內(nèi)的沿某一坐標(biāo)軸方向的最值。而全局最值點在整個頭部模型上具有沿某一坐標(biāo)方向上的最大值或者最小值,例如頭頂點、枕后點、耳外點、鼻尖點等;
(2)第二類是局部極值點。
這類測點或者位于輪廓線上,屬于輪廓線上的凸點、凹點或者突變點,如鼻梁點、頦下點等;
(3)第三類為約束測點。
此類測點由其它測點定義,可以根據(jù)其它測點計算出來,例如,枕后點即可根據(jù)眉間點進行計算(枕后點為在正中矢狀面上,枕部離眉間點最遠(yuǎn)的點)。
(4)第四類為一般測點。
這類測點在其附近區(qū)域無明顯幾何特征,只能通過頭部比例關(guān)系等來進行估算。
在進行測點識別時,最值點是最容易識別的,其次是輪廓線上的局部極限點,接著是位于區(qū)域上的局部極值點和約束測點,最后是一般測點。因而在測點自動提取時,也遵循這樣一個順序:首先根據(jù)測點的定義提取位于頭部上的最值點;然后借助輪廓提取和分析的方法,對人體頭部有價值的輪廓線上的測點進行識別;之后,根據(jù)區(qū)域上待識別測點與已識別的測點的關(guān)系,識別區(qū)域上的局部極值點;最后對無明顯特征的一般測點,借助統(tǒng)計學(xué)和人體比例學(xué)特征獲得其大致位置,或者根據(jù)其與已經(jīng)識別出來的測點的關(guān)系獲得其初始位置,再由用戶交互式編輯得到其精確位置。
(1)最值點識別:
測點識別在預(yù)處理后的模型上進行,預(yù)處理后的模型已經(jīng)位于解剖學(xué)坐標(biāo)系下。在此坐標(biāo)系下最值點在局部范圍上或者全局范圍上具有沿某一坐標(biāo)方向上的最大值或者最小值。例如,頭頂點是鉛垂軸方向上具有最大值的點,枕后點和鼻尖點分別是頭部中部區(qū)域上沿縱軸方向的最小值和最大值點,左、右耳外點分別是頭部中部區(qū)域上沿橫軸方向的最小值和最大值點。對最值點的識別比較簡單,通過查找模型上某一坐標(biāo)軸方向的最值即可得到待識別測點。
(2)局部極值點識別:
輪廓線可以表達(dá)人體頭面部的細(xì)節(jié)結(jié)構(gòu)。正中矢狀面輪廓線是人體頭部最有價值的輪廓線,有相當(dāng)一部分測點位于該輪廓線上,包括眉間點、鼻梁點、鼻尖點、鼻下點、上唇中點、口裂點、下唇中點、齦點、頦上點、頦前點、頦下點、喉結(jié)點、后頭頂點、枕外隆突點等。除側(cè)面輪廓線之外,水平輪廓線上也存在部分測點,比如左、右鼻翼點,耳下附著點。對位于輪廓線上的局部極值點,首先提取測點所在的輪廓線,然后借助輪廓分析的方法提取輪廓線上的候選點集,最后根據(jù)待識別測點的語義特征在候選點集中查找待識別測點。
(3)約束測點識別:
此類測點由其它測點定義,可以根據(jù)其它測點通過截面輪廓線計算出來。包括枕后點(枕后點定義在正中矢狀面上,枕部離眉間點最遠(yuǎn)的點)、后頭頂點(在正中矢狀面上,頭頂點后,頭頂部離頦下點最遠(yuǎn)的點)等。
(4)一般測點識別:
人體頭部上也存在著一小部分測點(如左、右顴點以及左、右顳嵴點),它們既不具備在某個坐標(biāo)軸上具有最值,又不位于有價值的輪廓線上,同時也不位于特定的面部區(qū)域上,因而前面兩小節(jié)所述的識別算法對其失效。對這類不具備明顯幾何特征的一般測點,可以借助人體面貌形態(tài)學(xué)特征,首先確定這類測點在人體頭部上的比例關(guān)系;然后根據(jù)頭部包圍盒的邊界點以及測點所對應(yīng)的比例關(guān)系計算測點的初始粗略位置;最后給定一個閾值,在模型上查找與初始識別點的距離落在閾值內(nèi)的所有點,取點集的中心作為一般點的最后識別位置。
3.4 尺寸計算
本系統(tǒng)中需要計算的尺寸測量項目共50項,包括《GJB 4856-2003:中國男性飛行員人體尺寸》中定義的B.1.1~B.1.50。一個測量項目由1個或一個以上的測點進行定義。根據(jù)不同測量項目在計算方法上的差異,將測量項目劃分為五類:
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)距離類尺寸計算:此類尺寸測量項目通常定義為兩個相關(guān)測點的垂直高度、水平距離或直線距離。
因此,一旦頭部測點被識別出來以后,距離類測量項目的求解就相對比較容易了。設(shè)與測量項目定義相關(guān)的測點為和,則垂直距離=,水平距離=,直線距離=。
(2)圍長類尺寸計算:圍長為頭部某一截面線的圍度,由于采用卷尺手工測量圍長的過程可以近似于求截面線上點集的凸包長度的過程,因此本系統(tǒng)中采用計算截面線上點集凸包長度的方法來計算圍長,凸包計算采用Graham掃描算法[9]。
(3)弧長類尺寸計算:弧長類測量項目的計算和圍長相似,不同點主要有兩點:
1)求得截面點集后,首先需要根據(jù)弧長的首末端點定義準(zhǔn)則來刪除不在弧長上的點;
2)對剩下的點進行B樣條擬合,用B樣條的長度作為弧長。
4.系統(tǒng)設(shè)計與實現(xiàn)
4.1 功能概述
針對每個被測者,本系統(tǒng)讀入被測者頭部點云數(shù)據(jù),通過對點云去噪、建立標(biāo)準(zhǔn)測量坐標(biāo)系完成預(yù)處理;然后采用幾何特征分析的方法自動識別人體所有測點,并進行測量項目的自動計算。系統(tǒng)完成的主要功能如下:
(1)被測者管理:
系統(tǒng)使用數(shù)據(jù)庫來存儲和管理被測者的個人信息、模型信息、測點和測量項目信息,提供相應(yīng)的查詢、增加、刪除、修改、報表生成、結(jié)果打印功能。
(2)讀入并顯示頭部模型:
將被測者的點云模型讀入系統(tǒng),并對其進行瀏覽和顯示。
(3)測點識別:
通過采用幾何特征分析的方法,借助人體比例關(guān)系等方法,在沒有人工干預(yù)的情況下,自動識別頭部測點。
(4)測點編輯與更新:
系統(tǒng)自動識別測點后,用戶可以通過交互編輯的方式修改測點位置。
(5)自動測量:
在測點自動識別完成后,系統(tǒng)能夠自動計算頭部所有測量項目的尺寸。
(6)測量結(jié)果輸出:
系統(tǒng)能夠?qū)⒈粶y者的頭部尺寸測量結(jié)果以Excel表格文件進行輸出。
(7)批處理:
在用戶指定一個頭部模型數(shù)據(jù)文件目錄后,系統(tǒng)可以自動的完成該目錄下全部模型的自動測量工作。
4.2 系統(tǒng)模塊
本系統(tǒng)采用模塊化設(shè)計,將整個系統(tǒng)劃分為七個獨立的模塊:文件操作模塊、數(shù)據(jù)庫管理模塊、渲染引擎模塊、配置管理模塊、XML組件模塊、測點識別模塊、自動測量模塊。測點識別和自動測量模塊是整個系統(tǒng)的核心;渲染引擎模塊負(fù)責(zé)向用戶展示頭部模型、測點以及測量項目示意圖;配置管理模塊通過XML組件模塊來得到測點和測量項的配置信息。
本系統(tǒng)運行于Windows XP/Win7,采用VC2010作為開發(fā)平臺,用C++語言實現(xiàn);系統(tǒng)采用Qt作為界面開發(fā)包,底層圖形庫采用OpenGL。
圖4為系統(tǒng)運行的主界面。主界面為“測量界面”,可以分為:“菜單條”、“工具條”、“狀態(tài)條”、“模型顯示視口”和“測點和測量項目列表”等五個部分。另外還包括“管理界面”、“統(tǒng)計分析”等操作界面。
4.3 測量結(jié)果與分析
圖5給出了一位被測者的35個測點和部分尺寸測量項目結(jié)果。圖5a為識別出來的35個的測點;圖5b和圖5c則顯示了“容貌面長II”和“頭圍”兩個測量項目的示意圖(包括相關(guān)測點和尺寸值)。通過在系統(tǒng)主界面的“測點和測量項目列表”中選中不同的測量項目,可以對所測量項目方便地進行瀏覽。實驗結(jié)果表明,本文設(shè)計的測點識別和尺寸計算方法,具有識別準(zhǔn)確、效率高、魯棒性好等優(yōu)點。
圖4 系統(tǒng)運行主界面
圖5 測點結(jié)果和測量項目
5.結(jié)束語
本文給出了一種基于三維點云模型的人體頭部尺寸自動測量方法,設(shè)計與實現(xiàn)了頭部尺寸測量系統(tǒng)。系統(tǒng)輸入為被測者通過三維人體頭部掃描儀得到的頭部點云模型,輸出為文獻(xiàn)[7]規(guī)定的50個頭部尺寸。系統(tǒng)通過采用幾何特征分析的方法自動識別被測者頭部的測點,并根據(jù)測點計算頭部的各項尺寸。
與傳統(tǒng)手工測量相比,本方法能實現(xiàn)自動測量,縮短了測量時間,提高了測量精度和效率。實驗驗證表明,系統(tǒng)具有測量速度快、精度高等特點。目前已成功應(yīng)用于頭盔和面罩等產(chǎn)品的設(shè)計中。
參考文獻(xiàn)
[1]席煥久,陳昭.人體測量方法(第二版)[M].北京:科學(xué)出版社,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,飛行保護頭盔通用規(guī)范[S].
[9]Andrew A M.Another efficient algorithm for convex hulls in two dimensions[J].Information Processing Letter.1979,9(5):216-219.
作者簡介:李珩(1971-),男,大學(xué)本科,高級工程師,現(xiàn)供職于航宇救生裝備有限公司,研究方向:航空救生。