曾 瑞, 張海翔, 馬漢杰, 蔣明峰, 馮 杰
(浙江理工大學(xué) 信息學(xué)院, 杭州 310018)
近來(lái),手勢(shì)生成的工作多用于從語(yǔ)音或文本中產(chǎn)生協(xié)同的手勢(shì)[1-3],以及實(shí)現(xiàn)手勢(shì)數(shù)據(jù)的增強(qiáng)[4-5]。 生成式對(duì)抗網(wǎng)絡(luò)因其在生成上的優(yōu)異表現(xiàn),在手勢(shì)生成上也得到了廣泛的應(yīng)用[1-4]。 但是,對(duì)于給定話語(yǔ)生成對(duì)應(yīng)手勢(shì)的主要問(wèn)題是,手勢(shì)作為非語(yǔ)言信號(hào)輔助語(yǔ)言,使得交流更加順暢,卻難以單獨(dú)表達(dá)語(yǔ)義。 這是由于語(yǔ)音到手勢(shì)的高度非確定性映射,即使是同一個(gè)人說(shuō)相同的短語(yǔ),也可能在每次重復(fù)時(shí)伴隨不同的手勢(shì)動(dòng)作,并且生成的結(jié)果會(huì)特定于個(gè)人手勢(shì)風(fēng)格。 另外,手勢(shì)數(shù)據(jù)增強(qiáng)工作主要針對(duì)的是真實(shí)的手勢(shì),并且大多數(shù)都是將人體的骨骼關(guān)節(jié)點(diǎn)當(dāng)做圖像的一個(gè)像素,將動(dòng)作的一幀當(dāng)做一個(gè)圖像,而沒(méi)有考慮到骨骼關(guān)節(jié)點(diǎn)間豐富的人體結(jié)構(gòu)信息,從而可能導(dǎo)致生成的結(jié)果是扭曲的、不自然的。 研究發(fā)現(xiàn),圖卷積神經(jīng)網(wǎng)絡(luò)能夠處理非歐式空間的數(shù)據(jù),而不同于傳統(tǒng)的網(wǎng)絡(luò)模型如CNN、LSTM 等只能處理歐式空間的網(wǎng)格結(jié)構(gòu)的數(shù)據(jù)。 因此,為了能更好地利用手部的結(jié)構(gòu)信息,本文采用了基于圖卷積的生成式對(duì)抗網(wǎng)絡(luò)模型來(lái)直接生成手勢(shì)骨架。 實(shí)驗(yàn)結(jié)果表明,文中的方法對(duì)手勢(shì)骨架的生成的確有了更自然更高質(zhì)量的結(jié)果。 本文工作的主要貢獻(xiàn)概括為2 個(gè)方面:
第一,提出了基于圖卷積神經(jīng)網(wǎng)絡(luò)的手勢(shì)骨架生成方法,可以有效地將手部的結(jié)構(gòu)信息編碼到手勢(shì)建模中。
第二,在手勢(shì)骨架生成任務(wù)上,通過(guò)有效地利用手部結(jié)構(gòu)信息,文中的方法比基于全連接神經(jīng)網(wǎng)絡(luò)以及基于卷積神經(jīng)網(wǎng)絡(luò)的生成方法在定性和定量結(jié)果上都取得了更好的結(jié)果。
生 成 式 對(duì) 抗 網(wǎng) 絡(luò)[6-8](Generative Adversarial Network,GAN)是一種優(yōu)秀的生成式模型,能夠?qū)W習(xí)已有樣本的分布并生成與之相似的樣本,已然成為學(xué)界研究熱點(diǎn)。 生成器G與判別器D是GAN 模型的重要組成部分,這兩者之間的相互對(duì)抗使雙方都得到增強(qiáng),最終使生成模型盡可能生成逼真的樣本,示意圖如圖1 所示。
圖1 生成式對(duì)抗網(wǎng)絡(luò)Fig.1 Generative Adversarial Network
圖1 中,z為表示隨機(jī)噪聲的隱變量,可通過(guò)生成器生成假樣本。 判別器則對(duì)輸入數(shù)據(jù)進(jìn)行判別區(qū)分。 訓(xùn)練時(shí),生成器和判別器交替訓(xùn)練,不斷往復(fù)。優(yōu)化的目標(biāo)函數(shù)[9]如下:
其中,E為分布函數(shù)的期望值;x為真實(shí)數(shù)據(jù);z為噪聲。 式(1) 其實(shí)就是一個(gè)最大最小優(yōu)化問(wèn)題,生成器與判別器都進(jìn)行優(yōu)化,在交替訓(xùn)練中雙方都逐步得到增強(qiáng)。
GAN 提出之后,各種GAN 的衍生模型相繼提出,在結(jié)構(gòu)改進(jìn)、應(yīng)用等方面進(jìn)行創(chuàng)新,用于諸如圖像生成、圖像轉(zhuǎn)換、圖像修復(fù)等多個(gè)領(lǐng)域。 在結(jié)構(gòu)改進(jìn)上,如2017 年提出的wgan[10]、began[11]等改進(jìn)了目標(biāo)函數(shù),使得訓(xùn)練更加穩(wěn)定。 在應(yīng)用方面,如CycleGAN[12]和 Pix2Pix[13]實(shí) 現(xiàn) 了 風(fēng) 格 遷 移,TPGAN[14]能根據(jù)半邊人臉生成整張人臉的前向圖。
卷積神經(jīng)網(wǎng)絡(luò)通過(guò)局部化的卷積核來(lái)學(xué)習(xí)局部的穩(wěn)定結(jié)構(gòu),然后通過(guò)層級(jí)堆疊將其變?yōu)閷哟位亩鄠€(gè)尺度的結(jié)構(gòu)模式,其強(qiáng)大的建模能力使得在圖像處理、對(duì)象檢測(cè)、自然語(yǔ)言處理等任務(wù)上都取得了不錯(cuò)的效果。 但是,平移不變性卻使其只能處理歐式數(shù)據(jù),而處理不了如交通網(wǎng)絡(luò)這樣非歐結(jié)構(gòu)的數(shù)據(jù)。
2013 年,圖的基于譜域和基于空間的卷積神經(jīng)網(wǎng)絡(luò)[15]被首次提出。 譜方法[15-18]和空間方法[19-20]是目前圖卷積[21-22]的2 種主要方法。 前者把圖的信號(hào)變換到譜域,在譜域進(jìn)行卷積后再變換到空間域,以此完成圖卷積。 后者則直接在空間域定義節(jié)點(diǎn)相關(guān)性。 其應(yīng)用主要集中于計(jì)算機(jī)視覺(jué)、交通預(yù)測(cè)、推薦系統(tǒng)、生物化學(xué)、自然語(yǔ)言處理等領(lǐng)域。 比如在計(jì)算機(jī)視覺(jué)中,Marino 等人[23]將知識(shí)圖譜引入到圖片分類中,使用圖卷積神經(jīng)網(wǎng)絡(luò)更好地利用知識(shí)圖譜中的先驗(yàn)知識(shí),在COCO 數(shù)據(jù)集的多標(biāo)簽分類任務(wù)上取得了提升。
本文提出了一種基于圖卷積的手勢(shì)骨架生成方法。 模型框架采用的是通用的生成式對(duì)抗網(wǎng)絡(luò)[24],由一個(gè)生成器和一個(gè)判別器組成。
生成器結(jié)構(gòu)見圖2,圖2(a)中的Graph conv layer 具體結(jié)構(gòu)在圖2(b)中說(shuō)明。 在圖2 中,noise為服從標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)噪聲,label為手勢(shì)種類的標(biāo)簽,圖卷積模塊具體見圖2(b)。 圖2(b)中的H即為圖2(a)中圖卷積層的輸入,為鄰接矩陣經(jīng)歸一化處理后的結(jié)果,見公式(2):
其中,鄰接矩陣A為表示手勢(shì)各關(guān)節(jié)點(diǎn)之間相鄰關(guān)系的矩陣;I為單位矩陣;D為對(duì)應(yīng)的度矩陣。鄰接矩陣A加上一個(gè)單位矩陣I,是希望在進(jìn)行信息傳播的時(shí)候關(guān)節(jié)點(diǎn)自身的特征信息也得到保留,那么A + I就聚合了各關(guān)節(jié)點(diǎn)本身以及相鄰關(guān)節(jié)點(diǎn)的特征信息。 而進(jìn)行歸一化操作D-1(A +I)則是為了信息傳遞的過(guò)程中保持原有分布,防止一些相鄰關(guān)節(jié)點(diǎn)多的節(jié)點(diǎn)和相鄰關(guān)節(jié)點(diǎn)少的節(jié)點(diǎn)在特征分布上產(chǎn)生較大的差異。
圖卷積模塊中共有5 個(gè)圖卷積層,即圖2(b)中的GC1、GC2、GC3、GC4以及GC5。 第一個(gè)圖卷積層以H和為輸入,輸出為H(1),見公式(3):
圖2 生成器結(jié)構(gòu)圖Fig.2 Generator structure chart
第二個(gè)圖卷積層以H(1)和為輸入,輸出為H(2)。 這樣,經(jīng)過(guò)5 次圖卷積之后,得到生成器的輸出,也就是手勢(shì)的各關(guān)節(jié)點(diǎn)的坐標(biāo)。
判別器的結(jié)構(gòu)如圖3 所示。 判別器以生成器生成的或數(shù)據(jù)集中的手勢(shì)各關(guān)節(jié)點(diǎn)為輸入,經(jīng)過(guò)多個(gè)卷積層和激活層,最終得到2 個(gè)輸出:output1結(jié)果在0 到1 之間,用來(lái)判別輸入為真或假;output2結(jié)果為輸入手勢(shì)的類別。
圖3 判別器結(jié)構(gòu)圖Fig.3 Discriminator structure chart
在訓(xùn)練過(guò)程中,判別器和生成器交替訓(xùn)練,通過(guò)相互對(duì)抗讓這兩個(gè)模型同時(shí)得到增強(qiáng)。 兩者都使用Adam作為優(yōu)化器,學(xué)習(xí)率為0.000 2。目標(biāo)函數(shù)見上文公式(1),并采用了交叉熵?fù)p失函數(shù)。 另外,為了增加網(wǎng)絡(luò)的抗干擾能力,使用了單側(cè)標(biāo)簽平滑,用標(biāo)簽0.9 代替1 表示真實(shí)的數(shù)據(jù)。
本文數(shù)據(jù)集采用的是由數(shù)據(jù)堂提供的靜態(tài)手勢(shì)識(shí)別數(shù)據(jù)。 本文實(shí)驗(yàn)采用了其中的數(shù)字1、數(shù)字2、比心、點(diǎn)贊、握拳等14 種單手手勢(shì),共14 000條數(shù)據(jù)。 每條數(shù)據(jù)含一張手勢(shì)圖像以及一個(gè)標(biāo)注文件,標(biāo)注文件中寫明了手勢(shì)的21 個(gè)關(guān)節(jié)點(diǎn)及手勢(shì)類別等信息。 本文實(shí)驗(yàn)按8:2 將所有數(shù)據(jù)分為訓(xùn)練集和測(cè)試集,采用了手勢(shì)的21 個(gè)關(guān)節(jié)點(diǎn)坐標(biāo)信息。 手勢(shì)關(guān)節(jié)點(diǎn)的標(biāo)注情況見圖4。
圖4 手勢(shì)關(guān)節(jié)點(diǎn)標(biāo)注示意圖Fig.4 Schematic diagram of gesture joint labeling
Maximum Mean Discrepancy(MMD, 最大平均差異)[25]以樣本x ~P(X) 和y ~Q(Y) 來(lái)度量2 個(gè)分布P(X)和Q(Y)之間的相似性。 其本質(zhì)上是2 個(gè)分布的數(shù)據(jù)經(jīng)過(guò)映射函數(shù)變化后的期望之差的上確值,但由于直接計(jì)算期望十分困難,可以采取計(jì)算期望的無(wú)偏估計(jì)(unbiased estimate)-均值。 通過(guò)兩者間的差值來(lái)判別2 個(gè)分布的相似程度。 值越小,那么這2個(gè)數(shù)據(jù)分布越相似。MMD的具體計(jì)算見公式(4):
其中,X∶={x1,...,xm} 和Y∶={y1,...,yn}分別為服從P與Q分布的樣本。xi與xj為服從P分布的獨(dú)立的隨機(jī)數(shù)據(jù),yi與yj同理。k(·,·) 為高斯核函數(shù),具體計(jì)算見公式(5):
另外,文獻(xiàn)[26]比較了Inception Score, Mode Score, MMD 等6 種GAN 具有代表性的基于樣本的評(píng)估度量,結(jié)果表明MMD 能夠區(qū)分真實(shí)圖像和生成圖像,可以在一定程度上衡量模型生成圖像的優(yōu)劣性,是最合適的評(píng)估指標(biāo)之一。 在深度生成模型[27]和貝葉斯采樣[28]中,則被用于衡量生成樣本相較于真實(shí)數(shù)據(jù)的質(zhì)量。 該指標(biāo)還被用于評(píng)估生成的動(dòng)作與真實(shí)動(dòng)作之間的相似性[24,29]。
本次研究進(jìn)行了實(shí)驗(yàn)以評(píng)估所提出的方法在靜態(tài)手勢(shì)骨架生成上的有效性,并采用MMD 來(lái)衡量生成手勢(shì)的質(zhì)量。 仿真時(shí)在同一數(shù)據(jù)集上進(jìn)行了3次實(shí)驗(yàn):首先是本文的方法、即基于圖卷積的生成方法,其次是wgan_gp 方法、即基于全連接的生成方法,最后是消融實(shí)驗(yàn)、即基于卷積神經(jīng)網(wǎng)絡(luò)的生成方法。 結(jié)果顯示,本文的方法更好。 下面進(jìn)行了詳細(xì)的闡釋與分析。
由于目前沒(méi)有生成靜態(tài)手勢(shì)骨架的工作,文中的對(duì)比實(shí)驗(yàn)選擇了wgan_gp[31]方法。 wgan_gp 以wgan[10]為基礎(chǔ),將梯度截?cái)嗵鎿Q為梯度懲罰,以解決梯度消失、梯度爆炸的問(wèn)題。 優(yōu)化的目標(biāo)函數(shù)如下:
其中, ~x為生成器生成的樣本為生成數(shù)據(jù)和真實(shí)數(shù)據(jù)之間的插值,~x,?~U[0,1]。 式(6) 的最后一項(xiàng)即為添加的梯度懲罰項(xiàng)。 這樣既滿足了1-L條件,也可以保證權(quán)重變化不那么劇烈, 模型不容易壞掉。 本次實(shí)驗(yàn)中,wgan_gp的生成器與判別器采用的皆是全連接網(wǎng)絡(luò)架構(gòu)。 本文方法與該方法的比較結(jié)果見表1,本文在MMD 上的結(jié)果比wgan_gp 方法的要小,也就是本文提出的方法更優(yōu)。
表1 對(duì)比實(shí)驗(yàn)結(jié)果Tab.1 Comparative experiment results
此外,還在本文的方法上進(jìn)行了消融實(shí)驗(yàn)以驗(yàn)證圖卷積模塊的有效性,實(shí)驗(yàn)結(jié)果見表2。 具體來(lái)說(shuō),使用5 個(gè)CNN 層替換了生成器中的5 個(gè)GCN層,并使用相同的隱藏維數(shù)和核大小,其他部分保持完全相同。
表2 消融實(shí)驗(yàn)結(jié)果Tab.2 Ablation results
各方法生成的手勢(shì)骨架圖如圖5 所示。 圖5 中列出了數(shù)字1、數(shù)字2、數(shù)字4、數(shù)字6、單手比心、OK、握拳、LOVE 共8 種手勢(shì)。 從圖5 中可以看出,本文的方法能夠生成更加合理、自然的手勢(shì),而wgan_gp 與消融實(shí)驗(yàn)生成的手勢(shì)較為扭曲。 從定量結(jié)果來(lái)看,本次研究提出的方法在MMD 上也更加優(yōu)越。
圖5 生成的手勢(shì)骨架對(duì)比圖Fig.5 Comparison of the generated gesture skeleton
在本文中,研究提出了基于圖卷積的生成式對(duì)抗網(wǎng)絡(luò)模型,以有效地編碼手部結(jié)構(gòu)信息到基于骨架的人體手勢(shì)生成。 從對(duì)比實(shí)驗(yàn)和消融實(shí)驗(yàn)的結(jié)果可以觀察到,文中的生成結(jié)果在定量和定性評(píng)估上有了明顯的改善,證明了圖卷積用于手勢(shì)骨架的有效性。 在后續(xù)的工作中,將進(jìn)一步研究基于圖卷積的序列手勢(shì)生成。