• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于B/S架構(gòu)的數(shù)字人臺(tái)變形NURBS曲面模型

      2021-01-06 09:11:08蕓,
      紡織學(xué)報(bào) 2020年10期
      關(guān)鍵詞:胸圍曲面人體

      劉 蕓, 修 毅

      (北京服裝學(xué)院 計(jì)算機(jī)信息中心, 北京 100029)

      近些年來(lái),人們對(duì)三維服裝的計(jì)算機(jī)模擬仿真進(jìn)行了研究,包括三維服裝人體的建模、三維服裝造型和服裝虛擬展示,但這些技術(shù)無(wú)法滿足互聯(lián)網(wǎng)+服裝個(gè)性化定制的需求;因此,基于瀏覽器/服務(wù)器結(jié)構(gòu)(B/S架構(gòu))構(gòu)建一個(gè)三維人臺(tái)模型和變形技術(shù),為客戶實(shí)現(xiàn)跨區(qū)域的服裝定制和個(gè)性化人體特征展示帶來(lái)可能性。

      目前,在構(gòu)建人臺(tái)模型方法中三維掃描點(diǎn)云數(shù)據(jù)方法獲得點(diǎn)云數(shù)量多達(dá)300 000個(gè),占內(nèi)存高達(dá)上百兆。相關(guān)研究中會(huì)采用逆向工程軟件對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行反復(fù)修剪、刪除、排除體外孤點(diǎn)、降噪、修補(bǔ)等復(fù)雜的操作獲得了特征信息[1-2]。經(jīng)常采用創(chuàng)建水平基準(zhǔn)面與人體表面求交法、極值法、曲率判別法、建模法找出人體主要特征信息[3-4]。上述研究中對(duì)點(diǎn)云數(shù)據(jù)的處理方法有效地提取了特征信息,但是提取過程耗時(shí)長(zhǎng)、方法復(fù)雜。

      在人體變形相關(guān)研究中,通過人臺(tái)模型變形適配人體特征數(shù)據(jù)不僅降低了人體數(shù)據(jù)量,還提升了造型效果。采用構(gòu)造左右剖面的方法,將人體分成二部分進(jìn)行變形,解決了人體變形出現(xiàn)的失真情況[5]。一種新型的參數(shù)化變形算法是在腰圍線變形中采用角度加權(quán)平均算法,有效地提高了人體變形的精度[6]。基于語(yǔ)義驅(qū)動(dòng)人體變形方式,可通過模板語(yǔ)義值成功精準(zhǔn)地驅(qū)動(dòng)人體模型變形[7]。

      利用WebGL與Three.js技術(shù)在B/S架構(gòu)中的客戶端實(shí)現(xiàn)三維模型的渲染,是“互聯(lián)網(wǎng)+”三維造型的一種實(shí)現(xiàn)途徑。該技術(shù)在三維模型對(duì)象以及網(wǎng)絡(luò)數(shù)據(jù)傳輸方面受到關(guān)注。構(gòu)建規(guī)則三維幾何體模型時(shí),可完成一組幾何體,如椎體、立方體等模型在一個(gè)場(chǎng)景里進(jìn)行空間排布實(shí)現(xiàn)渲染,作為非規(guī)則類的三維模型對(duì)象,如三維地形圖,人體解剖模型[8]等不僅存在建模和渲染問題,還要解決模型數(shù)據(jù)從服務(wù)器端到瀏覽器上傳輸?shù)膸拞栴}[9]。傳送數(shù)據(jù)時(shí)一般采用AJAX異步通信方式和WebSocket雙向通信工具,但對(duì)超大量的數(shù)據(jù)下載沒有提供有力的支持。

      基于以上分析,本文基于B/S架構(gòu)設(shè)計(jì)實(shí)現(xiàn)了參數(shù)化數(shù)字人臺(tái)變形模型。在構(gòu)建標(biāo)準(zhǔn)人臺(tái)模型時(shí),提出標(biāo)記三維掃描測(cè)量法提取特征信息,極大縮小了點(diǎn)云模型數(shù)據(jù);通過NURBS曲面技術(shù),對(duì)該模型數(shù)據(jù)進(jìn)行規(guī)范化,能夠解決數(shù)據(jù)量少帶來(lái)的人臺(tái)變形模型表面不光滑失真的現(xiàn)象。此次嘗試可在服裝定制平臺(tái)的網(wǎng)頁(yè)中快速地實(shí)現(xiàn)人臺(tái)變形模型的渲染和加載,為互聯(lián)網(wǎng)服裝定制平臺(tái)三維模型加載提供參考。

      1 人臺(tái)標(biāo)記三維掃描測(cè)量法

      1.1 人臺(tái)的特征信息

      參數(shù)化人臺(tái)模型將具有對(duì)稱性的人臺(tái),以人臺(tái)前中心線和后中心線為分界線將人臺(tái)模型分為左右2個(gè)部分。根據(jù)人體工學(xué)原理,考慮到女體人臺(tái)模型形態(tài)復(fù)雜,在對(duì)人臺(tái)進(jìn)行個(gè)性化變形前需要找準(zhǔn)人體特征,包括特征點(diǎn)和特征線。在選擇過程中一般選取人體外表明顯、凸出點(diǎn)或凹陷點(diǎn)、人體的對(duì)稱中心等點(diǎn)作為人體特征點(diǎn)。表1示出選取胸部區(qū)域特征點(diǎn)與特征圍線。然后依據(jù)人體的變化規(guī)律和變形需要,將標(biāo)準(zhǔn)的人臺(tái)劃分特征區(qū)域。特征區(qū)域是以重要圍度作為主要變形對(duì)象進(jìn)行人臺(tái)的區(qū)域劃分,例如以胸圍線為主干的胸部區(qū)域、以腰圍線為主干腰部區(qū)域和以臀圍線為主干的臀部區(qū)域。

      表1 圍度與特征點(diǎn)定義Tab.1 Girth line and feature point definition

      1.2 標(biāo)記三維掃描測(cè)量法

      三維掃描點(diǎn)云測(cè)量技術(shù)是通過對(duì)人體模型各部位尺寸和人體體型進(jìn)行測(cè)量,進(jìn)而研究人體形態(tài)特征和技術(shù)的方法。本文提出標(biāo)記三維掃描測(cè)量法,是通過對(duì)三維人臺(tái)進(jìn)行手工貼標(biāo)記點(diǎn)的方式標(biāo)記人臺(tái)中的特征信息,包括特征點(diǎn)以及造型點(diǎn),然后借助三維掃描設(shè)備以及相關(guān)圖形處理工具針對(duì)性地對(duì)人工標(biāo)記點(diǎn)進(jìn)行處理,獲取到標(biāo)記點(diǎn)三維坐標(biāo)信息。這些信息構(gòu)成了人體數(shù)據(jù)原型,該原型一旦完成就可反復(fù)使用。具體步驟如下。

      第1步,對(duì)人臺(tái)進(jìn)行標(biāo)記。遵循優(yōu)先標(biāo)記特征點(diǎn)然后再標(biāo)記造型點(diǎn)的原則??紤]到人臺(tái)模型變形與后期NURBS曲面建模的需要,造型點(diǎn)的排布會(huì)以特征點(diǎn)為主,采用一定密度的網(wǎng)格法進(jìn)行標(biāo)記,即盡可能地實(shí)現(xiàn)層與層之間、列與列之間一一對(duì)應(yīng),用盡可能少的標(biāo)記點(diǎn)達(dá)到最好的人臺(tái)網(wǎng)格狀效果。人臺(tái)標(biāo)記點(diǎn)的效果如圖1所示。

      圖1 人臺(tái)特征點(diǎn)標(biāo)記與特征圍線Fig.1 Feature point mark and feature line of mannequin. (a) Feature point information of front mesh; (b) Feature line information of front mesh

      第2步,三維掃描技術(shù)將人臺(tái)數(shù)字化。掃描后生成的三維點(diǎn)云模型上可明顯地觀察到標(biāo)記點(diǎn)的位置,選中標(biāo)記點(diǎn)獲取其三維坐標(biāo)信息,生成標(biāo)記點(diǎn)數(shù)據(jù)。

      第3步,為標(biāo)記點(diǎn)數(shù)據(jù)添加特征語(yǔ)義,采用Y軸分層法。如圖1中所示,觀察到人臺(tái)模型標(biāo)記點(diǎn)是按照水平面分層排布,每層中標(biāo)記點(diǎn)Y軸坐標(biāo)大致相同,在某個(gè)特定的范圍內(nèi),以Y軸為參考標(biāo)準(zhǔn)為標(biāo)記點(diǎn)從左至右的順序依次添加語(yǔ)義,即第i層第j點(diǎn),流程如圖2所示。

      圖2 語(yǔ)義添加流程Fig.2 Semantic addition process

      2 B/S架構(gòu)的實(shí)現(xiàn)與變形算法

      2.1 B/S架構(gòu)與數(shù)據(jù)結(jié)構(gòu)

      基于B/S架構(gòu),搭建MVC(model view controller)[10]框架,在服務(wù)器端通過控制器(Controller)接受瀏覽器端發(fā)送的請(qǐng)求,調(diào)用數(shù)據(jù)模型(Model)方法對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,獲取到相關(guān)數(shù)據(jù),控制器將結(jié)果返回給瀏覽器。通過AJAX技術(shù)實(shí)現(xiàn)瀏覽器端與服務(wù)器端的數(shù)據(jù)傳輸,Three.js框架技術(shù)實(shí)現(xiàn)對(duì)人臺(tái)模型的加載以及在瀏覽器上的渲染,其原理如圖3所示。

      圖3 人臺(tái)模型B/S架構(gòu)Fig.3 Body model B/S architecture

      人臺(tái)模型特征信息是以樹狀結(jié)構(gòu)保存在JSON格式文件中,該存儲(chǔ)方式不僅便于語(yǔ)義的添加,而且操作簡(jiǎn)便,存儲(chǔ)量從原來(lái)的74 M縮小到了573 KB,大大提高網(wǎng)絡(luò)傳輸速率。在加載JSON格式文件時(shí),需要對(duì)文件進(jìn)行遍歷解析,樹狀結(jié)構(gòu)的數(shù)據(jù)從根部開始遍歷,依據(jù)從左到右的原則實(shí)現(xiàn)遍歷解析,解析單支結(jié)構(gòu)如圖4所示。將特征信息按照部位分塊,然后根據(jù)部位把塊分層。

      圖4 解析JSON數(shù)據(jù)結(jié)構(gòu)Fig.4 Analysis on internal structure of JSON data

      2.2 人臺(tái)變形算法

      人臺(tái)變形算法通過獲取特征點(diǎn),依據(jù)個(gè)體的實(shí)際參數(shù)驅(qū)動(dòng)特征圍線,然后驅(qū)動(dòng)特征面,從而實(shí)現(xiàn)了人臺(tái)的變形。

      本文以實(shí)現(xiàn)胸部區(qū)域變形為例,胸圍線變形范圍差為6 cm即從88 cm變到94 cm的變形如圖5所示。通過A、B、D、E4點(diǎn)將右部胸圍線分為AD、AB和BE3段弧。

      圖5 胸圍線變形圖Fig.5 Bust width line deformation map

      2.2.1AD弧的處理

      1) 定義變形迭代量△d,迭代量越小,變形精度越高。

      2) 已知D點(diǎn)和A點(diǎn)坐標(biāo),A與A1同在X軸上,則在X軸方向上加迭代量△d求得A1坐標(biāo),根據(jù)下式求得D1(x′,y′)的坐標(biāo):

      (1)

      (2)

      式中:k為A點(diǎn)與D點(diǎn)之間的比例系數(shù),其中Z軸變形前后保持不變。

      3) 將AD弧上的點(diǎn)逐個(gè)用計(jì)算得相應(yīng)的變形點(diǎn),由變形點(diǎn)驅(qū)動(dòng)生成變形弧線A1D1。

      2.2.2AB和BE弧的處理與變形

      AB和BE弧采用文獻(xiàn)[6]參數(shù)化胸圍線變形算法,具體如下:

      1) 計(jì)算出以標(biāo)準(zhǔn)軸OA和OB為基準(zhǔn)的初始值ROA和ROB;

      2) 通過角度加權(quán)平均求得線段SSi,S為AB弧的任意一點(diǎn),則變形后線段OSi=SSi+OS;

      3)OSi根據(jù)三角函數(shù)可求得其坐標(biāo)值;

      4) 最后通過求AB和BE弧上的點(diǎn)變形,獲得變形弧,驅(qū)動(dòng)了特征線的變形。

      2.2.3 胸部區(qū)域相關(guān)圍線變形

      以胸圍線變形圍線為基準(zhǔn)驅(qū)動(dòng)相關(guān)聯(lián)圍線變形,其原理如圖6所示。設(shè)胸圍線以及相關(guān)聯(lián)的圍線任意一點(diǎn)為S(x,y)、S1(x1,y1)和S2(x2,y2)變形后為S′(x′,y′)、S′1(x′1,y′1)和S′2(x′2,y′2)。已知點(diǎn)S與S′,縱向Y軸不變則根據(jù)相似三角形對(duì)應(yīng)邊成比例可以求得相關(guān)聯(lián)圍線變化后的點(diǎn)S′1和S′2,其中三角形比例關(guān)系如下:

      圖6 胸部區(qū)域胸圍相關(guān)圍線變形圖Fig.6 Deformation map of associated peripheral line in bust area

      (3)

      由胸圍特征線驅(qū)動(dòng)相關(guān)聯(lián)圍線變形,最終實(shí)現(xiàn)整個(gè)特征面胸部區(qū)域的變形。

      根據(jù)有限的特征信息,由變形算法實(shí)現(xiàn)了從特征點(diǎn)驅(qū)動(dòng)特征線再到特征面的變形,胸部變形呈現(xiàn)效果如圖7所示。三維人臺(tái)變形時(shí)隨著胸圍圍度的變大,模型表面開始出現(xiàn)明顯的棱,尤其是在胸圍達(dá)到100 cm時(shí)模型失真嚴(yán)重。

      圖7 胸部區(qū)域三角形面人臺(tái)模型變形圖Fig.7 Deformation map of triangle face mannequin in bust area. (a) Bust width line 88 cm; (b) Bust width line 94 cm; (c) Bust width line 100 cm

      3 人臺(tái)變形模型NURBES曲面應(yīng)用

      3.1 NURBS曲面構(gòu)成原理

      3.1.1 NURBS基函數(shù)

      NURBS基函數(shù)是NURBS曲面建模的基礎(chǔ),設(shè)U={u0,u1,…,uk+1,ur-k-1,…,ur} 是一個(gè)單調(diào)不遞減的實(shí)數(shù)序列,即uk≤uk+1,k=0,1,…r-1。其中uk被稱為節(jié)點(diǎn),U稱為節(jié)點(diǎn)矢量。

      定義在節(jié)點(diǎn)矢量U上的第i個(gè)k次B樣條曲線基函數(shù)Ni,k(u)定義公式為:

      (4)

      (5)

      則NURBS的基函數(shù),定義為:

      (6)

      式中:Wi為NURBS的權(quán)重。基函數(shù)是具有規(guī)范性的,即對(duì)任意的節(jié)點(diǎn)區(qū)間u∈[ui,ui+1],存在

      (7)

      3.1.2 NURBS的曲線與曲面

      曲線與曲面是在基函數(shù)的基礎(chǔ)上形成的。首先NURBS曲線

      (8)

      上式為定義的節(jié)點(diǎn)矢量,其k次NURBS樣條曲線

      (9)

      式中:u∈[a,b];Ni,k(u)代表第i個(gè)k次B樣條曲線基函數(shù),隨著參數(shù)u的變化而變化;Wi為加權(quán)因子,確定控制點(diǎn)的權(quán)值;Pi是控制點(diǎn),確定曲線的位置,是控制NURBS網(wǎng)格的點(diǎn)。

      一張?jiān)趗方向p次,v方向q次的NURBS曲面的定義公式:

      (10)

      式中:u,v∈[0,1];Wij為加權(quán)因子;Pij為網(wǎng)格的控制點(diǎn),呈拓?fù)渚匦侮嚵?,形成一個(gè)控制網(wǎng)格;Ni,k(u)和Nj,t(v)分別為u方向k次和v方向t次B樣條基函數(shù)。

      根據(jù)標(biāo)記點(diǎn)特征信息沿u(或v)計(jì)算出各條NURBS曲線的控制頂點(diǎn),然后在求得另一個(gè)方向v(或u)計(jì)算多邊形網(wǎng)格,就得到了NURBS曲面。

      3.2 NURBS曲面的構(gòu)建

      3.2.1 人臺(tái)前片點(diǎn)陣

      人臺(tái)模型表面NURBS曲面的生成是基于采樣點(diǎn)陣,將其作為曲面的控制點(diǎn),并輸入相關(guān)信息,例如點(diǎn)陣信息、曲面的階數(shù)、節(jié)點(diǎn)矢量、加權(quán)因子等生成NURBS曲面,從而構(gòu)建人臺(tái)曲面模型。首先分析提取的特征信息,其中采樣點(diǎn)陣以人臺(tái)模型前片為例,依據(jù)人體工學(xué)原理將人體的前片依據(jù)表面變化幅度將其劃分為3個(gè)區(qū)域,即胸上部區(qū)域(1~4排)、 胸部區(qū)域(4~6排)和胸下部區(qū)域(6~12排)如圖8所示。

      圖8 人臺(tái)前片點(diǎn)陣圖Fig.8 Lattice of front mesh.(a) Lattice of upper bust area;(b) Lattice of bust area; (c) Lattice of lower bust area

      3.2.2 規(guī)范化點(diǎn)陣

      圖8中所示的點(diǎn)呈現(xiàn)的是非工整的點(diǎn)陣,即胸上部區(qū)域第1層與第2層為4×2,第3層為5×1,第4層 7×1,胸部區(qū)域第1層與第2層7×2,第3層8×1, 從第4層以及胸下部區(qū)域均為10×13。

      基于NURBS的設(shè)計(jì)方法,利用公式(10)定義了單張的NURBS曲面,該式中u方向上每一層的控制點(diǎn)數(shù)相同,v方向每一列的控制點(diǎn)數(shù)相同。采用密度高點(diǎn)復(fù)用的原則重新構(gòu)建NURBS曲面的點(diǎn)陣,對(duì)控制點(diǎn)數(shù)不統(tǒng)一的區(qū)域進(jìn)行規(guī)范化。密度高點(diǎn)復(fù)用原則是指在該區(qū)域點(diǎn)陣中,將點(diǎn)最多的那一層作為規(guī)范化的基礎(chǔ)點(diǎn),根據(jù)基礎(chǔ)點(diǎn)個(gè)數(shù)對(duì)其他層進(jìn)行補(bǔ)點(diǎn),直到點(diǎn)數(shù)達(dá)到與基礎(chǔ)點(diǎn)個(gè)數(shù)相同。補(bǔ)點(diǎn)是選取縱向?qū)优c層之間點(diǎn)排布中密度最高的點(diǎn)進(jìn)行復(fù)用,密度越高則曲面的變化率越大,面的弧度越大,該點(diǎn)在人臺(tái)造型上影響越大。規(guī)范化后的點(diǎn)陣圖如圖9所示。

      圖9 人臺(tái)前片規(guī)范化圖Fig.9 Normalized front mesh. (a)Normalization of the upper bust area; (b) Normalization of the chest area

      上圖中加重的點(diǎn)表示被復(fù)用的點(diǎn),可多次復(fù)用,例如胸上部區(qū)域第1層有3個(gè)加重點(diǎn)被復(fù)用,構(gòu)成7×4的點(diǎn)陣。胸部區(qū)域是10×4的點(diǎn)陣,胸下部區(qū)域?yàn)?0×13的點(diǎn)陣,最終生成如圖10所示的光滑NURBS曲面。

      圖10 人臺(tái)前片NURBS曲面Fig.10 NURBS curved surface of front human model

      最終,人臺(tái)模型根據(jù)個(gè)體參數(shù)進(jìn)行變形得到的目標(biāo)結(jié)果,以胸部區(qū)域變形為例,NUEBS曲面與變形算法的共同作用下,胸圍達(dá)到100 cm后依舊能夠保證人臺(tái)具有良好的效果,如圖11所示。

      圖11 人臺(tái)NURBS曲面變形人臺(tái)Fig.11 NURBS surface deformed human model. (a) Bust width line 88 cm; (b) Bust width line 94 cm; (c) Bust width line 100 cm

      4 結(jié)束語(yǔ)

      在構(gòu)建標(biāo)準(zhǔn)人臺(tái)模型時(shí),特征信息的獲取是采用標(biāo)記三維掃描測(cè)量法,即將手工標(biāo)記與三維掃描技術(shù)結(jié)合,通過使用水平儀來(lái)對(duì)水平方向的標(biāo)記點(diǎn)進(jìn)行校準(zhǔn),確保數(shù)據(jù)的準(zhǔn)確性。該方法大大減少模型數(shù)據(jù)存儲(chǔ)量,在網(wǎng)頁(yè)中加載模型過程不受帶寬的影響,能夠流暢地從服務(wù)器端將數(shù)據(jù)傳輸?shù)綖g覽器端并實(shí)現(xiàn)三維模型渲染。

      在人臺(tái)變形算法運(yùn)行過程中,采用JSON數(shù)據(jù)格式的樹狀結(jié)構(gòu)描述人體數(shù)據(jù)模型,優(yōu)化了數(shù)據(jù)查找過程,使得變形算法能夠快速準(zhǔn)確地得到變形數(shù)據(jù)與變形結(jié)果。變形算法基于人體工學(xué)和服裝工程的原理,以特征點(diǎn)驅(qū)動(dòng)特征線,特征線驅(qū)動(dòng)特征區(qū)域變形,實(shí)現(xiàn)速度快,精度高,效果好的目標(biāo)。

      在構(gòu)建人臺(tái)NURBS曲面時(shí)將不規(guī)范的特征數(shù)據(jù)控制點(diǎn)根據(jù)NURBS曲面的成面原理,進(jìn)行規(guī)范化處理,保證在同一區(qū)域各層的控制點(diǎn)個(gè)數(shù)相同,生成曲面獲得光滑人臺(tái)曲面造型。NURBS曲面的應(yīng)用很好地解決了特征信息數(shù)據(jù)量少,胸圍過大引發(fā)變形后人臺(tái)失真的情況。

      在后續(xù)的研究中,在NURBS曲面構(gòu)建中對(duì)高曲率部分進(jìn)一步優(yōu)化。如頸部區(qū)域由于曲率過大數(shù)據(jù)精度不夠,可以采用差值復(fù)用點(diǎn)的方式,增加控制點(diǎn)的個(gè)數(shù),從而提高NUBRS曲面對(duì)高曲率面的造型精度。最終實(shí)現(xiàn)在B/S架構(gòu)中采用有限的特征數(shù)據(jù)實(shí)現(xiàn)高質(zhì)量的人臺(tái)渲染效果。

      猜你喜歡
      胸圍曲面人體
      探討假體凸度對(duì)假體隆乳患者術(shù)后胸圍及罩杯的影響
      人體“修補(bǔ)匠”
      人體冷知識(shí)(一)
      排便順暢,人體無(wú)毒一身輕
      相交移動(dòng)超曲面的亞純映射的唯一性
      圓環(huán)上的覆蓋曲面不等式及其應(yīng)用
      奇妙的人體止咳點(diǎn)
      特別健康(2018年3期)2018-07-04 00:40:10
      基于曲面展開的自由曲面網(wǎng)格劃分
      胸圍革命
      愛你(2015年17期)2015-11-17 10:06:17
      幸而今天買了胸衣
      乌兰察布市| 呈贡县| 林芝县| 定州市| 榆树市| 南丰县| 柞水县| 玉门市| 蒙城县| 即墨市| 安西县| 石首市| 葫芦岛市| 准格尔旗| 长沙市| 藁城市| 孟村| 纳雍县| 梅州市| 衡阳县| 咸宁市| 莆田市| 东光县| 西宁市| 慈利县| 霍林郭勒市| 左权县| 双江| 黑龙江省| 双峰县| 崇左市| 西青区| 渑池县| 淳化县| 金坛市| 郓城县| 玛沁县| 桃园县| 商丘市| 闻喜县| 达拉特旗|