占善華,黃少麗
(廣東司法警官職業學院信息管理系,廣州 510520)
基于圖嵌入的圖像分類已在許多框架中得到了深入研究,例如文獻[1-3]。傳統上,這些方法使用手工設計的特征來表示圖像并構造圖形,其中頂點顯示特征,而邊緣對特征之間的關系進行編碼。然后,這些方法將圖嵌入到某些幾何空間中,以使相似的圖位于附近,而相異的圖則位于更遠的位置。文獻[4-5]使用AlexNet 數據集圖像分類任務以來,諸如VGG[6]、Inception[7]、ResNet[8]、DenseNet[9]之 類 的 深 度 神 經 網 絡(DNN)成為了主導方法。而且,DNN 已顯示出學習更多具有代表性和區分性的圖像分類功能。因此,圖嵌入方法利用深層特征而不是手工設計特征來進行圖形構建。
在本文中,我們提出了一種使用具有深層特征的無失真圖嵌入的新穎圖像分類方法。具體來說,從圖像中提取深層特征后,我們基于這些深層特征構建了一個完整的圖,以使其頂點表示特征,其邊緣顯示相應特征之間的距離。然后,我們在l∞下執行無失真圖嵌入,以將輸入圖表示為幾何空間中的一組點。最后,我們使用KNN-Random Forest 進行圖像分類。我們對所提方法的進行了相應的實驗評估(包括與以前的圖形嵌入框架的比較),并證明該方法的有效性。簡單來說,我們提出了一種基于深度特征和KNN 隨機森林的無失真圖嵌入的新穎框架。
ImageNet 這樣的大型圖像數據集的可用性以及GPU 的計算能力的增長為我們提供了使用深度學習技術進行圖像分類的可能性。研究表明,這種方法優于傳統方法。深度學習技術可以以端到端的方式很好地學習圖像的辨別表示。使用預訓練的遷移學習模型,可以獲得性能較好的基于深度學習的圖像分類模型。一直以來,提取區分性和代表性特征一直是計算機視覺的一項基本任務。常見的特征提取方法之一是使用尺度不變特征變換(SIFT)[10],該變換已成功應用于許多問題,例如對象識別、全景拼接和3D 建模。諸如CNN之類的深度學習體系結構可以通過使用擠壓函數和編碼來用作自動特征提取器。
在不同的實際應用程序中,大多數問題都可以轉換為基于圖形的問題。圖表示的一種可能方法是將一個或多個圖節點轉換為向量空間。由于圖形表示法的盛行,這種類型的轉換在獲得了普及。根據嵌入空間的復雜性和維度等特征,圖嵌入技術可分為三類:基于分解的、基于隨機游走以及基于深度學習。近些年,有很多的方法在提取步驟都容易出錯,這就限制了在實踐中的適用性。通過使用深度學習功能,可以一定程度解決解決步驟出錯的問題。
本文所提框架包括6 個主要步驟。第一步,對框架中使用的數據集進行預訓練,并將深度學習模型進行微調;第二步,通過在深度學習模型中計算穩定性值,為每個圖像及其降序提取深度特征;第三步,創建一個完整的圖,使每個節點代表一個特征,并且每個邊的權重反映相應特征值之間的絕對差;第四步,將每個圖形嵌入到l∞且無失真的幾何空間中;第五步,應用混合算法KNN-Random 森林進行圖像分類;第六步,最后生成分類輸出。
本文使用VGG19 模型對ImageNet 數據集及其類別的子集進行了相關實驗。我們知道,在沒有對VGG19 進行微調的情況下提取特征,這些特征并不是一組具有代表性的特征,因為原始的VGG19 模型已經過1000 次訓練。因此,對于這種情況,可以應用遷移學習技術進行處理。在我們的方法中,我們具有針對性地、選擇性地訓練了最后一層,而不僅僅是替換了最后一層。這樣做的好處顯而易見,其與VGG19 方法相比,這可以表示具有較少深度特征的圖像。更準確地說,我們鎖住了VGG19 的最后兩層,并分別添加了200和150 個節點的層。從計算復雜角度看,這種變化極大地弱化了計算深度,因為我們不需要存儲所有4096個VGG19 深度特征,而只需存儲150 個特征即可正確表示圖像。職業當我們構造完一個完整的圖后,該圖的節點表示較深的特征,并且其邊緣反映了相應特征之間的距離,使用切比雪夫距離作為距離值,最后進行無失真圖嵌入。需要提到的是,從圖像中獲得150 個深層特征后,我們將根據它們的值按降序對它們進行排序,并以此構建完全連接的圖形。這些節點之間的距離的計算方法為要素之間的絕對差。計算出的該距離也稱為Chebyshev,具體的方法,即點X 和Y 之間的距離計算為:

其中,i 是相應坐標的索引。

無失真圖嵌入包括幾個步驟。令G=(V,E)為輸入圖,令 V={v0,v1,v2,v3,v4}為節點集。該圖中一個節點的嵌入是集合Ω={d0,d1,d2,d3,d4},其中 di是到圖中相應節點的最短距離。例如,圖1 中v0的矢量表示為{0.0,2.0,3.5,2.0,1.0},其中集合中的每個元素都是到相應節點的最短距離。以此類推,我們計算并獲得v3 的嵌入,該嵌入給出值序列為{2.0,2.5,4.0,0.0,1.5}。通過這樣的方法,可以找到每個節點的坐標。特征排序是嵌入過程中最重要的部分之一,因為該嵌入對特征的順序非常敏感。先前的工作通過特征相對于其鄰居的相對位置來對特征進行排序,這既昂貴又容易出錯。在提出的框架中,我們僅使用深度學習模型中計算出的值。這樣可以確保穩定性。另外,由于對于輸入圖像始終獲得相同數量的特征,本次工作不處理均等化問題。

圖1 帶有邊緣權重的樣本連接圖
在先前的很多工作中,有很多研究者使用混合算法,基于這些受混合算法用于分類任務的啟發,SVMKNN 組合已成功用作圖像分類器[11]。KNN 存在高方差問題,而SVM 在計算上卻很昂貴。研究表明,SVMKNN[11]應用的大型多類數據集的實驗效果優于KNN 和SVM。該算法的主要原理是通過以下方式使用混合SVM-KNN:
計算從查詢到所有其他訓練圖像的距離。
●如果所有K 個鄰居都具有相同的標簽,相應地進行標記查詢。
●如果不是,將距離矩陣轉換為內核矩陣之后應用多類SVM。
●使用SVM 獲取查詢標簽。
基于上述方法,本文采用KNN-Random 森林作為圖像分類器。在這里,隨機森林被用作SVM 的替代。之所以進行此替換的關鍵原因是由于SVM 的計算要求,尤其是對于具有多個類的大型數據集。

圖2 圖像示例
ImageNet 是圖像數據集,它是根據“WordNet”層次結構進行組織的,在文獻[4]中有詳細介紹。WordNet中所有有意義的概念都可以用多個單詞或一個稱為“同義詞集”的單詞來描述。WordNet 中的同義詞集總數超過100000,其中80000+是名詞。每個類別用1000-1500 張圖像表示。為了增加數據集中的圖像數量,我們使用了數據增強功能,該功能通過創建數據集中所有圖像的修改版本來人為地擴展訓練和測試數據集的大小。通過提供新的圖像變體,此技術提高了對模型進行概括的能力。特別是,我們為每張圖片使用20 度旋轉和水平翻轉,從而在數據集中為每張圖片創建了另外5 個變體。圖2 顯示了這種數據增強,其中每行中的第一張圖像是原始圖像,其余的分別顯示了針對“紫羅蘭”、“狼蛛”和“獵豹”類別的變換圖像。我們使用ImageNet 的子集,使得圖像總數為71326。訓練和測試的拆分比例為80%到20%,其中57000 幅圖像用于訓練,其余14260 幅圖像用于測試。結果顯示,基于K=3 的KNN-Random Forest 提出的框架在5 個類的ImageNet 子集上獲得了96.1%的圖像分類精度,在10 個類中獲得了92.3%的圖像分類精度,這證明了所提出框架提高了圖像分類的準確性。
圖嵌入技術已被幾種不同的框架采用,用于解決許多問題,例如圖像分類、特征對應和圖像索引。在本文中,我們提出了一種基于具有深層特征的無失真圖嵌入的圖像分類框架。盡管以前已經提出了具有手工特征的無失真圖形嵌入方法,但是我們使用深度特征來應用這種嵌入方法來克服替代技術所面臨的一些問題的方法是新穎的。我們已經在ImageNet 的子集中顯示了所提出框架的有效性。但是,我們的未來目標是在更大的數據集中執行更全面的評估,并將其與更多替代方法進行比較。