本發(fā)明屬于服裝定制、3D數(shù)據(jù)處理的交叉領(lǐng)域,具體涉及一種將掃描后的3D模型數(shù)據(jù)進行科學(xué)化提取形成制衣數(shù)據(jù)的系統(tǒng)。
背景技術(shù):
傳統(tǒng)的服裝行業(yè),成衣襯衫與定制襯衫存在著巨大的成本差異,進而導(dǎo)致了較大的零售差價,這主要是有以下幾個方面造成的:第一,工廠生產(chǎn)成衣襯衫可以進行批量化生產(chǎn),其成本更容易控制;第二,量體人員稀缺并且水平差異巨大,好的量體人員流動性又很大,雇傭成本偏高。水平不高的量體人員還會導(dǎo)致返修率增加進一步地提高了定制襯衫的成本。
近年來,一方面,有少量的服裝企業(yè)開始著手改造生產(chǎn)線,使得定制襯衫的生產(chǎn)流水線化,降低了定制襯衫的生產(chǎn)成本,使得從服裝工廠個性化地進行襯衫定制成為可能。
但是,另一方面,定制的另一個重要環(huán)節(jié)即量體依然采用原始的生產(chǎn)邏輯,即專業(yè)的量體員上門提供量體服務(wù),將量得的尺寸記下,告訴廠商生產(chǎn),最終采用快遞的方式交付襯衫。這一環(huán)節(jié)中存在巨大的提升效率的空間:首先,量體人員可以進行精簡,一個沒有經(jīng)過服裝訓(xùn)練的普通人,通過本申請人同時開發(fā)的專用掃描系統(tǒng)即可以通過掃描設(shè)備將消費者的3D數(shù)據(jù)模型上傳到服務(wù)器,而有經(jīng)驗的量體人員可以在后臺通過半自動交互的方式,使用本發(fā)明的技術(shù)方案進行人體體態(tài)數(shù)據(jù)的量取,這種方式省去了量體人員上門的過程,大大提高了量體效率并降低了量體成本。
第三方面,這種相對集中化、規(guī)范化、模式化的量體人員管理,可以進一步降低量體員量體中的個體差異,提高定制襯衫的合體度。這大幅節(jié)約了定制襯衫的定制成本。此外,人體體態(tài)數(shù)據(jù)的在線管理也使得人們進行個性化定制襯衫變得更為便捷、價格低廉。目前,尚沒有一個發(fā)明可以進行上述功能,本發(fā)明解決在線定制襯衫這一技術(shù)難題提供了重要的幫助作用。
技術(shù)實現(xiàn)要素:
提供一種3D模型量體系統(tǒng)及襯衫個性化定制3D模型量體系統(tǒng),本發(fā)明將量體裁衣中“量體”這一核心環(huán)節(jié)進行集中化、數(shù)據(jù)化、半自動化管理,提高服裝定制效率,特別是試圖提高現(xiàn)有襯衫定制的效率,節(jié)約襯衫定制所需的人工成本,進一步地還可提高個性化定制的合體性。
本發(fā)明的技術(shù)方案包括:
一種3D模型量體系統(tǒng),3D模型量體系統(tǒng)運行在設(shè)有人機交互裝置的電子裝置上,電子裝置與互聯(lián)網(wǎng)連接,3D模型量體系統(tǒng)包括依次連接的3D模型預(yù)處理單元、3D模型半自動化測量單元、量體數(shù)據(jù)在線管理單元,具體地:
3D模型預(yù)處理單元,將經(jīng)3D掃描得到的模型從互聯(lián)網(wǎng)或電子介質(zhì)下載到本地服務(wù)器,并進行格式轉(zhuǎn)化、補洞以及平滑等簡單的預(yù)處理步驟,然后進入3D模型半自動化測量單元;
3D模型半自動化測量單元,處理好的模型數(shù)據(jù)被讀入圖形界面,通過人工標(biāo)定人體模型關(guān)鍵點,得到定制服裝所需的人體體態(tài)數(shù)據(jù),然后將數(shù)據(jù)發(fā)送給量體數(shù)據(jù)在線管理單元;
量體數(shù)據(jù)在線管理單元,將所得到的人體體態(tài)數(shù)據(jù)上傳到互聯(lián)網(wǎng)服務(wù)器,并與用戶信息進行關(guān)聯(lián);或?qū)⑺玫降娜梭w體態(tài)數(shù)據(jù)通過電子介質(zhì)傳送到使用該數(shù)據(jù)的接收端,并與用戶信息進行關(guān)聯(lián)。
進一步地,
所述的3D模型半自動化測量單元通過人機交互裝置采用交互式測量方式生成測量最終數(shù)據(jù);
電子裝置包括相連接的人機交互裝置、運算器、存儲器,人機交互裝置包括圖形顯示界面、數(shù)據(jù)交互界面、交互裝置,通過交互裝置在圖形顯示界面上移動并點選而生成特征點,特征點的3D坐標(biāo)值以及數(shù)據(jù)交互界面的輸入數(shù)據(jù)及操作指令被發(fā)送給運算器、存儲器;
運算器的計算數(shù)據(jù)及圖形則通過圖形顯示界面、數(shù)據(jù)交互界面進行顯示,存儲器記錄測量后的各體圍數(shù)據(jù)值。
進一步地,
3D掃描得到的模型先上傳到云端服務(wù)器上,3D模型預(yù)處理單元從云端服務(wù)器上將模型數(shù)據(jù)下載下來進行預(yù)處理;
量體數(shù)據(jù)在線管理單元將所得到的人體體態(tài)數(shù)據(jù)上傳到云端服務(wù)器上并與用戶信息進行關(guān)聯(lián);量體數(shù)據(jù)在線管理單元還包括數(shù)據(jù)儲備模塊,將人體體圍數(shù)據(jù)進行存儲以備用;
3D模型半自動化測量單元的運算器中包括收縮算法模塊,收縮算法模塊中設(shè)計自動化算法為:第一步,對于一個給定的閉合曲線中的每一個離散點,取其周圍x個點構(gòu)成一條局部曲線,計算其曲率半徑;如果其曲率半徑小于二分之一的閉合曲線上各點到其重心的最小距離,則將這條局部曲線的重心點坐標(biāo)賦予這一坐標(biāo)點;迭代x’次,或者迭代直到兩次閉合曲線周長之間的差小于1e-6,則停止;第二步,依據(jù)橢圓方程擬合這條閉合曲線,得到橢圓的中心坐標(biāo),計算閉合曲線上各點到橢圓中心的距離,如果該距離大于二倍的這一點附近y個點所構(gòu)成的局部曲線的曲率半徑,則將局部曲線的重心坐標(biāo)賦予該點,迭代進行m次,得到一條新的閉合曲線;第三步,對于閉合曲線上每一點,賦予其周圍z個點所構(gòu)成的局部曲線的重心坐標(biāo),迭代n次,得到結(jié)果曲線,其中x,x’,y,z,m,n為可調(diào)整參數(shù);結(jié)果曲線即為生成的測量最終輪廓線。
進一步地,3D模型數(shù)據(jù)的預(yù)處理單元包括順序連接的如下模塊:
1)數(shù)據(jù)下載模塊:每隔一定時間,基于Scala、MySQL和Bash Shell同步云端服務(wù)器與本地服務(wù)器的3D模型數(shù)據(jù)庫,對于每一次掃描任務(wù),首先對數(shù)據(jù)ZIP壓縮包進行解壓,更新3D模型數(shù)據(jù)在數(shù)據(jù)庫中的狀態(tài)為未預(yù)處理,將掃描信息相關(guān)數(shù)據(jù)錄入數(shù)據(jù)庫,并下載3D模型數(shù)據(jù)至本地;
2)格式轉(zhuǎn)換模塊:將3D模型數(shù)據(jù)的格式由OBJ轉(zhuǎn)換為STL以備后續(xù)使用;
3)平滑模塊:基于拉普拉斯算子對3D模型進行預(yù)平滑,迭代次數(shù)為200;
4)補洞模塊:對3D模型進行補洞操作,使得模型表面完整;
5)再平滑模塊:基于拉普拉斯算子對3D模型數(shù)據(jù)進行再平滑,平滑迭代次數(shù)為200,得到預(yù)處理后數(shù)據(jù)。
進一步地,3D模型半自動化測量單元在進行12個體圍模塊的測量前,還包括矯正模型模塊、標(biāo)定特征標(biāo)定點模塊:
矯正模型模塊:被選取需要測量的3D模型數(shù)據(jù)調(diào)入人機交互界面后,如果模型因掃描原因造成模型并不針對水平地面呈直立狀態(tài),首先要將模型進行“擺正”操作,3D模型被調(diào)整到適當(dāng)角度,并保存更改,然后進入標(biāo)定特征標(biāo)定點模塊;
標(biāo)定特征標(biāo)定點模塊:在模型中,首先采用模型的背部,標(biāo)定左右肩點、左右 頸肩點以及第七頸椎點分別為特征標(biāo)志點,然后供后續(xù)各測量模塊使用。
進一步地,所述的運算器中包括胸圍測量模塊、中腰測量模塊、下擺測量模塊,胸圍測量模塊、中腰測量模塊、下擺測量模塊配置為:分別獲得被點選的胸圍、中腰以及下擺的標(biāo)志點的數(shù)據(jù),通過點選的點生成一個與地面平行的截面并計算截面周長,從而生成胸圍、中腰圍、下擺圍的數(shù)據(jù)及輪廓;胸圍測量模塊、中腰測量模塊和下擺測量模塊中采用收縮算法模塊進行處理。
進一步地,運算器中包括領(lǐng)圍測量模塊,領(lǐng)圍測量模塊配置為:獲得被點選的四個間隔的頸部標(biāo)志點,即人體頸部前點、人體頸部后點、人體頸部左點、人體頸部右點的數(shù)據(jù),其中,人體頸部前點、人體頸部后點和人體頸部左點形成一個平面,此平面與頸部相交形成一條輪廓線,取此輪廓線經(jīng)過人體頸部前點、后點和左點的一側(cè)的部分;人體頸部前點、人體頸部后點和人體頸部右點形成一個平面,此平面與頸部相交形成一條輪廓線,取此輪廓線經(jīng)過人體頸部前點、后點和右點的一側(cè)的部分,將兩個部分的曲線進行加和,生成領(lǐng)圍數(shù)據(jù)及輪廓。
進一步地,所述的運算器中包括臂圍測量模塊,臂圍測量模塊配置為:獲得手臂上任意兩點被點選的坐標(biāo),確定臂圍的法線,該任意兩點的連線近似與手臂平行,再獲得手臂上被點選的第三點的坐標(biāo),然后計算出第三個點左右設(shè)定距離處最粗的部分,得到初步輪廓線;所述的收縮算法模塊根據(jù)需要的收縮量不同進行分級,包括一級收縮算法單元、二級收縮算法單元,一級、二級收縮算法單元中的x,x’,y,z,m,n這6個參數(shù)的設(shè)定值均為根據(jù)需求進行分別設(shè)定,其中,如果初步輪廓線連接除手臂外的其他身體部分,則啟動二級收縮算法單元;如果初步輪廓線不連接除手臂外的其他身體部分,則啟動一級收縮算法單元;生成臂圍數(shù)據(jù)及輪廓。
進一步地,所述的運算器中包括的腕口測量模塊,腕口測量模塊配置為:獲得腕口上任意兩點被點選的坐標(biāo),確定腕口的法線,該任意兩點的連線近似與腕口側(cè)面平行,再獲得腕口上被點選的第三點的坐標(biāo),然后計算出第三個點左右設(shè)定距離處最細(xì)的部分,生成腕口數(shù)據(jù)及輪廓。
一種襯衫個性化定制3D模型量體系統(tǒng),其特征在于,采用上述的3D模型量體系統(tǒng),其中的3D模型半自動化測量單元的運算器中包括12個體圍測量模塊,分別是:胸圍測量模塊、中腰測量模塊、下擺測量模塊、領(lǐng)圍測量模塊、臂圍測量模塊、腕口測量模塊、臂長測量模塊、后衣長測量模塊、前肩寬測量模塊、后肩寬測量模塊、前腰節(jié)測量模塊、后腰節(jié)測量模塊;
臂長測量模塊,獲得肩點到手掌虎口處至少5個點的坐標(biāo),并計算折線長度,根據(jù)總長度減去系統(tǒng)設(shè)定值生成臂長數(shù)據(jù);
后衣長測量模塊,根據(jù)第七頸椎點到股溝的垂直弧線距離生成后衣長數(shù)據(jù)及輪廓,該弧線所在的平面垂直于左右肩點連線所構(gòu)成的法線;
前肩寬測量模塊配置為:啟動開始測量前肩寬,然后獲得被點選的鎖骨下沿處的前肩寬標(biāo)志點的坐標(biāo),啟動收縮算法模塊,生成經(jīng)過左、右肩點、前肩寬標(biāo)志點的半圓弧,該弧線周長為前肩寬的數(shù)據(jù),弧線輪廓為前肩寬輪廓;還可以啟動收縮算法模塊,得到去褶皺后的輪廓線;
后肩寬測量模塊配置為:啟動開始測量后肩寬,然后獲得被點選的第七頸椎點處的后肩寬標(biāo)志點的數(shù)據(jù),生成經(jīng)過左、右肩點、后肩寬標(biāo)志點的半圓弧,該弧線周長為后肩寬的數(shù)據(jù),弧線輪廓為后肩寬輪廓;
中腰測量模塊配置為:啟動開始測量中腰,獲得模型的腰腹部任意一點的坐標(biāo),啟動收縮算法模塊,自動計算該點上下各設(shè)定距離處最細(xì)的腰圍,生成中腰的輪廓與數(shù)值;
胸圍測量模塊配置為:啟動開始測量胸圍,獲得模型的腋下部位任意一點的坐標(biāo),生成初步輪廓線,初步輪廓線為與地面平行的截面圓周線,胸圍測量模塊配置為:通過人機互動裝置獲得被點選的胸圍任一標(biāo)志點的數(shù)據(jù),通過點選的點生成一個與地面平行的截面并計算截面周長,從而生成初步輪廓線,然后啟動收縮算法模塊,以去除衣物以及手臂遮擋的影響,生成近似實際的胸圍數(shù)據(jù);所述的收縮算法模塊根據(jù)需要的收縮量不同進行分級,包括一級收縮算法單元、二級收縮算法單元,一級、二級收縮算法單元的區(qū)別在于其中的x,x’,y,z,m,n這6個參數(shù)的設(shè)定值均為根據(jù)需求進行分別設(shè)定,其中,如果初步輪廓線連接手臂,則啟動二級收縮算法單元;如果初步輪廓線不連接手臂,則啟動一級收縮算法單元;產(chǎn)生最終的胸圍的輪廓與數(shù)據(jù);
前腰節(jié)測量模塊配置為:啟動開始測量前腰節(jié),依次獲取三點數(shù)據(jù):第一點是靠近頸肩點,第二點靠近胸最高點,第三點靠近在中腰線上,此三點須在人體同一側(cè),其計算分為兩部分,第一部分根據(jù)已經(jīng)標(biāo)記的胸最高點,形成一個垂直于左右肩點作為法線的平面,此平面與人體相交形成一條輪廓線,自動計算出該輪廓線上距上述第一點最近的點到胸最高點之間的最短周長距離。第二部分是胸最高點到中腰腰圍線的最短距離。第一部分與第二部分的長度和即為前腰節(jié)的長度數(shù)據(jù)及輪廓;
后腰節(jié)測量模塊為:啟動開始測量后腰節(jié),獲得第七頸椎點的坐標(biāo),再獲得中腰線上任意一點的坐標(biāo)而生成腰圍線,將第七頸椎點至腰圍線的弧面距離生成為后腰節(jié)長數(shù)據(jù)及輪廓。
本系統(tǒng)主要包括如下三方面功能:
1、3D模型預(yù)處理
2、3D模型半自動化測量
3、量體數(shù)據(jù)在線管理
其中3D模型在線預(yù)處理部分將3JKScanner(三件客掃描系統(tǒng))所掃描得到的模型從云端服務(wù)器下載到本地服務(wù)器,并進行格式轉(zhuǎn)化,補洞以及平滑等簡單的預(yù)處理步驟;
3D模型半自動化測量將處理好的模型數(shù)據(jù)讀入圖形界面,通過人工標(biāo)定人體模型特征點,快速地得到定制襯衫所需的12個人體體態(tài)數(shù)據(jù);
量體數(shù)據(jù)在線管理將所得到的人體體態(tài)數(shù)據(jù)上傳到云端服務(wù)器,并于用戶信息進行關(guān)聯(lián),并為進一步地基于人體數(shù)據(jù)的大數(shù)據(jù)分析做數(shù)據(jù)儲備。
本系統(tǒng)的開發(fā)與工作環(huán)境:基于Python2.7.3,NumPy,VTK,Bash Shell,MySQL以及Scala進行開發(fā),可以運行在安裝有上述軟件庫的類UNIX/Windows系統(tǒng)上。
附圖說明
圖1為本發(fā)明的襯衫個性化定制3D模型量體系統(tǒng)的一個實施例的流程圖;
圖2為本發(fā)明的3D模型量體系統(tǒng)的一個實施例的結(jié)構(gòu)圖;
圖3為本發(fā)明的3D模型量體系統(tǒng)的3D模型預(yù)處理單元的一個實施例的結(jié)構(gòu)示意圖;
圖4為本發(fā)明的3D模型量體系統(tǒng)的3D模型半自動化測量單元的一個實施例的結(jié)構(gòu)圖;
圖5為本發(fā)明的3D模型量體系統(tǒng)的一個實施例的矯正模型模塊的交互示意圖;
圖6為本發(fā)明的3D模型量體系統(tǒng)的一個實施例的標(biāo)定特征點模塊的交互示意圖;
圖7為本發(fā)明的3D模型量體系統(tǒng)的一個實施例的領(lǐng)圍測量模塊的交互示意圖;
圖8為本發(fā)明的3D模型量體系統(tǒng)的一個實施例的領(lǐng)圍測量模塊的生成輪廓線的示意圖;
圖9為本發(fā)明的3D模型量體系統(tǒng)的一個實施例的前肩寬測量模塊的交互示意圖;
圖10為本發(fā)明的3D模型量體系統(tǒng)的一個實施例的后肩寬測量模塊的交互示意圖;
圖11為本發(fā)明的3D模型量體系統(tǒng)的一個實施例的中腰測量模塊的交互示意圖;
圖12為本發(fā)明的3D模型量體系統(tǒng)的一個實施例的胸圍測量模塊的交互示意圖;
圖13為本發(fā)明的3D模型量體系統(tǒng)的一個實施例的下擺測量模塊的交互示意圖;
圖14為本發(fā)明的3D模型量體系統(tǒng)的一個實施例的臂圍測量模塊的交互示意圖;
圖15為本發(fā)明的3D模型量體系統(tǒng)的一個實施例的腕口測量模塊的交互示意圖;
圖16為本發(fā)明的3D模型量體系統(tǒng)的一個實施例的前腰節(jié)測量模塊的交互示意圖;
圖17為本發(fā)明的3D模型量體系統(tǒng)的一個實施例的后腰節(jié)測量模塊的交互示意圖;
圖18為本發(fā)明的3D模型量體系統(tǒng)的一個實施例的臂長測量模塊的交互示意圖;
圖19為本發(fā)明的3D模型量體系統(tǒng)的一個實施例的后衣長測量模塊的交互示意圖。
具體實施方式
現(xiàn)結(jié)合附圖及具體實施例對本發(fā)明作進一步地描述。
在以上的附圖中,實線為初步輪廓線,虛線為收縮后的最終輪廓線。
本系統(tǒng)基本邏輯為:定時批量下載待處理3D模型數(shù)據(jù)->在本地服務(wù)器執(zhí)行3D模型數(shù)據(jù)的預(yù)處理->在圖形界面中標(biāo)定量體所需特征點并得到人體體態(tài)數(shù)據(jù),特別是12個人體體態(tài)數(shù)據(jù)->上傳人體體態(tài)數(shù)據(jù)至云端服務(wù)器,并與對應(yīng)用戶進行關(guān)聯(lián),以滿足客戶在線定制,比如在線定制襯衫的需求。
本系統(tǒng)主要包括如下三方面功能:
1、3D模型預(yù)處理
2、3D模型半自動化測量
3、量體數(shù)據(jù)在線管理
其中3D模型在線預(yù)處理部分將3JKScanner(三件客掃描系統(tǒng))所掃描得到的模型從云端服務(wù)器下載到本地服務(wù)器,并進行格式轉(zhuǎn)化,補洞以及平滑等簡單的預(yù)處理步驟;
3D模型半自動化測量將處理好的模型數(shù)據(jù)讀入圖形界面,通過人工標(biāo)定人體模型特征點,快速地得到定制襯衫所需的12個人體體態(tài)數(shù)據(jù);
量體數(shù)據(jù)在線管理將所得到的人體體態(tài)數(shù)據(jù)上傳到云端服務(wù)器,并與用戶信息進行關(guān)聯(lián),并為進一步地基于人體數(shù)據(jù)的大數(shù)據(jù)分析做數(shù)據(jù)儲備。
本系統(tǒng)的開發(fā)與工作環(huán)境:基于Python2.7.3,NumPy,VTK,Bash Shell,MySQL以及Scala進行開發(fā),可以運行在安裝有上述軟件庫的類UNIX/Windows系統(tǒng)上。
1、3D模型數(shù)據(jù)的預(yù)處理
每隔30分鐘,基于Scala、MySQL和Bash Shell同步云端服務(wù)器與本地服務(wù)器的3D模型數(shù)據(jù)庫,對于每一次掃描任務(wù),首先對數(shù)據(jù)ZIP壓縮包進行解壓,更新3D模型數(shù)據(jù)在數(shù)據(jù)庫中的狀態(tài)為未預(yù)處理,將掃描信息相關(guān)數(shù)據(jù)錄入數(shù)據(jù)庫,并下載兩個3D模型數(shù)據(jù)至本地;進而,將兩個3D模型數(shù)據(jù)的格式由OBJ轉(zhuǎn)換為STL以備后續(xù)使用;第三步,基于拉普拉斯算子對3D模型進行預(yù)平滑,迭代次數(shù)為200;第四步,對3D模型進行補洞操作,使得模型表面完整;最后,基于拉普拉斯算子對3D模型數(shù)據(jù)進行再平滑,平滑迭代次數(shù)為200,得到預(yù)處理后數(shù)據(jù)。
2、基于3D模型的半自動量體
本軟件基于NumPy和VTK自動將已經(jīng)經(jīng)過預(yù)處理的數(shù)據(jù)讀入圖形界面,以交互式地測量胸圍、中腰、下擺、領(lǐng)圍、臂圍、腕口、臂長、后衣長、后肩寬、前肩寬、后腰節(jié)、前腰節(jié)等12個人體體態(tài)數(shù)據(jù)。其中,截面截取與點坐標(biāo)的抓取調(diào)用VTK內(nèi)置的算法。考慮到襯衫定制所需數(shù)據(jù)精度為厘米級,因此將所得數(shù)據(jù)近似至x.0或x.5厘米中最近似值。
具體步驟如下:
1)選取需要測量的3D模型數(shù)據(jù),如果模型因掃描原因造成模型并不針對水平地面呈直立狀態(tài),首先要將模型進行“擺正”操作,即人工將3D模型調(diào)整到 適當(dāng)角度,并保存更改。
2)在模型中,標(biāo)定左右肩點、左右頸肩點以及第七頸椎點等特征標(biāo)志點,以后續(xù)測量使用。
3)點選胸圍、中腰以及下擺標(biāo)志點,由于這三個圍度在定義上來講與地面平行,因此通過點選一個點截取一個與地面平行的截面,并計算截面周長??紤]到模型有可能受到衣物以及手臂遮擋等影響,本軟件開發(fā)了一個收縮算法近似得到實際的圍度數(shù)據(jù),具體算法介紹見下。經(jīng)測得胸圍數(shù)據(jù)為94.5cm;中腰數(shù)據(jù)為83.5cm;下擺數(shù)據(jù)為96.5cm。
4)點選四個頸部標(biāo)志點以計算領(lǐng)圍。領(lǐng)圍實際為頸部兩個半圓曲線的加和。經(jīng)測得,領(lǐng)圍為41.5cm。
5)點選手臂上任意兩點確定臂圍的法線,進而點選一個臂圍標(biāo)志點,采用收縮算法得到臂圍。腕口測量同理。經(jīng)測得,臂圍數(shù)據(jù)為30.5cm;腕口為數(shù)據(jù)16.5cm。
6)臂長選取從肩點到手掌虎口處五個點,并計算折線長度,最后根據(jù)總長度再減去5cm。經(jīng)測得,臂長數(shù)據(jù)為57.5cm。
7)后衣長計算從第七頸椎點到股溝的垂直距離,其所在平面垂直于由左右肩點連線所構(gòu)成的法線。經(jīng)測得,后衣長數(shù)據(jù)為69.5cm。
8)前后肩寬基于已經(jīng)識別的左右肩點,選取前后各一標(biāo)志點測量得到前后肩寬。經(jīng)測得,前肩寬數(shù)據(jù)為42.5cm,后肩寬數(shù)據(jù)為43.5cm。
9)前腰節(jié)從頸肩點到中腰,根據(jù)已經(jīng)標(biāo)記的頸肩點和中腰位置,選取一個垂直于左右肩點作為法線的平面,進而得到截面周長,根據(jù)上述兩點的位置,得到沿著周長的曲線,即為前腰節(jié)。后腰節(jié)與之相似,只是參照點由頸肩點變?yōu)榈谄哳i椎點。經(jīng)測得,前腰節(jié)數(shù)據(jù)為39.5cm;后腰節(jié)數(shù)據(jù)為39.0cm。
10)最后,得到所有人體體態(tài)數(shù)據(jù)后,上傳至數(shù)據(jù)庫,完成一次掃描任務(wù)3D模型數(shù)據(jù)的測量。
收縮算法具體描述如下:第一步,對于一個給定的閉合曲線中的每一個離散點,取其周圍x個點構(gòu)成一條局部曲線,計算其曲率半徑;如果其曲率半徑小于二分之一的閉合曲線上各點到其重心的最小距離,則將這條局部曲線的重心點坐標(biāo)賦予這一坐標(biāo)點。迭代x’次,或者迭代直到兩次閉合曲線周長之間的差小于1e-6,則停止。第二步,依據(jù)橢圓方程擬合這條閉合曲線,得到橢圓的中心坐標(biāo),計算閉合曲線上各點到橢圓中心的距離,如果該距離大于二倍的這一點附近y個點所構(gòu)成的局 部曲線的曲率半徑,則將局部曲線的重心坐標(biāo)賦予該點,迭代進行m次,得到一條新的閉合曲線。第三步,對于閉合曲線上每一點,賦予其周圍z個點所構(gòu)成的局部曲線的重心坐標(biāo),迭代n次,得到結(jié)果曲線。其中x,y,z,m,n為可調(diào)整參數(shù)。
在一個優(yōu)選的實施例中,人機交互裝置上采用“ENTER”鍵關(guān)聯(lián)為收縮算法啟動鍵,一鍵全自動完成,生成最終去褶皺后的輪廓線。
在其他的實施例中,人機交互裝置上設(shè)置或關(guān)聯(lián)有收縮算法啟動區(qū)域,被觸發(fā)后,全自動完成,生成最終去褶皺后的輪廓線。
在一個優(yōu)選的實施例中,在某些位置測量體圍時生成的輪廓線會連接其他部位從而造成誤差,現(xiàn)對收縮算法模塊進行分級,收縮算法模塊根據(jù)需要的收縮量不同進行分級,包括一級收縮算法單元、二級收縮算法單元,一級、二級收縮算法單元的區(qū)別在于x,x’,y,z,m,n這6個參數(shù)的設(shè)定值不同,這6個參數(shù)均為根據(jù)需求的收縮量不同而分別預(yù)先進行了設(shè)定,其中,如果初步輪廓線連接與測量部位不同的其他部位,則啟動二級收縮算法單元;如果初步輪廓線不連接與測量部位不同的其他部位,則啟動一級收縮算法單元。
分級后的一級、二級收縮算法單元的2種縮放的區(qū)別在于:
使用6個收縮數(shù)值x,x’,y,z,m,n的值不同
現(xiàn)對于收縮算法模塊的分級單元及6個參數(shù)的取值進行舉例說明:
胸圍:
如果初步輪廓線連接手臂,則按照一定的特殊縮放量進行縮放,本例中,使用x=10,x’=700,y=10,z=300,m=4,n=50,經(jīng)測驗,其中x的合理范圍為5~15,x’的合理范圍為500~900,y的合理范圍為8~10,z的合理范圍為100~500,m的合理范圍為0~8,n的合理范圍為20~80。
如果初步輪廓線不連接手臂,則按照正常的縮放量進行收縮,本例中使用x=2,x’=50,y=2,z=100,m=2,n=20經(jīng)測驗,其中x的合理范圍為0~4,x’的合理范圍為20~80,y的合理范圍為0~4,z的合理范圍為50~150,m的合理范圍為0~4,n的合理范圍為0~40。
以上2種分級縮放的區(qū)別:
使用6個收縮數(shù)值x,x’,y,z,m,n的值不同。
臂圍:
如果初步輪廓線連接除手臂外的其他身體部分,比如連接胸部,則按照一定的 特殊縮放量進行縮放,本例中,使用x=2,x’=100,y=0,z=0,m=2,n=20,經(jīng)測驗,其中x的合理范圍為0~4,x’的合理范圍為50~150,y的合理范圍為0~20,z的合理范圍為0~50,m的合理范圍為0~4,n的合理范圍為0~40。
如果初步輪廓線不連接除手臂外的其他身體部分,則按照正常的縮放量進行收縮,本例中使用(x=2,x’=100,y=0,z=0,m=0,n=0),經(jīng)測驗,其中x的合理范圍為0~4,x’的合理范圍為50~150,y的合理范圍為0~10,z的合理范圍為0~100,m的合理范圍為0~10,n的合理范圍為0~100。
以上2種分級縮放的區(qū)別:
使用6個收縮數(shù)值x,x’,y,z,m,n的值不同。
在具體的實施例中,采用鍵盤“A”鍵關(guān)聯(lián)二級收縮算法單元,采用鍵盤“ENTER”鍵關(guān)聯(lián)一級收縮算法單元;即:如果初步輪廓線連接手臂,則按下“A”鍵,否則按下“ENTER”鍵進行收縮。
在其他不涉及連接其他部位的體圍測量時,直接采用“ENTER”鍵啟動收縮算法模塊,在不同的體圍測量界面時,“ENTER”鍵所對應(yīng)的收縮算法模塊中的6個參數(shù)都相應(yīng)不同,由開發(fā)人員進行預(yù)先設(shè)定。
3、人體體態(tài)數(shù)據(jù)的上傳與管理
基于Python和MySQL將所得人體體態(tài)數(shù)據(jù)上傳至云端數(shù)據(jù)庫,并與網(wǎng)站用戶手機號相關(guān)聯(lián),以便用戶下單時,網(wǎng)頁端從數(shù)據(jù)服務(wù)器調(diào)取人體體態(tài)數(shù)據(jù)進行匹配。本系統(tǒng)會將相關(guān)測量過程以截圖的形式保存下來,以便制衣數(shù)據(jù)出現(xiàn)異常時,查找原因。
系統(tǒng)結(jié)構(gòu)如流程圖所示,先對上傳到云端的3D模型數(shù)據(jù)進行下載入庫并預(yù)處理,并將其加入待處理任務(wù)隊列,待后臺量體人員完成數(shù)據(jù)測量后,人體體態(tài)數(shù)據(jù)被上傳至云端服務(wù)器進行保存。以便網(wǎng)站可以調(diào)取并完成一次在線襯衫定制。
在應(yīng)用中,本發(fā)明的3D模型量體系統(tǒng)稱為3JKMeasure(三件客測量系統(tǒng))。
3JKMeasure(三件客測量系統(tǒng))的半自動化量體的需求
需要后臺有一量體人員進行值守,人工標(biāo)定模型上特征點。之所以引入人工來做這件事情是考慮到模型掃描環(huán)境的復(fù)雜多變,自動化的正確率無法保證;在其他的實施例中,也可以采用機器自動標(biāo)定的方式,只不過體圍數(shù)據(jù)不太適合對合體性要求較高的用戶,但對于要求不高的用戶,也可以通過機器標(biāo)出特征點的方式,自動完成。
3JKMeasure(三件客測量系統(tǒng))的實施例:
1.打開人機交互裝置:雙擊圖標(biāo),進入三件客測量系統(tǒng)的登錄頁面。
2.登錄:輸入賬戶、密碼,點擊“登錄”按鈕進入“三件客測量系統(tǒng)”的主界面。注:登錄頁面同時有“注冊”和“退出”功能。
3.選擇量體模型(數(shù)據(jù)):點擊“刷新”按鈕,列表將顯示出所有未測量的模型名稱,單擊模型名稱,被選擇的模型和相應(yīng)的信息將會顯示在主界面上。
4.標(biāo)識出Model1上的關(guān)鍵點:
(1),選擇模型一中的肩點“左”按鈕,在Model1中,找出左肩點處,單擊鼠標(biāo)右鍵,進行標(biāo)識Model1的左肩點。
(2),選擇模型一中的肩點“右”按鈕,在Model1中,找出右肩點處,單擊鼠標(biāo)右鍵,進行標(biāo)識Model1的右肩點。
(3),選擇模型一中的頸肩點“左”按鈕,在Model1中,找出左頸肩點處,單擊鼠標(biāo)右鍵,進行標(biāo)識Model1的左頸肩點。
(4),選擇模型一中的頸肩點“右”按鈕,在Model1中,找出右頸肩點處,單擊鼠標(biāo)右鍵,進行標(biāo)識Model1的右頸肩點。
(5),選擇模型一中的頸椎點“頸椎”按鈕,在Model1中,找出第七頸椎點處,單擊鼠標(biāo)右鍵,進行標(biāo)識Model1的頸椎點。
5.標(biāo)識出Model2上的關(guān)鍵點:
(1),選擇模型二中的肩點“左”按鈕,在Model2中,找出左肩點處,單擊鼠標(biāo)右鍵,進行標(biāo)識Model2的左肩點。
(2),選擇模型二中的肩點“右”按鈕,在Model2中,找出右肩點處,單擊鼠標(biāo)右鍵,進行標(biāo)識Model2的右肩點。
(3),選擇模型二中的頸肩點“左”按鈕,在Model2中,找出左頸肩點處,單擊鼠標(biāo)右鍵,進行標(biāo)識Model2的左頸肩點。
(4),選擇模型二中的頸肩點“右”按鈕,在Model2中,找出右頸肩點處,單擊鼠標(biāo)右鍵,進行標(biāo)識Model2的右頸肩點。
(5),選擇模型二中的頸椎點“頸椎”按鈕,在Model2中,找出第七頸椎點處,單擊鼠標(biāo)右鍵,進行標(biāo)識Model2的頸椎點。
6.領(lǐng)圍的測量
單擊“領(lǐng)圍”按鈕,在Model1的領(lǐng)圍處,依次右鍵單擊:第七頸椎點-脖子左 側(cè)--喉結(jié)下側(cè)-脖子右側(cè)四個點,產(chǎn)生領(lǐng)圍的輪廓以及數(shù)值(此例中數(shù)值為41.5cm)。
7.前肩寬的測量
單擊“前肩寬”按鈕,在Model2上鎖骨下沿,單擊右鍵,產(chǎn)生前肩寬的輪廓以及數(shù)值(此例中數(shù)值為42.5cm)。
8.后肩寬的測量
單擊“后肩寬”按鈕,在Model2上的第七頸椎點處,單擊右鍵,產(chǎn)生后肩寬的輪廓以及數(shù)值(此例中數(shù)值為43.5cm)。
9.中腰的測量
單擊“中腰”按鈕,在Model1上的腹部周圍,單擊右鍵,會自動計算出點擊點上下各5cm處,最細(xì)的部位,產(chǎn)生中腰的輪廓以及數(shù)值(此例中數(shù)值為83.5cm)。
10.胸圍的測量
單擊“胸圍”按鈕,在Model1上的腋下部位,單擊右鍵,會產(chǎn)生出初步輪廓線,然后按下“A”鍵進行收縮,產(chǎn)生胸圍的輪廓以及數(shù)值(此例中為94.5cm)。
11.下擺的測量
單擊“下擺”按鈕,在Model1上的臀部最高出,單擊右鍵,產(chǎn)生下擺的輪廓以及數(shù)值(此例中數(shù)值為96.5cm)。
12.臂圍的測量
單擊“臂圍”按鈕,在Model1上的上手臂處,依次右鍵單擊三個點(注:前兩個點必須與手臂平行),然后計算出第三個點左右5cm處,最粗的部位,如果初步輪廓線連接除手臂外的其他身體部分,則按下“A”鍵,否則按下“ENTER”鍵,產(chǎn)生臂圍的輪廓以及數(shù)值也可以采用6cm處、4cm處最粗的部位,然后按下“ENTER”鍵,產(chǎn)生臂圍的收縮輪廓以及數(shù)值(此例中數(shù)值為30.5cm)。
13.腕口的測量
單擊“臂圍”按鈕,在Model1上的上手臂處,依次右鍵單擊三個點(注:前兩個點必須與手臂平行),然后計算出第三個點左右5cm處,最細(xì)的部位,產(chǎn)生臂圍的輪廓以及數(shù)值(此例中數(shù)值為16.5cm),也可以采用6cm處、4cm處最細(xì)的部位。
14.前腰節(jié)的測量
單擊“前腰節(jié)”按鈕,在Model2上依次單擊右鍵,頸肩點-胸部最高點和中腰線上任意一點。產(chǎn)生前腰節(jié)的輪廓以及數(shù)值(此例中數(shù)值為39.5cm)。
15.后腰節(jié)的測量
單擊“中腰”按鈕,在Model2上找到中腰的位置,右鍵單擊則自動產(chǎn)生一條中腰水平線(注:此水平線僅用于參考,不會計算其中腰值)。單擊“后腰節(jié)”按鈕,在Model2上的中腰線上,單擊右鍵,產(chǎn)生后腰節(jié)的輪廓以及數(shù)值(此例中數(shù)值為39.0cm)。
16.臂長的測量
單擊“臂長”按鈕,在Model2上的的手臂,從肩點到手指中部,依次右鍵點擊5個點,就產(chǎn)生臂長的輪廓以及數(shù)值(此例中數(shù)值為57.5cm)。
17.后衣長的測量
單擊“后衣長”按鈕,在Model2上的臀部下圍,單擊右鍵,產(chǎn)生后衣長的輪廓以及數(shù)值(此例中數(shù)值為69.5cm)。
18.上傳數(shù)據(jù)
單擊“上傳”按鈕,將測量得到的數(shù)據(jù)上傳到服務(wù)器上。
一種3D模型量體系統(tǒng),運行在設(shè)有人機交互裝置的電子裝置上,電子裝置與互聯(lián)網(wǎng)連接,3D模型量體系統(tǒng)包括依次連接的3D模型預(yù)處理單元、3D模型半自動化測量單元、量體數(shù)據(jù)在線管理單元,具體地:
3D模型預(yù)處理單元,將經(jīng)3D掃描得到的模型從互聯(lián)網(wǎng)或電子介質(zhì)下載到本地服務(wù)器,并進行格式轉(zhuǎn)化、補洞以及平滑等簡單的預(yù)處理步驟,然后進入3D模型半自動化測量單元;
3D模型半自動化測量單元,處理好的模型數(shù)據(jù)被讀入圖形界面,通過人工標(biāo)定人體模型關(guān)鍵點,得到服裝所需的人體體態(tài)數(shù)據(jù),然后將數(shù)據(jù)發(fā)送給量體數(shù)據(jù)在線管理單元;
量體數(shù)據(jù)在線管理單元,將所得到的人體體態(tài)數(shù)據(jù)上傳到互聯(lián)網(wǎng)服務(wù)器,并與用戶信息進行關(guān)聯(lián);或?qū)⑺玫降娜梭w體態(tài)數(shù)據(jù)通過電子介質(zhì)傳送到使用該數(shù)據(jù)的接收端,并與用戶信息進行關(guān)聯(lián)。
3D模型半自動化測量單元通過人機交互裝置采用交互式測量方式生成測量最終數(shù)據(jù);
3D模型半自動化測量單元包括相連接的人機交互裝置、運算器、存儲器,人機交互裝置包括圖形顯示界面、數(shù)據(jù)交互界面、交互裝置,通過交互裝置在圖形顯示界面上移動并點選而生成特征點,特征點的3D坐標(biāo)值以及數(shù)據(jù)交互界面的輸入數(shù) 據(jù)及操作指令被發(fā)送給運算器、存儲器;
運算器的計算數(shù)據(jù)及圖形則通過圖形顯示界面、數(shù)據(jù)交互界面進行顯示,存儲器記錄測量后的各體圍數(shù)據(jù)值。
3D掃描得到的模型先上傳到云端服務(wù)器上,3D模型預(yù)處理單元從云端服務(wù)器上將模型數(shù)據(jù)下載下來進行預(yù)處理;
量體數(shù)據(jù)在線管理單元將所得到的人體體態(tài)數(shù)據(jù)上傳到云端服務(wù)器上并與用戶信息進行關(guān)聯(lián);量體數(shù)據(jù)在線管理單元還包括數(shù)據(jù)儲備模塊,將人體體圍數(shù)據(jù)進行存儲以備用;
3D模型半自動化測量單元的運算器中包括收縮算法模塊,收縮算法模塊中設(shè)計自動化算法為:第一步,對于一個給定的閉合曲線中的每一個離散點,取其周圍x個點構(gòu)成一條局部曲線,計算其曲率半徑;如果其曲率半徑小于二分之一的閉合曲線上各點到其重心的最小距離,則將這條局部曲線的重心點坐標(biāo)賦予這一坐標(biāo)點;迭代x’次,或者迭代直到兩次閉合曲線周長之間的差小于1e-6,則停止;第二步,依據(jù)橢圓方程擬合這條閉合曲線,得到橢圓的中心坐標(biāo),計算閉合曲線上各點到橢圓中心的距離,如果該距離大于二倍的這一點附近y個點所構(gòu)成的局部曲線的曲率半徑,則將局部曲線的重心坐標(biāo)賦予該點,迭代進行m次,得到一條新的閉合曲線;第三步,對于閉合曲線上每一點,賦予其周圍z個點所構(gòu)成的局部曲線的重心坐標(biāo),迭代n次,得到結(jié)果曲線,其中x,x’,y,z,m,n為可調(diào)整參數(shù);結(jié)果曲線即為生成的測量最終輪廓線。
3D模型數(shù)據(jù)的預(yù)處理單元包括順序連接的如下模塊:
1)數(shù)據(jù)下載模塊:每隔一定時間,基于Scala、MySQL和Bash Shell同步云端服務(wù)器與本地服務(wù)器的3D模型數(shù)據(jù)庫,對于每一次掃描任務(wù),首先對數(shù)據(jù)ZIP壓縮包進行解壓,更新3D模型數(shù)據(jù)在數(shù)據(jù)庫中的狀態(tài)為未預(yù)處理,將掃描信息相關(guān)數(shù)據(jù)錄入數(shù)據(jù)庫,并下載3D模型數(shù)據(jù)至本地;
2)格式轉(zhuǎn)換模塊:將3D模型數(shù)據(jù)的格式由OBJ轉(zhuǎn)換為STL以備后續(xù)使用;
3)平滑模塊:基于拉普拉斯算子對3D模型進行預(yù)平滑,迭代次數(shù)為200;
4)補洞模塊:對3D模型進行補洞操作,使得模型表面完整;
5)再平滑模塊:基于拉普拉斯算子對3D模型數(shù)據(jù)進行再平滑,平滑迭代次數(shù)為200,得到預(yù)處理后數(shù)據(jù)。
3D模型半自動化測量單元在進行12個體圍模塊的測量前,還包括矯正模型模 塊、標(biāo)定特征標(biāo)定點模塊:
矯正模型模塊:被選取需要測量的3D模型數(shù)據(jù)調(diào)入人機交互界面后,如果模型因掃描原因造成模型并不針對水平地面呈直立狀態(tài),首先要將模型進行“擺正”操作,3D模型被調(diào)整到適當(dāng)角度,并保存更改,然后進入標(biāo)定特征標(biāo)定點模塊;
標(biāo)定特征標(biāo)定點模塊:在模型中,首先采用模型的背部,標(biāo)定左右肩點、左右頸肩點以及第七頸椎點分別為特征標(biāo)志點,然后供后續(xù)各測量模塊使用。
運算器中包括胸圍測量模塊、中腰測量模塊、下擺測量模塊,胸圍測量模塊、中腰測量模塊、下擺測量模塊配置為:分別獲得被點選的胸圍、中腰以及下擺的標(biāo)志點的數(shù)據(jù),通過點選的點生成一個與地面平行的截面并計算截面周長,從而生成胸圍、中腰圍、下擺圍的數(shù)據(jù)及輪廓;胸圍測量模塊、中腰測量模塊和下擺測量模塊中采用收縮算法模塊進行處理。
運算器中包括領(lǐng)圍測量模塊,領(lǐng)圍測量模塊配置為:獲得被點選的四個間隔的頸部標(biāo)志點,即人體頸部前點、人體頸部后點、人體頸部左點、人體頸部右點的數(shù)據(jù),其中,人體頸部前點、人體頸部后點和人體頸部左點形成一個平面,此平面與頸部相交形成一條輪廓線,取此輪廓線經(jīng)過人體頸部前點、后點和左點的一側(cè)的部分;人體頸部前點、人體頸部后點和人體頸部右點形成一個平面,此平面與頸部相交形成一條輪廓線,取此輪廓線經(jīng)過人體頸部前點、后點和右點的一側(cè)的部分,將兩個部分的曲線進行加和,生成領(lǐng)圍數(shù)據(jù)及輪廓。
所述的運算器中包括臂圍測量模塊,臂圍測量模塊配置為:獲得手臂上任意兩點被點選的坐標(biāo),確定臂圍的法線,該任意兩點的連線近似與手臂平行,再獲得手臂上被點選的第三點的坐標(biāo),然后計算出第三個點左右設(shè)定距離處最粗的部分,得到初步輪廓線;所述的收縮算法模塊根據(jù)需要的收縮量不同進行分級,包括一級收縮算法單元、二級收縮算法單元,一級、二級收縮算法單元中的x,x’,y,z,m,n這6個參數(shù)的設(shè)定值均為根據(jù)需求進行分別設(shè)定,其中,如果初步輪廓線連接除手臂外的其他身體部分,則啟動二級收縮算法單元;如果初步輪廓線不連接除手臂外的其他身體部分,則啟動一級收縮算法單元;生成臂圍數(shù)據(jù)及輪廓。
所述的運算器中包括的腕口測量模塊,腕口測量模塊配置為:獲得腕口上任意兩點被點選的坐標(biāo),確定腕口的法線,該任意兩點的連線近似與腕口側(cè)面平行,再獲得腕口上被點選的第三點的坐標(biāo),然后計算出第三個點左右設(shè)定距離處最細(xì)的部分,生成腕口數(shù)據(jù)及輪廓。
一種襯衫個性化定制3D模型量體系統(tǒng),其特征在于,采用上述的3D模型量體系統(tǒng),其中的3D模型半自動化測量單元的運算器中包括12個體圍測量模塊,分別是:胸圍測量模塊、中腰測量模塊、下擺測量模塊、領(lǐng)圍測量模塊、臂圍測量模塊、腕口測量模塊、臂長測量模塊、后衣長測量模塊、前肩寬測量模塊、后肩寬測量模塊、前腰節(jié)測量模塊、后腰節(jié)測量模塊;
臂長測量模塊,獲得肩點到手掌虎口處至少5個點的坐標(biāo),并計算折線長度,根據(jù)總長度減去系統(tǒng)設(shè)定值生成臂長數(shù)據(jù);
后衣長測量模塊,根據(jù)第七頸椎點到股溝的垂直弧線距離生成后衣長數(shù)據(jù)及輪廓,該弧線所在的平面垂直于左右肩點連線所構(gòu)成的法線;
前肩寬測量模塊配置為:啟動開始測量前肩寬,然后獲得被點選的鎖骨下沿處的前肩寬標(biāo)志點的坐標(biāo),啟動收縮算法模塊,生成經(jīng)過左、右肩點、前肩寬標(biāo)志點的半圓弧,該弧線周長為前肩寬的數(shù)據(jù),弧線輪廓為前肩寬輪廓;
后肩寬測量模塊配置為:啟動開始測量后肩寬,然后獲得被點選的第七頸椎點處的后肩寬標(biāo)志點的數(shù)據(jù),生成經(jīng)過左、右肩點、后肩寬標(biāo)志點的半圓弧,該弧線周長為后肩寬的數(shù)據(jù),弧線輪廓為后肩寬輪廓;還可以啟動收縮算法模塊,得到去褶皺后的輪廓線;
中腰測量模塊配置為:啟動開始測量中腰,獲得模型的腰腹部任意一點的坐標(biāo),啟動收縮算法模塊,自動計算該點上下各設(shè)定距離處最細(xì)的腰圍,生成中腰的輪廓與數(shù)值;
胸圍測量模塊配置為:啟動開始測量胸圍,獲得模型的腋下部位任意一點的坐標(biāo),生成初步輪廓線,初步輪廓線為與地面平行的截面圓周線,胸圍測量模塊配置為:通過人機互動裝置獲得被點選的胸圍任一標(biāo)志點的數(shù)據(jù),通過點選的點生成一個與地面平行的截面并計算截面周長,從而生成初步輪廓線,然后啟動收縮算法模塊,以去除衣物以及手臂遮擋的影響,生成近似實際的胸圍數(shù)據(jù);所述的收縮算法模塊根據(jù)需要的收縮量不同進行分級,包括一級收縮算法單元、二級收縮算法單元,一級、二級收縮算法單元的區(qū)別在于其中的x,x’,y,z,m,n這6個參數(shù)的設(shè)定值均為根據(jù)需求進行分別設(shè)定,其中,如果初步輪廓線連接手臂,則啟動二級收縮算法單元;如果初步輪廓線不連接手臂,則啟動一級收縮算法單元;產(chǎn)生最終的胸圍的輪廓與數(shù)據(jù);
前腰節(jié)測量模塊配置為:啟動開始測量前腰節(jié),依次獲取三點數(shù)據(jù):第一點是 靠近頸肩點,第二點靠近胸最高點,第三點靠近在中腰線上,此三點須在人體同一側(cè),其計算分為兩部分,第一部分根據(jù)已經(jīng)標(biāo)記的胸最高點,形成一個垂直于左右肩點作為法線的平面,此平面與人體相交形成一條輪廓線,自動計算出該輪廓線上距上述第一點最近的點到胸最高點之間的最短周長距離。第二部分是胸最高點到中腰腰圍線的最短距離。第一部分與第二部分的長度和即為前腰節(jié)的長度數(shù)據(jù)及輪廓;
后腰節(jié)測量模塊為:啟動開始測量后腰節(jié),獲得第七頸椎點的坐標(biāo),再獲得中腰線上任意一點的坐標(biāo)而生成腰圍線,將第七頸椎點至腰圍線的弧面距離生成為后腰節(jié)長數(shù)據(jù)及輪廓。
最后應(yīng)當(dāng)說明的是:以上實施例僅用以說明本案的技術(shù)方案而非對其限制;盡管參照較佳實施例對本案進行了詳細(xì)的說明,所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:依然可以對本案的具體實施方式進行修改或者對部分技術(shù)特征進行等同替換;而不脫離本案技術(shù)方案的精神,其均應(yīng)涵蓋在本案請求保護的技術(shù)方案范圍當(dāng)中。