鐘冠華 黃巍
(武漢工程大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,湖北 武漢 430000)
視覺(jué)關(guān)系檢測(cè),不僅要識(shí)別圖像中的目標(biāo)物體類別以及位置,更重要的是根據(jù)物體之間的語(yǔ)義關(guān)系形成一個(gè)個(gè)三元組,來(lái)描述輸入的圖像,從而達(dá)到圖像轉(zhuǎn)化成文本的目的[1]。
最開(kāi)始的視覺(jué)關(guān)系檢測(cè)算法,將每對(duì)目標(biāo)物體與語(yǔ)義關(guān)系形成的三元組都視作一個(gè)類別進(jìn)行訓(xùn)練[2]。這類方法由于訓(xùn)練的類別過(guò)多,訓(xùn)練出來(lái)的模型比較固化死板,無(wú)法實(shí)現(xiàn)遷移學(xué)習(xí),實(shí)際應(yīng)用價(jià)值不太高。
為了能在大型數(shù)據(jù)集上更好地拓展,后續(xù)的視覺(jué)關(guān)系檢測(cè)算法提出的一系列模型,都是將目標(biāo)物體和語(yǔ)義關(guān)系分成視覺(jué)模塊與語(yǔ)言模塊兩個(gè)模塊進(jìn)行訓(xùn)練[3]。其中,基于Faster R-CNN的視覺(jué)關(guān)系檢測(cè)算法表現(xiàn)十分優(yōu)秀[4],模型通過(guò)三個(gè)分支網(wǎng)絡(luò)分別檢測(cè)主語(yǔ)、賓語(yǔ)與語(yǔ)義關(guān)系,然后把結(jié)果組合起來(lái)形成關(guān)系三元組。這一算法能更準(zhǔn)確地預(yù)測(cè)視覺(jué)關(guān)系,但是缺點(diǎn)是尺寸相差過(guò)大或者重合的兩個(gè)目標(biāo)之間的語(yǔ)義關(guān)系無(wú)法很好地檢測(cè)出來(lái)。
本文提出了基于多特征提取網(wǎng)絡(luò)的視覺(jué)關(guān)系檢測(cè)算法,模型將輸入的圖像通過(guò)卷積神經(jīng)網(wǎng)絡(luò),利用多個(gè)特征提取網(wǎng)絡(luò),將圖像信息、空間位置與語(yǔ)義信息三個(gè)特征分別提取出來(lái)進(jìn)行融合,輸出一個(gè)關(guān)系三元組。
圖像信息特征是最直觀的特征,利用卷積神經(jīng)網(wǎng)絡(luò)強(qiáng)大的特征提取能力,對(duì)圖像信息特征進(jìn)行有效提取。本章采用的圖像信息特征提取模塊是基于ResNet101網(wǎng)絡(luò)[5]進(jìn)行改進(jìn)的,其中ResNet101網(wǎng)絡(luò)如圖1所示。為了防止整張圖像的冗余信息對(duì)后續(xù)的檢測(cè)產(chǎn)生干擾,圖像信息特征模塊沒(méi)有將整張圖片作為卷積神經(jīng)網(wǎng)絡(luò)的輸入,而是先用成熟的目標(biāo)檢測(cè)算法(Faster R-CNN)對(duì)輸入的圖像做檢測(cè),找出可能是物體的區(qū)域,將兩個(gè)目標(biāo)物體的聯(lián)合邊框作為輸入,并且輸入前將聯(lián)合邊框的尺寸進(jìn)行調(diào)整,統(tǒng)一成224×224大小。
圖1 ResNet101網(wǎng)絡(luò)圖
ResNet101網(wǎng)絡(luò)的Block被稱為Bottleneck,包含兩個(gè)基本塊,分別為Conv Block和Identity Block,其中Conv Block輸入和輸出維度是不一樣的,所以不能連續(xù)串聯(lián),用于改變網(wǎng)絡(luò)的維度;Identity Block輸入維度和輸出維度相同,可以串聯(lián),用于加深網(wǎng)絡(luò)。
圖像中目標(biāo)對(duì)之間會(huì)出現(xiàn)“體型”差異過(guò)大的情況,例如“人”與“眼鏡”,兩者的比例過(guò)于夸張。同時(shí),由于卷積神經(jīng)網(wǎng)絡(luò)實(shí)際上的感受野比理論上的小得多,導(dǎo)致“眼鏡”這個(gè)小目標(biāo)容易被忽略。為了解決這一問(wèn)題,本章選擇將一種金字塔卷積PyConv(Pyramidal Convolution)[6]嵌入到Bottleneck中,具體結(jié)構(gòu)如圖2所示。
圖2 PyConv嵌入前后對(duì)比
嵌入金字塔卷積的網(wǎng)絡(luò)與原卷積網(wǎng)絡(luò)相比,采用了7×7、5×5和3×3三種不同尺度與深度的卷積核,代替了單一的卷積核,增加了網(wǎng)絡(luò)的感受野,加強(qiáng)了網(wǎng)絡(luò)的特征提取能力。
空間位置特征異常重要,因?yàn)槠洳恢皇悄軒椭鷻z測(cè)目標(biāo),更能反映目標(biāo)對(duì)之間語(yǔ)義關(guān)系,直接反映的有單純的位置關(guān)系,諸如“在……之上”(on)、“在……之后”(behind),間接反映的有“站”(stand)、“騎”(ride)之類的。空間位置特征分為兩種關(guān)系,即絕對(duì)空間關(guān)系與相對(duì)空間關(guān)系。絕對(duì)位置關(guān)系是用來(lái)表達(dá)目標(biāo)對(duì)之間的距離和方位,受圖像質(zhì)量影響,而且經(jīng)過(guò)池化后距離會(huì)有所變化。相對(duì)空間關(guān)系是用來(lái)表達(dá)目標(biāo)對(duì)之間的方位,而且由于視覺(jué)關(guān)系檢測(cè)中,目標(biāo)對(duì)之間的關(guān)系更多依靠的是相對(duì)空間關(guān)系,不需要非常精準(zhǔn)的距離坐標(biāo)數(shù)據(jù)??臻g位置特征能提供目標(biāo)對(duì)之間的相對(duì)方位,為后續(xù)的語(yǔ)義關(guān)系預(yù)測(cè)提供了有力證據(jù)。
基于目標(biāo)檢測(cè)的結(jié)果,關(guān)系實(shí)例(s,p,o)中,s表示主語(yǔ),o表示賓語(yǔ),x與y表示檢測(cè)框左上角坐標(biāo),w與h表示檢測(cè)框的寬度與高度。將空間位置特征表示為4維空間向量,計(jì)算公式如下所示:
但是當(dāng)目標(biāo)對(duì)發(fā)生重合的時(shí)候,上述計(jì)算公式很難表達(dá)空間位置特征,于是本文采用兩個(gè)二值矩陣來(lái)表示空間位置,兩個(gè)矩陣分別表示主語(yǔ)和賓語(yǔ)。將目標(biāo)物體所在區(qū)域的標(biāo)為1,周圍背景的區(qū)域標(biāo)為0。將兩個(gè)二值矩陣下采樣到32×32大小,接著依次通過(guò)卷積核大小為5×5、5×5和8×8的三個(gè)卷積層,最后提取出一個(gè)256維的向量。
視覺(jué)關(guān)系中,利用目標(biāo)之間類別的相似性,有一些關(guān)系可以通過(guò)類推得到,例如已經(jīng)檢測(cè)出了“人穿毛衣”,再檢測(cè)到“人”和“褲子”,由于“毛衣”與“褲子”有相似的語(yǔ)義特征,人們很容易就通過(guò)“人穿毛衣”這個(gè)語(yǔ)義關(guān)系聯(lián)想到“人穿褲子”,由此可知語(yǔ)義信息是一個(gè)十分重要的特征。
為了讓計(jì)算機(jī)擁有這種認(rèn)知,本章使用word2vec[7]整合主客體的類別信息。將檢測(cè)出來(lái)的目標(biāo)類別信息映射到一個(gè)特定的向量空間中,相似語(yǔ)義的詞所對(duì)應(yīng)的向量距離比較近,不同語(yǔ)義的詞之間的距離比較遠(yuǎn)。例如:“毛衣”與“褲子”都是衣物,向量距離比較近,而“毛衣”與“沙發(fā)”的向量距離比較遠(yuǎn),易從“人穿毛衣”關(guān)聯(lián)到“人穿褲子”,而無(wú)法從“人穿毛衣”關(guān)聯(lián)到“人穿沙發(fā)”。
視覺(jué)關(guān)系檢測(cè)的數(shù)據(jù)集與一般的目標(biāo)檢測(cè)不同,不僅對(duì)目標(biāo)物體的邊框與類別進(jìn)行標(biāo)注,還對(duì)目標(biāo)對(duì)之間的關(guān)系進(jìn)行標(biāo)注。目前主流檢測(cè)算法在兩個(gè)常用的視覺(jué)關(guān)系檢測(cè)數(shù)據(jù)集上進(jìn)行測(cè)試:
視覺(jué)基因數(shù)據(jù)集VG(Visual Genome)[8],該數(shù)據(jù)集由斯坦福大學(xué)人工智能實(shí)驗(yàn)室主任李菲菲與幾位同事合作開(kāi)發(fā)的公共標(biāo)準(zhǔn)數(shù)據(jù)集,是目前視覺(jué)關(guān)系檢測(cè)的最大數(shù)據(jù)集,一共有108007張圖片,每張圖片平均有35個(gè)目標(biāo)、26個(gè)特征和21個(gè)語(yǔ)義關(guān)系,產(chǎn)成一百多萬(wàn)條的視覺(jué)關(guān)系描述。經(jīng)過(guò)預(yù)處理后數(shù)據(jù)集只保留了頻率較高的150個(gè)目標(biāo)類別和500個(gè)語(yǔ)義關(guān)系。在訓(xùn)練中,本文選取整個(gè)數(shù)據(jù)集其中的64346張圖片作為的訓(xùn)練集圖像,其余圖像作為測(cè)試集圖像。
視覺(jué)關(guān)系檢測(cè)數(shù)據(jù)集VRD(Visual Relationship Dataset)[3],該數(shù)據(jù)集中共有5000張圖片、100種目標(biāo)類別和70個(gè)語(yǔ)義關(guān)系,產(chǎn)生了37993條視覺(jué)描述。該數(shù)據(jù)集相較于VG數(shù)據(jù)集,是設(shè)計(jì)專門(mén)用于視覺(jué)關(guān)系檢測(cè)基準(zhǔn)測(cè)試的數(shù)據(jù)集,沒(méi)有過(guò)多的標(biāo)注錯(cuò)誤和噪聲數(shù)據(jù),且數(shù)據(jù)規(guī)模不算龐大,得益于此,訓(xùn)練速度快。同時(shí)由于數(shù)據(jù)集規(guī)模較小,測(cè)試樣本不是很充足,不少三元組只出現(xiàn)在測(cè)試集中而沒(méi)有出現(xiàn)在訓(xùn)練集中。本次實(shí)驗(yàn)將其中的4000張圖像作為訓(xùn)練集,剩余1000張作為測(cè)試集。
在第二章中提取了圖像的多種特征后,網(wǎng)絡(luò)對(duì)多種特征進(jìn)行融合,具體融合過(guò)程如如圖3所示。
圖3 特征融合網(wǎng)絡(luò)圖
其中,IF(Image Feature)表示圖像信息特征,SF(Spatial Feature)表示空間位置特征,WF(Word Feature)表示語(yǔ)義關(guān)系特征,在特征融合網(wǎng)絡(luò)中,通過(guò)兩個(gè)全連接層,將三個(gè)不同的特征融合在一起,從而提升網(wǎng)絡(luò)的表征能力。
目前視覺(jué)關(guān)系檢測(cè)相關(guān)的主流算法都是通過(guò)召回率(Recall)來(lái)進(jìn)行評(píng)估。本文依據(jù)目前相關(guān)算法,采用Recall@50和Recall@100作為指標(biāo),其中Recall@50表示在圖像的前50個(gè)置信關(guān)系預(yù)測(cè)中,預(yù)測(cè)目標(biāo)對(duì)之間語(yǔ)義關(guān)系的正確率。本文參考文獻(xiàn)[4]的研究,采用三個(gè)任務(wù)來(lái)評(píng)估本文提出的方法:連接詞檢測(cè),詞組檢測(cè)和關(guān)系檢測(cè)。
連接詞檢測(cè):給定圖像中的標(biāo)注的目標(biāo)對(duì),預(yù)測(cè)對(duì)象之間的語(yǔ)義關(guān)系,檢測(cè)任務(wù)是在沒(méi)有檢測(cè)對(duì)象的情況下查看連接詞的準(zhǔn)確性。
詞組檢測(cè):輸入一張沒(méi)有分類過(guò)的圖像,輸出一個(gè)三元組,并且給出一個(gè)邊界框定位兩個(gè)目標(biāo)的位置。
關(guān)系檢測(cè):三個(gè)檢測(cè)任務(wù)中難度最高的一個(gè),應(yīng)用也最為廣泛。輸入一張沒(méi)有標(biāo)注過(guò)的圖像,輸出三元詞組。
實(shí)驗(yàn)參數(shù)設(shè)置:優(yōu)化器選用帶有動(dòng)量的隨機(jī)梯度下降,初始化學(xué)習(xí)率為0.001,動(dòng)量大小為0.9。實(shí)驗(yàn)采用Recall@50和Recall@100作為指標(biāo)(后續(xù)Recall簡(jiǎn)寫(xiě)成Rec),分別在VG數(shù)據(jù)集與VRD數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。對(duì)比試驗(yàn)主要包含以下三種模型:
模型A:采用未嵌入金字塔卷積的圖像特征提取網(wǎng)絡(luò)與4維空間向量公式的空間特征提取網(wǎng)絡(luò);
模型B:采用嵌入金字塔卷積的圖像特征提取網(wǎng)絡(luò)與4維空間向量公式的空間特征提取網(wǎng)絡(luò);
模型C:采用嵌入金字塔卷積的圖像特征提取網(wǎng)絡(luò)與二值矩陣的空間特征提取網(wǎng)絡(luò)。
結(jié)果統(tǒng)計(jì)數(shù)據(jù)如表1和2所示。
表1 在VG數(shù)據(jù)集上的對(duì)比實(shí)驗(yàn)
其中加粗?jǐn)?shù)據(jù)為表現(xiàn)最好的結(jié)果。對(duì)比模型A與模型B的召回率可以發(fā)現(xiàn),負(fù)責(zé)圖像信息提取的ResNet101網(wǎng)絡(luò)嵌入金字塔卷積后,大大提升了特征提取的能力,同時(shí)也從側(cè)面說(shuō)明了在數(shù)據(jù)集中,“體型”差異比較大的目標(biāo)對(duì)還是很多的。對(duì)比模型B與模型C的召回率可以發(fā)現(xiàn),由于數(shù)據(jù)集中目標(biāo)對(duì)位置重合的圖像大量存在,空間位置特征模塊采用二值矩陣的檢測(cè)效果更好。
目前由于檢測(cè)出來(lái)的視覺(jué)關(guān)系過(guò)于繁多,本文和目前主流算法一樣選取5個(gè)置信度較高的關(guān)系用以展示對(duì)比,具體關(guān)系檢測(cè)效果對(duì)比如圖4所示。
表2 在VRD數(shù)據(jù)集上的對(duì)比實(shí)驗(yàn)
圖4 視覺(jué)關(guān)系檢測(cè)效果對(duì)比圖
通過(guò)實(shí)驗(yàn)對(duì)比圖可以發(fā)現(xiàn),(a)中檢測(cè)出來(lái)“glasses”這一目標(biāo),卻沒(méi)有檢測(cè)出
本文提出的基于多特征提取網(wǎng)絡(luò)的視覺(jué)關(guān)系檢測(cè)算法,優(yōu)化了圖像特征提取網(wǎng)絡(luò),改進(jìn)了空間位置的向量表示。改進(jìn)后的算法與原算法相比,在連接詞檢測(cè)子任務(wù)中提升了9%左右,在詞組檢測(cè)子任務(wù)中提升了7%左右,在關(guān)系檢測(cè)子任務(wù)中提升了6%左右,驗(yàn)證了這些改進(jìn)對(duì)于檢測(cè)能力有著很大的提升。
將來(lái)隨著研究的深入與技術(shù)的發(fā)展,視覺(jué)關(guān)系檢測(cè)技術(shù)可以搭載上文本轉(zhuǎn)化語(yǔ)音技術(shù),直接讓圖片開(kāi)口“說(shuō)話”,從而在教育醫(yī)療領(lǐng)域上大放異彩。