賴軍,王博,付全,吳壯志
(1. 總后軍需裝備研究所,北京,100010;2. 首都體育學(xué)院 研究生部,北京,100191;3. 北京航空航天大學(xué) 計(jì)算機(jī)學(xué)院,北京,100191)
人體測(cè)量學(xué)是人機(jī)工程一個(gè)十分重要的研究領(lǐng)域,它通過測(cè)量人體各部位的尺寸來(lái)確定個(gè)體之間和群體之間在人體尺寸上的差異,以研究人的形態(tài)特征,從而為服裝設(shè)計(jì)、體育運(yùn)動(dòng)技術(shù)診斷與分析、人機(jī)環(huán)境系統(tǒng)工程設(shè)計(jì)等提供人體測(cè)量數(shù)據(jù)[1],在服裝、體育、國(guó)防等領(lǐng)域有著廣泛應(yīng)用。人體測(cè)量技術(shù)在近幾十年的發(fā)展中,大致經(jīng)歷了接觸式到非接觸式、二維到三維的發(fā)展過程。傳統(tǒng)手工測(cè)量主要采用軟尺、測(cè)高計(jì)、測(cè)距計(jì)和滑動(dòng)計(jì)等工具對(duì)人體進(jìn)行接觸式測(cè)量,雖然能獲得人體尺寸,卻不能滿足快速、準(zhǔn)確和批量測(cè)量的需要。非接觸自動(dòng)測(cè)量是現(xiàn)代化人體測(cè)量技術(shù)的發(fā)展趨勢(shì),它以現(xiàn)代光學(xué)為基礎(chǔ),結(jié)合圖像處理和計(jì)算機(jī)視覺等技術(shù),準(zhǔn)確、高效、客觀地獲取人體參數(shù)數(shù)據(jù)。非接觸測(cè)量又分為基于圖像的二維非接觸測(cè)量[2-3]和基于激光掃描或結(jié)構(gòu)光投影的三維非接觸測(cè)量2 類,前者典型的產(chǎn)品有加拿大的Boss-21 系統(tǒng),后者則有德國(guó)HumanSolution公司開發(fā)的Vitus三維人體掃描儀。從點(diǎn)云模型中提取人體尺寸的難點(diǎn)在于如何魯棒、準(zhǔn)確地提供識(shí)別人體測(cè)點(diǎn)。國(guó)內(nèi)外學(xué)者提出了多種在點(diǎn)云模型提取測(cè)點(diǎn)的方法,目前主要有模板網(wǎng)格變形方法[4-7]、判別函數(shù)擬合法[4-7]和幾何形狀分析法[4-7]這3 類方法。模板網(wǎng)格變形方法是計(jì)算機(jī)圖形學(xué)中一種通用的處理方法,Blanz 等[4]進(jìn)行了基于模板網(wǎng)格處理方面的開創(chuàng)性工作,主要用于人臉建模。受Blanz 等[4]的啟發(fā),Allen 等[5]將模板網(wǎng)格模型變形配準(zhǔn)的方法用于人體點(diǎn)云模型,其變形過程依賴于人體標(biāo)志點(diǎn),這些標(biāo)志點(diǎn)在人體數(shù)據(jù)掃描之前手工標(biāo)定。其變形配準(zhǔn)方法采用的是能量?jī)?yōu)化的方法,需要迭代求解,收斂速度慢。Anguelov 等[6]提出了一種不需要提前指定標(biāo)記點(diǎn)的方法來(lái)進(jìn)行變形配準(zhǔn),采用馬爾科夫網(wǎng)絡(luò)的方法首先得到目標(biāo)點(diǎn)云模型和模板網(wǎng)格模型相對(duì)應(yīng)的200 多個(gè)點(diǎn),然后利用這些點(diǎn)將模板模型變形到目標(biāo)點(diǎn)云模型上。但是,Anguelov 等[6]提出的對(duì)應(yīng)點(diǎn)計(jì)算算法仍然需要初始化4~10 個(gè)標(biāo)記點(diǎn),需要人工標(biāo)定,并且難以保證對(duì)應(yīng)結(jié)果的準(zhǔn)確性。Azouz等[7]改進(jìn)了Anguelov 等[6]的算法,基于一組標(biāo)記了測(cè)點(diǎn)的人體模型,結(jié)合機(jī)器學(xué)習(xí)方法和概率圖模型來(lái)進(jìn)行測(cè)點(diǎn)識(shí)別。判別函數(shù)擬合法通過為每個(gè)測(cè)點(diǎn)建立一個(gè)具體的判別函數(shù)來(lái)識(shí)別測(cè)點(diǎn),由Dekker 等[8]首先提出,Leong 等[9]把人體特征用邏輯數(shù)學(xué)描述出來(lái),利用圖像處理和計(jì)算幾何技術(shù)來(lái)識(shí)別人體點(diǎn)云中的測(cè)點(diǎn)。判別函數(shù)擬合法的缺點(diǎn)是函數(shù)擬合的過程十分復(fù)雜且耗時(shí),而且在函數(shù)擬合過程中會(huì)導(dǎo)致特征丟失。幾何形狀分析法也是人體點(diǎn)云特征提取的主要方法之一。陸國(guó)棟等[10]將點(diǎn)云模型進(jìn)行分割,采用輪廓分析法、最小周長(zhǎng)法、灰度檢測(cè)法等來(lái)提取測(cè)點(diǎn)和特征線并計(jì)算人體尺寸;陳國(guó)安等[11]在進(jìn)行幾何形狀分析的基礎(chǔ)上,運(yùn)用模糊規(guī)則來(lái)自動(dòng)提取測(cè)點(diǎn)和尺寸。上述方法的缺點(diǎn)是并沒有從三維人體測(cè)量方法的角度來(lái)對(duì)算法進(jìn)行驗(yàn)證。2005 年ISO 發(fā)布了一個(gè)關(guān)于三維人體測(cè)量方法的標(biāo)準(zhǔn)ISO 20685[12],國(guó)內(nèi)也對(duì)此標(biāo)準(zhǔn)進(jìn)行了修訂,發(fā)布了相應(yīng)的兼容標(biāo)準(zhǔn) GB/T 23698—2009[13],這2 項(xiàng)標(biāo)準(zhǔn)對(duì)三維掃描人體測(cè)量方法和驗(yàn)證進(jìn)行了詳細(xì)規(guī)定。陳國(guó)安等[11]雖然根據(jù)標(biāo)準(zhǔn)[13]對(duì)其方法進(jìn)行了驗(yàn)證,但樣本數(shù)只有8 個(gè),并沒有達(dá)到標(biāo)準(zhǔn)規(guī)定的40 個(gè)以上。針對(duì)以上問題,本文作者以體育運(yùn)動(dòng)技術(shù)診斷與分析、服裝套號(hào)[14]需求為背景,基于三維掃描儀輸出的人體點(diǎn)云數(shù)據(jù),研究并實(shí)現(xiàn)人體尺寸自動(dòng)提取方法,并根據(jù)GB/T 23698—2009 的要求對(duì)方法進(jìn)行驗(yàn)證。
基于人體點(diǎn)云模型數(shù)據(jù),依據(jù)GB/T 16160—2008(《服裝用人體測(cè)量的部位與方法》[15]),共提取人體2 種姿勢(shì)下的45 個(gè)人體尺寸測(cè)量項(xiàng)目,完成三維掃描人體尺寸的測(cè)量,并通過GB/T 23698—2009[13]對(duì)方法進(jìn)行驗(yàn)證。
本文采用的2 種測(cè)量姿勢(shì)分別稱為立姿I 和立姿II,如圖1 所示。立姿I 要求被測(cè)者雙腳自然張開站立,雙臂張開,抬頭挺胸,兩眼平視前方;立姿II 要求被測(cè)者雙腳并攏、雙臂下垂,兩手緊貼褲縫,抬頭挺胸,兩眼平視前方。立姿I 上體尺寸測(cè)量項(xiàng)目為40 個(gè),立姿II 上的人體尺寸測(cè)量為5 個(gè)。
圖1 測(cè)量姿勢(shì)Fig.1 Anthropometric postures
人體測(cè)量項(xiàng)目是指在相應(yīng)的測(cè)量姿勢(shì)上,根據(jù)人體測(cè)點(diǎn)給出的人體水平尺寸(包括圍度尺寸)、垂直尺寸或其他尺寸,例如身高、頭圍,腰圍等。人體測(cè)點(diǎn)是用于表示測(cè)量位置的界點(diǎn),它通常為肌肉下方的骨骼突出部位或者關(guān)節(jié)連接處[15],例如頭頂點(diǎn)、乳頭點(diǎn)、枕后點(diǎn)等。測(cè)量項(xiàng)目一般由1 個(gè)或多個(gè)測(cè)點(diǎn)進(jìn)行定義,例如“身高”通過立姿II 進(jìn)行測(cè)量,相關(guān)的測(cè)點(diǎn)為“頭頂點(diǎn)”和“地面點(diǎn)”。測(cè)點(diǎn)和測(cè)量項(xiàng)目的定義參見GB/T 16160—2008[15]。身高和頭圍這2 個(gè)測(cè)量參數(shù)的示意圖及相關(guān)測(cè)點(diǎn)如圖2 所示。
圖2 測(cè)量項(xiàng)目與測(cè)點(diǎn)示意圖Fig.2 Schematic diagram of measurement items and landmarks
為了確切地定位測(cè)點(diǎn)和準(zhǔn)確地完成測(cè)量項(xiàng)目,人體測(cè)量學(xué)規(guī)定統(tǒng)一的標(biāo)準(zhǔn)姿勢(shì)和描述術(shù)語(yǔ)。測(cè)量基準(zhǔn)面和標(biāo)準(zhǔn)測(cè)量坐標(biāo)系如圖3 所示,用于人體測(cè)量的3個(gè)基準(zhǔn)面由3 個(gè)互相垂直的軸(鉛垂軸、縱軸和橫軸)來(lái)決定。通過鉛垂軸和橫軸的平面稱為冠狀面,它將人體分為前、后2 部分;通過橫軸和縱軸的平面稱為水平面,它將人體分為上、下2 部分;通過鉛垂軸和縱軸的所有平面稱為矢狀面,它將人體分為左、右2部分。特別地,正中矢狀面將人體分為左、右對(duì)稱的2 部分。
人體標(biāo)準(zhǔn)測(cè)量坐標(biāo)系定義如下:以人體自然站立時(shí)的中心點(diǎn)為坐標(biāo)原點(diǎn),豎直向上方向?yàn)閅 軸正向(鉛垂軸),人體正前方為Z 軸正向(縱軸),人體的正左方為X 軸正向(橫軸),XYZ 坐標(biāo)系符合右手定則。
車載掃描儀如圖4 所示。本文所用的人體掃描儀為項(xiàng)目組自主研發(fā)的車載式三維激光人體掃描儀,掃描的長(zhǎng)×寬×高為1 200 mm×1 200 mm×2 000 mm,掃描精度為平均圍度誤差小于1 mm,掃描時(shí)間小于10 s。掃描儀輸出為人體點(diǎn)云數(shù)據(jù)(point clouds),該數(shù)據(jù)已經(jīng)轉(zhuǎn)換到人體標(biāo)準(zhǔn)測(cè)量坐標(biāo)系下,并且呈層狀結(jié)構(gòu)。每一層為1 條掃描線,由1 個(gè)或多個(gè)環(huán)狀的點(diǎn)集組成。每一層掃描線上的點(diǎn)的y 坐標(biāo)都相等,相鄰2層掃描線在y 軸方向的間隔為2 mm。
圖3 測(cè)量基準(zhǔn)面和標(biāo)準(zhǔn)測(cè)量坐標(biāo)系Fig.3 Body planes and coordinate system of standard measurement
圖4 車載掃描儀Fig.4 Car scanner of human body
本文采用的尺寸提取方法流程如圖5 所示。首先讀入人體點(diǎn)云數(shù)據(jù),對(duì)其進(jìn)行預(yù)處理,去除噪聲點(diǎn)并建立標(biāo)準(zhǔn)測(cè)量坐標(biāo)系;其次,將人體分割為頭頸、軀干、左臂、右臂、左腿和右腿共6 部分;再次,對(duì)人體每一部分上包含的測(cè)點(diǎn)進(jìn)行自動(dòng)識(shí)別。若對(duì)識(shí)別結(jié)果不滿意,則可交互式移動(dòng)測(cè)點(diǎn);最后計(jì)算人體各測(cè)量項(xiàng)目的值并輸出測(cè)量結(jié)果。
圖5 尺寸提取流程圖Fig.5 Flow chart of body size extraction
2.2.1 坐標(biāo)變換
不同三維人體掃描儀都定義了自己的坐標(biāo)系統(tǒng),因此,測(cè)點(diǎn)識(shí)別前首先需要將點(diǎn)云數(shù)據(jù)轉(zhuǎn)換到人體標(biāo)準(zhǔn)測(cè)量坐標(biāo)系下。建立標(biāo)準(zhǔn)測(cè)量坐標(biāo)系的具體算法如下:對(duì)三維點(diǎn)云數(shù)據(jù)進(jìn)行主成分分析(principal component analysis,PCA)[16],則標(biāo)準(zhǔn)測(cè)量坐標(biāo)系的原點(diǎn)為三維點(diǎn)云的幾何中心,Y 軸為PCA 第一主軸,X軸為第二主軸,Z 軸為PCA 第三主軸,XYZ 的關(guān)系滿足右手坐標(biāo)系的要求。
2.2.2 點(diǎn)云去噪
由于三維激光掃描儀在掃描人體過程中受掃描設(shè)備物理特性、掃描環(huán)境、光照以及被測(cè)者的測(cè)量方式、自身因素等影響,所獲取的人體點(diǎn)云數(shù)據(jù)不可避免地包含噪聲。如果不進(jìn)行去噪,會(huì)影響測(cè)量項(xiàng)目的精度,故本文在進(jìn)行測(cè)點(diǎn)識(shí)別之前先對(duì)點(diǎn)云進(jìn)行去噪。
一般而言,掃描儀輸出的三維點(diǎn)云數(shù)據(jù)中不存在飛點(diǎn),但是,多片點(diǎn)云數(shù)據(jù)在配準(zhǔn)時(shí)可能存在重疊不嚴(yán)實(shí)的情況。本文采用移動(dòng)最小二乘法對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行高斯濾波,具體算法如下:首先對(duì)點(diǎn)云數(shù)據(jù)建立kd-tree;然后對(duì)每個(gè)點(diǎn),在kd-tree 上查找其k 個(gè)最鄰近點(diǎn)(k=20),該點(diǎn)的最終位置為k 個(gè)最鄰近點(diǎn)的加權(quán)平均值。如果一次濾波效果不明顯,上述過程可重復(fù)多次。
2.2.3 模型分割
人體尺寸測(cè)量的關(guān)鍵問題是在點(diǎn)云數(shù)據(jù)上正確地識(shí)別測(cè)點(diǎn)。由于測(cè)點(diǎn)分布在身體的各個(gè)部分,識(shí)別前進(jìn)行模型分割,可以將整體點(diǎn)云模型上的測(cè)點(diǎn)識(shí)別問題轉(zhuǎn)換為局部測(cè)點(diǎn)識(shí)別問題。這不僅使得測(cè)點(diǎn)的識(shí)別更加快速和魯棒,而且對(duì)一些無(wú)明顯特征的測(cè)點(diǎn)進(jìn)行模型分割后可更加準(zhǔn)確地尋找該點(diǎn)在其所在的人體部分上的比例,從而可以借助比例關(guān)系獲得較準(zhǔn)確的初始點(diǎn)。
一般而言,模型分割包括手動(dòng)分割和自動(dòng)分割2類方法。立姿II 上測(cè)量項(xiàng)目較少,測(cè)點(diǎn)的識(shí)別比較簡(jiǎn)單,不需要進(jìn)行模型分割。而立姿I 上的測(cè)點(diǎn)和測(cè)量項(xiàng)目較多,在識(shí)別前進(jìn)行分割能夠加快識(shí)別速度。本文改進(jìn)了Wang 等[17]給出的基于模糊邏輯的人體分割算法,通過找到立姿I 上各部分的分界點(diǎn)(頸部分割點(diǎn)腋窩點(diǎn)和會(huì)陰點(diǎn))來(lái)完成立姿I 的自動(dòng)分割,將其為頭頸、軀干、左臂、右臂、左腿和右腿共6 部分。分界點(diǎn)的識(shí)別算法如下。
(1) 左/右腋窩前點(diǎn)和左/右腋窩后點(diǎn)。腋窩點(diǎn)及其附近的掃描線見圖6。從圖6 可見:從頭頂向下遍歷層狀掃描線,當(dāng)掃描線上的環(huán)數(shù)首次由1 變?yōu)? 時(shí),腋窩前點(diǎn)和腋窩后點(diǎn)所在的掃描線被定位。而這4 點(diǎn)位于其所在的層狀掃描線上的拐點(diǎn)部分,在拐點(diǎn)處曲率變化較大??紤]到人體體型帶來(lái)的影響,本文在腋窩點(diǎn)所在的掃描線上取出曲率最大的6 個(gè)頂點(diǎn)為左腋窩前點(diǎn)、左腋窩后點(diǎn)、右腋窩前點(diǎn)和右腋窩后點(diǎn)的候選點(diǎn)。對(duì)這6 個(gè)點(diǎn)依照x 坐標(biāo)值排序,則腋窩前點(diǎn)和腋窩后點(diǎn)必定是x 坐標(biāo)值較大和較小的4 個(gè)點(diǎn);然后再根據(jù)z 坐標(biāo)確定出每個(gè)測(cè)點(diǎn)與其候選點(diǎn)的對(duì)應(yīng)關(guān)系。
圖6 腋窩點(diǎn)及其附近的掃描線Fig.6 Armpits and scan lines nearby
(2) 頸部分割點(diǎn)。頸部分割點(diǎn)位于人體大致7/8高度的位置[17]。本文搜索了高度在6h/7 和8h/9 之間的掃描線(其中h 為人的身高),取這一區(qū)間內(nèi)包圍盒最小的掃描線的高度作為頸部分割點(diǎn)的高度。
(3) 會(huì)陰點(diǎn)。在立姿I 下,會(huì)陰點(diǎn)是位于人體正中矢狀面上最下端的點(diǎn)。在標(biāo)準(zhǔn)測(cè)量坐標(biāo)系下,用x=0的平面與人體點(diǎn)云數(shù)據(jù)相截所得的截面環(huán)中y 坐標(biāo)最小的點(diǎn)即為會(huì)陰點(diǎn)。
分界點(diǎn)識(shí)別完成后,遍歷所有的掃描線,根據(jù)掃描線高度以及環(huán)的個(gè)數(shù),將每根掃描線中的點(diǎn)歸屬到人體對(duì)應(yīng)的部分以完成立姿I 的分割。
(1) 頸部分割點(diǎn)以上的掃描線上的點(diǎn)都被劃分為頭部。
(2) 對(duì)會(huì)陰點(diǎn)之下掃描線,若只包含2 個(gè)環(huán),則這2 個(gè)環(huán)上的點(diǎn)分別屬于左、右腿;若包含3 個(gè)環(huán),則中心離x=0 平面最遠(yuǎn)的1 個(gè)環(huán)上的點(diǎn)屬于左臂或右臂(x<0 則屬于右臂,否則屬于左臂);若包含4 個(gè)環(huán),則按x坐標(biāo)升序排序后的4個(gè)環(huán)上的點(diǎn)分別屬于右臂、右腿、左腿和左臂。
(3) 對(duì)會(huì)陰點(diǎn)以上腋窩點(diǎn)以下的掃描線,若包含3個(gè)環(huán),則按x 坐標(biāo)升序排序后的3 個(gè)環(huán)上的點(diǎn)分別屬于右臂、軀干和左臂;若包含2 個(gè)環(huán),則中心離x=0平面較遠(yuǎn)的1 個(gè)環(huán)上的點(diǎn)屬于左臂或右臂(x<0 則屬于右臂,否則屬于左臂)。
應(yīng)用本文提出的分割算法,對(duì)立姿I 進(jìn)行分割后的結(jié)果如圖7 所示。其中,圖7(a)中的圓點(diǎn)是用于人體分割的分界點(diǎn),頸部的線為分界點(diǎn)所在的掃描線;圖7 (b)所示為分割結(jié)果。
圖7 用于分割的分界點(diǎn)及模型分割結(jié)果Fig.7 Key points and results of human body segmentation
人體測(cè)量所需的測(cè)點(diǎn)分布在人體的各個(gè)部位,很難對(duì)所有測(cè)點(diǎn)找到統(tǒng)一的識(shí)別算法。根據(jù)測(cè)點(diǎn)在識(shí)別算法上的差異,將測(cè)點(diǎn)劃分為3 類:最值點(diǎn)、局部極限點(diǎn)和一般測(cè)點(diǎn)。最值點(diǎn)一般是在某個(gè)坐標(biāo)軸上具有最大或最小值的測(cè)點(diǎn);而局部極限點(diǎn)通常是位于給定輪廓線上的凸點(diǎn)、凹點(diǎn)或者突變點(diǎn);一般測(cè)點(diǎn)是幾何特征不明顯且不屬于前2 類的測(cè)點(diǎn)。以下分別介紹這3 類測(cè)點(diǎn)的識(shí)別方法。
2.4.1 最值點(diǎn)
最值點(diǎn)的識(shí)別算法分2 步:首先根據(jù)測(cè)點(diǎn)定義判斷出該點(diǎn)所在的人體部分,然后在該部分上搜索x(或y 或z)坐標(biāo)達(dá)到最大值或最小值時(shí)對(duì)應(yīng)的點(diǎn)即可。例如,頭頂點(diǎn)是人體頭部上y 坐標(biāo)最大的點(diǎn),左手中指指尖點(diǎn)是人體左臂上y 坐標(biāo)最小的點(diǎn)。
2.4.2 局部極限點(diǎn)
局部極限點(diǎn)又分為2 類:第I 類是位于基準(zhǔn)線上的局部極限點(diǎn);第II 類是位于截面輪廓線上的局部極限點(diǎn)。前者通過定位基準(zhǔn)線來(lái)識(shí)別,而后者采用輪廓分析的方法進(jìn)行識(shí)別。
基準(zhǔn)線是對(duì)人體圍度測(cè)量項(xiàng)目進(jìn)行測(cè)量時(shí)的基礎(chǔ)線。本文定義的基準(zhǔn)線如表1 所示。
表1 基準(zhǔn)線名稱及其定義Table 1 Names of base lines and their definitions
(1) 第I 類局部極限點(diǎn)。第I 類局部極限點(diǎn)識(shí)別的關(guān)鍵在于獲取測(cè)點(diǎn)所在的基準(zhǔn)線。定位基準(zhǔn)線的方法如下:首先借助人體比例關(guān)系,界定基準(zhǔn)線所在的高度區(qū)間;然后遍歷區(qū)間內(nèi)的所有掃描線,計(jì)算每一條掃描線上的相應(yīng)指標(biāo)(掃描線周長(zhǎng)、橫向?qū)挾然蛘咔昂髮挾?,最后根據(jù)指標(biāo)值確定對(duì)應(yīng)的基準(zhǔn)線。
在定位測(cè)點(diǎn)所在的基準(zhǔn)線之后,測(cè)點(diǎn)的識(shí)別方法如下:首先獲取測(cè)點(diǎn)的候選點(diǎn)集,即由基準(zhǔn)線上的最前點(diǎn)、最后點(diǎn),基準(zhǔn)線與冠狀面的交點(diǎn)以及基準(zhǔn)線與正中矢狀面的交點(diǎn)組成的集合;然后根據(jù)測(cè)點(diǎn)的語(yǔ)義特征從候選集中選擇對(duì)應(yīng)點(diǎn)。
以腰圍前點(diǎn)和腰圍后點(diǎn)為例予以說明。首先根據(jù)腰圍線的高度所在的人體比例,獲得它所在的高度區(qū)間為[0.53h,0.63h];然后,在軀干上遍歷該區(qū)間內(nèi)每條掃描線,計(jì)算掃描線在x 方向的橫向?qū)挾葁, w 取最小時(shí)的掃描線即為腰圍線;最后計(jì)算腰圍線與正中矢狀面的交點(diǎn)即為腰圍前點(diǎn)和腰圍后點(diǎn)。局部極值點(diǎn)和一般點(diǎn)的識(shí)別結(jié)果如圖8 所示,其中腰圍前點(diǎn)的識(shí)別結(jié)果如圖8(a)所示,黑色線為腰圍線,線上的圓點(diǎn)即為腰圍前點(diǎn)。
圖8 局部極值點(diǎn)和一般點(diǎn)的識(shí)別結(jié)果Fig.8 Recognition results of local maximum and general landmarks
(2) 第II 類局部極限點(diǎn)。第II 類局部極限點(diǎn)通常是截面輪廓線上的凹點(diǎn)、凸點(diǎn)或者突變點(diǎn)。對(duì)這類測(cè)點(diǎn)的識(shí)別方法如下:首先計(jì)算測(cè)點(diǎn)所在的截面輪廓線(截面一般與矢狀面、冠狀面或水平面三者之一平行);然后使用一階Sobel 算子[9]分析截面輪廓線,識(shí)別出該曲線上的凹點(diǎn)、凸點(diǎn)和突變點(diǎn),一般此類點(diǎn)就是待識(shí)別的測(cè)點(diǎn)。
一階Sobel算子通常用于獲得輪廓線的一階導(dǎo)數(shù),由它形成的曲線稱為Sobel 曲線。Sobel 曲線上的過零點(diǎn)對(duì)應(yīng)輪廓線上的凸點(diǎn)或凹點(diǎn),由負(fù)值過渡到正值的過零點(diǎn)對(duì)應(yīng)凸點(diǎn),由正值過渡到負(fù)值的過零點(diǎn)對(duì)應(yīng)凹點(diǎn);Sobel 曲線上的最大值點(diǎn)或最小值點(diǎn)對(duì)應(yīng)輪廓線上的突變點(diǎn)。
以頭部輪廓線上的鼻梁點(diǎn)、鼻尖點(diǎn)和頦下點(diǎn)為例:此3 點(diǎn)位于以正中矢狀面作為截面與頭部相交的輪廓線上。人體頭部輪廓對(duì)應(yīng)的Sobel 曲線如圖9 所示。圖9 中,縱軸表示輪廓線上點(diǎn)在Y 軸方向的距離(向下為正,mm),橫軸表示輪廓線上點(diǎn)在Z 坐標(biāo)值的一階導(dǎo)數(shù)(單位為1 的數(shù))。從圖9 可見,鼻梁點(diǎn)是凹點(diǎn),鼻尖點(diǎn)是凸點(diǎn),頦下點(diǎn)是突變點(diǎn)。在人體模型上,鼻梁點(diǎn)、鼻尖點(diǎn)和頦下點(diǎn)的識(shí)別結(jié)果如圖8(b)所示。
圖9 人體頭部輪廓對(duì)應(yīng)的Sobel 曲線Fig.9 Sobel curves corresponded to head silhouette curve
2.4.3 一般測(cè)點(diǎn)
一般測(cè)點(diǎn)通常沒有明顯的特征,對(duì)于這類測(cè)點(diǎn)的識(shí)別方法有2 種:一種是直接根據(jù)測(cè)點(diǎn)在人體高度上的比例關(guān)系獲得測(cè)點(diǎn)所在的掃描線,再根據(jù)測(cè)點(diǎn)在掃描線上的位置進(jìn)行識(shí)別;另一種是根據(jù)待識(shí)別測(cè)點(diǎn)與它周圍已識(shí)別出來(lái)的測(cè)點(diǎn)之間的位置關(guān)系來(lái)進(jìn)行識(shí)別。
以右大腿圍前點(diǎn)的識(shí)別為例:右大腿圍掃描線位于會(huì)陰點(diǎn)下1 cm 處的掃描線上,右大腿圍前點(diǎn)為該掃描線的最前點(diǎn)(z 最大點(diǎn))。識(shí)別的結(jié)果如圖8(c)所示,黑色線為右大腿圍所在的掃描線,圓點(diǎn)即為識(shí)別的右大腿圍前點(diǎn)。
人體尺寸測(cè)量的最終目的是根據(jù)自動(dòng)識(shí)別的測(cè)點(diǎn)獲取人體各測(cè)量項(xiàng)目的值,從而方便后續(xù)的運(yùn)動(dòng)技術(shù)診斷與分析、服裝套號(hào)等應(yīng)用。本文將測(cè)量項(xiàng)的計(jì)算過程分為2 步:首先獲得測(cè)量項(xiàng)的相關(guān)測(cè)點(diǎn)位置信息;其次,根據(jù)不同測(cè)量項(xiàng)目的定義,使用不同的方法進(jìn)行計(jì)算。
根據(jù)GB/T 16160—2008[15]給出測(cè)量項(xiàng)目的定義,本文將測(cè)量項(xiàng)目的計(jì)算方法劃分為如下4 類。
(1) 寬度、高度、厚度。已知測(cè)量項(xiàng)目的相關(guān)測(cè)點(diǎn)為P1(x1,y1,z1)和P2(x2,y2,z2),則高度h =|y2-y1|,寬度w =| x2-x1|,厚度t =| z2-z1|。
(3) 圍長(zhǎng)。圍長(zhǎng)的計(jì)算方法通常是用過相關(guān)測(cè)點(diǎn)的截面與人體模型求交,得到截面與模型的一系列交點(diǎn),將平面點(diǎn)集上的最小凸包的周長(zhǎng)作為圍長(zhǎng)。本文采用Graham 算法求解凸包[18]。
(4) 弧長(zhǎng)?;¢L(zhǎng)的計(jì)算方法如下:用過相關(guān)測(cè)點(diǎn)的截面與人體模型求交,得到截面與模型的一系列交點(diǎn)集合S;根據(jù)弧長(zhǎng)的定義,剔除點(diǎn)集S 中與弧長(zhǎng)無(wú)關(guān)的部分;對(duì)S 中的點(diǎn)以某種準(zhǔn)則進(jìn)行排序,并將其擬合為B 樣條曲線,將其長(zhǎng)度作為弧長(zhǎng)。
尺寸提取流程中主要步驟的算法效率分析如下。
(1) 數(shù)據(jù)預(yù)處理階段。PCA 分析的主要任務(wù)是根據(jù)點(diǎn)云數(shù)據(jù)構(gòu)造1 個(gè)3×3 的矩陣,并求矩陣的特征值和特征向量,算法效率為O(n)(其中,n 為點(diǎn)云模型中點(diǎn)的數(shù)目)。點(diǎn)云去噪時(shí)構(gòu)建kd-tree 的效率為O(nlgn)。
(2) 模型分割階段。分界點(diǎn)識(shí)別時(shí)需要對(duì)點(diǎn)云進(jìn)行遍歷,效率為O(n)。識(shí)別分界點(diǎn)后,遍歷所有的掃描線上的點(diǎn),將其進(jìn)行分類的效率為O(n)。
(3) 測(cè)點(diǎn)識(shí)別階段。由于需要對(duì)點(diǎn)進(jìn)行排序,計(jì)算效率為O(nlgn)。
(4) 尺寸計(jì)算階段。由于涉及截面求交,需要對(duì)點(diǎn)云進(jìn)行排序,計(jì)算效率為O(nlgn)。因此,算法總的效率為O(nlgn)。
根據(jù)文獻(xiàn)[13]規(guī)定,三維掃描測(cè)量方法得到的人體尺寸測(cè)量值,應(yīng)該與傳統(tǒng)手工測(cè)量值彼此能夠互相替代,這樣才不會(huì)影響以這些數(shù)據(jù)為基礎(chǔ)的其他標(biāo)準(zhǔn)的有效性。因此,本文采用傳統(tǒng)手工測(cè)量值作為準(zhǔn)確值對(duì)本文的方法進(jìn)行驗(yàn)證。驗(yàn)證時(shí),采用的樣本數(shù)為40(文獻(xiàn)[13]建議測(cè)試樣本量至少為40),所有樣本都為男性;選取對(duì)服裝有代表性的身高、胸圍、腰圍、臀圍、頸圍和肩寬共6 個(gè)測(cè)量項(xiàng)目進(jìn)行驗(yàn)證。
表2 所示為其中10 個(gè)樣本的自動(dòng)和手工測(cè)量結(jié)果,其中“最大誤差”和“平均誤差”是根據(jù)40 個(gè)樣本統(tǒng)計(jì)得到的,最后1 行給出了由文獻(xiàn)[13]規(guī)定的測(cè)量項(xiàng)目的平均誤差最大值。每個(gè)測(cè)量項(xiàng)目有2 列數(shù)據(jù),其中“自動(dòng)”列指用本文方法自動(dòng)提取的尺寸,“手工”列指作為準(zhǔn)確值的手工測(cè)量值。從表2 可知:6 個(gè)測(cè)量項(xiàng)目的平均誤差都遠(yuǎn)小于文獻(xiàn)[13]中規(guī)定的平均誤差最大值。例如40 個(gè)樣本的“身高”最大誤差為1.8 mm,平均誤差為0.5 mm,遠(yuǎn)小于文獻(xiàn)[13]中規(guī)定的平均誤差最大值4 mm。驗(yàn)證結(jié)果表明,本文給出的測(cè)點(diǎn)識(shí)別算法是有效的,根據(jù)測(cè)點(diǎn)計(jì)算計(jì)算出來(lái)的人體尺寸滿足文獻(xiàn)[13]的要求。
表2 6 個(gè)測(cè)量項(xiàng)目的統(tǒng)計(jì)結(jié)果(樣本數(shù)為40 個(gè))Table 2 Statistical results of six body size measurement items mm
(1) 基于人體測(cè)點(diǎn)識(shí)別和尺寸自動(dòng)提取一直是三維人體非接觸測(cè)量的難點(diǎn)問題,提出一種基于三維點(diǎn)云數(shù)據(jù)的人體尺寸自動(dòng)提取方法,并根據(jù)GB/T 23698—2009 對(duì)其進(jìn)行驗(yàn)證。
(2) 本文提出的測(cè)點(diǎn)識(shí)別和尺寸計(jì)算方法是有效的,在準(zhǔn)確率上滿足GB/T 23698—2009 的要求,為后續(xù)的體育運(yùn)動(dòng)技術(shù)診斷與分析、服裝設(shè)計(jì)和套號(hào)等打下了良好基礎(chǔ)。
(3) 盡管本文給出的測(cè)點(diǎn)識(shí)別算法是有效的,但基于模板變形的特征識(shí)別方法已經(jīng)引起越來(lái)越多的學(xué)者的關(guān)注,下一步工作可將模板變形方法應(yīng)用于人體測(cè)點(diǎn)識(shí)別。
[1] 席煥久, 陳昭. 人體測(cè)量方法[M]. 2 版. 北京: 科學(xué)出版社,2010: 1-20.XI Huanjiu, CHEN Zhao. Anthropometric methods[M]. 2nd ed.Beijing: Science Press, 2010: 1-20.
[2] 吳壯志, 廖爽爽, 聶磊, 等. 基于圖像的人體參數(shù)測(cè)量系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 湖南大學(xué)學(xué)報(bào)(自然科學(xué)版), 2010, 37(9):88-92.WU Zhuangzhi, LIAO Shuangshuang, NIE Lei, et al. Design and implementation of the human size measurement system based on images[J]. Journal of Hunan University(Nature Sciences), 2010,37(9): 88-92.
[3] Lin Y L, Wang M J. Automated body feature extraction from 2D images[J]. Expert Systems with Applications, 2011, 38(3):2585-2591.
[4] Blanz V, Vetter T. A morphable model for the synthesis of 3d faces[C]//Proceedings of the 26th Annual Conference on Computer Graphics and Interactive Techniques.New York: ACM Press, 1999: 187-194.
[5] Allen B, Curless P, PopoviC Z. The space of human body shapes:reconstruction and paramet erization from range scans[C]//Computer Graphics Proceedings, Annual Conference Series, ACM SIGGRAPH. New York: ACM Press, 2003:587-594.
[6] Anguelov D, Srinivasan P, Koller P, et al. Scape: shape completion and animation of people[C]//Computer Graphics Proceedings, Annual Conference Series, ACM SIGGRAPH.New York: ACM Press, 2005: 408-416.
[7] Azouz Z B, Shu C, Mantel A. Automatic locating of anthropometric landmarks on 3D human models[C]//Third International Symposium on 3D Data Processing, Visualization and Transmission (3DPVT 2006). Washington: IEEE Computer Society Press, 2006: 750-757.
[8] Dekker L, Douros I, Buston B F, et al. Building symbolic information for 3D human body modeling from range data[C]//Proceedings of the 2nd International Conference on 3D Digital and Modeling. Los Alamitos: IEEE Computer Society Press, 1999: 388-397.
[9] Leong I F, Fang J J, Tasi M J. Automatic body feature extraction from a markerless scanned human body[J]. Computer-Aided Design, 2007, 39: 568-582.
[10] 陸國(guó)棟, 徐鵬, 徐文鵬. 人體掃描模型的特征提取方法研究[J]. 工程設(shè)計(jì)學(xué)報(bào), 2005, 12(4): 247-251.LU Guodong, XU Peng, XU Wenpeng. Research on feature extraction method of scanned body model[J]. Journal of Engineering Design, 2005, 12(4): 247-251.
[11] 陳國(guó)安, 劉飛, 李麗. 采用模糊規(guī)則的人體點(diǎn)云特征尺寸識(shí)別與提取[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2011, 23(8):1394-1400.CHEN Guoan, LIU Fei, LI Li. Recognition and extraction of human body’s feature dimensions using fuzzy rules[J]. Journal of Computer-Aided Design & Computer Graphics, 2011, 23(8):1394-1400.
[12] ISO 20685, 3-D scanning methodologies for internationally compatible antoropometric databases[S].
[13] GB/T 23698—2009, 三維掃描人體測(cè)量方法的一般要求[S].GB/T 23698—2009, General requirements for establishing anthropometric databases[S].
[14] GJB 608A—2008, 中國(guó)人民解放軍軍服號(hào)型[S].GJB 608A—2008, The sizes of military of PLA[S].
[15] GB/T 16160—2008, 服裝用人體測(cè)量的部位與方法[S].GB/T 16160—2008, Location and method of anthropometric surveys for garments[S].
[16] Ju X, Werghi N, Siebert J P. Automatic segmentation of 3D human body scans[C]//Proceeding International Conference on Computer Graphics and Imagine. Las Vegas, USA, 2000:239-244.
[17] Wang C C L, Chang T K K, Yuen M M F. From laser-scanned data to feature human models: A system based on fuzzy logic concept[J]. Computer-Aided Design, 2003, 135(3): 241-253.
[18] Andrew A M. Another efficient algorithm for convex hulls in two dimensions[J]. Information Processing Letter, 1979, 9(5):216-219.