鄧中民, 王健愷, 靳曉凝, 魏宛彤, 于東洋, 柯 薇
(1. 武漢紡織大學(xué) 省部共建紡織新材料與先進(jìn)加工技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室, 湖北 武漢 430200;2. 武漢紡織大學(xué) 服裝學(xué)院, 湖北 武漢 430200)
傳統(tǒng)的手工測(cè)量人體尺寸的方法費(fèi)時(shí)費(fèi)力[1],三維的物理測(cè)量方法如掃描法,光、機(jī)、電法又成本過高[2],測(cè)量繁瑣。隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,出現(xiàn)了許多基于二維圖像的非接觸式人體尺寸檢測(cè)方法。在二維圖像測(cè)量人體尺寸的方法中,人體特征點(diǎn)的選取影響著最終的檢測(cè)結(jié)果,因而特征點(diǎn)選取的準(zhǔn)確性是十分重要的。
肩部特征點(diǎn)是人體特征點(diǎn)的重要組成部分之一,對(duì)于服裝的廓形選取具有較大影響。人體肩部存在肩高點(diǎn)和肩峰點(diǎn)2個(gè)生理特征點(diǎn),肩高點(diǎn)為肩部與頸部連接處的點(diǎn),肩峰點(diǎn)為肩胛骨的肩峰外側(cè)上最突出的點(diǎn)。本文主要研究肩峰點(diǎn)(下文以肩部特征點(diǎn)代指)的檢測(cè)以及肩寬的測(cè)量方法。目前對(duì)于肩部特征點(diǎn)的檢測(cè)方法主要有基于人體比例的特征點(diǎn)檢測(cè)方法[3]、基于腋下特征點(diǎn)平移近似替代方法[4-5]、基于肩部形狀估計(jì)的檢測(cè)方法[6-7]、基于人體輪廓編碼的特征點(diǎn)檢測(cè)方法[8]。前面3種檢測(cè)方法通過劃分人體的各個(gè)區(qū)域,在肩部區(qū)域中粗略檢測(cè)肩部關(guān)鍵點(diǎn),這些方法速度快,但適應(yīng)性差,容易受體型影響導(dǎo)致肩部特征點(diǎn)偏移,從而產(chǎn)生較大的誤差。基于人體輪廓編碼的特征點(diǎn)檢測(cè)方法則是將肩部輪廓轉(zhuǎn)化為一串鏈碼,并按指定的鏈碼規(guī)則提取特征點(diǎn),該方法提取的肩部特征點(diǎn)具有良好的獨(dú)立性,但特征點(diǎn)過多,容易造成誤檢或漏檢[9]。
本文基于人體輪廓編碼的思想提出了一種改進(jìn)的肩部特征點(diǎn)檢測(cè)算法,通過人物在圖像中的大小確定特征鏈碼串長(zhǎng)度,在以人體比例劃分出的肩部區(qū)域中,由上至下動(dòng)態(tài)搜索鏈碼規(guī)則的特征鏈碼串,并在符合鏈碼規(guī)則的特征鏈碼串中根據(jù)特征碼值規(guī)則進(jìn)行篩選,得到最終的肩部特征點(diǎn)。本文方法在快速和具有良好獨(dú)立性的基礎(chǔ)上,極大地減少了誤檢和漏檢的情況,提高了特征點(diǎn)檢測(cè)的準(zhǔn)確性。
本文提出的肩部特征點(diǎn)檢測(cè)方法流程如下:
圖像采集→弱化陰影→分離背景→閾值分割→肩寬計(jì)算→特征點(diǎn)檢測(cè)→輪廓提取→形態(tài)學(xué)運(yùn)算。
圖像的選取決定了后續(xù)的檢測(cè)結(jié)果,為獲得完整的人體輪廓,圖像的采集需要在一定的環(huán)境條件下進(jìn)行,具體選擇條件如下:
1)白色墻面為背景,被拍者身穿與背景色差較明顯的衣服,且被拍攝者距離背景墻一定距離以減弱陰影對(duì)圖像的影響;
2)拍照時(shí),被拍者兩腳與肩同寬,雙手張開,與身體形成一定的夾角。
1.2.1 圖像陰影的弱化
獲取圖像后,為減小陰影對(duì)圖像處理造成的影響[10],將圖像轉(zhuǎn)化到hsv空間,通過高斯濾波對(duì)圖像明度進(jìn)行平滑調(diào)整,進(jìn)一步減弱光照不勻帶來的影響,效果如圖1所示。
圖1 高斯濾波平滑處理前后效果對(duì)比圖Fig. 1 Comparison diagram of effects before (a) and after (b) Gaussian filter smoothing
1.2.2 人物背景分離
在去除光照不勻帶來的影響后,將圖像進(jìn)行R、G、B單通道提取。三通道圖像中某種顏色在某個(gè)通道上顯示越亮,代表該顏色在該通道顏色分量越重。由于背景為白色,因而選取B通道提取圖像為目標(biāo)圖像,在該通道下,淺色衣服和皮膚由于顏色分量較小而呈深色,雖然深色衣服會(huì)變得更亮,但人物整體與背景的色差仍比較明顯(見圖2)。實(shí)驗(yàn)結(jié)果表明,圖像提取能夠?qū)θ说钠つw和背景進(jìn)行有效分離,從而達(dá)到后續(xù)操作圖像分割的最佳分割效果。
圖2 單通道提取效果圖Fig. 2 Single channel extraction rendering. (a) Treatment of uneven illumination; (b) R channel extraction; (c) G channel extraction; (d) B channel extraction
圖3為閾值分割效果圖??煽闯?沒有進(jìn)行單通道提取時(shí),皮膚因光線照射使得與背景墻的色差不明顯,導(dǎo)致分割得到的結(jié)果存在較大誤差,而B通道提取后的圖片,人物與背景的色差明顯,得到的分割效果較好。
圖3 閾值分割效果圖Fig. 3 Threshold segmentation rendering. (a) Original drawing; (b) Direct segmentation; (c) Segmentation by B channel extraction
1.2.3 輪廓提取
分割后的圖像經(jīng)過形態(tài)學(xué)運(yùn)算、圖像填充、最大面積圖像提取和邊緣提取操作后,得到最終的人體輪廓圖(見圖4)。
圖4 人體輪廓圖Fig. 4 Outline of human body
在得到人體輪廓圖中,仍會(huì)存在一定數(shù)量的像素角(某個(gè)白色像素的橫向和縱向都存在與之相鄰的白色像素點(diǎn),且3個(gè)像素點(diǎn)組成了1個(gè)白色像素角),如圖5所示。而像素角的存在會(huì)影響鏈碼遍歷操作,使得遍歷的特征鏈碼串中增加冗余的碼值,從而使特征不明顯。為解決這個(gè)問題,對(duì)圖像進(jìn)行細(xì)化操作,并對(duì)八鏈碼的方向進(jìn)行了優(yōu)先級(jí)設(shè)置(見圖6)。
圖5 像素角Fig. 5 Pixel angle
圖6 遍歷優(yōu)先級(jí)設(shè)置Fig. 6 Traversal priority setting
對(duì)得到的人體輪廓圖進(jìn)行八鏈碼編碼,對(duì)原有的人體輪廓編碼的人體關(guān)鍵點(diǎn)檢測(cè)方法進(jìn)行改進(jìn),使用改進(jìn)的鏈碼檢測(cè)算法,對(duì)肩部特征點(diǎn)進(jìn)行搜索。改進(jìn)的鏈碼檢測(cè)算法如下:
首先采取人體頭身比例定位的方法粗略定位頭身分界點(diǎn)A(x,y),并從該點(diǎn)逐步向下遍歷,創(chuàng)建特征鏈碼串M用于存儲(chǔ)遍歷得到的鏈碼。通過測(cè)試得知,所取得的特征鏈碼串長(zhǎng)度i與人像大小有關(guān)。
i=Iwαx+Ihαy
式中:Iw、Ih為人物外接矩形的長(zhǎng)和寬;αx、αy為橫向和縱向的比例因子。
初始的特征鏈碼串為
M(m1,m2,…,mi)=0
在遍歷像素點(diǎn)時(shí),引入偏移量Δxn和Δyn來記錄當(dāng)前像素點(diǎn)(從初始點(diǎn)遍歷n次得到,且n
設(shè)符合特征的碼值集合為Q1,不符合特征的碼值集合為Q2,當(dāng)前(從初始點(diǎn)遍歷n次得到,且n
當(dāng)搜索到的特征鏈碼串中每個(gè)鏈碼都屬于Q1時(shí),停止搜索,并對(duì)特征鏈碼串進(jìn)行遍歷,找到鏈碼串中有快速下降趨勢(shì)特征的第1個(gè)特征鏈碼,且將初始點(diǎn)移至具有該特征鏈碼的第1個(gè)點(diǎn)。設(shè)該鏈碼為特征鏈碼串中的第n個(gè),則有:
執(zhí)行完該算法后,得到選取點(diǎn)(x,y),則點(diǎn)(x,y)為所找到的單邊肩部特征點(diǎn),同理可得另一邊肩部特征點(diǎn)(x′,y′)。
確定肩部特征點(diǎn)后,肩寬的定義有2種:線段長(zhǎng)度的計(jì)算和兩點(diǎn)之間的距離計(jì)算,本文采用兩點(diǎn)之間的距離計(jì)算肩寬為
由上述算法檢測(cè)到的肩部特征點(diǎn)效果圖如圖7所示。且在實(shí)驗(yàn)過程中,還可通過人物的側(cè)面照得到人物身高數(shù)據(jù),以輔助驗(yàn)證人物肩寬數(shù)據(jù)的可靠性。在拍攝正面人體圖像的同時(shí),對(duì)同一位置進(jìn)行側(cè)面人體圖像的拍攝(腳后跟點(diǎn)在同一位置),進(jìn)而檢測(cè)出被拍攝者的身高。本文對(duì)100名測(cè)試者(50男/50女)拍攝樣本圖片并進(jìn)行肩部關(guān)鍵點(diǎn)提取和肩寬計(jì)算,并隨機(jī)抽取10條實(shí)驗(yàn)結(jié)果(見表1)。
表1 肩部特征點(diǎn)檢測(cè)Tab. 1 Shoulder feature point detection
圖7 肩部特征點(diǎn)檢測(cè)效果圖Fig. 7 Shoulder feature point detection rendering
從圖7和表1可看出,本文改進(jìn)的肩部特征點(diǎn)檢測(cè)算法最大誤差在3%左右,考慮到被測(cè)者穿著服裝等影響,該誤差在合理范圍內(nèi),即表明本文改進(jìn)算法能夠很好地檢測(cè)到人體的肩部特征點(diǎn),且在檢測(cè)速度快的基礎(chǔ)上,又能很好保證檢測(cè)結(jié)果的準(zhǔn)確性,做到不誤檢、不漏檢。
本文通過對(duì)被拍攝者的拍攝姿勢(shì)進(jìn)行調(diào)整、高斯濾波平滑去除光照不勻影響、單通道提取、形態(tài)學(xué)運(yùn)算和輪廓提取等一系列操作提取出完整的人體輪廓,并提出了一種基于八鏈碼改進(jìn)的肩部特征點(diǎn)檢測(cè)算法,通過判斷部位特征結(jié)合下降趨勢(shì)的判斷方法,提取了人體肩部特征點(diǎn),對(duì)人體肩寬進(jìn)行了計(jì)算。在實(shí)驗(yàn)中,對(duì)100人進(jìn)行測(cè)試,在誤差允許的范圍內(nèi)準(zhǔn)確檢測(cè)到了人體肩部特征點(diǎn),表明本文方法具有良好的魯棒性且檢測(cè)數(shù)據(jù)準(zhǔn)確度高,能適用于人體圍度的計(jì)算。隨著信息技術(shù)的發(fā)展,線上購物的形式越來越受到人們的歡迎,但是對(duì)于服裝尺碼沒有推薦的標(biāo)準(zhǔn),本文提出的肩部測(cè)量方法,可通過照片測(cè)量人體肩部關(guān)鍵數(shù)據(jù),為上衣的個(gè)性化定制提供準(zhǔn)確參考,提高消費(fèi)者的網(wǎng)上購物信心,為服裝銷售提供技術(shù)支持。