劉士豪,胡學(xué)敏,姜博厚,張若晗,孔 力
(湖北大學(xué)計(jì)算機(jī)與信息工程學(xué)院,武漢 430062)
(?通信作者電子郵箱huxuemin2012@hubu.edu.cn)
自動(dòng)駕駛是人工智能的主要研究領(lǐng)域之一。目前,由于技術(shù)的不成熟和穩(wěn)定性不夠等原因,自動(dòng)駕駛的最新方法往往只能在虛擬場(chǎng)景中訓(xùn)練和測(cè)試[1],只有少數(shù)成熟的技術(shù)才能在實(shí)際場(chǎng)景中測(cè)試。然而,由于虛擬場(chǎng)景不同于真實(shí)場(chǎng)景,在色彩、紋理等方面和真實(shí)場(chǎng)景存在一定的差別,在虛擬場(chǎng)景中訓(xùn)練的模型難以較好地適應(yīng)真實(shí)場(chǎng)景,泛化能力較差,而在真實(shí)場(chǎng)景中訓(xùn)練自動(dòng)駕駛模型,成本較高且具有一定的風(fēng)險(xiǎn)。圖像翻譯是將圖像的內(nèi)容從一種展現(xiàn)形式轉(zhuǎn)換成另一種展現(xiàn)形式,在圖像美化、風(fēng)格遷移、場(chǎng)景設(shè)計(jì)和視頻特效等方面取得了較好的研究成果[2]。如果能將圖像翻譯技術(shù)應(yīng)用于自動(dòng)駕駛中虛擬場(chǎng)景到真實(shí)場(chǎng)景的視頻翻譯,不僅能解決自動(dòng)駕駛模型訓(xùn)練泛化能力差的問題,而且能有效減少訓(xùn)練的成本和風(fēng)險(xiǎn)。因此,研究自動(dòng)駕駛從虛擬場(chǎng)景到真實(shí)場(chǎng)景的視頻翻譯模型具有重要的學(xué)術(shù)意義和商業(yè)價(jià)值。
國(guó)內(nèi)外的研究人員在圖像翻譯方面做了許多研究,并取得了一定的成果。傳統(tǒng)的圖像翻譯方法主要是基于模型框架的構(gòu)建和細(xì)節(jié)紋理的合成。Efros 等[3]對(duì)輸入樣本的紋理采集,并進(jìn)行紋理拼接,然后合成新的風(fēng)格的紋理;Hertzmann等[4]采取多圖像訓(xùn)練的方法,最終得到細(xì)節(jié)紋理生成模型,將模型應(yīng)用于新的目標(biāo)圖像,合成一個(gè)相似的圖像。這些方法能夠有效合成新的風(fēng)格的圖像,但是這類非參數(shù)的圖像翻譯只能提取圖像的底層特征,并非高層抽象特征。當(dāng)用于自動(dòng)駕駛場(chǎng)景這類具有復(fù)雜信息的圖像時(shí),如人、車道線等關(guān)鍵信息會(huì)有較多模糊和扭曲,難以滿足實(shí)際的需求。
近年來,隨著深度學(xué)習(xí)的興起,許多極具創(chuàng)新性的方法應(yīng)用在圖像翻譯領(lǐng)域,并取得了突破性的進(jìn)展,這些方法主要分為兩大類:第一大類是基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的方法,這類方法通常是采取卷積神經(jīng)網(wǎng)絡(luò)對(duì)圖像進(jìn)行內(nèi)容特征提取和風(fēng)格特征提取,然后再通過內(nèi)容重塑和風(fēng)格重塑,實(shí)現(xiàn)圖像的風(fēng)格翻譯。Gatys 等[5]利用深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征的提取,然后通過迭代優(yōu)化的方式生成具有新風(fēng)格的圖像;Luan等[6]在Gatys的基礎(chǔ)上改進(jìn)損失函數(shù),使其只改變圖像中目標(biāo)物體的顏色,并不改變其他紋理特征。第二類是基于生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)的方法,這類方法通常是基于GAN 及其衍生模型,旨在進(jìn)一步提高控制圖像風(fēng)格的能力和生成圖片的分辨率以及質(zhì)量。Isola 等[7]提出的基于條件生成對(duì)抗網(wǎng)絡(luò)的方法pix2pix,可以實(shí)現(xiàn)任意風(fēng)格圖片之間的翻譯;Wang 等[8]在GAN 基礎(chǔ)上提出的感知損失對(duì)抗網(wǎng)絡(luò),將普通對(duì)抗損失和感知損失結(jié)合,生成更加真實(shí)的圖片。由于在訓(xùn)練時(shí)必須使用成對(duì)的圖片來進(jìn)行訓(xùn)練,而虛擬到真實(shí)場(chǎng)景的成對(duì)的圖像數(shù)據(jù)集難以采集,所以無法用于駕駛場(chǎng)景的轉(zhuǎn)換。Zhu等[9]提出的Cycle-GAN、Yi 等[10]提出的DualGAN、Kim 等[11]提出的DiscoGAN 都實(shí)現(xiàn)了任意風(fēng)格之間的相互轉(zhuǎn)換,且訓(xùn)練時(shí)并不需要成對(duì)的風(fēng)格不同的圖片,但由于模型沒有關(guān)聯(lián)前后幀的信息,使得在動(dòng)態(tài)生成視頻時(shí),存在前后幀的關(guān)鍵信息不一致的現(xiàn)象,因此難以應(yīng)用于自動(dòng)駕駛中虛擬到真實(shí)場(chǎng)景的視頻翻譯。
綜上所述,圖像場(chǎng)景翻譯方法應(yīng)用到自動(dòng)駕駛場(chǎng)景翻譯中存在的問題主要有兩個(gè):一是成對(duì)的虛擬場(chǎng)景和真實(shí)場(chǎng)景的圖像樣本缺乏;二是現(xiàn)有方法都是基于圖像翻譯的方法,沒有考慮視頻中前后幀的連貫性問題。針對(duì)這兩種問題,本文提出一種基于生成對(duì)抗雙網(wǎng)絡(luò)(Generative Adversarial Dual Networks,GADN)的從虛擬到真實(shí)駕駛場(chǎng)景的視頻翻譯模型。該方法中,基于深度生成對(duì)抗網(wǎng)絡(luò),提出一個(gè)“雙網(wǎng)絡(luò)”的結(jié)構(gòu),把語義分割圖像作為“橋梁”,將虛擬場(chǎng)景和真實(shí)場(chǎng)景連接起來,先將虛擬場(chǎng)景視頻翻譯成語義分割視頻,然后再將語義分割視頻翻譯成真實(shí)場(chǎng)景視頻,從而解決虛擬場(chǎng)景和真實(shí)場(chǎng)景成對(duì)的圖像數(shù)據(jù)集缺乏的問題。此外,本文在雙網(wǎng)絡(luò)中采用光流法,并在生成對(duì)抗網(wǎng)絡(luò)中設(shè)計(jì)圖像判別器和視頻判別器兩個(gè)判別器,關(guān)聯(lián)前后幀信息,解決視頻前后幀的連貫性問題。本文方法既解決了自動(dòng)駕駛模型的訓(xùn)練難題,又為視頻翻譯提供了新的解決方法。
為實(shí)現(xiàn)虛擬場(chǎng)景到真實(shí)駕駛場(chǎng)景的翻譯,本文首先將語義分割圖像作為中間橋梁,提出一種“雙網(wǎng)絡(luò)”的視頻翻譯框架。其中,前端網(wǎng)絡(luò)實(shí)現(xiàn)從虛擬場(chǎng)景到語義分割場(chǎng)景的視頻翻譯,后端網(wǎng)絡(luò)實(shí)現(xiàn)從語義分割場(chǎng)景到真實(shí)場(chǎng)景的視頻翻譯。然后基于該框架,利用深度生成對(duì)抗網(wǎng)絡(luò),設(shè)計(jì)前端網(wǎng)絡(luò)和后端網(wǎng)絡(luò)的結(jié)構(gòu)。
圖像的語義分割是對(duì)分割后的圖像加上語義標(biāo)簽,一般是用不同的顏色代表不同類別的物體。圖1(a)是從Carla 自動(dòng)駕駛模擬器[12]采集的駕駛場(chǎng)景的虛擬幀和其對(duì)應(yīng)的語義分割圖,圖1(b)是從Cityscapes 數(shù)據(jù)集[13]中獲取的駕駛場(chǎng)景的真實(shí)幀和其對(duì)應(yīng)的語義分割圖,并且對(duì)兩者用統(tǒng)一標(biāo)準(zhǔn)進(jìn)行語義分割。從圖1 中可以看出,雖然駕駛的虛擬場(chǎng)景和真實(shí)場(chǎng)景之間在光線、色彩、紋理等方面存在著較大差異,但是如果對(duì)兩者進(jìn)行語義分割處理,則處理之后的圖片具有一致的風(fēng)格。并且,語義分割圖像中不包含光線、色彩和紋理等細(xì)節(jié),但是又涵蓋了自動(dòng)駕駛所需的道路、車輛、建筑、行人等目標(biāo)內(nèi)容,因此本文采用語義分割圖像作為虛擬場(chǎng)景和真實(shí)場(chǎng)景之間視頻翻譯的“橋梁”。
圖1 虛擬場(chǎng)景和真實(shí)場(chǎng)景的語義分割Fig.1 Semantic segmentations of virtual and real scenes
基于“虛擬場(chǎng)景-語義分割場(chǎng)景-真實(shí)場(chǎng)景”的思想,本文設(shè)計(jì)一種“雙網(wǎng)絡(luò)”的視頻翻譯模型,如圖2 所示。該網(wǎng)絡(luò)分為前端網(wǎng)絡(luò)和后端網(wǎng)絡(luò)兩部分,前端網(wǎng)絡(luò)負(fù)責(zé)將虛擬場(chǎng)景翻譯為語義分割場(chǎng)景,后端網(wǎng)絡(luò)負(fù)責(zé)將語義分割場(chǎng)景翻譯成真實(shí)場(chǎng)景。通過“雙網(wǎng)絡(luò)”模型,首先將虛擬場(chǎng)景視頻翻譯成語義分割場(chǎng)景視頻,然后將語義分割場(chǎng)景視頻翻譯成真實(shí)場(chǎng)景視頻,從而實(shí)現(xiàn)虛擬場(chǎng)景到真實(shí)場(chǎng)景的視頻翻譯。
圖2 虛擬到真實(shí)的視頻翻譯模型Fig.2 Video translation model from virtual to real scenarios
在前端網(wǎng)絡(luò)中,向網(wǎng)絡(luò)輸入虛擬駕駛場(chǎng)景的視頻幀序列Vn={v1,v2,…,vn},通過卷積網(wǎng)絡(luò)提取每一幀的特征。為保障語義分割的前后幀之間的一致性,計(jì)算每相鄰兩幀之間的光流。生成當(dāng)前幀時(shí),前一幀的特征中融入前一幀到當(dāng)前幀的光流,得到當(dāng)前幀的特征,再通過反卷積網(wǎng)絡(luò)得到當(dāng)前幀的語義分割圖。通過多幀的計(jì)算,生成語義分割場(chǎng)景視頻幀Sn={s1,s2,…,sn}。在后端網(wǎng)絡(luò)中,輸入生成的語義分割場(chǎng)景視頻幀Sn={s1,s2,…,sn},通過卷積網(wǎng)絡(luò)提取每一幀的特征。為解決前后幀不一致問題,本文采用光流網(wǎng)絡(luò)計(jì)算相鄰兩幀之間的光流。生成當(dāng)前幀時(shí),將計(jì)算得到的光流與反卷積得到的幀融合,最后生成語義分割圖對(duì)應(yīng)的真實(shí)場(chǎng)景圖。同樣通過多幀的計(jì)算,生成真實(shí)場(chǎng)景視頻幀。
前端網(wǎng)絡(luò)的作用是將虛擬場(chǎng)景視頻翻譯成語義分割場(chǎng)景視頻?,F(xiàn)有的針對(duì)視頻的語義分割往往是對(duì)視頻的每一幀圖像單獨(dú)進(jìn)行語義分割,然而這種對(duì)每一幀都進(jìn)行語義分割的方法計(jì)算量較大,同時(shí)也無法關(guān)聯(lián)前后幀之間的信息。由于本文提出的雙網(wǎng)絡(luò)框架是基于連續(xù)幀的視頻而非單幀圖像,故設(shè)計(jì)一種動(dòng)態(tài)語義分割前端網(wǎng)絡(luò),以實(shí)現(xiàn)快速高效的、前后幀一致的虛擬場(chǎng)景視頻語義分割。
利用光流計(jì)算前后幀之間的關(guān)系,是視頻分析的一種常用方法[14]。受到文獻(xiàn)[14]啟發(fā),本文設(shè)計(jì)前端網(wǎng)絡(luò)的思想為:在視頻序列幀中選取一部分關(guān)鍵幀,在關(guān)鍵幀上采取直接通過常用的單幀圖像語義分割方法進(jìn)行語義分割得到關(guān)鍵幀的語義分割圖;在當(dāng)前幀上通過光流網(wǎng)絡(luò)計(jì)算當(dāng)前幀和關(guān)鍵幀之間的光流,通過關(guān)鍵幀的特征圖和光流網(wǎng)絡(luò)來預(yù)測(cè)當(dāng)前幀的特征圖,再反卷積生成當(dāng)前幀的語義分割圖。
假設(shè)一段虛擬駕駛場(chǎng)景序列有N幀(設(shè)N為j的倍數(shù)),將每連續(xù)的j幀為一段,則有N/j段連續(xù)幀。設(shè)m=N/j,將每段中的第一幀作為關(guān)鍵幀,則一共有m幀關(guān)鍵幀。故關(guān)鍵幀的集合可以表示為。將關(guān)鍵幀設(shè)為vkn,其中n∈[1,N/j],當(dāng)前幀設(shè)為vkn+i,其中i∈[1,j]。如圖3 所示,通過關(guān)鍵幀和當(dāng)前幀的虛擬圖像生成對(duì)應(yīng)的語義分割圖。
圖3 視頻翻譯前端網(wǎng)絡(luò)Fig.3 Front-part network for video translation
在生成關(guān)鍵幀的語義分割圖時(shí),通過卷積網(wǎng)絡(luò)Nf對(duì)關(guān)鍵幀vkn提取特征,再直接通過反卷積重建網(wǎng)絡(luò)Ns得到關(guān)鍵幀的語義分割圖skn。在生成當(dāng)前幀的語義分割圖時(shí),通過光流網(wǎng)絡(luò)fw計(jì)算關(guān)鍵幀vkn到當(dāng)前幀vkn+i之間的光流,并利用卷積網(wǎng)絡(luò)Nf提取關(guān)鍵幀vkn特征,再融合兩者得到當(dāng)前幀的特征,最后通過反卷積重建網(wǎng)絡(luò)Ns得到當(dāng)前幀的語義分割圖skn+i。整個(gè)過程用公式可以表達(dá)為式(1)、(2):
其中,i∈[1,j],n∈[1,m]。W是將關(guān)鍵幀的特征與關(guān)鍵幀和當(dāng)前幀之間的光流融合的函數(shù),本文采用的是雙線性插值的融合方法。由于卷積、反卷積和光流計(jì)算已有成熟的網(wǎng)絡(luò)模型,故本文中的特征提取卷積網(wǎng)絡(luò)采用文獻(xiàn)[15]中提出的網(wǎng)絡(luò),反卷積生成語義分割圖的網(wǎng)絡(luò)采用文獻(xiàn)[16]的網(wǎng)絡(luò),光流網(wǎng)絡(luò)采用文獻(xiàn)[17]中提出的網(wǎng)絡(luò)。為便于采用卷積網(wǎng)絡(luò),本文將處理的視頻幀尺寸統(tǒng)一縮放為256 × 256像素。
本文提出的“雙網(wǎng)絡(luò)”中的后端網(wǎng)絡(luò)的目的是實(shí)現(xiàn)語義分割場(chǎng)景視頻為輸入,真實(shí)場(chǎng)景視頻為輸出,如式(3)所示:
為了更好地達(dá)到這個(gè)目的,本文采用文獻(xiàn)[18]中提到的條件生成對(duì)抗網(wǎng)絡(luò)的方法作為基礎(chǔ)模型。在原始GAN 中,生成器G和判別器D不斷博弈,生成器G學(xué)習(xí)到逼近真實(shí)樣本數(shù)據(jù)的分布。條件GAN是對(duì)原始GAN的一個(gè)擴(kuò)展,生成器和判別器都增加額外信息y為條件,y可以是任意信息。條件GAN 的目標(biāo)函數(shù)是帶有條件概率的極大極小值博弈。如式(4)所示:
本文中的條件y為語義分割序列圖Sn。由式(3)、(4)可以推導(dǎo)出后端網(wǎng)絡(luò)訓(xùn)練的目標(biāo)函數(shù)如式(5):
其中:G是生成器;D是判別器;Rn是真實(shí)圖序列;Sn是語義分割圖序列。后端網(wǎng)絡(luò)整體框架如圖4 所示。為關(guān)聯(lián)前后幀之間的信息,采取將前后兩幀輸入生成器G,生成當(dāng)前幀的真實(shí)圖,通過多幀的計(jì)算,生成真實(shí)場(chǎng)景序列幀。判別器方面,采用兩個(gè)判別器,圖像判別器DI和視頻判別器DV。圖像判別器用來判別單幀生成圖的真假,視頻判別器用來判別生成真實(shí)場(chǎng)景序列的一致性。
圖4 視頻翻譯后端網(wǎng)絡(luò)Fig.4 Back-part network for video translation
1)生成器設(shè)計(jì)。
在視頻預(yù)測(cè)中,獲得前一幀到當(dāng)前幀的轉(zhuǎn)換函數(shù),則可以基于前一幀來預(yù)測(cè)當(dāng)前幀。受到文獻(xiàn)[19]的啟發(fā),轉(zhuǎn)化函數(shù)可以由前一幀到當(dāng)前幀的光流矢量來進(jìn)行描述。因此,在總時(shí)間為N幀的序列中,時(shí)刻i的生成真實(shí)圖像可以由三個(gè)因素得到:第i時(shí)刻的語義分割圖si;過去k個(gè)時(shí)刻的語義分割圖si-k+1,si-k+2,…,si-1;過去k個(gè)時(shí)間由語義分割圖生成的真實(shí)圖。
依據(jù)以上分析,本文設(shè)計(jì)的生成網(wǎng)絡(luò)如圖5 所示。為使訓(xùn)練更加穩(wěn)定,同時(shí)減少GPU顯存的消耗,本文將k設(shè)為1,則第i幀生成的真實(shí)圖取決于這3 幅圖像。在整段總時(shí)間為N的序列中,第i時(shí)刻輸入第i幀的語義分割圖si,通過單幀翻譯網(wǎng)絡(luò),直接生成初步真實(shí)場(chǎng)景圖ii。然后通過光流網(wǎng)絡(luò)計(jì)算第i-1 時(shí)刻和第i時(shí)刻的語義分割圖的光流矢量fi-1→i,再輸入第i-1 時(shí)刻生成的真實(shí)場(chǎng)景圖。在基礎(chǔ)上,通過光流矢量fi-1→i,計(jì)算得到扭曲圖wi,即利用光流場(chǎng)計(jì)算像素點(diǎn)在空間位置的偏移,得到經(jīng)過像素點(diǎn)移位后的圖像[17]。由于扭曲圖wi是在真實(shí)場(chǎng)景圖基礎(chǔ)上扭曲生成,會(huì)產(chǎn)生一定的模糊[20],這將使得最后效果不理想。此時(shí),本文計(jì)算扭曲圖wi的模糊程度掩模作為權(quán)重δ,加權(quán)平均初步真實(shí)場(chǎng)景圖ii和扭曲圖wi,得到最后生成的當(dāng)前幀的真實(shí)場(chǎng)景圖。整個(gè)步驟可以用式(6)來表達(dá):
其中⊙為逐像素相乘運(yùn)算符。為保證生成結(jié)果的真實(shí)程度,最后的生成結(jié)果由模糊程度掩模的值對(duì)扭曲圖和直接生成圖加權(quán)平均得出。當(dāng)wi越模糊時(shí),δ越大,則wi所占的比重越小,ii所占的比重越大,最后的生成圖更傾向于ii;反之,則更傾向于wi。由于文獻(xiàn)[7]提出的單幀圖像翻譯能夠有效地將一類圖像翻譯成另外一類圖像,因此本文采用文獻(xiàn)[7]中改進(jìn)的U-net結(jié)構(gòu)作為單幀翻譯網(wǎng)絡(luò)的框架,掩模計(jì)算網(wǎng)絡(luò)采用文獻(xiàn)[15]中提出的網(wǎng)絡(luò)。光流計(jì)算網(wǎng)絡(luò)與前端網(wǎng)絡(luò)一樣,采用文獻(xiàn)[17]中提出的FlowNet2。
圖5 后端網(wǎng)絡(luò)的生成器模型Fig.5 Generator model in back-part network
2)判別器設(shè)計(jì)。
普通的條件GAN 模型中只有單一的圖像判別器,但是單一的圖像判別器只能對(duì)單幀圖像進(jìn)行判別,將其用到視頻翻譯中時(shí),由于沒有考慮到前后幀之間的聯(lián)系,會(huì)出現(xiàn)前后幀不一致的現(xiàn)象。因此,為了保證圖像的真實(shí)性以及前后幀的一致性,本文將采用兩個(gè)判別器:圖像判別器DI和視頻判別器DV,兩個(gè)判別器都將采用條件判別器。
圖像判別器DI:設(shè)置DI旨在使得圖4 中生成的真實(shí)場(chǎng)景圖r'i更加真實(shí)。采用文獻(xiàn)[7]中的PatchGAN 結(jié)構(gòu),將生成的初步結(jié)果圖分割為很多小圖像塊Patch,然后判別圖像中N×N個(gè)圖像塊是否為真。這個(gè)步驟通過卷積層來實(shí)現(xiàn),逐次疊加卷積層的最終輸出N×N的矩陣,最后通過平均所有的響應(yīng)來得到最終輸出。由于是基于生成的真實(shí)場(chǎng)景圖來進(jìn)行判別,故本文采用條件判別器,在每次判別時(shí),從序列中隨機(jī)抽取語義分割圖和其對(duì)應(yīng)的生成真實(shí)場(chǎng)景圖和真實(shí)場(chǎng)景訓(xùn)練圖。因此,圖片損失函數(shù)如式(7)所示:
其中:DI為文獻(xiàn)[7]中的圖像判別器;r'i表示生成的真實(shí)場(chǎng)景圖;ri為實(shí)際的真實(shí)場(chǎng)景圖;si為對(duì)應(yīng)的語義分割圖。
視頻判別器DV:設(shè)置DV旨在保證生成的連續(xù)幀之間的一致性。視頻判別器基于相同的光流矢量,判別原本真實(shí)場(chǎng)景圖和生成的真實(shí)場(chǎng)景圖。在判別時(shí),從序列中隨機(jī)抽取出t幀的真實(shí)場(chǎng)景圖以及t幀真實(shí)場(chǎng)景圖中每相鄰兩幀之間的光流矢量圖(共計(jì)是t-1 幀光流矢量圖),還有這t幀對(duì)應(yīng)的語義分割圖。因此視頻損失函數(shù)表達(dá)式為(8):
其中:表示t幀的真實(shí)場(chǎng)景圖;表示這t幀對(duì)應(yīng)的語義分割圖表示t幀真實(shí)場(chǎng)景圖中每相鄰兩幀之間的光流矢量圖;表示t幀的生成的真實(shí)場(chǎng)景圖。DV視頻判別器采用文獻(xiàn)[20]中提出的視頻序列一致判別器。
3)目標(biāo)函數(shù)。
在普通的GAN 模型中,目標(biāo)函數(shù)由判別器判別真實(shí)數(shù)據(jù)損失和判別由生成器生成的偽真實(shí)數(shù)據(jù)的損失組成。其中:G需要最小化,使得判別器難以判別生成的數(shù)據(jù),D需要最大化,能夠鑒別出數(shù)據(jù)的真假。在本文中,存在一個(gè)生成器和兩個(gè)判別器,需要最小化G,最大化DI和DV。因此,本文提出的生成模型的優(yōu)化目標(biāo)函數(shù)最終設(shè)計(jì)為:
其中:G是生成模型中的生成器,用來生成連續(xù)幀的真實(shí)場(chǎng)景圖;LI是圖像判別器的損失;LV是視頻判別器的損失。為使得訓(xùn)練更加穩(wěn)定,采用最小二乘損失函數(shù)。在優(yōu)化算法中,采用自適應(yīng)矩估計(jì)(ADAptive Moment estimation,ADAM)法。
本文進(jìn)行實(shí)驗(yàn)的硬件環(huán)境:CPU 為Core i7-8700K(四核4.7 GHz)、GPU 為NVIDA GTX 1080ti(顯存11 GB)、內(nèi)存為32 GB。軟件環(huán)境:操作系統(tǒng)為Ubuntu、訓(xùn)練測(cè)試平臺(tái)為PyTorch,編程語言為Python。
在數(shù)據(jù)集方面,本文使用從Carla自動(dòng)駕駛模擬器平臺(tái)[12]采集的數(shù)據(jù)集以及Cityscapes 數(shù)據(jù)集[13]。其中Carla 自動(dòng)駕駛模擬器平臺(tái)是Intel 公司開發(fā)的開源模擬器,模擬器場(chǎng)景中有各種街道、樹木、行人、車輛等;Cityscapes 數(shù)據(jù)集是一個(gè)大規(guī)模的公開數(shù)據(jù)集,記錄在50 個(gè)不同城市的駕駛時(shí)街道場(chǎng)景。所選取的數(shù)據(jù)集全部都是連續(xù)段的視頻幀序列,在Carla中采集虛擬圖和其對(duì)應(yīng)的語義分割圖,在Cityscapes數(shù)據(jù)集中獲取連續(xù)的真實(shí)場(chǎng)景視頻幀和其對(duì)應(yīng)的語義分割圖。從Carla 中采集的視頻幀尺寸為1024 × 512像素;Cityscapes 數(shù)據(jù)集中視頻幀尺寸為2 048× 1024 像素。訓(xùn)練時(shí),分別采集2 975 段連續(xù)序列用于單獨(dú)訓(xùn)練前、后端網(wǎng)絡(luò),同時(shí)將所有數(shù)據(jù)集尺寸調(diào)整到256 × 256。其中,前端網(wǎng)絡(luò)訓(xùn)練集包含虛擬場(chǎng)景和對(duì)應(yīng)的語義分割圖,后端網(wǎng)絡(luò)訓(xùn)練集包含真實(shí)場(chǎng)景和對(duì)應(yīng)的語義分割圖;測(cè)試時(shí),額外采集300 段連續(xù)序列(全部為虛擬場(chǎng)景)用于測(cè)試。訓(xùn)練和測(cè)試的每個(gè)片段包含30個(gè)視頻幀。
為驗(yàn)證本文方法的有效性,本文對(duì)比兩種經(jīng)典的基于GAN 的圖像翻譯模型:pix2pix[7]與Cycle-GAN[9]。Cycle-GAN可以實(shí)現(xiàn)任意兩類圖像的翻譯,因此采用翻譯視頻中每一幀圖像的方法進(jìn)行對(duì)比;由于pix2pix 方法只能實(shí)現(xiàn)語義圖像到真實(shí)圖像的翻譯,因此本文采取“pix2pix+前端網(wǎng)絡(luò)”(以下簡(jiǎn)稱為“pix2pix”)的方式進(jìn)行虛擬到真實(shí)場(chǎng)景的翻譯。在評(píng)判標(biāo)準(zhǔn)方面,由于目前在圖像翻譯領(lǐng)域,若無兩種不同風(fēng)格成對(duì)的數(shù)據(jù)集,則往往從人眼觀察的角度來進(jìn)行效果對(duì)比[7-9,20],因此本文將從圖像定性方面對(duì)比實(shí)驗(yàn)結(jié)果。圖6~8選取的分別從不同場(chǎng)景、連續(xù)性和動(dòng)態(tài)目標(biāo)三個(gè)方面來對(duì)比的實(shí)驗(yàn)結(jié)果。
從圖6~8中可以得出以下結(jié)論:
1)本文方法可以有效地將多種不同虛擬場(chǎng)景翻譯成真實(shí)場(chǎng)景,并且比現(xiàn)有方法更加清晰和準(zhǔn)確。由于Cycle-GAN 方法沒有使用中間過渡而是直接翻譯,生成器無法針對(duì)細(xì)節(jié)進(jìn)行準(zhǔn)確處理。而pix2pix 方法與GADN 方法都采用了“雙網(wǎng)絡(luò)”框架,使場(chǎng)景中每一個(gè)事物對(duì)應(yīng)的語義得到更好的翻譯,因此這兩種方法都能準(zhǔn)確地翻譯每一個(gè)場(chǎng)景中的對(duì)應(yīng)物體。如圖6 所示,在直行和T 字路口場(chǎng)景中,方框標(biāo)出的區(qū)域是天空,在Cycle-GAN 方法的翻譯效果中卻是一片樹林;在L 型路口場(chǎng)景中,方框標(biāo)出的是一片樹林,在Cycle-GAN 方法的翻譯效果中卻是一片樹林和房屋的混合體;在有行人的場(chǎng)景中,方框標(biāo)出的為行人,在Cycle-GAN 方法的翻譯效果中行人十分模糊;在有小車的場(chǎng)景中,方框標(biāo)出的是小車,在Cycle-GAN方法的翻譯效果中小車并沒有被準(zhǔn)確翻譯出。
2)本文方法能實(shí)現(xiàn)前后幀圖像的連續(xù)翻譯,解決了傳統(tǒng)圖像翻譯方法在視頻翻譯時(shí)前后幀不一致的問題。由于本文采用了關(guān)聯(lián)前后幀的方法,在視頻序列幀生成時(shí)加入光流信息,所以對(duì)比現(xiàn)有方法,在視頻翻譯中具有明顯的優(yōu)勢(shì)。圖7為一段連續(xù)視頻幀的翻譯對(duì)比結(jié)果,方框選取的目標(biāo)為建筑房屋,在Cycle-GAN 的翻譯效果中并不準(zhǔn)確,翻譯成了樹林;同時(shí)隨著時(shí)間的推移,目標(biāo)物體不停地在變換,模糊不清,出現(xiàn)前后幀不一致現(xiàn)象。在pix2pix 與GADN 方法中房屋建筑的形狀和大小則翻譯地較為準(zhǔn)確;但是由于pix2pix 方法中也沒考慮前后幀信息,因此隨著時(shí)間的推移,房屋的顏色和形狀在變換,前后幀并不連續(xù);而只有在本文提出的GADN 方法中則表現(xiàn)最好,房屋建筑的顏色和形狀在前后幀之間的一致性較高。
圖6 不同靜態(tài)場(chǎng)景對(duì)比Fig.6 Comparative results in different static scenes
圖7 連續(xù)幀場(chǎng)景對(duì)比Fig.7 Comparative results in continuous frames
圖8 動(dòng)態(tài)目標(biāo)場(chǎng)景對(duì)比Fig.8 Comparative results in scenes with dynamic objects
3)本文方法能夠有效解決視頻翻譯中動(dòng)態(tài)目標(biāo)不完整以及突變的問題。由于本文方法采用語義分割作為中間過渡,同時(shí)在視頻序列幀生成時(shí)融入光流,所以本文的方法在有動(dòng)態(tài)目標(biāo)的場(chǎng)景中翻譯效果更好。如圖8 所示,本車和目標(biāo)車輛(方框標(biāo)出)分別通過右轉(zhuǎn)和左轉(zhuǎn)進(jìn)入T 字路口車道。在Cycle-GAN 方法的翻譯效果中卻并沒有出現(xiàn)車輛;在pix2pix方法中,車輛目標(biāo)雖然被翻譯出來,但是其形態(tài)并不完整,且在前后幀出現(xiàn)突變的情況,導(dǎo)致翻譯有誤。只有本文提出GADN 方法翻譯的真實(shí)場(chǎng)景中動(dòng)態(tài)車輛障礙物相對(duì)比較完整,且沒有出現(xiàn)前后幀突變的情況,效果明顯好于前兩種方法。
本文提出了一種基于生成對(duì)抗網(wǎng)絡(luò)的“雙網(wǎng)絡(luò)”模型,并利用該模型實(shí)現(xiàn)從虛擬駕駛場(chǎng)景到真實(shí)場(chǎng)景的動(dòng)態(tài)視頻翻譯。在該方法中,在輸入端輸入虛擬的駕駛場(chǎng)景序列幀,采用語義分割場(chǎng)景作為中間過渡,同時(shí)計(jì)算前后幀之間的光流來關(guān)聯(lián)前后幀信息,實(shí)現(xiàn)在輸出端輸出真實(shí)駕駛場(chǎng)景視頻幀。實(shí)驗(yàn)結(jié)果表明,本文提出的模型能有效地解決直接對(duì)視頻每一幀圖像翻譯中存在的翻譯圖像不準(zhǔn)確、前后幀不一致以及動(dòng)態(tài)目標(biāo)不完整等問題,在虛擬到真實(shí)駕駛場(chǎng)景的動(dòng)態(tài)轉(zhuǎn)換中具有較好的表現(xiàn),適用于自動(dòng)駕駛算法的訓(xùn)練和測(cè)試。同時(shí),本文方法也存在一定的不足。由于前后端網(wǎng)絡(luò)都需要用到光流網(wǎng)絡(luò)等已訓(xùn)練好的網(wǎng)絡(luò),所以對(duì)訓(xùn)練要求較高。此外,本文方法主要是為自動(dòng)駕駛強(qiáng)化學(xué)習(xí)中訓(xùn)練和測(cè)試服務(wù),因此未來的工作將會(huì)致力于將本文方法用于自動(dòng)駕駛中,實(shí)現(xiàn)本文方法的最大利用。