吳澤斌,張東亮,李基拓,麻 菁,信玉峰
(1. 浙江大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310027;2. 浙江大學(xué)機(jī)械工程學(xué)院,浙江 杭州 310027;3. 三明學(xué)院藝術(shù)與設(shè)計(jì)學(xué)院,福建 三明 365004)
遠(yuǎn)程人體尺寸的測量一直是服裝定制領(lǐng)域和虛擬試衣技術(shù)的關(guān)鍵。隨著網(wǎng)上支付、移動支付的興起,網(wǎng)購服裝時(shí)尺碼不準(zhǔn)的問題也隨之產(chǎn)生。由于尺碼問題,網(wǎng)上服裝交易常伴隨著大量退換貨,造成了買賣雙方時(shí)間與金錢的損失。遠(yuǎn)程人體尺寸測量的發(fā)展可以有效減少這類糾紛?;谑謾C(jī)等移動設(shè)備的遠(yuǎn)程測量由于所需設(shè)備小巧,易于使用,更適合用戶操作。測量尺寸數(shù)據(jù)后,結(jié)合移動端的虛擬試衣技術(shù),用戶能隨時(shí)查看自己的穿衣效果。真實(shí)尺寸搭建的虛擬人體還能用于醫(yī)學(xué)假體制造,刑事偵察等領(lǐng)域。
在自然場景下,受光線條件影響,傳統(tǒng)圖像識別方法很難從照片中準(zhǔn)確測量人體尺寸。以往使用三維掃描方法[1]或通過kinect[2]結(jié)合額外的照片深度數(shù)據(jù)的方法進(jìn)行遠(yuǎn)程非接觸式人體尺寸測量。由于操作設(shè)備限制,上述方法應(yīng)用部署較難。
近年來隨著神經(jīng)網(wǎng)絡(luò)不斷發(fā)展,復(fù)雜圖片語義分割準(zhǔn)確性的提高,使得精確提取人體輪廓測量尺寸成為可能。文獻(xiàn)[3]首次提出全卷積網(wǎng)絡(luò)(fully convolutional network,F(xiàn)CN),應(yīng)用于語義分割任務(wù),獲得了良好的效果。U-Net[4]利用編碼器-解碼器結(jié)構(gòu)的特點(diǎn),通過特征的拼接融合技術(shù),在醫(yī)學(xué)影像上取得了不錯的成績。BADRINARAYANAN等[5]基于編碼器-解碼器結(jié)構(gòu)提出的SegNet網(wǎng)絡(luò),將語義分割的性能進(jìn)一步提高。有了準(zhǔn)確的輪廓,對照片進(jìn)行輪廓及關(guān)鍵點(diǎn)的精確識別,即可基于照片進(jìn)行人體尺寸測量。
然而,為達(dá)到精確度的提升,算法的空間占用與耗時(shí)也顯著增加,對于移動端程序的實(shí)際應(yīng)用造成了一些困難。因此,MobileNet[6],SqueezeNet[7]等輕量化網(wǎng)絡(luò)被提出。本文使用MobileNet V2[8]與U-Net[4]網(wǎng)絡(luò)相結(jié)合的方法,構(gòu)建了存儲空間要求小、運(yùn)算速度快的神經(jīng)網(wǎng)路架構(gòu),以此提取人體輪廓。通過該輪廓提取方法,本文利用正面與側(cè)面的2張?zhí)囟ㄗ藨B(tài)全身照,結(jié)合用戶的身高數(shù)據(jù),完成了人體三圍等關(guān)鍵尺寸的測量。實(shí)驗(yàn)表明,這種測量方法在速度、存儲容量上有一定優(yōu)勢,適合部署在移動設(shè)備中。
基于輪廓的人體尺寸測量方法在便攜性上有很多優(yōu)勢。先前的研究者在輪廓提取方向提出了很多優(yōu)秀的操作方法,有較強(qiáng)的實(shí)用性。
1986年,CANNY[9]提出了邊緣檢測算子canny算子,借此可在相對簡單的背景環(huán)境中提取部分輪廓信息。之后,ROTHER[10]提出了使用高斯混合模型建模的GrabCut算法,結(jié)合交互信息實(shí)現(xiàn)圖像分割,得到特定對象的輪廓。HOSHIAI等[11]提出了通過主動形狀模型(active shape model, ASM)和主動外觀模型(active appearance model, AAM)提取人體上半身輪廓的方法,該方法可用于基于有特定特征的人體尺寸測量。
隨著神經(jīng)網(wǎng)絡(luò)的發(fā)展,圖像語義分割技術(shù)與人體輪廓提取有了長足進(jìn)步。神經(jīng)網(wǎng)絡(luò)解決了前人方法中需要交互操作,對復(fù)雜背景魯棒性不強(qiáng)等問題。HE等[12]提出了Mask RCNN網(wǎng)絡(luò),實(shí)現(xiàn)了在魯棒性、精度、速度上都較好的實(shí)例分割;SHEN等[13-14]提出了基于FCN和姿態(tài)模板的PortraitFCN+網(wǎng)絡(luò),用于提取半身人像輪廓。
受限于輸入樣本的數(shù)據(jù)格式,分割模型有一定的局限性,邊緣很難準(zhǔn)確分割。圖像融合類的自然圖像摳圖(image matting)任務(wù)通過預(yù)測圖像中每個(gè)像素上前景與背景的比例,能獲得更精確的輪廓。摳圖作為一種“軟分割”技術(shù),使得邊緣信息被更好的保留。XU等[15]建立了可用的自然圖像摳圖數(shù)據(jù)集,結(jié)合編碼器-解碼器結(jié)構(gòu),使提取的邊緣更準(zhǔn)確,細(xì)節(jié)得以更多地保留,讓神經(jīng)網(wǎng)絡(luò)能夠處理自然圖像摳圖任務(wù);CHEN等[16]通過結(jié)合分割模型和摳圖模型,獲得了一種全自動的人像摳圖方法;LUTZ等[17]引入生成對抗網(wǎng)絡(luò)提供了摳圖任務(wù)新的解決方案;ZHANG等[18]通過分支網(wǎng)絡(luò)進(jìn)一步提升了結(jié)果的連通性與準(zhǔn)確性。
本文結(jié)合自然摳圖任務(wù)的特點(diǎn),使用規(guī)模小、精度高的MobileNet V2結(jié)合U-Net高效的編碼器-解碼器結(jié)構(gòu),預(yù)測圖片中每個(gè)像素的人體前景比例,再通過圖像二值化獲取特定姿勢人體的輪廓信息。輪廓信息通過HU[19]不變矩篩選,活動輪廓模型(snake)[20]糾正可獲得人體尺寸關(guān)鍵點(diǎn)。結(jié)合人體尺寸關(guān)鍵點(diǎn),本文實(shí)現(xiàn)了適用于移動設(shè)備部署的人體尺寸測量方法。
為獲得快速且小巧的輪廓提取算法,本文使用U-Net[4]作為基礎(chǔ)的編碼器-解碼器結(jié)構(gòu)框架,利用MobileNet V2[8]中的反向殘差模塊,在盡可能保留模型精度的前提下縮減卷積操作的運(yùn)算規(guī)模。本文以摳圖任務(wù)作為訓(xùn)練目標(biāo),使用RGB圖像作為輸入,輸出能夠區(qū)分該圖像人物與背景的alpha圖層。通過對輸出進(jìn)行簡單的輪廓檢測,即可獲得所需的輪廓信息。為了提高算法的準(zhǔn)確性,可對人物正面樣本和人物側(cè)面樣本分別進(jìn)行訓(xùn)練。
由于特定姿勢的人物摳圖任務(wù)數(shù)據(jù)集樣本數(shù)量有限,本文構(gòu)建了特定姿勢人物數(shù)據(jù)集。數(shù)據(jù)集初始數(shù)據(jù)樣本為41位身著不同衣服的被試拍攝的471張?zhí)囟ㄗ藨B(tài)不同背景的照片,其中正面照234張,側(cè)面照237張。初始數(shù)據(jù)樣本進(jìn)行手動前景與背景分離后,可拆分為初始訓(xùn)練集與初始測試集,拆分保證兩者的被試不重疊(圖1)。為了擴(kuò)大數(shù)據(jù)集規(guī)模,使網(wǎng)絡(luò)得到更大的泛化能力,本文通過XU等[15]的方法擴(kuò)充實(shí)驗(yàn)數(shù)據(jù)。初始訓(xùn)練集的前景與MSCOCO數(shù)據(jù)集[21]中標(biāo)注不為人物的圖片背景合成,得到經(jīng)過擴(kuò)充的訓(xùn)練集。初始測試集的前景與實(shí)地拍攝的多張室內(nèi)外無人照片合成,與初始測試集合并后作為測試集進(jìn)行測試。訓(xùn)練中所有樣本的背景均不相同。
圖1 不同性別被試側(cè)面與正面原始拍攝數(shù)據(jù)Fig 1. Side and front shooting data of different gender subjects
背景的替換無法代替現(xiàn)實(shí)場景下光照的影響。本文受LUTZ等[17]的數(shù)據(jù)集生成方法啟發(fā),將拍攝獲得的原始數(shù)據(jù)通過[-10°, 10°]的隨機(jī)小角度旋轉(zhuǎn),獲得了與原始數(shù)據(jù)有細(xì)微差別的擴(kuò)充的數(shù)據(jù)集,并入訓(xùn)練樣本,獲得實(shí)際的光影效果(圖2)。所有訓(xùn)練集樣本通過小范圍隨機(jī)地調(diào)整亮度、飽和度、對比度,擴(kuò)充色彩范圍,進(jìn)一步降低光線的影響。數(shù)據(jù)集配置見表1。
圖2 數(shù)據(jù)集圖像樣例Fig. 2 Dataset image sample
表1 人體輪廓提取數(shù)據(jù)集配置(張)Table 1 Human contour extraction dataset configuration (sheet)
對不同姿態(tài)樣本訓(xùn)練不同的神經(jīng)網(wǎng)絡(luò)模型,可以有效提高模型的精度。特定姿勢人物數(shù)據(jù)集包含人物全身信息,其中人物姿態(tài)便于人體尺寸測量的下一步開展。使用該數(shù)據(jù)集能夠?qū)Ρ疚奶岢龅纳窠?jīng)網(wǎng)絡(luò)進(jìn)行有效地訓(xùn)練。
2.2.1 倒置殘差
經(jīng)典計(jì)算機(jī)視覺網(wǎng)絡(luò)訓(xùn)練過程中,標(biāo)準(zhǔn)卷積核參數(shù)多,卷積過程所需計(jì)算開銷極大。為降低計(jì)算開銷與存儲空間大小。MobileNet V2[8]中結(jié)合深度可分離卷積的倒置殘差方法,顯著降低了卷積操作的參數(shù)量和計(jì)算開銷,同時(shí)保證深度網(wǎng)絡(luò)精度的可靠性。
如圖3所示,對于長度為Ih、寬度為Iw、通道數(shù)為M的輸入圖片,若要得到通道數(shù)為N的輸出,標(biāo)準(zhǔn)卷積核參數(shù)數(shù)量為Dk×Dk×M×N。一次標(biāo)準(zhǔn)卷積所需計(jì)算量(Cost)為
圖3 標(biāo)準(zhǔn)卷積與深度可分離卷積的比較Fig. 3 Comparison of standard convolution and depthwise separable convolution
深度可分離卷積將標(biāo)準(zhǔn)卷積核拆分為Dk×Dk×M的深度卷積核與包含M×N個(gè)參數(shù)的逐點(diǎn)卷積核。深度卷積對每個(gè)通道提取相應(yīng)的空間特征。逐點(diǎn)卷積將各通道的特征通過線性組合融合。逐點(diǎn)卷積后輸出與標(biāo)準(zhǔn)卷積規(guī)格相同,參數(shù)數(shù)量與計(jì)算開銷均減少一個(gè)了數(shù)量級。深度可分離卷積將卷積參數(shù)減少至Dk×Dk×M+M×N,計(jì)算開銷為
倒置殘差方法在應(yīng)用深度可分離卷積的同時(shí),通過跨越連接,增強(qiáng)了算法精度,其結(jié)構(gòu)如圖4所示。深度卷積只能提取每個(gè)通道相應(yīng)的特征,對輸入的通道數(shù)較敏感。倒置殘差先擴(kuò)張輸入的通道數(shù),提取特征后再壓縮,以此在步長為1的卷積中使用殘差網(wǎng)絡(luò)跨越連接的技巧。低維度下,激活函數(shù)ReLU容易造成信息的丟失,使用線性激活函數(shù)輸出可以保留更多信息。
圖4 倒置殘差結(jié)構(gòu)Fig. 4 Inverted residual structures
本文采用MobileNet V2作為特征提取器,將倒置殘差的通道擴(kuò)張倍數(shù)設(shè)置為6倍,使用步長為2的倒置殘差模塊代替池化層,獲得了較好的特征提取效果。
2.2.2 網(wǎng)絡(luò)結(jié)構(gòu)
網(wǎng)絡(luò)結(jié)構(gòu)以U-Net的編碼器-解碼器結(jié)構(gòu)為基礎(chǔ)。編碼器即為特征提取器,使用MobileNet V2搭建,輸入為三通道圖像,輸出的長寬是原始輸入的1/32,通道數(shù)為320的特征張量。解碼器結(jié)構(gòu)使用雙線性插值算法進(jìn)行上采樣,經(jīng)過卷積操作后將提取的特征張量逐層還原,獲得16通道輸出張量。16通道輸入進(jìn)行標(biāo)準(zhǔn)卷積濾波和雙線性插值后,獲得與原始輸入長寬一致的單通道alpha圖像。
整體網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。編碼器網(wǎng)絡(luò)的超參數(shù)與MobileNet V2網(wǎng)絡(luò)基本相同,具有1個(gè)卷積層和7個(gè)線性瓶頸模塊,由于只作為特征提取器,為保留更多信息,去除最后的標(biāo)準(zhǔn)卷積層與平均池化層。解碼器網(wǎng)絡(luò)具有與之對應(yīng)的9個(gè)卷積層和4個(gè)拼接融合層。通過4個(gè)拼接層,U-Net將編碼器與解碼器中規(guī)格相同的特征張量拼接起來,再經(jīng)過卷積操作融合,以獲得更多特征,增加精確度。相對U-Net中使用轉(zhuǎn)置卷積進(jìn)行上采樣的方法,使用雙線性插值的上采樣方法不需要訓(xùn)練額外的參數(shù),計(jì)算開銷更少。
圖5 輪廓提取網(wǎng)絡(luò)結(jié)構(gòu)(以3通道320×320 RGB圖片作為輸入)Fig. 5 The structure of contour extraction network (Take 3-channel 320×320 RGB picture as input)
2.2.3 損失函數(shù)
人體尺寸測量對于輪廓點(diǎn)的精確度要求較高,文獻(xiàn)[15]針對圖像融合采用的損失函數(shù)可以有效的保證輪廓細(xì)節(jié)。
在文獻(xiàn)[15]損失函數(shù)的基礎(chǔ)上,本文調(diào)整α預(yù)測損失和合成損失的線性組合比例,使用新的合成圖像方法,可以定義整個(gè)網(wǎng)絡(luò)的損失函數(shù)。α預(yù)測損失定義為α通道真實(shí)值gα和輸出的α通道值pα之間的L1損失(絕對值之差)。合成損失被定義為灰度化的真實(shí)輸入圖像cg和預(yù)測的合成圖像值cp之間的L1損失。單個(gè)像素i的損失函數(shù)為
由于訓(xùn)練集中包含的一部分未經(jīng)背景替換的訓(xùn)練樣本,可使用偽背景與預(yù)測的前景合成cp。真實(shí)輸入cg和與其對應(yīng)的α通道真實(shí)值ag經(jīng)過處理可以得到前景為黑的偽背景。由于偽背景與真實(shí)背景存在差異,在本文實(shí)驗(yàn)中γ設(shè)定為0.6。與文獻(xiàn)[15]方法相比,本文對整體計(jì)算了損失,而不是僅針對邊界區(qū)域。
在人體輪廓中獲取尺寸數(shù)據(jù)分為2步:提取人體特征點(diǎn)和使用特征點(diǎn)擬合尺寸。對人體輪廓特定區(qū)域進(jìn)行掃描可以找到與人體尺寸數(shù)據(jù)相關(guān)的特征點(diǎn)相對位置。以身高輸入為比例尺,利用特征點(diǎn)相對位置和性別信息,能完成對人體肩寬、三圍等數(shù)據(jù)的擬合,以此可以測量人體尺寸,分析體型。
對于正面照片,從上至下分別提取了頭頂、肩點(diǎn)、指尖、腋窩、三圍高度點(diǎn)和腳底的特征點(diǎn)位置;對于側(cè)面照片,則提取頭頂、腳底及三圍高度點(diǎn)位置。正面與側(cè)面照片需按指定姿勢拍攝(圖6)。
圖6 拍照姿態(tài)及特征點(diǎn)位置Fig. 6 Posture and feature point position
根據(jù)“服裝用人體測量的尺寸定義與方法”[22],通過人體三圍高度與身高的比例數(shù)據(jù),結(jié)合人體側(cè)面曲線的凹凸特性,可以掃描局部輪廓提取各個(gè)特征點(diǎn)信息。首先,頭頂、腳底以及正面的指尖位置能夠快速確定;其次,頭頂?shù)街讣獾妮喞兓潭饶艽_定肩點(diǎn),指尖到腳底的輪廓能確定腋窩點(diǎn)作為正面胸圍高度的上線;最后,正面與側(cè)面三圍點(diǎn)位置由三圍身高比確定范圍,通過側(cè)面曲線及腋窩點(diǎn)位置進(jìn)行調(diào)整。
三圍信息等數(shù)據(jù)無法直接從圖像提取,需要利用二維的寬度、厚度信息間接擬合得到。二維寬度與厚度信息由特征點(diǎn)相對位置和身高確定。常用的擬合手段有基于截面形狀的曲線擬合法[23]與基于統(tǒng)計(jì)數(shù)據(jù)的回歸分析法。本文采用回歸策略進(jìn)行擬合。先前的研究者使用多種函數(shù)回歸方式對人體尺寸數(shù)據(jù)進(jìn)行實(shí)驗(yàn),包括線性回歸、二次函數(shù)、三次函數(shù)、指數(shù)函數(shù)、對數(shù)函數(shù)[24]以及運(yùn)用神經(jīng)網(wǎng)絡(luò)的尺寸擬合方法[25],并進(jìn)行了比較。
本文對比了先前研究者的回歸策略,平衡精確度與效率后,參考了黃秀麗[26]和劉國聯(lián)等[27]的回歸方法分別完善了青年男性和女性的擬合模型,用于擬合人體肩寬和三圍。具體函數(shù)及參數(shù)見表2。
表2 人體尺寸擬合公式Table 2 Body size fitting formulas
為提高人體尺寸測量的魯棒性,測量方法中增加了篩選與細(xì)化操作。
神經(jīng)網(wǎng)絡(luò)輸出得到的alpha圖由HU[19]不變矩進(jìn)行篩選,判斷是否為特定姿勢人體全身圖像。經(jīng)測試,由于HU[19]不變矩對形狀的敏感性,該方法能有效判斷神經(jīng)網(wǎng)絡(luò)輸入照片是否符合規(guī)范。使用該方法進(jìn)行初步篩選后再進(jìn)行特征點(diǎn)提取。
因?yàn)樯窠?jīng)網(wǎng)絡(luò)輸入經(jīng)過壓縮,獲得的人體關(guān)鍵點(diǎn)信息進(jìn)一步細(xì)化后再擬合人體尺寸能獲得更好的精度。初步輪廓圖與特征點(diǎn)位置一起經(jīng)過縮放,得到與原圖長寬一致的輪廓圖和對應(yīng)的初步特征點(diǎn)位置。初步特征點(diǎn)位置可以通過活動輪廓模型(snake)[20]細(xì)化,如圖7所示。該模型以局部區(qū)域放大后的輪廓線為初始值,對關(guān)鍵點(diǎn)所在的局部區(qū)域迭代,可以獲得更準(zhǔn)確的關(guān)鍵點(diǎn)位置信息。
圖7 局部區(qū)域細(xì)化效果Fig. 7 Local area refinement effect
為保證精確度,拍照設(shè)備需經(jīng)過校準(zhǔn)。相機(jī)鏡頭拍攝人體時(shí)橫向會產(chǎn)生畸變。本文對采用的紅米4X手機(jī)進(jìn)行了畸變矯正。將手機(jī)豎直水平面固定于離地1.5 m的位置,拍攝距手機(jī)3 m的寬度為95 cm的門框。經(jīng)分析得到以下照片不同比例位置的橫向畸變數(shù)據(jù)(表3),并以此進(jìn)行矯正。
表3 照片橫向畸變系數(shù)表Table 3 Lateral distortion coefficients of photos
經(jīng)分析,紅米4X手機(jī)鏡頭大致以枕型畸變?yōu)橹?,且失真不明顯。通過分段線性函數(shù)可獲得與相對高度相關(guān)的連續(xù)畸變系數(shù)曲線。相應(yīng)位置的人體尺寸通過該曲線矯正,代替計(jì)算量較大的照片整體單應(yīng)性矩陣變換。鏡頭畸變大致人體尺寸測量分析時(shí)手機(jī)位置及拍攝距離與設(shè)備調(diào)教時(shí)保持一致。
實(shí)驗(yàn)采用PyTorch框架訓(xùn)練輪廓提取神經(jīng)網(wǎng)絡(luò),應(yīng)用時(shí)將特定姿態(tài)(圖5)正、側(cè)面人體彩色全身照縮放至320×320分別輸入,提高運(yùn)行速度。模型轉(zhuǎn)化為TorchScript形式,通過LibTorch函數(shù)庫實(shí)現(xiàn)在C++中調(diào)用,便于部署。模型訓(xùn)練使用320×320大小圖片作為輸入,經(jīng)過預(yù)先訓(xùn)練,然后進(jìn)行微調(diào)。使用Adam作為優(yōu)化器,并應(yīng)用了交叉驗(yàn)證方法。模型學(xué)習(xí)率設(shè)置為10-4,每批訓(xùn)練樣本數(shù)為8。
本文通過采用訓(xùn)練樣本與驗(yàn)證樣本9∶1的方式進(jìn)行K折交叉驗(yàn)證(即K=10),當(dāng)驗(yàn)證集Loss下降停滯時(shí)結(jié)束訓(xùn)練。采用Adam作為優(yōu)化器,可以降低過擬合的幾率。訓(xùn)練集與驗(yàn)證集Loss變換曲線如圖8所示。
圖8 訓(xùn)練過程Loss變換曲線Fig. 8 Loss function transformation curve of training process
由圖8可知,訓(xùn)練集與驗(yàn)證集的Loss均隨訓(xùn)練批次的增加而降低,且隨后趨于穩(wěn)定。正面模型驗(yàn)證集Loss擾動較多。整體未表現(xiàn)出明顯的過擬合現(xiàn)象。
由于人體尺寸測量聚焦于特定姿勢的圖像,本文訓(xùn)練、驗(yàn)證及測試所用數(shù)據(jù)集也采用特定姿勢。因此,數(shù)據(jù)集本身量不大,獲得的訓(xùn)練模型對測量所需特定姿勢仍具有較好的效果。但也由于對特定姿勢的訓(xùn)練,經(jīng)測試,模型對其他姿勢的人像照片表現(xiàn)一般。
本文采用torchstat對多個(gè)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在輸入為320×320的三通道RGB圖片的情況下進(jìn)行了參數(shù)規(guī)模、浮點(diǎn)計(jì)算量與內(nèi)存消耗的計(jì)算(表4)。
表4 不同神經(jīng)網(wǎng)絡(luò)計(jì)算資源占用情況Table 4 Computing resource occupancy of different neural
與圖像分割網(wǎng)絡(luò)PSPNet[28]、殘差網(wǎng)絡(luò)ResNet18[29]、輕量級神經(jīng)網(wǎng)絡(luò)SqueezeNet[7]相對比,本文方法在參數(shù)規(guī)模和浮點(diǎn)計(jì)算量上都有一定優(yōu)勢。
表5 不同神經(jīng)網(wǎng)絡(luò)實(shí)際模型規(guī)模與處理時(shí)間Table 5 Actual model scale and processing time of different neural networks
使用CPU (i3 雙核3.7 G)模擬移動處理器運(yùn)行Mask-RCNN[12]和PGN[30]網(wǎng)絡(luò),與本文方法進(jìn)行對比實(shí)驗(yàn)(表5)。結(jié)果表明,算力有限時(shí),本文方法圖像處理速度較快,占用空間也較少。
本文使用3個(gè)指標(biāo)用于評估預(yù)測的alpha圖的質(zhì)量[31]:平均交并比(mIoU)、均方誤差(mean square error, MSE)和絕對誤差和(sum of absolute differences, SAD)。梯度誤差和連通性誤差反映人類觀察者的感知視覺質(zhì)量,在尺寸測量領(lǐng)域作用有限。實(shí)驗(yàn)使用本文構(gòu)建的測試集測試,在指標(biāo)計(jì)算時(shí)將預(yù)測的alpha值和真值歸一化為0到1,且由像素?cái)?shù)平均。測試采用輸入均為320×320的三通道RGB圖片。
PGN可以對人體各部分進(jìn)行有效的實(shí)例分割,這里測試Mask-RCNN與PGN對人體整體分割的二分類效果,輸出為二分類概率(alpha通道圖)。通過對特定姿勢進(jìn)行訓(xùn)練(表6),本文方法能夠有效地保證獲得alpha圖的精確度。
表6 各神經(jīng)網(wǎng)絡(luò)精確度分析Table 6 Accuracy analysis of each neural network
使用Mask-RCNN,PGN和本文方法分別進(jìn)行實(shí)際尺寸測量,定性分析如圖9和圖10所示??梢园l(fā)現(xiàn),本文方法在腋窩、腳尖等細(xì)節(jié)處有一定優(yōu)勢,使得對人體尺寸的測量更精確。
圖9 不同方法測試中人像分割效果對比Fig. 9 Comparison of image segmentation effects in different methods
圖10 不同方法測試中人體輪廓(藍(lán)線)及特征點(diǎn)(紅點(diǎn))提取效果對比Fig. 1 0 Comparison of human contour (blue line) and feature point (red point) extraction in different methods
使用本文的測量方法對8位不同性別、穿著貼身的被試進(jìn)行了人體尺寸擬合測試,結(jié)果見表7。由于照片中穿著衣物影響和擬合式的誤差,由人體曲線和比例獲得的三圍位置會有一定偏差,造成測量的圍度有誤差。本文方法相對誤差保證在3%內(nèi),基本達(dá)到與手工測量、圍度擬合相當(dāng)?shù)木?,且誤差水平恒定。
表7 尺寸測量平均誤差Table 7 Average errors of human body size measurement
文獻(xiàn)[26]對三圍及其對應(yīng)的寬度、厚度做了相關(guān)分析與偏相關(guān)分析,并對三圍二階最小二乘回歸分析獲得的擬合式進(jìn)行了擬合程度檢驗(yàn)。其中,臀圍與臀寬、臀厚的相關(guān)性較胸圍腰圍略小一些。同時(shí)臀部模型的復(fù)合系數(shù)R值為0.851,略小于胸圍的0.902與腰圍的0.922,這可能是臀圍誤差的成因之一。對被試手動測量輔助數(shù)據(jù)進(jìn)行擬合并分析,得到的結(jié)果驗(yàn)證了這一點(diǎn)。
對比手工測量獲得的輔助數(shù)據(jù)與由本文方法從照片得到的輔助數(shù)據(jù)后,可發(fā)現(xiàn),衣物的貼身程度會影響特征點(diǎn)定位,從而對測量誤差產(chǎn)生影響。由于衣物無法完全貼身,腋窩點(diǎn)的定位會偏下,胸寬數(shù)據(jù)也可能偏大。其中男性側(cè)面曲線模糊,胸圍高度受腋窩控制,誤差更明顯。同時(shí),由于本文測量算法對照片中腰部高度的定位主要依賴高度比例,而不像胸部、臀部定位可以參考側(cè)邊的突起曲線,數(shù)據(jù)誤差也較大。圖像分辨率與鏡頭畸變也可能是影響結(jié)果的因素之一。
本文提出了一種基于輕量化神經(jīng)網(wǎng)絡(luò)的輪廓提取方案,使用U-Net框架,引入MobileNet V2作為特征提取器,在保證較高精度的前提下,降低了網(wǎng)絡(luò)的存儲空間和卷積操作的運(yùn)算量,以便在移動端部署。本文創(chuàng)建了一組特定動作的人體全身圖像數(shù)據(jù)集,用于訓(xùn)練該網(wǎng)絡(luò)?;谶@項(xiàng)輪廓提取方案,本文實(shí)現(xiàn)了一種小巧快速的人體尺寸測量解決方案。
本文方法也有一些待優(yōu)化之處,如數(shù)據(jù)集的規(guī)模較小、人體尺寸測量方法仍需改進(jìn)等;模型開銷的進(jìn)一步縮減也將是下一步深入研究的內(nèi)容。在訓(xùn)練樣本中去除衣物影響,或采用端到端的神經(jīng)網(wǎng)絡(luò)擬合人體尺寸等方法值得下一步嘗試。輪廓提取方案亦可以應(yīng)用于移動端的三維人體模型生成,為虛擬試衣技術(shù)提供幫助。