胡新榮,劉嘉文,劉軍平,彭 濤,何儒漢
(1.湖北省服裝信息化工程技術(shù)研究中心,湖北 武漢 430200;2.武漢紡織大學(xué)計算機(jī)與人工智能學(xué)院,湖北 武漢 430200)
隨著時代的快速發(fā)展,在“互聯(lián)網(wǎng)+”的影響下,傳統(tǒng)服裝領(lǐng)域與移動互聯(lián)網(wǎng)已建立了廣泛的聯(lián)系。服裝電商平臺深入人心,并且已經(jīng)成為絕大多數(shù)用戶的購買渠道。但是,服裝電商平臺在為用戶帶來便捷的同時也帶來了一系列的困擾,其中最普遍是由于服裝尺寸不適合所造成的退換貨問題。然而,遠(yuǎn)程人體尺寸測量可以有效解決此類糾紛,并且該技術(shù)在虛擬試衣[1]、國民體型研究和人體模型建立等技術(shù)領(lǐng)域中的應(yīng)用也十分廣泛。
目前,傳統(tǒng)非接觸式人體尺寸測量技術(shù)主要依賴于三維人體掃描設(shè)備[2],或者通過RGB-D攝像機(jī)(常見的如kinect)結(jié)合人體深度信息的方法獲取人體圍度信息。顯然,這些方法都無法擺脫苛刻的實(shí)驗(yàn)環(huán)境以及高昂的測量儀器,導(dǎo)致該技術(shù)無法在市場上廣泛普及。為了滿足中小企業(yè)的需求,基于正交人體圖像的非接觸式人體測量方法[3 - 6]被提出。
胡新榮等[7]通過自適應(yīng)人體結(jié)構(gòu)分割A(yù)BSS(Adaptive Body Structure Segmentation)算法對人體關(guān)鍵區(qū)域進(jìn)行分割,然后提取各個部位的特征點(diǎn)以獲取各部位所占據(jù)像素點(diǎn)的個數(shù),從而獲取人體的平面尺寸信息。顯然,在二維系統(tǒng)中,人體各個部位的高度、寬度和厚度可以通過算法直接獲取。然而,人體的圍度信息在通常情況下能給予用戶更加直觀的感受。所以近年來,針對人體圍度尺寸預(yù)測的研究十分廣泛,當(dāng)前主要包括以下4種方法:橢圓傅里葉法、超橢圓曲線法、多元函數(shù)模型和模型重建法。
夏明等[8,9]采用橢圓傅里葉變換,將利用[TC]NX16三維掃描儀獲取的胸圍斷面擬合點(diǎn)的坐標(biāo)信息轉(zhuǎn)換為一組不同頻率橢圓的疊加,從而獲取斷面尺寸信息。顯然,這些方法的建立都依賴于人體的截面數(shù)據(jù),無法從根本上擺脫對三維掃描的需求。
胡新榮等[10]提出利用中心軸具有對稱形狀的超橢圓模型來擬合人體截面,雖然取得了一定的成果,但由于該模型沒有考慮不同人體體型之間的差異性,導(dǎo)致在實(shí)際擬合過程中,獲取的圍度信息與實(shí)測值之間的誤差值較大。
李曉久等[11]首先提出了基于多元函數(shù)模型的方法來擬合人體的三維尺寸信息,之后劉國聯(lián)等[12 - 15]分別在此基礎(chǔ)上,針對不同人體體型的差異性對算法進(jìn)行了改進(jìn),但僅依據(jù)人體各部位的寬度和厚度之間的比值關(guān)系劃分閾值區(qū)間。在實(shí)際擬合過程中,模型的魯棒性不強(qiáng),且擬合的圍度信息為該閾值區(qū)間的均值信息,無法體現(xiàn)人體自身的異構(gòu)性。
Alldieck等[16 - 18]提出使用深度相機(jī)獲取人體深度信息,然后分別通過SMPL(Skinned Muti-Person Linear)模型[19]與Poisson方法[20]重建人體,以獲取各個部位的圍度信息。但是,由于深度相機(jī)的普適性較差,采樣人體信息的條件十分苛刻,且重建單個人體模型的時間消耗超過3 min,導(dǎo)致該方法無法移植到移動端中使用,以致于傳統(tǒng)算法難以滿足在線測量系統(tǒng)所需要的精度與實(shí)時性需求。
為了解決上述問題,近年來,研究人員在處理非線性函數(shù)時使用最為普遍的是BP(Back Propagation)神經(jīng)網(wǎng)絡(luò),并且將其廣泛應(yīng)用于預(yù)測工作中。然而,傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)無法避免容易陷入局部最優(yōu)、收斂速度慢和初始權(quán)值閾值賦予不當(dāng)?shù)葐栴}[21]。因此,研究人員通過遺傳算法GA(Genetic Algorithm)對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化??紤]到傳統(tǒng)GA算法自身存在“早熟”和迭代后期局部尋優(yōu)能力差的問題,研究人員通過改進(jìn)自適應(yīng)交叉、變異概率對其進(jìn)行優(yōu)化,然后基于改進(jìn)的遺傳算法UGA(Upgrade GA)確定BP網(wǎng)絡(luò)的結(jié)構(gòu)并優(yōu)化初始權(quán)值和閾值,解決了傳統(tǒng)GA-BP模型易陷入局部最優(yōu)的問題。接下來,再利用馬爾科夫殘差模型對UGA-BP模型預(yù)測的圍度信息進(jìn)行優(yōu)化,以獲取更高的精度。
綜上,本文提出了一種改進(jìn)GA-BP-MC(UGA-BP-MC)的人體三維尺寸預(yù)測模型。通過混合UGA算法和馬爾科夫鏈的方法,解決了BP網(wǎng)絡(luò)連接權(quán)值、閾值和自身結(jié)構(gòu)難以確定的問題,并且解決了傳統(tǒng)GA-BP模型易陷入局部最優(yōu)和預(yù)測精度差的問題。最后將該模型應(yīng)用于實(shí)際案例中,通過與超橢圓曲線法[10]、多元函數(shù)模型[14]、GA-BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行對比分析,驗(yàn)證了該模型的魯棒性和預(yù)測的精確性。

Figure 1 Flow chart of the method for predicting human 3D size based on UGA-BP-MC model圖1 基于UGA-BP-MC模型預(yù)測人體三維尺寸的流程圖
UGA-BP-MC神經(jīng)網(wǎng)絡(luò)模型的基本框架如圖1所示。從圖1可知,人體三維尺寸預(yù)測主要分為以下幾個步驟:體型分類、基于ABSS算法[7]對結(jié)構(gòu)關(guān)鍵區(qū)域自適應(yīng)分割、多特征尺寸提取、UGA-BP模型和馬爾科夫模型訓(xùn)練 。
BP網(wǎng)絡(luò)主要由輸入層、輸出層和一層或多層隱含層3個部分構(gòu)成,如圖2所示。其中,x1~x5為網(wǎng)絡(luò)的輸入,分別為性別S、身高H、X圍的寬度、X圍的厚度以及X圍與身高的比例系數(shù)R(其中X表示為頸、胸、腰部等具有三維屬性的人體部位),Y1為輸出值即圍度信息,ωni、ωnj和pij分別代表輸入層與第一層隱含層、最后一層隱含層和輸出層、隱含層之間的權(quán)值,其中n=1,2,…,5(ω1i為輸入x1與第一隱含層之間的各權(quán)值)。αi、βi和χ分別代表輸入層與第一層隱含層、最后一層隱含層和輸出層、隱含層之間的閾值。

Figure 2 Multi-layer BP neural network model圖2 多層BP神經(jīng)網(wǎng)絡(luò)模型
遺傳算法GA是基于自然選擇和遺傳理論的隨機(jī)優(yōu)化算法,來源于生物界的自然選擇和進(jìn)化機(jī)制,主要通過編碼、種群初始化,利用選擇、交叉和變異等算子的操作[22]對所有個體進(jìn)行篩選,根據(jù)適應(yīng)度函數(shù)對每個候選個體的評估和選擇來淘汰適應(yīng)度較差的個體,從而保留優(yōu)秀的個體。具體流程圖如圖3所示。

Figure 3 Flow chart of GA圖3 GA算法流程圖
遺傳算法中的交叉算子主要用于產(chǎn)生新的個體,而變異算子的主要作用是增加種群的多樣性,以達(dá)到擴(kuò)大種群規(guī)模的作用,2種算子相互結(jié)合可以提升算法的全局尋優(yōu)能力。在通常情況下,傳統(tǒng)遺傳算法交叉算子和變異算子中的概率被設(shè)置為一個固定值。顯然,這一設(shè)定策略沒有考慮到種群中個體初期適應(yīng)性較差、變異概率高、后期適應(yīng)度強(qiáng)、變異概率低這一動態(tài)變化的情況,以致于傳統(tǒng)遺傳算法在收斂后期的局部尋優(yōu)能力較差。
目前,邢志偉等[23,24]分別單獨(dú)依據(jù)個體適應(yīng)度或算法迭代次數(shù)對傳統(tǒng)算法中的交叉概率和變異概率進(jìn)行了改進(jìn)。本文將個體適應(yīng)度值和算法迭代次數(shù)這兩者作為限制因素,對傳統(tǒng)GA算法的交叉概率和變異概率進(jìn)行自適應(yīng)調(diào)整。
對于交叉概率而言,考慮初始種群個體的適應(yīng)性差,所以應(yīng)設(shè)定較大的交叉概率,盡可能對個體的基因進(jìn)行更新,以獲取更多攜帶優(yōu)良基因的個體。后期個體的表現(xiàn)較好(適應(yīng)度高),大部分的優(yōu)秀基因已經(jīng)被確定,所以應(yīng)該設(shè)定較小的交叉概率,以提升算法的局部收斂速度。具體設(shè)定表達(dá)式如式(1)所示:
(1)
其中,t為算法的當(dāng)前迭代數(shù);P(t)c為第t次迭代時的交叉概率;Pcmax與Pcmin分別為最大交叉概率和最小交叉概率,取值為0.8與0.2;Tmax為算法的總迭代次數(shù);f(t)a,f(t)max,f(t)min和f(t)avg分別為第t次迭代時個體適應(yīng)度、種群適應(yīng)度的最大值、種群適應(yīng)度的最小值和種群適應(yīng)度的平均值。由式(1)可以看出,當(dāng)算法迭代初期且個體適應(yīng)度低于種群最小適應(yīng)度時,交叉概率大,反之亦然,并且隨著迭代次數(shù)的增加,也會使得交叉概率隨之降低。
遺傳算法中變異算子的主要作用是增加種群的多樣性,以加強(qiáng)算法的全局尋優(yōu)能力。種群個體前期變異概率較大,然而在迭代后個體基本趨于穩(wěn)定(適應(yīng)度高),相對應(yīng)的變異概率也會降低。所以,變異概率的設(shè)計基本與交叉概率在變化趨勢上是一致的,設(shè)定表達(dá)式如式(2)所示:
(2)
其中,Tmax,f(t)a,f(t)max,f(t)min,f(t)avg和t的含義與式(1)的一致,P(t)m為第t次迭代時的變異概率,Pmmax與Pmmin分別為最大變異概率和最小變異概率,取值為0.008與0.002。同樣,根據(jù)式(2)設(shè)計的自適應(yīng)變異概率在算法初期的值較大,隨著迭代次數(shù)和個體適應(yīng)度的增加,變異概率隨之減小。
利用改進(jìn)的自適應(yīng)交叉概率和變異概率的遺傳算法來確定BP網(wǎng)絡(luò)的自身結(jié)構(gòu)和優(yōu)化初始權(quán)值閾值的具體步驟如下所示:
步驟1數(shù)據(jù)處理,對訓(xùn)練樣本數(shù)據(jù)進(jìn)行歸一化處理。
步驟2對BP網(wǎng)絡(luò)的隱含層神經(jīng)元個數(shù)和權(quán)值閾值分別進(jìn)行編碼形成2層染色體結(jié)構(gòu)[23]。本文BP網(wǎng)絡(luò)為5個輸入,1個輸出,隱含層神經(jīng)元節(jié)點(diǎn)個數(shù)為M,即單層BP網(wǎng)絡(luò)為5-M-1結(jié)構(gòu)。
第1層:參數(shù)基因處于下層,控制優(yōu)化BP網(wǎng)絡(luò)的權(quán)值與閾值,無需采用0/1機(jī)制,即權(quán)值閾值的編碼長度為:
Length=5·M+M·1+M+1=7M+1
第2層:對照基因處于上層,控制BP網(wǎng)絡(luò)的自身結(jié)構(gòu),采用0/1二進(jìn)制編碼機(jī)制決定隱含層的某個神經(jīng)元是否有效,0代表失活即對應(yīng)的隱含層神經(jīng)元不產(chǎn)生影響,1代表活化。即BP網(wǎng)絡(luò)隱含層神經(jīng)元個數(shù)的編碼長度應(yīng)在權(quán)值閾值的基礎(chǔ)上增加M,即編碼長度為:
Length=M+5·M+M·1+M+1=8M+1
步驟3設(shè)置種群規(guī)模N和總迭代次數(shù)Tmax。
步驟4對步驟2進(jìn)行解碼,根據(jù)上層結(jié)構(gòu)統(tǒng)計的活化基因即可確定BP網(wǎng)絡(luò)的隱含層神經(jīng)元個數(shù),下層可確定BP網(wǎng)絡(luò)的權(quán)值閾值,最后形成多種不同結(jié)構(gòu)的BP神經(jīng)網(wǎng)絡(luò)作為待選結(jié)構(gòu)。
步驟5將步驟1中處理的訓(xùn)練樣本數(shù)據(jù)作為輸入,測試得到的待選BP神經(jīng)網(wǎng)絡(luò),并計算網(wǎng)絡(luò)誤差,若誤差無法滿足需求即轉(zhuǎn)步驟6,否則轉(zhuǎn)步驟9。
步驟6確定種群中個體的適應(yīng)度函數(shù),將實(shí)際輸出值和期望輸出值之差的平方和作為適應(yīng)度函數(shù)F:

步驟7對種群進(jìn)行選擇操作、改進(jìn)的交叉操作和變異操作,產(chǎn)生新的優(yōu)秀個體,形成新的后代種群。
步驟8解碼后代種群的2層染色體結(jié)構(gòu),獲得BP網(wǎng)絡(luò)的隱含層神經(jīng)元個數(shù)和權(quán)值閾值,計算網(wǎng)絡(luò)誤差,并計算個體適應(yīng)度,若個體適應(yīng)度無法滿足需求但仍處于遺傳代數(shù)迭代范圍內(nèi),轉(zhuǎn)步驟4,否則轉(zhuǎn)步驟9。

步驟10當(dāng)I型與II型網(wǎng)絡(luò)超出迭代次數(shù)或者誤差滿足設(shè)定需求時,對比I型與II型網(wǎng)絡(luò)的誤差,保留誤差最小的BP神經(jīng)網(wǎng)絡(luò)。
改進(jìn)GA-BP模型的具體流程圖如圖4所示。

Figure 4 Flow chart of UGA-BP model圖4 UGA-BP模型流程圖
馬爾科夫鏈MC(Markov Chain)[25]通過狀態(tài)轉(zhuǎn)移概率矩陣得到系統(tǒng)未來可能達(dá)到某種狀態(tài)的概率,適用于隨機(jī)波動性較大和受多種因素影響的樣本序列。
利用馬爾科夫鏈分析實(shí)測尺寸信息與預(yù)測值之間的相對誤差比的波動規(guī)律,對UGA-BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測值進(jìn)行修正。具體步驟如下所示:
步驟1根據(jù)狀態(tài)劃分:根據(jù) UGA-BP 神經(jīng)網(wǎng)絡(luò)模型預(yù)測值的相對誤差比,采用最值均方差法將相對誤差區(qū)間分成q個狀態(tài)[26],生成狀態(tài)序列S1,S2,…,Sq。其中狀態(tài)q的計算方法如式(3)所示:
q=EVEN(d/σ)
(3)

步驟2以前Ni次UGA-BP循環(huán)輸出的預(yù)測值與實(shí)測值的殘差數(shù)列作為基準(zhǔn)數(shù)據(jù),輸入馬爾科殘差模型,用馬爾科夫鏈對預(yù)測值進(jìn)行優(yōu)化,利用黃金分割率原理[27],按照式(4)計算殘差值分割單位的長度:
(4)

步驟3計算馬爾科夫鏈的狀態(tài)轉(zhuǎn)移矩陣,如式(5)所示:
(5)

步驟4選擇離預(yù)測時刻最近的前3個時刻,合計概率最大的狀態(tài)區(qū)間為下一個時刻可能出現(xiàn)的狀態(tài)區(qū)間。其中時刻x的狀態(tài)轉(zhuǎn)移矩陣如式(6)所示:
(6)

步驟5確定該狀態(tài)空間的中點(diǎn)值為馬爾科夫鏈預(yù)測值,如式(7)進(jìn)行:
(7)
其中,g(x)為通過馬爾科夫殘差模型優(yōu)化的最終值,Δ為相對誤差比,ΔU和ΔD分別為某一變動區(qū)間的上下限值,f(x)為UGA-BP神經(jīng)網(wǎng)絡(luò)的輸出值。

Figure 5 Flow chart of UGA-BP-MC neural network model圖5 UGA-BP-MC神經(jīng)網(wǎng)絡(luò)模型流程圖
其中,UGA-BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)不變,在此基礎(chǔ)之上,增加馬爾科夫殘差模型:(1)計算UGA-BP神經(jīng)網(wǎng)絡(luò)模型輸出的預(yù)測值和真實(shí)值之間的殘差。(2)將殘差數(shù)列輸入到馬爾科夫殘差網(wǎng)絡(luò)模型中進(jìn)行訓(xùn)練。(3)利用馬爾科夫殘差網(wǎng)絡(luò)對UGA-BP的預(yù)測值進(jìn)行優(yōu)化,并輸出最終結(jié)果。馬爾科夫殘差模型和改進(jìn)遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型的過程如圖5所示。
本次實(shí)驗(yàn)過程中,一共實(shí)地拍攝了210組實(shí)驗(yàn)樣本(包括學(xué)生、警察、法院工作人員)。首先為了檢驗(yàn)UGA-BP-MC模型的性能,將UGA-BP-MC與GA-BP和BP進(jìn)行實(shí)例分析。
其次,為了驗(yàn)證該模型的魯棒性和實(shí)時性,本文隨機(jī)選取10組樣本對訓(xùn)練好的UGA-BP-MC模型與GA-BP模型、超橢圓曲線法[10]和多元函數(shù)模型[14]進(jìn)行預(yù)測結(jié)果分析和對比。
設(shè)定BP、GA-BP和UGA-BP模型訓(xùn)練迭代次數(shù)均為100次,目標(biāo)誤差均為0.003,并且設(shè)定遺傳算法的種群規(guī)模為N=50,遺傳代數(shù)為Tmax=100,最大變異概率Pmmax=0.008,最小變異概率Pmmin=0.002,最大交叉概率Pcmax=0.8,最小交叉概率Pcmin=0.2,選擇概率為0.08。
實(shí)驗(yàn)環(huán)境為:Windows 10操作系統(tǒng),E5-1620v4 3.5 GHz處理器,6 GB內(nèi)存,NVIDIA 1080顯卡。
將傳統(tǒng)GA算法與UGA算法進(jìn)行對比,利用改進(jìn)的自適應(yīng)交叉概率和變異概率來解決傳統(tǒng)GA算法收斂速度慢和迭代后期局部尋優(yōu)能力差的問題,并且利用UGA算法在優(yōu)化BP網(wǎng)絡(luò)初始權(quán)值和閾值的同時,確定BP網(wǎng)絡(luò)的隱含層神經(jīng)元個數(shù)。
由圖6可以看出,UGA算法相對于傳統(tǒng)GA算法尋優(yōu)能力有著顯著的提升。傳統(tǒng)GA算法在66次迭代之后陷入局部最優(yōu),UGA算法在53次迭代后獲得最優(yōu)適應(yīng)度,且相對于傳統(tǒng)GA算法,UGA算法的收斂速度更快。如圖7所示,當(dāng)?shù)?3次后,對應(yīng)隱含層神經(jīng)元個數(shù)為6,因此網(wǎng)絡(luò)最佳隱含層神經(jīng)元個數(shù)為6。

Figure 6 Fitness changes of UGA and GA algorithms圖6 UGA與傳統(tǒng)GA算法適應(yīng)度變化

Figure 7 Change curve of the number of neurons in the hidden layer 圖7 隱含層神經(jīng)元個數(shù)變化曲線
基于隱含層神經(jīng)元個數(shù)構(gòu)建I型、II型BP神經(jīng)網(wǎng)絡(luò),計算得到的網(wǎng)絡(luò)誤差曲線如圖8所示。

Figure 8 Variation curves of type I and type II BP network training error圖8 I型與II型BP網(wǎng)絡(luò)訓(xùn)練誤差變化曲線
圖8對I型、II型BP神經(jīng)網(wǎng)絡(luò)的誤差分析表明,II型BP神經(jīng)網(wǎng)絡(luò)在56次迭代之后的訓(xùn)練誤差更低。所以,本文選定II型BP神經(jīng)網(wǎng)絡(luò)為該模型的最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu),即為5-3-3-1結(jié)構(gòu)的BP神經(jīng)網(wǎng)絡(luò)。
從正常體型樣本中隨機(jī)抽取23組用戶的頸圍實(shí)測數(shù)據(jù),通過UGA-BP-MC神經(jīng)網(wǎng)絡(luò)預(yù)測模型,利用前20組數(shù)據(jù)滾動式[28]地預(yù)測后3組數(shù)據(jù),將1~7組用戶數(shù)據(jù)信息作為神經(jīng)網(wǎng)絡(luò)的輸入,第8組為網(wǎng)絡(luò)輸出,然后以2~8組預(yù)測第9組的數(shù)據(jù)信息,UGA-BP預(yù)測值如表1所示。最后將UGA-BP的預(yù)測值用馬爾科夫殘差模型進(jìn)行修正,以獲得UGA-BP-MC模型的預(yù)測值。

Table 1 Experimental data and state division表1 實(shí)驗(yàn)數(shù)據(jù)及狀態(tài)劃分
根據(jù)式(3)將人體實(shí)測的三維尺寸信息與UGA-BP模型輸出的預(yù)測值之間的相對誤差比的取值劃分成4個狀態(tài),狀態(tài)區(qū)間如表2所示。根據(jù)表2中的狀態(tài)區(qū)間將實(shí)測值與UGA-BP模型預(yù)測值的相對誤差比劃分成不同的狀態(tài)序列:[3,2,4,3,2,4,3,2,3,1,3,2,3,4],然后依據(jù)式(5)可得出一步、二步和三步的狀態(tài)轉(zhuǎn)移矩陣,如表3所示。

Table 2 State partition interval表2 狀態(tài)劃分區(qū)間

Table 3 State transition matrix表3 狀態(tài)轉(zhuǎn)移矩陣
以第22次測量為例,選取與之最近的3個樣本預(yù)測其誤差區(qū)間所處于的狀態(tài),結(jié)果如表4所示。

Table 4 Prediction of relative error state of the 22nd measurement表4 第22次測量相對誤差狀態(tài)預(yù)測
由表4可知,相對誤差處于狀態(tài)S3的可能性最大,對應(yīng)的狀態(tài)誤差區(qū)間為[-0.063 14,0.015 44),根據(jù)式(7),可以得到通過馬爾科夫殘差修正模型輸出的值為:

0.97615×32.315=31.544 cm
該值比表1中UGA-BP預(yù)測值的精度提升了0.771 cm。然后將狀態(tài)S3加入原始樣本序列中,并剔除第1個數(shù)據(jù),添加新的數(shù)據(jù)構(gòu)成樣本序列再進(jìn)行下一次狀態(tài)預(yù)測。其中BP、UGA-BP和UGA-BP-MC模型對最后3個樣本的預(yù)測誤差分析如表5所示。
傳統(tǒng)超橢圓曲線法通過單一模板對人體圍度數(shù)據(jù)進(jìn)行擬合,在實(shí)際測量過程中發(fā)現(xiàn)擬合程度不高,并且在測量極端體型用戶的過程中,擬合數(shù)據(jù)與實(shí)測值的偏差較大。
多元函數(shù)模型是目前運(yùn)用最廣泛的三維人體尺寸擬合模型,目前經(jīng)過改良的多元函數(shù)擬合的方法針對人體體型的差異,基于身體各部位的寬厚比例作為分類的依據(jù),雖然提升了擬合精度,但擬合的結(jié)果是該類體型用戶的均值信息,無法表現(xiàn)人體自身的異構(gòu)性。
對于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)模型而言,模型預(yù)測的精度較差,無法滿足人體著裝的需求。UGA-BP-MC神經(jīng)網(wǎng)絡(luò)模型通過改進(jìn)GA算法優(yōu)化BP網(wǎng)絡(luò)的結(jié)構(gòu)、初始權(quán)值和閾值,提升了傳統(tǒng)GA算法在迭代后期的局部尋優(yōu)能力,并且解決了BP神經(jīng)網(wǎng)絡(luò)自身結(jié)構(gòu)難以確定和易陷入局部最優(yōu)的問題。采用馬爾科夫殘差模型對UGA-BP神經(jīng)網(wǎng)絡(luò)模型輸出的預(yù)測值進(jìn)行優(yōu)化,解決了傳統(tǒng)模型預(yù)測誤差較大的問題,使模型誤差整體符合ISO 8559-1[29]中規(guī)定的人體著裝圍度尺寸最大誤差需求(小于4 cm)。并且整個過程中無需手工操作,提升了模型的普適性。圖9為超橢圓曲線法、多元函數(shù)模型、GA-BP神經(jīng)網(wǎng)絡(luò)模型和UGA-BP-MC模型針對隨機(jī)抽取的10組各部位樣本的預(yù)測結(jié)果分析。

Table 5 Comparative analysis of predicted values of different models表5 不同模型預(yù)測值對比分析

Figure 9 Prediction curves of different models圖9 不同模型預(yù)測值曲線
為進(jìn)一步分析本文建立模型的預(yù)測精度,采用均方根誤差(RMSE)、平均絕對百分比(MAPE)和誤差絕對值均值(MAE)對模型的性能進(jìn)行評價,如式(8)~式(10)所示。具體性能指標(biāo)對比如表6所示。
(8)
(9)
(10)

通過圖9和表6可知,雖然UGA-BP-MC增加了時間損耗,但是相對于超橢圓曲線法、多元函數(shù)模型、GA-BP模型,平均誤差分別減少了2.8 cm,1.62 cm和0.94 cm。并且,UGA-BP-MC模型針對各部位的最大誤差不超過4 cm,小于人體著裝圍度的最大誤差。并且相對于傳統(tǒng)算法,UGA-BP-MC模型各個部位的RMSE、MAPE和MAE都有著一定的提升,具體數(shù)值如表7所示。

Table 6 Performance analysis of different models表6 不同模型性能分析

Table 7 Comparison of prediction accuracy of each prediction model表7 各預(yù)測模型預(yù)測精度比較
本文提出了一種UGA-BP-MC神經(jīng)網(wǎng)絡(luò)模型并用于人體三維尺寸預(yù)測中,通過改進(jìn)GA算法的交叉概率和變異概率解決了傳統(tǒng)GA算法在迭代后期局部尋優(yōu)能力差的問題;然后基于UGA算法確定BP神經(jīng)網(wǎng)絡(luò)模型的自身網(wǎng)絡(luò)結(jié)構(gòu)和優(yōu)化初始權(quán)值和閾值;接下來,利用馬爾科夫殘差模型對UGA-BP的預(yù)測值進(jìn)行修正,解決了傳統(tǒng)GA-BP模型預(yù)測值誤差較大的問題。
實(shí)驗(yàn)選取實(shí)地拍攝的210組樣本(包括學(xué)生、警察、法院工作人員)對GA-BP-MC模型的精確性、魯棒性和實(shí)時性進(jìn)行了論證。實(shí)驗(yàn)結(jié)果表明,UGA-BP-MC神經(jīng)網(wǎng)絡(luò)模型預(yù)測的平均誤差為±2.15 cm,最大誤差為-3.88 cm,單個樣本耗時不超過1.4 s。在滿足移動終端對實(shí)時性要求的同時,相對于傳統(tǒng)模型,UGA-BP-MC神經(jīng)網(wǎng)絡(luò)模型在尺寸預(yù)測的精度上有著顯著的提升,使預(yù)測誤差范圍小于人體著裝圍度的最大誤差要求。
BP神經(jīng)網(wǎng)絡(luò)雖然結(jié)構(gòu)簡單,時間消耗少,但相對于RBF或Elman神經(jīng)網(wǎng)絡(luò),其全局穩(wěn)定性較弱,并且粒子群優(yōu)化算法和新提出的鯨魚優(yōu)化算法相對于傳統(tǒng)GA算法有著更優(yōu)的尋優(yōu)能力,因此下一步將會對提出的2個改進(jìn)方向進(jìn)行實(shí)驗(yàn)研究,尋找更優(yōu)的人體圍度尺寸預(yù)測模型。