趙 一,段 興,謝仕義,梁春林
(1.廣東海洋大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院,廣東湛江524000;2.湛江灣實(shí)驗(yàn)室南海漁業(yè)大數(shù)據(jù)中心,廣東湛江524000)
截止2015 年,北京市已經(jīng)安裝100 多萬(wàn)個(gè)攝像頭,對(duì)2 174 多萬(wàn)人口及700 多萬(wàn)車(chē)輛實(shí)施交通監(jiān)控[1],交通監(jiān)管部門(mén)需要從海量交通監(jiān)控圖像中檢索出違反交通規(guī)則的圖像。這些道路交通監(jiān)控圖像并沒(méi)有描述文本,無(wú)法利用現(xiàn)有的文本檢索方法,如果僅通過(guò)人工去識(shí)別圖像所包含的語(yǔ)義,則費(fèi)時(shí)費(fèi)力,因此,交通圖像語(yǔ)義檢索工具的支持是非常必要的。
圖像語(yǔ)義檢索框架主要包括兩大模塊:語(yǔ)義分析模塊和語(yǔ)義檢索模塊[2]。語(yǔ)義分析模塊將圖像中的底層特征抽取出來(lái),并與高層的本體概念系統(tǒng)進(jìn)行匹配。圖像的底層可視特征與高層語(yǔ)義特征之間存在著一道鴻溝,在將可視化數(shù)據(jù)(visual data)導(dǎo)入語(yǔ)義分析模塊進(jìn)行檢索之前,必須要將可視化數(shù)據(jù)轉(zhuǎn)換成為語(yǔ)義檢索模塊能接受的本體實(shí)例及實(shí)例間關(guān)聯(lián)。語(yǔ)義圖像檢索的性能極大地依賴(lài)于可視化數(shù)據(jù)特征的提取和描述。基于內(nèi)容的圖像語(yǔ)義檢索面臨14 個(gè)語(yǔ)義鴻溝,包括圖像內(nèi)容、圖像特征、圖像語(yǔ)義等[3]。這些鴻溝將人類(lèi)對(duì)圖像的高層場(chǎng)景理解和底層的計(jì)算機(jī)像素分析分割開(kāi)來(lái),圖像處理技術(shù)是彌補(bǔ)語(yǔ)義鴻溝的手段。關(guān)于語(yǔ)義檢索模塊,目前已有將顏色、位置、形狀等底層次圖像特征和圖像中二維區(qū)域的空間位置關(guān)系特征,映射到本體概念及本體概念間關(guān)聯(lián)的方法[4]。在抽取圖像內(nèi)容(visual content)方面,可以通過(guò)尺寸不變特征變換(Scale-Invariant Feature Transform,SIFT)技術(shù)來(lái)抽取視覺(jué)內(nèi)容并轉(zhuǎn)成為矢量模型,然后通過(guò)對(duì)矢量聚類(lèi)得到視覺(jué)詞匯(visual word),并映射到領(lǐng)域本體中,從而實(shí)現(xiàn)對(duì)圖像的檢索[5]。然而,對(duì)道路交通圖像的語(yǔ)義檢索主要關(guān)注的是特定的交通目標(biāo),而非提取圖像中所有目標(biāo),關(guān)注的也不是圖像的紋理、顏色等底層特征。
基于領(lǐng)域本體搜索是利用語(yǔ)義檢索模塊和語(yǔ)義分析對(duì)圖像內(nèi)容標(biāo)注,然后進(jìn)行內(nèi)容關(guān)系推理得出檢索結(jié)果。本體經(jīng)常用于信息系統(tǒng)中,作為一種有效的語(yǔ)義表征(semantic representation)[6]。在知識(shí)結(jié)構(gòu)體中,本體也常用于圖像檢索系統(tǒng),支持精確地發(fā)現(xiàn)、分類(lèi)、檢索以及標(biāo)注圖像[7]。當(dāng)前,已有不少利用本體來(lái)輔助圖像檢索的相關(guān)工作。比如:本體結(jié)合物種分類(lèi)知識(shí)圖譜已用于動(dòng)物圖像的語(yǔ)義檢索[8];同時(shí),本體結(jié)合情感表征也已用于藝術(shù)圖像[9]及博物館圖像的語(yǔ)義檢索。實(shí)驗(yàn)表明,通過(guò)本體,可以檢索到一些語(yǔ)義相似的圖像,從而提高圖像檢索的查準(zhǔn)率和查全率。本體還被用于圖像查詢(xún)的擴(kuò)展,提高圖像檢索的精度。目前,本體圖像檢索較新的研究方向?yàn)槎嗄J奖倔w(Multi-Modal Incompleteness Ontology,MMIO)模型,它既包含了某領(lǐng)域核心詞匯,也包含了文本描述概念和視覺(jué)特征概念,通過(guò)多元信息融合提高檢索精度[10]。
然而,已有方法在使用本體進(jìn)行圖像語(yǔ)義檢索時(shí),主要還是利用本體概念間繼承關(guān)系進(jìn)行的推理,如果圖像目標(biāo)之間存在更加復(fù)雜的語(yǔ)義關(guān)聯(lián),如在確定圖像目標(biāo)中的空間位置關(guān)系時(shí),若仍然使用當(dāng)前的語(yǔ)義圖像檢索方法,便無(wú)法自動(dòng)檢索到更加完整的圖像與目標(biāo)之間的空間位置關(guān)系。
針對(duì)這些問(wèn)題,本文提出了一種改進(jìn)目標(biāo)自識(shí)別的交通圖像語(yǔ)義檢索方法。該方法能根據(jù)交通違規(guī)查詢(xún)請(qǐng)求,自動(dòng)識(shí)別出交通圖像中的特定圖像目標(biāo)及目標(biāo)間的空間位置關(guān)系,并通過(guò)語(yǔ)義推理得到違反道路交通的查詢(xún)結(jié)果。本文的主要工作包括:
1)基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)抽取圖像特征,然后利用模擬退火結(jié)合遺傳算法(Simulated Annealing Genetic Algorithm,SA+GA)改進(jìn)的支持向量機(jī)決策樹(shù)(Support Vector Machine based Decision Tree,SVM-DT)算法對(duì)特征進(jìn)行分類(lèi),最后利用生成的決策樹(shù)對(duì)交通圖像中的特定目標(biāo)進(jìn)行自動(dòng)識(shí)別,并映射到相應(yīng)領(lǐng)域本體中的實(shí)例。與其他分類(lèi)器相比,通過(guò)改進(jìn)算法得到的SVMDT對(duì)交通目標(biāo)進(jìn)行自動(dòng)識(shí)別時(shí),具有更高的精確度。
2)在描述目標(biāo)之間空間位置關(guān)系時(shí),利用了基于方向關(guān)系矩陣模型和一階邏輯(first-order logic)的本體規(guī)則進(jìn)行建模和推理,使得邏輯推理能力更強(qiáng),檢索結(jié)果更加準(zhǔn)確。
3)構(gòu)建了原型系統(tǒng),實(shí)現(xiàn)了本文所述的目標(biāo)自識(shí)別的道路交通圖像語(yǔ)義檢索方法。
近年來(lái),圖像的關(guān)系語(yǔ)義識(shí)別主要包括如下方面的研究:
1)基于神經(jīng)網(wǎng)絡(luò)[11]的圖像語(yǔ)義識(shí)別。神經(jīng)網(wǎng)絡(luò)最初應(yīng)用在圖像的情感語(yǔ)義識(shí)別上,它利用底層特征映射到情感語(yǔ)義空間,在構(gòu)建的二維圖像情感因子空間,通過(guò)機(jī)器學(xué)習(xí)的BP神經(jīng)網(wǎng)路實(shí)現(xiàn)了圖像的底層特征的語(yǔ)義因子空間的映射。
2)基于特征融合[12]的圖像語(yǔ)義識(shí)別。文獻(xiàn)[12]采用了一種加權(quán)值的圖像特征融合算法,并應(yīng)用于圖像情感語(yǔ)義識(shí)別,該方法根據(jù)不同特征對(duì)情感語(yǔ)義的影響提取顏色、紋理和形狀特征后通過(guò)加權(quán)融合為新特征輸入量,并用SVM 來(lái)實(shí)現(xiàn)情感語(yǔ)義的識(shí)別。
3)基于本體的圖像情感語(yǔ)義識(shí)別[13]。文獻(xiàn)[13]針對(duì)人類(lèi)在圖像情感語(yǔ)義理解過(guò)程中存在的個(gè)性化和群體化現(xiàn)象,系統(tǒng)使用多層次的情感推理模型來(lái)分析圖像情感語(yǔ)義。
4)基于Zernike 矩陣的圖像識(shí)別[14]。文獻(xiàn)[14]針對(duì)圖像的旋轉(zhuǎn)、尺度和平移不變性識(shí)別問(wèn)題,采用了一套旋轉(zhuǎn)不變特征。使用正則幾何矩陣圖像的比例和平移參數(shù)不變特征,重新利用Zernike 矩陣的正交性,簡(jiǎn)化了圖像重建的過(guò)程,使圖像的特征選擇方法切實(shí)可行。
5)基于卷積網(wǎng)絡(luò)的圖像識(shí)別[15]。文獻(xiàn)[15]采用了一個(gè)深入的評(píng)估網(wǎng)絡(luò)精度的方法,構(gòu)建了ConvNet 模型,用于解決計(jì)算機(jī)視覺(jué)中深層視覺(jué)表象的研究。
6)基于非線性圖像變形模型的圖像識(shí)別[16]。文獻(xiàn)[16]采用了經(jīng)常出現(xiàn)在圖像對(duì)象變化時(shí)存在相似的模塊,并結(jié)合模型定位局部變化點(diǎn),從而提高了MNIST標(biāo)準(zhǔn)的識(shí)別效果。
7)基于多方式局部集中的圖像識(shí)別方法[17]。研究針對(duì)目標(biāo)識(shí)別系統(tǒng)中集中的特征向量空間的局部不變的特征,提出了一種空間金字塔框架(spatial pyramid framework)來(lái)提高圖像識(shí)別效率。
目前,利用分類(lèi)模型對(duì)圖像關(guān)系語(yǔ)義進(jìn)行識(shí)別的研究,主要有基于Nasent(Neural analysis of sentiment)[18]改進(jìn)的各種模型。首先,Nasent 模型在深度學(xué)習(xí)的基礎(chǔ)上開(kāi)發(fā)了一種無(wú)監(jiān)督情況下運(yùn)行的模型,但是它針對(duì)圖像的感知分析主要聚焦于模型本身,忽略了詞序,并且只適合用于簡(jiǎn)單的例句,還遠(yuǎn)達(dá)不到人類(lèi)的理解能力。
其次,利用Nasent模型對(duì)圖像進(jìn)行語(yǔ)義分析時(shí),所描述的語(yǔ)義會(huì)隨圖像中各種參照物的不同而變化,Nasent 模型雖然會(huì)為每個(gè)圖像的描述構(gòu)造語(yǔ)法樹(shù),但是在分析描述圖片的語(yǔ)句時(shí),根據(jù)的是關(guān)系樹(shù)構(gòu)造圖像之間的語(yǔ)義聯(lián)系。Nasent 的準(zhǔn)確率達(dá)到了85%,但遇到?jīng)]有被統(tǒng)計(jì)的圖像描述詞匯或短語(yǔ)時(shí),這個(gè)系統(tǒng)就會(huì)失效。
基于傳統(tǒng)的SVM 決策樹(shù)多分類(lèi)的圖像目標(biāo)語(yǔ)義識(shí)別方法是一種啟發(fā)式搜索算法,因此,不能保證在任何情況下生成的決策樹(shù)一定是最優(yōu)。而本文所提出的SVM-DT 是基于測(cè)度的一對(duì)多比較,能確保每次比較都是最優(yōu),而且能夠按照測(cè)度最優(yōu)值分配決策樹(shù)劃分結(jié)構(gòu)。通過(guò)對(duì)傳統(tǒng)的SVM 一對(duì)多(one-versus-rest)分析與比較:我們發(fā)現(xiàn)傳統(tǒng)的一對(duì)多分類(lèi)算法訓(xùn)練時(shí)依次把某個(gè)類(lèi)別的樣本歸為一類(lèi),其他剩余的樣本歸為另一類(lèi),這樣k個(gè)類(lèi)別的樣本就構(gòu)造出了k個(gè)SVM。其優(yōu)點(diǎn)是訓(xùn)練k 個(gè)分類(lèi)器,個(gè)數(shù)較少,分類(lèi)速度相對(duì)較快;缺點(diǎn)是每個(gè)分類(lèi)器的訓(xùn)練都是將全部的樣本作為訓(xùn)練樣本,這樣在求解二次規(guī)劃問(wèn)題時(shí),訓(xùn)練速度會(huì)隨著訓(xùn)練樣本的數(shù)量的增加而急劇減慢。
本文改進(jìn)的SVM-DT 分類(lèi)因?yàn)椴捎昧朔蛛x性測(cè)度,所以其分類(lèi)判斷的最壞情況等于算法所需的SVM 個(gè)數(shù),則需要訓(xùn)練SVM 個(gè)數(shù)為k-1;且每一次利用測(cè)量函數(shù)后,就會(huì)得到一個(gè)最優(yōu)解,即:兩個(gè)分類(lèi)所需要遍歷SVM 個(gè)數(shù)小于等于k(k-1)(k+2)/2(k+1)。
本文關(guān)注的圖像關(guān)系語(yǔ)義挖掘與已有圖像語(yǔ)義識(shí)別方法關(guān)注點(diǎn)不同,在于詳細(xì)分析圖像中各實(shí)例的位置關(guān)系,并利用SWRL 規(guī)則準(zhǔn)確判定語(yǔ)義規(guī)則。且已有的算法研究并沒(méi)有充分考慮到圖像的實(shí)例關(guān)系,而是統(tǒng)一將整幅圖像進(jìn)行分析,這將不能對(duì)圖像中各個(gè)實(shí)例的關(guān)系進(jìn)行解釋?zhuān)瑹o(wú)法實(shí)現(xiàn)像人腦那樣對(duì)一幅圖像進(jìn)行深層次的理解。本文利用相應(yīng)的工具對(duì)圖像進(jìn)行實(shí)例化標(biāo)注,以有效地挖掘出視頻圖像中實(shí)例的位置關(guān)系,能較完整地解決機(jī)器自動(dòng)判斷道路上機(jī)動(dòng)車(chē)、非機(jī)動(dòng)車(chē)及行人違法的問(wèn)題。
道路交通監(jiān)管部門(mén)需要從海量的交通圖像中檢索出違反交通規(guī)則的圖像,如果用人工對(duì)海量交通圖像進(jìn)行甄別,則十分費(fèi)時(shí)費(fèi)力。根據(jù)道路交通監(jiān)管部門(mén)的查詢(xún)請(qǐng)求,本文方法首先利用機(jī)器學(xué)習(xí)方法識(shí)別出特定目標(biāo),將其標(biāo)注成為交通領(lǐng)域本體中的實(shí)例,繼而分析得到特定目標(biāo)之間的空間位置關(guān)系;然后,通過(guò)語(yǔ)義推理技術(shù),判斷自動(dòng)標(biāo)注出來(lái)的本體實(shí)例之間是否滿(mǎn)足交通規(guī)則的約束;最后,將違反交通規(guī)則的圖像返回給交通監(jiān)管部門(mén)。本文方法可實(shí)現(xiàn)完全自動(dòng)化,為交通監(jiān)管部門(mén)節(jié)省大量人力,且提供更加直觀的執(zhí)法依據(jù)。本文提出的目標(biāo)自識(shí)別的交通圖像語(yǔ)義檢索方法包括三個(gè)主要步驟:
1)道路交通領(lǐng)域知識(shí)構(gòu)建。領(lǐng)域?qū)<覙?gòu)建道路交通領(lǐng)域本體,包括概念、實(shí)例、繼承、實(shí)例化、屬性關(guān)聯(lián)等,并構(gòu)建基于一階邏輯的道路交通規(guī)則公式。
2)圖像目標(biāo)自動(dòng)挖掘。從圖像數(shù)據(jù)中自動(dòng)識(shí)別出查詢(xún)請(qǐng)求的特定目標(biāo),并得到目標(biāo)之間的空間位置二元關(guān)系。
3)基于領(lǐng)域本體推理的圖像檢索。根據(jù)步驟1)建立的領(lǐng)域知識(shí)和步驟2)中自動(dòng)挖掘出的特定目標(biāo)及其關(guān)聯(lián)進(jìn)行邏輯推理,得到圖像檢索結(jié)果。
方法總體框架如圖1所示。
圖1 基于領(lǐng)域知識(shí)的交通圖像語(yǔ)義檢索框架Fig.1 Traffic image semantic retrieval framework based on domain knowledge
道路交通領(lǐng)域知識(shí)的構(gòu)建,包括構(gòu)建道路交通領(lǐng)域?qū)哟胃拍罱Y(jié)構(gòu)的本體以及道路交通規(guī)則公式。通過(guò)圖像目標(biāo)自動(dòng)識(shí)別算法,識(shí)別出的目標(biāo)映射為交通領(lǐng)域本體的實(shí)例,圖像目標(biāo)之間的空間位置關(guān)系對(duì)應(yīng)于交通領(lǐng)域本體中實(shí)例間的對(duì)象關(guān)聯(lián)屬性。
道路交通領(lǐng)域本體提供了道路交通領(lǐng)域詞匯和背景知識(shí),如:行人、交通標(biāo)識(shí)及各種機(jī)動(dòng)車(chē)等。本體中的類(lèi)(Class)和關(guān)聯(lián)關(guān)系(Relationship)的定義以及交通領(lǐng)域法規(guī),來(lái)自于《中華人民共和國(guó)道路安全交通法》(http://www.bjjtgl.gov.cn/jgj/fl/205308/index.html)。該法規(guī)提供了我國(guó)道路交通安全領(lǐng)域標(biāo)準(zhǔn)術(shù)語(yǔ)及其基本的道路安全交通法規(guī)。道路交通法規(guī)例子如表1 所示。本文使用語(yǔ)義網(wǎng)規(guī)則語(yǔ)言(Semantic Web Rule Language,SWRL)來(lái)描述交通法規(guī)。圖2 示例了道路交通領(lǐng)域知識(shí),包括道路交通領(lǐng)域本體和SWRL 描述的道路交通法規(guī)公式,其中:橢圓形表示本體概念,矩形表示本體實(shí)例,本體實(shí)例間有對(duì)象屬性關(guān)聯(lián)相連。
表1 道路交通領(lǐng)域法規(guī)Tab.1 Rules in the domain of road traffic
圖2 道路交通領(lǐng)域知識(shí)Fig.2 Road traffic domain knowledge
圖像目標(biāo)自動(dòng)識(shí)別的目的,是從圖像的可視化數(shù)據(jù)(Visual data)中識(shí)別出用戶(hù)查詢(xún)請(qǐng)求中規(guī)定的特定交通目標(biāo),如:機(jī)動(dòng)車(chē)、非機(jī)動(dòng)車(chē)、行人或斑馬線等。交通圖像中目標(biāo)識(shí)別是一個(gè)典型的高維數(shù)、小樣本問(wèn)題。文獻(xiàn)[20]卷積神經(jīng)網(wǎng)絡(luò)-支持向量機(jī)(Convolutional Neural Networks-Support Vector Machine,CNN-SVM)在解決高維數(shù)、小樣本識(shí)別問(wèn)題中表現(xiàn)出特有的優(yōu)勢(shì)。文獻(xiàn)[21]基于訓(xùn)練樣本分布定義了類(lèi)分離度量,并引入到SVM-DT 構(gòu)成的過(guò)程中,得到了一種改進(jìn)的SVM-DT 訓(xùn)練算法,再將該方法用于雷達(dá)目標(biāo)的高分辨一維距離圖像的目標(biāo)識(shí)別中。文獻(xiàn)[22]以最大分類(lèi)間隔為準(zhǔn)則,利用遺傳算法對(duì)傳統(tǒng)的SVM-DT 進(jìn)行優(yōu)化,提出了一種最優(yōu)(或近優(yōu))決策二叉樹(shù)訓(xùn)練算法,且實(shí)驗(yàn)證明了該方法有更高的分類(lèi)精度;但是遺傳算法存在“過(guò)早收斂”的問(wèn)題,導(dǎo)致迅速收斂的結(jié)果未必是全局最優(yōu)。本節(jié)提出了一種基于模擬退火遺傳算法的SVM-DT 多分類(lèi)策略,使得收斂結(jié)果能更好地接近全局最優(yōu)解,具體如下所述:
為了自動(dòng)從圖像中識(shí)別出特定目標(biāo),首先,進(jìn)行圖像預(yù)處理,將圖像轉(zhuǎn)換成為特征向量。本文選擇CNN 卷積神經(jīng)網(wǎng)絡(luò)對(duì)待識(shí)別交通目標(biāo)作為特征提取,然后全鏈接層得到圖像特征通過(guò)一種改進(jìn)的SVM-DT 構(gòu)建算法訓(xùn)練出最(近)優(yōu)決策樹(shù)進(jìn)行分類(lèi)。最后獲取了決策二叉樹(shù)對(duì)圖像進(jìn)行測(cè)試,挖掘出被測(cè)試圖像中的特定交通目標(biāo)。
本文所使用的CNN 提取交通圖像特征借鑒了經(jīng)典的R-CNN 算法[19],在此基礎(chǔ)上改進(jìn)了SVM 分類(lèi)器,提高了分類(lèi)精度。圖像特征抽取是通過(guò)CNN 局部連接網(wǎng)絡(luò)的特性,將圖像分成小的連通區(qū)域,然后根據(jù)自然圖像的統(tǒng)計(jì)特性,某個(gè)區(qū)域的權(quán)值也可用于另一區(qū)域(權(quán)值共享性),權(quán)值共享表征為卷積核共享,對(duì)于一個(gè)卷積核將其與給定的圖像做卷積,就可得到一種圖像的特征,不同的卷積可以提取不同的圖像特征。具體流程為:
1)輸入一張圖片,通過(guò)生成候選窗口(selective search)算法定位2 000 個(gè)物體候選框(bounding box),這些框中有本文需要的物體特征。
2)非極大值抑制(Intersection Over Union,IOU)。由于選定框是矩形,而且大小各不相同,而CNN 要求輸入圖片的大小是固定值,所以必須對(duì)矩形候選框作縮放處理,本文選取的是各向同性縮放處理。接著對(duì)候選框進(jìn)行非極大值抑制處理,目的是為了對(duì)候選框與真實(shí)框(ground truth)進(jìn)行回歸,校正微調(diào)提取框(region proposal)的大小,以提高最終的樣本檢測(cè)精度。
3)CNN 特征提取。本文選取的神經(jīng)網(wǎng)絡(luò)架構(gòu)是經(jīng)典的Alexnet,其特點(diǎn)是卷積核比較小、跨步小、精度較高。Alexnet特征提取部分包含了5 個(gè)卷積層、2 個(gè)全連接層,其每層神經(jīng)元個(gè)數(shù)都是4 096,保證最后提出每個(gè)候選框圖片都有4 096維特征向量。首先進(jìn)行網(wǎng)絡(luò)有監(jiān)督的預(yù)訓(xùn)練階段,得到一個(gè)初始模型;然后對(duì)初始模型進(jìn)行fine-runing 訓(xùn)練,其目的是針對(duì)特定的任務(wù)來(lái)縮小訓(xùn)練的數(shù)據(jù)集,以提高SVM訓(xùn)練精度;最后假設(shè)要檢測(cè)的物體類(lèi)別有N 類(lèi),將預(yù)訓(xùn)練階段的CNN 模型的最后一層替換成N+1個(gè)輸出的神經(jīng)元(“+1”表示還有一個(gè)背景),直接采用參數(shù)隨機(jī)初始化的方法,其他網(wǎng)絡(luò)層的參數(shù)不
變,開(kāi)始隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)訓(xùn)練。開(kāi)始時(shí),SGD 學(xué)習(xí)率選擇0.001,在每次訓(xùn)練的時(shí)候,batchsize大小選擇128,其中32個(gè)是正樣本,96個(gè)是負(fù)樣本。
4)把CNN 提取的特征輸入到本文改進(jìn)的SVM 中進(jìn)行分類(lèi),如果這個(gè)特征向量feature vector 所對(duì)應(yīng)的候選框是需要的物體則分為同一類(lèi),否則分為其他類(lèi)別。
CNN獲取圖像實(shí)例特征的算法流程如下:
輸入 樣本圖像數(shù)據(jù);理想輸出;
輸出 實(shí)際輸出:
1) 取得卷積核個(gè)數(shù):ConvolutionLayer::fprop(input,output)
2) For(int i=0;i <n;i++)
3) 用第i個(gè)卷積核和輸入層第a個(gè)特征映射做卷積
4) convolution=Conv(input[a],kernel[i]);
5) 把卷積結(jié)果求和:sum[b]+=convolution;
6) End For
7) for(i=0;i <(int)bias.size();i++)
8) 加上偏移量:sum[i]+=bias[i];
9) 調(diào)用Sigmoid函數(shù):output=Sigmoid(sum);
10) 梯度通過(guò)DSigmoid反傳
11) sum_dx=DSigmoid(out_dx);
12) 計(jì)算bias和coeff的梯度 //coeff是回歸系數(shù),bias是偏置
13) coeff_dx[i]+=sub[j][k]*sum_dx[i][j][k];
14) bias_dx[i]+=sum_dx[i][j][k]);
15) 調(diào)整權(quán)矩陣
16)End For
采用基于模擬退火遺傳算法改進(jìn)的SVM-DT 分類(lèi)方法生成決策二叉樹(shù),并對(duì)CNN 傳入的圖像特征進(jìn)行改進(jìn)的SVMDT分類(lèi),這樣做的目的是為了解決CNN 的Softmax層訓(xùn)練時(shí),正負(fù)樣本閾值無(wú)法調(diào)整的問(wèn)題。因?yàn)槔硐霠顟B(tài)是:當(dāng)候選框把整輛車(chē)都包含在內(nèi),稱(chēng)為正樣本;候選框沒(méi)有包含到車(chē)輛,就稱(chēng)為負(fù)樣本。如果遇到候選框部分包含車(chē)輛的情況,就可以通過(guò)調(diào)整IOU 閾值來(lái)獲取最好的分類(lèi)效果。本文通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),設(shè)定IOU 為0.4 劃分汽車(chē)效果最好。通過(guò)設(shè)定的值訓(xùn)練出來(lái)的SVM分類(lèi)器能夠比Softmax層分類(lèi)的結(jié)果更準(zhǔn)確。
本文的目標(biāo)是在每個(gè)決策節(jié)點(diǎn)將原始多類(lèi)訓(xùn)練樣本集劃分為兩類(lèi),并且使分類(lèi)間隔最大,所以選擇SVM 分類(lèi)算法的分類(lèi)間隔作為模擬退火遺傳算法適應(yīng)度函數(shù)。引入模擬退火算法的控制參數(shù)T 來(lái)控制變異時(shí)子結(jié)點(diǎn)染色體替換父節(jié)點(diǎn)染色體的概率,優(yōu)化了遺傳算法中生存策略,從而能找到接近全局最優(yōu)解,得到一棵分類(lèi)間隔最大的決策二叉樹(shù)。
線性分類(lèi)器的學(xué)習(xí)目標(biāo)便是要在n 維的數(shù)據(jù)空間中找到一個(gè)超平面:H(xi,yi),i=1,2,…,n,x ∈Rn,y ∈(+1,-1),i 為樣本數(shù),Rn為輸入維度,若是線性可分情況,將兩樣本完全分開(kāi)的超平面為H:
若使分類(lèi)間隔最大的超平面為最優(yōu)分類(lèi)面,則
s.t.yi(wHxi+b)≥1-ξi,ξi≥0;i=1,2,...,n
其中:C為懲罰系數(shù),表示對(duì)分錯(cuò)的點(diǎn)加入懲罰。C越大,錯(cuò)分點(diǎn)更少,但是過(guò)擬合的情況可能會(huì)更嚴(yán)重;當(dāng)C 很小時(shí),分錯(cuò)點(diǎn)會(huì)越多,所以得到的模型也會(huì)不正確,因此們引入拉格朗日乘子,用條件極值求解最優(yōu)分界面。
根據(jù)SVM理論,兩類(lèi)樣本的最大分類(lèi)間隔是:
其中:
本文提出的基于模擬退火遺傳算法改進(jìn)的SVM-DT 多分類(lèi)策略的步驟描述如下:
步驟1 將全部訓(xùn)練樣本集所屬類(lèi)別按實(shí)值編碼策略進(jìn)行編碼,決策樹(shù)根節(jié)點(diǎn)的染色體的編碼為{1,2,…,N},其中N ≥3為原樣本訓(xùn)練集的類(lèi)別總數(shù),染色體中每個(gè)基因?qū)?yīng)原訓(xùn)練樣本集的類(lèi)別編號(hào);并在根節(jié)點(diǎn)調(diào)用GA 將原始訓(xùn)練樣本所屬類(lèi)別劃分為兩類(lèi)。
步驟2 判斷各子節(jié)點(diǎn)是否只包含一類(lèi)樣本,若是轉(zhuǎn)步驟4,反之轉(zhuǎn)步驟3。
步驟3 設(shè)新產(chǎn)生的適應(yīng)性(flexibility)函數(shù)為f(ai),ai為個(gè)體。變動(dòng)的閾值為,當(dāng)f(ai)>(ai)時(shí),接受新個(gè)體;否則,以一定概率接受新個(gè)體P=exp((f(ai)-(ai))/T)(T 是控制參數(shù),即模擬退火中的熱力學(xué)溫度);從群中選擇n 對(duì)個(gè)體,作為父類(lèi),對(duì)每一父類(lèi),由父類(lèi)p1、p2使用交叉、突變算子生成子代a1、a2,計(jì)算a1、a2的適應(yīng)性。
步驟4 設(shè)群平均適應(yīng)性為f(aavg),最低適應(yīng)性為f(aweakest),則(a)=f(aavg)-f(aweakest)。對(duì)于每個(gè)新產(chǎn)生的個(gè)體f(ai)>,則在群隨機(jī)選擇一個(gè)適應(yīng)性低于的個(gè)體替換;否則,以概率替換其父樣本。
步驟5 結(jié)束循環(huán),生成接近全局最優(yōu)決策樹(shù)。
最后,使用上述步驟生成的SVM-DT 對(duì)道路交通圖像進(jìn)行測(cè)試,識(shí)別出圖像中相應(yīng)交通目標(biāo),并返回目標(biāo)對(duì)應(yīng)的視覺(jué)詞匯。
本節(jié)將闡述如何進(jìn)一步識(shí)別出交通目標(biāo)之間的空間位置關(guān)系,并映射到領(lǐng)域本體實(shí)例之間的對(duì)象屬性關(guān)聯(lián)關(guān)系上;最后,基于道路交通領(lǐng)域知識(shí)進(jìn)行推理,得出結(jié)論。
在圖像中識(shí)別出交通目標(biāo)實(shí)例后,應(yīng)用Python 工具中matplotlib 庫(kù)(http://matplotlib.org/)給出目標(biāo)實(shí)例的邊界區(qū)域,然后,調(diào)用minSize函數(shù)給出了每個(gè)目標(biāo)實(shí)例活動(dòng)窗口的4個(gè)參數(shù),分別為:四邊形X 軸、Y 軸位置、寬度W 和高度h。通過(guò)以上4 個(gè)參數(shù)調(diào)用rectangle 函數(shù)得到該目標(biāo)實(shí)例的活動(dòng)窗口。與此同時(shí),調(diào)用minNeighbors 函數(shù)找到當(dāng)前目標(biāo)實(shí)例鄰近的其他目標(biāo)實(shí)例,并同理得到其他目標(biāo)實(shí)例的活動(dòng)窗口。
窗口位置關(guān)系判斷算法:假設(shè)圖像中兩個(gè)目標(biāo)實(shí)例的活動(dòng)窗口為四邊形R1、R2,分別對(duì)應(yīng)于交通領(lǐng)域本體中的本體實(shí)例A、B,且A和B滿(mǎn)足方向位置矩陣模型時(shí),則返回關(guān)聯(lián)關(guān)系。具體例子根據(jù)圖3(a)所示,行人B 相對(duì)于參考目標(biāo)斑馬線A的方向關(guān)系:Dir(A,B)={O,E}。若是交通燈為紅燈時(shí),行人B 與 斑 馬 線A 的 位 置 關(guān) 系 只 有 滿(mǎn) 足Dir(A,B)={NW};Dir(A,B)={N};Dir(A,B)={NE};Dir(A,B)={SW};Dir(A,B)={S};Dir(A,B)={SE}時(shí),表示行人在斑馬線的兩邊站立或行走,沒(méi)有闖紅燈違規(guī)現(xiàn)象,其余的關(guān)系都判定為違規(guī)。
圖4 描述的是道路交通圖像“行人闖紅燈”中目標(biāo)和目標(biāo)間關(guān)系與圖2 所示的道路交通領(lǐng)域本體的映射。如圖4 左方所示,“紅燈01”“張三”和“斑馬線01”是該圖像中識(shí)別出來(lái)的目標(biāo)實(shí)例,這些目標(biāo)分別映射到圖4 右方所示道路交通領(lǐng)域本體中的實(shí)例“紅燈01”“張三”和“斑馬線01”。目標(biāo)實(shí)例“張三”和“斑馬線01”對(duì)應(yīng)的活動(dòng)窗口的重合區(qū)域可映射到道路交通領(lǐng)域本體中實(shí)例“張三”和“斑馬線01”之間的對(duì)象屬性關(guān)聯(lián)“相交”。
最后,將映射到道路交通領(lǐng)域本體中的實(shí)例及實(shí)例間關(guān)聯(lián)代入道路交通法規(guī)公式中,如果每項(xiàng)原子公式都為真,則推出違反道路交通法規(guī)的結(jié)論。如圖4 下方道路交通法規(guī)公式所示,可推出成年人“張三”違反交通法規(guī),并根據(jù)行人、紅燈、方向位置矩陣計(jì)算結(jié)果,輸入SWRL 三元組規(guī)則編輯器中進(jìn)行推導(dǎo),得出推導(dǎo)后的最終結(jié)果,然后查詢(xún)表1 中列出的規(guī)則關(guān)系,最終結(jié)論“行人違規(guī)闖紅燈”。該圖像滿(mǎn)足檢索條件。
如圖5所示,汽車(chē)與雙黃線之間的關(guān)系為Dir(A,B)={O}表示在圖5 中,機(jī)動(dòng)車(chē)輛違反了交通規(guī)則Rule5,機(jī)動(dòng)車(chē)壓在雙黃線上行駛,則判定機(jī)動(dòng)車(chē)違規(guī)。汽車(chē)實(shí)例與雙黃線實(shí)例的位置關(guān)系示意圖如3(b)所示,可以得知汽車(chē)B 與雙黃線A之間的關(guān)系為典型的相交例子,這種關(guān)系就可以判斷出汽車(chē)是否壓了雙黃線,為以后的圖像搜索提供了依據(jù)。
圖3 交通圖像實(shí)例的位置關(guān)系Fig.3 Local relationship of traffic graph instance
表2 圖像目標(biāo)實(shí)例與本體關(guān)聯(lián)屬性的映射Tab.2 Mapping of image object instances and ontology-related attributes
圖4 圖像目標(biāo)及其關(guān)聯(lián)與領(lǐng)域本體的映射Fig.4 Mapping of image objects and their associations with domain ontologies
圖5 汽車(chē)與雙實(shí)線之間位置關(guān)系實(shí)例Fig.5 Example of positional relationship between cars and double solid lines
基于前述理論和方法,設(shè)計(jì)并實(shí)現(xiàn)了目標(biāo)自識(shí)別的圖像語(yǔ)義檢索原型系統(tǒng),該系統(tǒng)由以下幾個(gè)模塊組成(如圖6所示):
1)領(lǐng)域知識(shí)構(gòu)建模塊:道路交通領(lǐng)域?qū)<铱赏ㄟ^(guò)該模塊提供的可視化本體建模工具對(duì)交通領(lǐng)域本體和交通規(guī)則公式建模,建立OWL 描述的道路交通領(lǐng)域本體和SWRL 描述的交通規(guī)則公式,并存儲(chǔ)在SPARQL數(shù)據(jù)庫(kù)中。
2)圖像目標(biāo)識(shí)別模塊:該模塊基于模擬退火遺傳SVMDT 多分類(lèi)策略識(shí)別圖像中特定交通目標(biāo)。該模塊的輸入是待識(shí)別的交通圖像及特征訓(xùn)練集;輸出是目標(biāo)實(shí)例(如:行人、斑馬線、交通信號(hào)燈)已標(biāo)注的道路交通圖像。
3)目標(biāo)間空間位置關(guān)聯(lián)識(shí)別模塊:該模塊通過(guò)圖像中目標(biāo)對(duì)應(yīng)活動(dòng)窗口挖掘出目標(biāo)對(duì)應(yīng)的空間位置關(guān)系。
4)Hermit 推理機(jī)模塊:該模塊基于交通領(lǐng)域知識(shí),結(jié)合識(shí)別出的圖像目標(biāo)實(shí)例和目標(biāo)間關(guān)聯(lián)關(guān)系進(jìn)行推理。它的輸入是道路交通領(lǐng)域本體、道路交通規(guī)則公式、圖像中的目標(biāo)實(shí)例和目標(biāo)間關(guān)聯(lián)關(guān)系,輸出是該圖像的檢索結(jié)果。
圖6 目標(biāo)自識(shí)別的交通圖像語(yǔ)義檢索工具框架Fig.6 Traffic image semantic retrieval tool framework based on target self-recognition
在自動(dòng)識(shí)別出圖像中的交通目標(biāo)后,結(jié)合領(lǐng)域?qū)<医⒌牡缆方煌I(lǐng)域知識(shí),系統(tǒng)將讀取標(biāo)注并對(duì)應(yīng)生成類(lèi)和實(shí)例,按著點(diǎn)擊“規(guī)則”按鍵進(jìn)入規(guī)則推導(dǎo)。系統(tǒng)通過(guò)載入語(yǔ)義標(biāo)注的圖像,自動(dòng)生成由所識(shí)別特定目標(biāo)的本體實(shí)例和領(lǐng)域?qū)<宜鶚?gòu)建的交通領(lǐng)域本體所結(jié)合而成的本體OWL 文件。在讀取該文件后,使用Hermit推理機(jī)對(duì)實(shí)例之間的關(guān)系進(jìn)行分析,得到最終的判定結(jié)果,從而智能地判斷圖像有無(wú)涉及違反交通規(guī)則的內(nèi)容。
實(shí)驗(yàn)分析采用三種數(shù)據(jù)集的圖像數(shù)據(jù):
1)CVC 數(shù)據(jù)(http://www.cvc.uab.es/adas/site/)的CVC-02-Classification數(shù)據(jù)集。
2)google交通圖庫(kù)。
3)ImageNet 交通類(lèi)數(shù)據(jù)集。它是一個(gè)擁有超過(guò)1 500 萬(wàn)張帶標(biāo)簽的高分辨率圖像的數(shù)據(jù)集,這些圖像分屬于大概22 000 個(gè)類(lèi)別。這些圖像是從網(wǎng)上收集的,并使用Amazon Mechanical Turk 眾包方式進(jìn)行人工貼標(biāo)簽。本文選擇其中與道路交通相關(guān)的圖像,共有8 300 個(gè)訓(xùn)練樣本,6 640 張測(cè)試樣本。第一類(lèi)圖像是二分類(lèi)(其中訓(xùn)練樣本1 900 張,測(cè)試樣本1 520 張),有行人和交通信號(hào)燈;第二類(lèi)圖像是三分類(lèi)(其中訓(xùn)練樣本為1 700張,測(cè)試樣本為1 360張),有行人、交通信號(hào)燈和斑馬線;第三類(lèi)圖像是四分類(lèi)(其中訓(xùn)練樣本為2 200張,測(cè)試樣本為1 760張),有行人、交通信號(hào)燈、斑馬線和汽車(chē);第四類(lèi)圖像是五分類(lèi)(其中訓(xùn)練樣本為2 500 張,測(cè)試樣本為2 000張),有行人、交通信號(hào)燈、斑馬線、汽車(chē)和自行車(chē)。
本節(jié)通過(guò)實(shí)驗(yàn)對(duì)SVM的1對(duì)1分類(lèi)(記作1-a-1)、1對(duì)多分類(lèi)(記作1-a-r)、基于遺傳算法的SVM-DT(記作GADT)多分類(lèi)及本文提出的SVM-DT 方法進(jìn)行對(duì)比。當(dāng)測(cè)試圖像數(shù)量分別為1 000、2 000、3 000、4 000 時(shí),比較關(guān)鍵字搜索方法、本體搜索方法和本文所提的SWRL+本體搜索方法在圖像搜索的準(zhǔn)確率、召回率等兩個(gè)維度上性能進(jìn)行分析與比較,實(shí)驗(yàn)結(jié)果如圖7所示。
由圖7(a)可見(jiàn),本文方法的查詢(xún)準(zhǔn)確率要高于其他方法,準(zhǔn)確率相對(duì)于關(guān)鍵字搜索提高了約19 個(gè)百分點(diǎn);相對(duì)于MMIO 本體搜索提高了約12 個(gè)百分點(diǎn),這是因?yàn)楸疚摹癝WRL+本體”推理不僅能就視覺(jué)詞匯的上下位關(guān)系推理,還能結(jié)合空間位置關(guān)系的描述進(jìn)行規(guī)則推理。而MMIO 等本體檢索方法沒(méi)有使用規(guī)則判斷,因此在準(zhǔn)確率上比本文采用方法低。如圖7(b)所示,在召回率上,本文方法相較于關(guān)鍵字搜索提高了約3 個(gè)百分點(diǎn),與MMIO 等本體檢索算法基本相同。然而,可以從圖7(b)得知,當(dāng)測(cè)試圖像數(shù)量在1 000 到3 000 時(shí),本文方法都是略?xún)?yōu)于本體搜索的,但是當(dāng)樣本數(shù)變?yōu)? 000 時(shí),本文方法檢索的召回率略低于本體搜索,其原因是新加入的樣本中含有使用SWRL 規(guī)則較難判斷的圖像,如汽車(chē)紅燈時(shí)只是壓線,但并沒(méi)有越過(guò)線,在標(biāo)準(zhǔn)集中判斷為沒(méi)有違規(guī),而使用本文方法判定為違規(guī),所以檢索結(jié)果中把正樣本預(yù)測(cè)為負(fù)類(lèi)的數(shù)量變多,從而導(dǎo)致召回率偏低。
圖7 不同方法搜索交通違規(guī)圖像的結(jié)果Fig.7 Results of different methods for searching traffic violation images
目標(biāo)實(shí)例的分類(lèi)準(zhǔn)確率如圖8(a)所示??梢钥闯觯S著分類(lèi)類(lèi)別數(shù)的增加,所有SVM 多分類(lèi)方法的分類(lèi)精度都呈下降趨勢(shì)?;谀M退火遺傳算法改進(jìn)的SVM 最優(yōu)決策樹(shù)在2分類(lèi)、3分類(lèi)、4分類(lèi)時(shí),分類(lèi)精度高于經(jīng)典的1-a-1、1-a-r方法,略高于GADT方法的分類(lèi)精度;在5分類(lèi)時(shí)分類(lèi)精度明顯高于其他的三種方法。實(shí)驗(yàn)證明本文方法隨著分類(lèi)類(lèi)別增多精度增高。
分類(lèi)耗時(shí)如圖8(b)所示:1-a-r 由于每次訓(xùn)練都需要所有的樣本參與,故其訓(xùn)練時(shí)間最長(zhǎng);1-a-1 雖訓(xùn)練復(fù)雜,但每次訓(xùn)練只需要兩類(lèi)樣本參與,相較于前者耗時(shí)最短,且與類(lèi)別的變化關(guān)系不大;本文方法訓(xùn)練時(shí)間僅次于1-a-1,略快于GADT。
圖8 各算法在不同指標(biāo)上對(duì)比結(jié)果Fig.8 Result comparison of each algorithm on different indicators
從四個(gè)規(guī)則搜索的返回結(jié)果圖9 可以看出,本文方法返回結(jié)果的圖像都是違規(guī)的,說(shuō)明準(zhǔn)確率較高,因此該方法可以應(yīng)用于司法部門(mén)處理交通違法、刑事偵查、司法調(diào)查等,并能為其提供準(zhǔn)確和可靠的執(zhí)法依據(jù)。
圖9 四個(gè)規(guī)則搜索的返回結(jié)果示例Fig.9 Results of retrieval by four rules
本文針對(duì)道路交通領(lǐng)域,提出了一種基于目標(biāo)自識(shí)別的圖像語(yǔ)義檢索方法。首先,建立道路交通領(lǐng)域知識(shí);然后,通過(guò)模擬退火遺傳算法訓(xùn)練出SVM-DT,對(duì)道路交通圖像中的特定目標(biāo)進(jìn)行識(shí)別,并映射為領(lǐng)域本體實(shí)例;再進(jìn)一步識(shí)別出特定目標(biāo)之間的空間位置關(guān)系,并映射為領(lǐng)域本體實(shí)例間的對(duì)象屬性關(guān)聯(lián)關(guān)系;最后,利用規(guī)則推理判斷圖像是否滿(mǎn)足查詢(xún)條件。實(shí)驗(yàn)結(jié)果表明,當(dāng)處理多目標(biāo)時(shí),因?yàn)楸疚氖褂昧烁倪M(jìn)的空間位置識(shí)別算法,所以可以準(zhǔn)確地檢測(cè)出多目標(biāo)在復(fù)雜空間中的位置關(guān)系,通過(guò)運(yùn)用本文的方法進(jìn)行語(yǔ)義圖像檢索,在圖像目標(biāo)自識(shí)別和語(yǔ)義推理兩階段的性能均有所提升,并能得到更加精確的檢索結(jié)果。未來(lái)工作包括嘗試其他更加高效的機(jī)器學(xué)習(xí)的方法來(lái)自動(dòng)識(shí)別圖像目標(biāo),以及通過(guò)時(shí)序邏輯算子描述更加復(fù)雜的道路交通語(yǔ)義場(chǎng)景。