?

基于網絡編碼和深度學習的云3D虛擬試衣技術

2021-03-09 11:00門禹彤
綏化學院學報 2021年2期
關鍵詞:試衣解碼編碼

牛 牧 門禹彤

(1,綏化學院發展規劃與政策研究中心 黑龍江綏化 152061;2,綏化學院信息工程學院 黑龍江綏化 152061)

遠程虛擬試衣是近年來興起的一個新的研究領域[1-3]。隨著線上購物的興起,顧客希望在網上挑選自己喜愛的衣服,這樣可以省去實體店店員雇傭費用和房租等線下成本。但是,直接通過瀏覽服裝圖片的方式,顧客通過網上試衣時很難對衣服的尺碼、效果等有精準的把握,所以,虛擬試衣技術應運而生。攝像系統抓取顧客三維形體數據,結合虛擬現實等技術,生成顧客和衣服的虛擬圖像,利用該圖像,顧客可以評判衣服是否合適。但是現有的圖形學技術、3D虛擬現實技術還無法提供真實線下試衣的體驗,虛擬圖像和真人的真實尺寸、體型、臉型的還有諸多區別。目前工業界的虛擬試衣技術研究雖然方興未艾,但還不能實際落地使用,如國內深圳的云之夢科技、俄羅斯的虛擬試衣鏡都還不能替代線下真實試衣。

從上述介紹可知,目前的虛擬試衣技術路線主要依賴3D圖形虛擬技術,但因為圖形學、虛擬現實技術的目前進展還不足以提供真實線下試衣水平的技術要求,所以研究者需要開辟新的研究路徑。最近兩年來,深度學習技術的進展非常迅速,很多相關應用已經能工業落地。其中,在傳統上被認為具有巨大研究難度的自然語言處理領域,深度學習也帶來了重要進展。谷歌公司2017年提出的transformer模型大幅度提高了機器翻譯、自動應答的應用水平。目前出現的一系列具有重要應用前景的自然語言理解新模型如bert(Bidirectional Encoder Representations from Transformers)、xlnet[4],本質上都是基于transformer模型的,該模型具有在大數據集上進行精確分類的強大能力,是深度學習研究的一個重要里程碑[5,6]。transformer模型一般被應用在具有序列特征的自然語言理解領域,但作為一個優秀的分類器,其也有潛力在其他領域帶來重要進展。本文旨在利用transformer模型替代虛擬現實技術,避開圖形學、虛擬現實技術的研究瓶頸,不再將虛擬試衣系統的重心放在提高服裝和人體的三維虛擬數據精確度上,而是將不很精確的人體數據作為transformer模型的輸入數據,利用該深度學習模型強大的分類判別能力,由機器系統自動為顧客挑選最合適的服裝,該思路替代了傳統的虛擬試衣系統研究路徑。

作為云端線上虛擬系統,網絡傳輸的數據相應速度對顧客的購物試衣體驗也尤為重要。這里在transformer模型的基礎上,利用網絡傳輸加速技術--網絡編碼來提高系統的響應速度[7]。在網絡接收端,傳統上網絡編碼需要一次解碼操作,但這里可以用transformer模型的正向傳播直接替代網絡編碼的解碼操作,這一設計使二者有機融合,降低了運算負載。

一、基礎技術

(一)隨機線性網絡編碼。網絡編碼的核心思想就是允許并提倡網絡的中間節點對信源消息進行中間的加工。通過Jaggi-Sanders算法可以實現確定性網絡的網絡容量的上限[7]。通過隨機網絡編碼算法可以實現非相干網絡的多播容量上限[8]。網絡編碼技術是信息論的一個大發展,也是一種突破[9]。

整個網絡編碼過程如下:1.數據包分組。信源將要發送的消息分組,每組的前面加上包頭,包頭存儲的是網絡編碼向量,信源處的編碼向量是單位向量。2.中間節點再編碼。中間節點收到消息后重新再編碼,也就是將每個包前面乘以一個隨機系統,算出新的包頭編碼向量,然后發送給下游節點。3.譯碼。信宿節點收到足夠多個線性獨立的包之后就可以進行譯碼,解出信源處的信息。網絡編碼原理如圖1所示。

圖1 蝴蝶圖

網絡編碼的應用范圍已經擴展到很多領域[7-12]。在有線網絡中可以提高網絡的吞吐量[13];無線網絡中可以減少重傳次數,進行復雜環境下的糾錯等[15-17]。

(二)transformer模型簡介。Transformer模型2017年由Google團隊的《Attention is All You Need》提出,有一個完整的Encoder-Decoder框架,其主要由attention(注意力)機制構成。Transformer模型拋棄了以往深度學習任務里面使用到的CNN(卷積神經網絡)、RNN(循環神經網絡)。這個模型廣泛應用于NLP領域,例如機器翻譯,問答系統,文本摘要和語音識別等等方向,因其出色性能,也有學者將其引用到別的研究領域。

模型分為編碼器(Encoder)和解碼器(Decoder)兩部分,包含內部結構的總體結構如圖2所示。

圖2 transformer內部結構圖

transformer模型本質上是一個樣本分類器,充分使用了attention注意力機制,其在污染數據的恢復方面有較好效果。

二、基于網絡編碼和深度學習的云3D虛擬試衣具體技術方案

(一)總體方案。訓練階段:云3D服務器端以自己庫存衣物為標簽,以大量人體三維形態數據作為輸入數據,訓練生成transformer神經網絡模型,得出此神經模型的最優參數。

測試階段:各客戶端通過攝像機拍照取得實際試衣人的三維形態數據,利用網絡編碼技術實時將數據傳輸至云端服務器,服務器將該客戶形體數據輸入之前訓練階段得出的transformer神經網絡模型,該模型通過正向傳播得出客戶最適合的衣服編號。

在測試階段,網絡編碼技術和transformer模型的正向傳播有機結合起來,并不需要配置額外系統資源。從transformer模型的角度來看,客戶端傳輸過來的數據會有一定的“偏差”?!捌睢眮碜杂趦刹糠?,一部分來自于網絡編碼的錯誤擴散,另外一部分是因為真實測試的人體三維數據和模型采用的訓練樣本不是完全相同的。一般情況下,網絡編碼的糾錯需要額外的機制去解決,如密碼學和信息論技術。而在本文方案中,transformer深度學習模型的正向傳播能自然地糾正一部分“偏差”,所以其能替代網絡編碼糾錯中的糾錯機制部分,并不需要額外提供諸如密碼學和信息論的糾錯技術模塊,即本方案無縫融合了網絡編碼和transformer模型,能同時達到數據傳輸提速和提高人體三維形態數據精確度的目標。

下面將闡述這兩部分的方案細節。

(二)transformer模型技術細節。根據不同的任務特點,圖2所示的transformer模型中的參數需要不同的設置數值。根據實驗,本方案中參數設置如下?;A參數部分:詞向量維度為256,encoder、decoder模塊的神經網絡層數都為6,多頭數為8,默認不采用attention_dropout。訓練參數部分:batchsize=32,可選用三種優化器(Optimizer=SGD/RMSprop/Adam),epoch_size=300000,多進程數num_workers=10。測試參數部分:采用集束搜索,beam_size=1。

(三)網絡編碼方案。雖然本方案將用于提速的網絡編碼和用于人體形態估計的transformer模型結合起來,但這兩種技術的自身特點使得二者自然的無縫自然融合,所以在具體方案實現上,二者可以分開描述。從網絡編碼角度來看,傳輸的人體姿態數據和普通數據沒有任何區別,都是通信數據,所以關于網絡編碼模塊這里僅僅從通信傳輸角度進行描述,而不關注其所傳數據為深度學習模型transformer的輸入的客觀特點。

將分發的文件分成m份,每份有n個字符。字符為選定有限域F上的一個元素,F的大小采用經典的數值256,即一個字節大小的8次方[4]。證明在此有限域下,解碼成功率可以達到99%以上,已經足夠工程實踐的要求。256也是最近很多網絡編碼具體實現方案經常采用的有限域大小。m的值這里根據具體情況選擇,一般來講,跟節點的計算能力有很大關系,如果CPU運算能力強,m值可以大一點,比如可以取50,反之,就要小一點,有時采用m=10,這時解碼求逆矩陣的運算量不至于太大。信源節點在每個數據包的包頭加上隨機編碼的向量,在信源節點就是m個標準基。中間節點隨機選取編碼系數,和接受的數據包包頭的編碼向量進行運算,得到新的針對原始消息的編碼向量,將這個新的編碼向量插入到生成的數據包的包頭部位,然后連同數據本身組成新的數據包,然后傳輸到下游節點。信宿節點收到新的數據包之后,取出包頭的編碼向量,檢查他們的獨立性,直到收到m個彼此獨立的信息包,就可以通過解方程的形式解碼出原始消息。整個單輪的傳輸周期結束。

因為用transformer模型的正向傳播替代了網絡編碼的糾錯解碼模塊,所以,除了網絡編碼本身的提速外,也因為節省了一次網絡編碼解碼操作,所以,系統的響應速度會進一步提高。

三、仿真

云3D虛擬試衣技術目前還處于理論研究階段,理論和工程實踐都還有許多難點待以解決,距離可供工業使用的標準還有很遠的距離,所以這里沒有給出原型系統級別的測試。本方案將從數據傳輸速率和人體形態數據識別準確度兩個角度對本方案進行仿真。數據集采用H3D Dataset(伯克利大學人體3D數據庫),H3D(人體3D)是一個標注人體數據集。標注包括:關節和關鍵點(眼、耳、鼻、肩、肘、腕、踝、膝和踝)。3D姿態由關鍵點推導而得。但因為H3D Dataset的標簽和本方案的標簽不一致,而目前并沒有匹配本方案的公開數據集,所以,這里在該數據集的基礎上人工標注。標簽為庫存衣服編號,方案會為輸入樣本標注一個最“合適”的標簽,即會為樣本選擇一件最合適的衣服。在此修改后的數據集上,訓練集、驗證集、測試集尺寸比例為9:1:1。transformer模型的參數設置參見前文“transformer模型技術細節”部分。人體三維數據示例如圖3所示。

圖3 三維人體形態數據示例

針對識別準確率,本文采用RNN和CNN網絡模型作為transformer模型的對比方案。三者準確率對比如表1所示。

表1 三種模型對應準確率

準確性實驗討論如下。實驗表明,相對于RNN和CNN網絡模型,transformer模型在提高三維試衣識別準確性方面具有明顯優勢。但該實驗采用數據集和3D試衣真實場景具有較大差別。在真實場景中,標簽表明人對衣服的審美結果,但不同地區、年齡、文化教育背景對審美結果有很大差異,所以,如沒有特別機制,真實場景中識別準確度可能會下降。另外,因為人口數目的龐大,即使訓練數據集非常大,其也難以覆蓋測試樣本顧客數據的主要特點,這些因素同樣可能會導致真實場景識別率會下降。

針對數據傳輸速率實驗,這里將云端服務服務器分布式訓練節點數目設置為3,這樣,網絡編碼的最小割為3。 將未采用網絡編碼的路由轉發機制作為對比方案。假定路由轉發機制速率為1,二者速率對比如表2所示。

表2 傳輸速率對比

傳輸速率實驗分析如下。表2表明網絡編碼技術可以極大提高網絡傳輸速率,這對云端3D試衣系統非常重要。在云端3D試衣真實場景里,客戶上傳到服務器的數據需要盡可能小的延遲,否則會很大程度上影響顧客的試衣體驗。理論上,在三個分布式節點情況下,相比于路由轉發機制,網絡編碼方案的速率是路由轉發方案速率的3倍。但因為真實數據傳輸時不可避免的遇到網絡編碼的錯誤擴散,同時因為測試數據和訓練數據具有一定“偏差”,這里在應用層又直接將數據送至transformer模型進行正向傳播以進行解碼,而沒有在輸入模型之前進行傳統的網絡編碼糾錯,所以,網絡編碼的速率性能增益并沒有達到理想值3。但因為用transformer模型的正向傳播替代了網絡編碼的糾錯解碼模塊,總體速率會進一步加大。同時因為減少一次網絡編碼的過程,運算負載也會降低。

四、結語

本文將網絡編碼技術和深度學習里的transformer模型相結合以實現云端3D試衣方案,以深度神經網絡的正向傳播充當網絡編碼的解碼器從而降低通信時延和運算負載。實驗結果表明,此方案有效的提高了3D試衣識別準確率和數據傳輸速率。

猜你喜歡
試衣解碼編碼
《解碼萬噸站》
基于大數據虛擬試衣系統的研究
基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達圖像配準
《全元詩》未編碼疑難字考辨十五則
子帶編碼在圖像壓縮編碼中的應用
解碼eUCP2.0
零下20℃
NAD C368解碼/放大器一體機
Quad(國都)Vena解碼/放大器一體機
Genome and healthcare
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合