本發(fā)明涉及服裝定制領(lǐng)域,尤其涉及一種基于切面點(diǎn)云的領(lǐng)圍測量方法。
背景技術(shù):
在服裝制衣領(lǐng)域,目前人體測量方法主要分為手工式和非接觸式,手工式是指利用皮尺等丈量工具,按照一定的丈量規(guī)則對人體的各部分參數(shù)進(jìn)行測量,這是使用比較廣泛的一種方法,該方法操作簡單,工具簡易,但測量時間長,效率低下,并且測量雙方會有身體接觸的尷尬。非接觸式測量是指利用光學(xué)掃描,攝像機(jī)成像的方法來獲得被測量人體的數(shù)據(jù),具有速度快,自動化程度高等優(yōu)點(diǎn),但測量設(shè)備造價高,目前使用并未普及。主要有莫爾條紋法、激光測量法、白光相位法、紅外線測量法和立體攝像測量法。
現(xiàn)在人體尺寸和形體測量中的挑戰(zhàn)性問題是三維人體點(diǎn)云數(shù)據(jù)的處理,尤其人體特征界標(biāo)的確定、體型分析與比較等技術(shù)。關(guān)于人體特征界標(biāo)的找取算法,最早出現(xiàn)的是1998年由Clemson大學(xué)的Roy P.Parges提出了半自動提取人體特征點(diǎn)的算法,掃描前手動標(biāo)出特征點(diǎn),然后再自動提取這些突出點(diǎn);之后,提出了改進(jìn)的半自動提取算法,利用彩色CCD采取RGB信息,人體特征點(diǎn)可利用三維點(diǎn)云數(shù)據(jù)的彩色信息得到,該算法準(zhǔn)確度高重復(fù)性差,但不適合大型測量,可作為校驗(yàn)用;2000年Buxton提出利用人體輪廓的幾何信息,如進(jìn)行人體表面和曲線擬合等算法后再根據(jù)人體體型進(jìn)行找取特征點(diǎn),國內(nèi)也于2005年也是根據(jù)曲線擬合找取人體特征點(diǎn),但該算法復(fù)雜、費(fèi)時;Allen,Curless于2003年提出了模板映射方法,該算法實(shí)用性差,需要有復(fù)雜的三維人體數(shù)據(jù)庫。相比較而言,國內(nèi)對人體特征點(diǎn)找取算法的研究較少。東華大學(xué)、中科院、重慶大學(xué)、浙江大學(xué)等因?yàn)槠渌芯啃枰獙θ梭w特征點(diǎn)的找取算法進(jìn)行了不同的研究,基本是基于三維重建后的人體模型,測得值存在較大誤差。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有問題,本發(fā)明提供了一種基于切面點(diǎn)云的領(lǐng)圍測量方法,借助體感采集設(shè)備采集需要測量的人體三維RGB-D格式的點(diǎn)云集,利用平滑濾波、極坐標(biāo)統(tǒng)計(jì)、凸包計(jì)算及最小圍度搜索法,來獲得最優(yōu)領(lǐng)圍的圍度值。
本發(fā)明可通過以下技術(shù)方案實(shí)現(xiàn):
一種基于切面點(diǎn)云的領(lǐng)圍測量方法,其特征在于,包括:
步驟一、根據(jù)體感采集設(shè)備采集人體三維的RGB-D格式的點(diǎn)云集,將上半身的點(diǎn)云集投影至YOZ面,確定領(lǐng)圍的后頸點(diǎn)P和前頸點(diǎn)Q,進(jìn)而得到基準(zhǔn)領(lǐng)圍切面PQ;
步驟二、對離所述基準(zhǔn)領(lǐng)圍切面PQ有一定距離閾值的點(diǎn)云集進(jìn)行平滑濾波,去除噪聲點(diǎn);
步驟三、利用極坐標(biāo)統(tǒng)計(jì)方法對平面濾波后的點(diǎn)云集進(jìn)行計(jì)算,得到最終領(lǐng)圍的圍度值L;
步驟四、利用區(qū)域最小L搜索法,得到最優(yōu)領(lǐng)圍的圍度值Lobj
進(jìn)一步,所述步驟一中確定領(lǐng)圍的后頸點(diǎn)P和前頸點(diǎn)Q的方法包括:
步驟Ⅰ,在YOZ平面上,搜索最大Y點(diǎn)位置Ymax、最小Y點(diǎn)位置Ymin;
步驟Ⅱ,將平面點(diǎn)云集沿Y方向分割成N個切面位置,針對每個切片點(diǎn)yk,k∈[1,N]位置,分別搜索Z最大值和最小值,分別得到兩條曲線zmin=f1(yk),k∈[1,N],zmax=f2(yk),k∈[1,N];
步驟Ⅲ、在有向夾角θ的矢量長度不小于0.05的前提下,沿著zmin曲線向下搜索,計(jì)算各點(diǎn)的所述有向夾角θ,當(dāng)所述有向夾角θ為全局極小值時,該點(diǎn)即為后頸點(diǎn)P;
步驟Ⅳ,計(jì)算zmax曲線中各點(diǎn)與zmin曲線中后頸點(diǎn)P的距離,距離最小的點(diǎn)為前頸點(diǎn)Q。
進(jìn)一步,所述步驟二中的平滑濾波的方法包括:
步驟ⅰ、計(jì)算任一空間點(diǎn)到基準(zhǔn)領(lǐng)圍切面PQ的距離閾值D,在一定距離閾值D范圍內(nèi)的切面點(diǎn)云集表示為:
R={rs=(xs,ys,zs)|D≤Dthr,s∈[1,M]},
其中M為所述切面點(diǎn)云集的個數(shù),Dthr為點(diǎn)云至所述基準(zhǔn)領(lǐng)圍切面PQ的距離閾值;
步驟ⅱ、對于所述切面點(diǎn)云集中任一點(diǎn)rs=(xs,ys,zs),相鄰點(diǎn)云個數(shù)的統(tǒng)計(jì)為:
d為領(lǐng)域距離閾值;
步驟ⅲ、在相鄰點(diǎn)云集中,先計(jì)算任意兩個點(diǎn)的距離,再計(jì)算平均距離Ls,則所述平均距離Ls表示為,
濾波后的點(diǎn)云集表示為:
Rf1={rs=(xs,ys,zs),s∈[1,Nf]|Ns>Nthr,Ls>Lthr},其中Nf為濾波后的點(diǎn)云個數(shù),Nthr表示相鄰點(diǎn)云個數(shù)閾值,Lthr表示平均距離閾值。
進(jìn)一步,所述步驟三中極坐標(biāo)統(tǒng)計(jì)的方法包括:
Step1:先對Rf1點(diǎn)云集中的所有點(diǎn)的X坐標(biāo)值、Y坐標(biāo)值和Z坐標(biāo)值分別求和,再取平均值,得到Rf1點(diǎn)云集中心點(diǎn)rc=(xc,yc,zc),
Step2:沿所述中心點(diǎn)做一圈共360個徑向分格,每個柵格為1°,計(jì)算每個所述柵格內(nèi)離所述中心點(diǎn)rc的最遠(yuǎn)點(diǎn)、點(diǎn)總數(shù)和平均距離,則最遠(yuǎn)點(diǎn)點(diǎn)集、點(diǎn)總數(shù)函數(shù)及平均距離點(diǎn)點(diǎn)集分別表示為Lmax(t)、Ln(t)和Lmean(t),其中t∈[1,360],則最優(yōu)切面點(diǎn)云集表示為:
Lo(t)=Lmean(t)+coef*(Lmax(t)-Lmean(t)),其中coef為加權(quán)系數(shù),
對Lo(t)先進(jìn)行平滑濾波,再進(jìn)行凸包計(jì)算,進(jìn)而最終領(lǐng)圍的圍度值L表示為:
其中Nnull為凸包點(diǎn)總數(shù)。
進(jìn)一步,所述步驟四中區(qū)域最小搜索法包括:
Step?。憾x所述的基準(zhǔn)領(lǐng)圍切面為(Yb,θb),則搜索切面為(Yb±ΔY,θb±Δθ);
Stepⅱ:利用如權(quán)利要求4所述的極坐標(biāo)統(tǒng)計(jì)方法,對每個所述的搜索切面重新計(jì)算所述的最終領(lǐng)圍的圍度值,比較得到最小值即為最優(yōu)圍度值Lobj,其中,
本發(fā)明有益的技術(shù)效果在于:
利用計(jì)算機(jī)程序自動找取后頸點(diǎn)和前頸點(diǎn),無需事先標(biāo)記特征點(diǎn),利用平滑濾波和極坐標(biāo)統(tǒng)計(jì),得到最終領(lǐng)圍的圍度值,再結(jié)合最小搜索法對其進(jìn)行優(yōu)化,進(jìn)而獲得最優(yōu)圍度值,可實(shí)現(xiàn)快速精確測量,重復(fù)性好的效果。
附圖說明
圖1為本發(fā)明的流程圖;
圖2為頸部特征點(diǎn)提取示意圖。
具體實(shí)施方式
下面結(jié)合附圖,對本發(fā)明的具體實(shí)施例做進(jìn)一步闡述。
圖1為本發(fā)明的流程圖,如圖所示,一種基于切面點(diǎn)云的領(lǐng)圍測量方法,包括如下步驟:
1.基準(zhǔn)領(lǐng)圍切面的基本定位:
步驟Ⅰ,根據(jù)體感采集設(shè)備采集人體三維的RGB-D格式的點(diǎn)云集,將上半身的點(diǎn)云集投影至YOZ面,如圖2所示;
步驟Ⅱ,在YOZ平面上,搜索最大Y點(diǎn)位置Ymax、最小Y點(diǎn)位置Ymin;
步驟Ⅲ,將平面點(diǎn)云集沿Y方向分割成N個切面位置,針對每個切片點(diǎn)yk,k∈[1,N]位置,分別搜索Z最大值和最小值,分別得到兩條曲線zmin=f1(yk),k∈[1,N],zmax=f2(yk),k∈[1,N];
步驟Ⅳ、在有向夾角θ的矢量長度不小于0.05的前提下,沿著zmin曲線向下搜索,計(jì)算各點(diǎn)的所述有向夾角θ,當(dāng)所述有向夾角θ為全局極小值時,該點(diǎn)即為后頸點(diǎn)P;
步驟Ⅴ,計(jì)算zmax曲線中各點(diǎn)與zmin曲線中后頸點(diǎn)P的距離,距離最小的點(diǎn)為前頸點(diǎn)Q。
2.單切面領(lǐng)圍的計(jì)算
由于體感采集設(shè)備采集點(diǎn)云時存在很多噪聲,本發(fā)明采用基于統(tǒng)計(jì)分析的極坐標(biāo)圓采用法進(jìn)行圍度計(jì)算。
⑴平滑濾波:先統(tǒng)計(jì)各點(diǎn)一定領(lǐng)域內(nèi)的點(diǎn)云數(shù),如果數(shù)目大約設(shè)定數(shù)且領(lǐng)域內(nèi)點(diǎn)云平均距離小于設(shè)定值,則保留該點(diǎn)云,否則濾除。
假設(shè)將每個點(diǎn)云定義為qw=(xw,yw,zw),表示第w個空間點(diǎn)坐標(biāo)。
切面點(diǎn)云定義:
任一平面可定義為(x-qw)·nw=0,nw=(nx,ny,nz)為qw點(diǎn)處的法線矢量,則該平面方程可表示為xnx+yny+znz+a=0,a=-(xwnx+ywny+zwnz)。D為點(diǎn)(x,y,z)至該平面距離:
步驟ⅰ、計(jì)算點(diǎn)云集中任一空間點(diǎn)到基準(zhǔn)領(lǐng)圍切面PQ的距離D,在一定距離D范圍內(nèi)的切面點(diǎn)云集表示為:
R={rs=(xs,ys,zs)|D≤Dthr,s∈[1,M]},
其中M為該切面點(diǎn)云集的個數(shù),Dthr為點(diǎn)云至該平面投影距離閾值;
步驟ⅱ、對于所述切面點(diǎn)云集中任一點(diǎn)rs=(xs,ys,zs),一定領(lǐng)域范圍內(nèi)的相鄰點(diǎn)云個數(shù)的統(tǒng)計(jì)為:
d為領(lǐng)域距離閾值;
步驟ⅲ、利用如下方程式,計(jì)算平均距離Ls,
則濾波后的點(diǎn)云集表示為:
Rf1={rs=(xs,ys,zs),s∈[1,Nf]|Ns>Nthr,Ls>Lthr},其中Nf為濾波后的點(diǎn)云個數(shù),Nthr表示相鄰點(diǎn)云個數(shù)閾值,Lthr表示平均距離閾值。
⑵極坐標(biāo)統(tǒng)計(jì)的方法如下:
Step1:利用以下方程式,計(jì)算Rf1的中心點(diǎn)rc=(xc,yc,zc),
Step2:沿所述中心點(diǎn)做一圈共360個徑向分格,每個柵格為1°,計(jì)算每個所述柵格內(nèi)離所述中心點(diǎn)rc的最遠(yuǎn)點(diǎn)、點(diǎn)總數(shù)和平均距離,則最遠(yuǎn)點(diǎn)點(diǎn)集、點(diǎn)總數(shù)函數(shù)及平均距離點(diǎn)點(diǎn)集分別表示為Lmax(t)、Ln(t)和Lmean(t),其中t∈[1,360],則最優(yōu)切面點(diǎn)云集表示為:
Lo(t)=Lmean(t)+coef*(Lmax(t)-Lmean(t)),其中coef為加權(quán)系數(shù),0≤coef≤1,優(yōu)選coef=0.5。
對Lo(t)先進(jìn)行一定長度的平滑濾波,得到Lof(t),再對之進(jìn)行凸包計(jì)算,得到凸包點(diǎn)云集Lnull(t):{pj=(xj,yj,zj),j∈[1,Nnull]},Nnull為凸包點(diǎn)數(shù),作為最終圍度計(jì)算曲線。
進(jìn)而利用以下方程式,得到最終領(lǐng)圍的圍度值L。
3.最優(yōu)領(lǐng)圍的定位與計(jì)算
考慮到個體差異,最優(yōu)領(lǐng)圍的計(jì)算采取領(lǐng)圍區(qū)域最小搜索法,具體方法為:
在基準(zhǔn)領(lǐng)圍切面PQ位置,進(jìn)行垂直方向±ΔY及±Δθ的切面搜索;
假設(shè)基準(zhǔn)領(lǐng)圍切面PQ的位置為(Yb,θb),則搜索切面為(Yb±ΔY,θb±Δθ),按照上文所述的極坐標(biāo)統(tǒng)計(jì)方法重新計(jì)算每個搜索切面的圍度值,得到最小的圍度值即為最優(yōu)領(lǐng)圍值:
雖然以上描述了本發(fā)明的具體實(shí)施方式,但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這些僅是舉例說明,在不背離本發(fā)明的原理和實(shí)質(zhì)的前提下,可以對這些實(shí)施方式做出多種變更或修改,因此,本發(fā)明的保護(hù)范圍由所附權(quán)利要求書限定。