張惠凡,羅澤
1. 中國科學(xué)院計算機網(wǎng)絡(luò)信息中心,北京 100190
2. 中國科學(xué)院大學(xué),北京 100049
隨著互聯(lián)網(wǎng)的飛速發(fā)展,像視頻、音頻和圖像等多媒體信息開始大量涌現(xiàn),因此如何在大量的視頻圖像中檢索出所需要的圖像信息,逐漸成為多媒體技術(shù)研究的熱點。青海湖自然保護區(qū)作為我國重要的生態(tài)保護基地,為開展野生水鳥的保護和行為研究,以及疾病的預(yù)警和防治,中國科學(xué)院計算機網(wǎng)絡(luò)信息中心與保護區(qū)管理局合作,共同建設(shè)了青海湖野外網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)。實現(xiàn)了對青海湖主要鳥類的繁殖地和活動區(qū)域進行全覆蓋與監(jiān)控檢測。目前共部署 23 個網(wǎng)絡(luò)視頻攝像機,覆蓋了保護區(qū) 5 個核心區(qū)域。每天產(chǎn)出超過 100 GB 的視頻數(shù)據(jù)[1]。因此利用監(jiān)控視頻的關(guān)鍵幀圖像,實現(xiàn)一個供自然保護區(qū)野外科研工作人員使用的自然保護區(qū)鳥類視頻圖像檢索系統(tǒng),對于方便野外科研工作人員的快速查詢,提高科研效率變得重要且有意義。
本文主要采用 Vgg16 神經(jīng)網(wǎng)絡(luò)的預(yù)訓(xùn)練模型[2]對鳥類圖像進行特征提取,為每張圖像提取出一個特征向量作為圖像內(nèi)容的代表信息。然后利用主成分分析的方法構(gòu)建映射空間,對高維的特征向量進行降維處理,構(gòu)建特征向量的低維子空間[3]。之后利用余弦相似度的方法對特征向量進行相似度匹配[4],相似度值越大則表示圖像越相似,最后輸出前 K 張相似圖像作為圖像檢索的結(jié)果進行展示。
隨著多媒體技術(shù)的發(fā)展,圖像檢索也經(jīng)歷了基于文本標注的圖像檢索和基于內(nèi)容的圖像檢索[6]這兩個階段。70 年代開始就出現(xiàn)基于文本標注的圖像檢索模式[7],之后隨著模式識別和機器學(xué)習(xí)的發(fā)展,出現(xiàn)了基于內(nèi)容的圖像檢索模式,并且該模式被廣泛的應(yīng)用于現(xiàn)在的各種圖像檢索系統(tǒng)中。
基于文本標注的圖像檢索模式出現(xiàn)的時間較早,該模式是通過人工對圖像進行標注和描述,之后用一些關(guān)鍵詞表示一張圖像,最后通過關(guān)鍵字查找圖像實現(xiàn)檢索。該模式的局限性主要有以下三個方面:(1) 采用人工標注的方法,前期的數(shù)據(jù)處理需要相關(guān)領(lǐng)域的專業(yè)人士來進行,不僅耗費大量的人力也未真正的實現(xiàn)檢索自動化。(2)“一千個讀者心中有一千個哈姆雷特”,標注員在進行標注時會帶有個人主觀性,對之后的檢索結(jié)果造成影響。(3) 該方式建立的圖像數(shù)據(jù)庫在面對數(shù)據(jù)更新時,需要人工操作,無法實現(xiàn)數(shù)據(jù)庫圖像的自動更新。
為了突破文本標注圖像檢索模式的各種局限性,出現(xiàn)了基于內(nèi)容的圖像檢索模式?;趦?nèi)容的圖像檢索模式側(cè)重于關(guān)注圖像的內(nèi)容信息,通過提取圖像更底層的特征信息來建立索引[8-9],并按一定的相似性度量算法實現(xiàn)圖像的相似性檢索。該模式通常采用的是基于顏色、紋理、形狀、運動等這些特征來建立索引實現(xiàn)檢索。但是在對野外鳥類視頻圖像進行處理時,使用顏色、紋理、形狀等這些單一的特征[10-11]建立索引進行相似性檢索則難以實現(xiàn)且效果不佳。主要面臨以下幾方面的問題:(1) 采用顏色建立索引時,單從圖像色彩集的相似度進行度量時,對于同一種鳥類可能會由于生境的變化,產(chǎn)生較大的色彩集差異,導(dǎo)致檢索結(jié)果不全面且檢索準確率低。(2) 利用紋理特征進行檢索時,則涉及紋理特征集的選擇。紋理特征集由具體的紋理圖像規(guī)律得來,但當數(shù)據(jù)集中圖像出現(xiàn)大量的圖像更新時,紋理庫如何進行紋理特征集的自動切換成為一個難題。(3) 若利用形狀特征建立索引,對鳥類圖像更不可取。因為鳥類會有不同的行為像站立、蹲臥、屈身、和展翅等,形狀特征難以確立。
通過對這兩種圖像檢索模式在鳥類視頻圖像檢索方面的利弊以及可行性分析,可以看出上述兩種模式均不能很好地實現(xiàn)鳥類視頻圖像檢索。為了解決這個問題,本文采用深度卷積神經(jīng)網(wǎng)絡(luò)和基于內(nèi)容的圖像檢索思想相結(jié)合的方法,來實現(xiàn)基于卷積神經(jīng)網(wǎng)絡(luò)的鳥類視頻圖像檢索。
野外鳥類視頻較多,但大部分的視頻存在黑屏空白、圖像幀中鳥類數(shù)目眾多、圖像畫面不清晰等問題。因此首先剔除掉這些鳥類視頻,選出一些相對清晰的鳥類視頻圖像,對這些圖像進行關(guān)鍵幀提取,構(gòu)成鳥類視頻圖像集[12]。由于視頻圖像集中,很多鳥類的圖像變化不大且相似性較高,因此為了使圖像數(shù)據(jù)更為豐富同時為了防止在神經(jīng)網(wǎng)絡(luò)特征提取中出現(xiàn)過擬合現(xiàn)象,在圖像進入神經(jīng)網(wǎng)絡(luò)進行圖像特征提取之前,先對圖像做數(shù)據(jù)提升,本文通過使用 keras 中的ImageDataGenerator 函數(shù)進行數(shù)據(jù)擴充。該函數(shù)可以實現(xiàn)圖像水平和豎直方向上一定幅度的偏移,以及按照某個角度進行轉(zhuǎn)動來豐富圖像數(shù)據(jù),從而使提取的特征向量更具代表性。
對于一幅圖像提取顏色、紋理、形狀等作為索引特征往往會過于單一不夠全面,而且以紋理和形狀這些特征來進行特征提取時需要專業(yè)的科研人士和一定的動物學(xué)先驗知識才能完成,相背于節(jié)省人力物力的初衷。為了彌補不同的底層特征對檢索結(jié)果造成的影響,本文采用 Vgg16 神經(jīng)網(wǎng)絡(luò)的預(yù)訓(xùn)練模型來進行鳥類視頻圖像的特征提取。
Vgg16[13]神經(jīng)網(wǎng)絡(luò)是由 Karen Simonyan 等人提出的,且該網(wǎng)絡(luò)在 2014 年的 ILSVR (ImageNet) 的冠軍。由此可以看出該網(wǎng)絡(luò)層次較深,此網(wǎng)絡(luò)提取的圖像特征會更加全面和具體。因此本文采取該網(wǎng)絡(luò)進行鳥類視頻圖像的提取。
采用神經(jīng)網(wǎng)絡(luò)提取的特征往往維數(shù)較高且存在大量的冗余信息,因此通常需要進行降維處理。常用的線性降維算法有主成分分析算法 PCA (Principal Component Analysis)、有監(jiān)督的線性降維算法 LDA(Linear Discriminant Analysis),局部線性嵌入LLE(Locally Linear Embedding) 等。降維算法的方式各有不同,但最終的目的均是完成空間映射。上述幾種算法中主成分分析算法是丟失原始信息最少的一種方法且計算方法也比較簡潔的降維算法,適于圖像檢索的使用。
特征向量的匹配即相似性的尋找是圖像檢索的最后環(huán)節(jié)也是最關(guān)鍵的一環(huán)。機器學(xué)習(xí)中關(guān)于距離和向量相似性度量的方法有很多像向量點積、歐幾里得距離,余弦相似度等。向量點積計算速度較快、歐幾里得距離僅考慮了距離的差異、余弦相似度則考慮向量方向上的差異,這幾種方法各有側(cè)重。
本文的實驗?zāi)繕耸菍崿F(xiàn)鳥類視頻圖像檢索,考慮到數(shù)據(jù)集的特點,為了達到較好的效果最終選擇Vgg16 進行特征提取,PCA 進行特征向量降維實現(xiàn)空間映射,由于提取的圖像特征是作為向量來進行處理的,所以最后采用余弦相似度的方法進行相似度匹配。
針對青海湖的鳥類視頻圖像數(shù)據(jù),本文采用如圖1 所示的流程實現(xiàn)鳥類視頻圖像的檢索。為實現(xiàn)鳥類視頻圖像的檢索,開展的工作包括圖像特征提取、映射空間建立、相似度匹配等步驟。
Vgg16 神經(jīng)網(wǎng)絡(luò)是一個用于大規(guī)模圖像識別的深度卷積神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)被稱為 Vgg16 是由于該網(wǎng)絡(luò)由 13 個卷積層和 3 個全連接層構(gòu)成[2,4]。本文采用Vgg16 預(yù)訓(xùn)練模型,用該神經(jīng)網(wǎng)絡(luò)的 13 個卷積層、4個最大池化層和第一個全連接層來提取圖片的底層特征,并將輸出的 4096 維向量作為圖片的特征向量進行保存。
用 Vgg16 預(yù)訓(xùn)練模型提取圖像的過程主要分以下幾個步驟:
(1) 對輸入網(wǎng)絡(luò)的圖片進行預(yù)處理,最后進入神經(jīng)網(wǎng)絡(luò)的圖片大小為 224×224。
(2) 然后通過 13 個 3×3 的卷積核和 4 個 2×2 最大池化層得到一個 512×7×7 的張量。
圖1 圖像檢索流程Fig. 1 Image retrieval process
(3) 最后經(jīng)過一個全連接層,輸出一個 4096 維的向量。
(4) 構(gòu)造初始特征向量空間。
查看 Vgg16 網(wǎng)絡(luò)提取的特征向量可看到張量中存在一定程度的零值,這說明由神經(jīng)網(wǎng)絡(luò)提取的高維向量中存在噪聲,因此為提高檢索的效率并降低冗余信息采用 PCA 對高維向量進行降維處理[15]。
假設(shè)一個數(shù)據(jù)集有 M 個樣本,每個樣本是 N維,則該數(shù)據(jù)集可表示為 M*N 的矩陣。若將數(shù)據(jù)集中樣本的維度降為 K 維,則降維后數(shù)據(jù)集可表示為M*K 的矩陣。利用 PCA 降維的過程即為求出協(xié)方差矩陣的特征值和特征向量,構(gòu)造一個映射空間 N*K矩陣的過程。利用 PCA 算法完成這個過程主要分為以下幾個步驟:
(1) 數(shù)據(jù)集中的每個樣本表示為 Xi=(xi1,xi2,...,xi(n-1),xin),則所有樣本數(shù)據(jù)集的初始矩陣表示為A=[X1X2...Xm-1Xm]T。
(3) 計算協(xié)方差矩陣 CovMat,本文采用開源庫numpy 的 cov (B,rowvar=0) 函數(shù)。
(4) 計算協(xié)方差矩陣的特征向量u和特征值λ,將協(xié)方差矩陣的特征值按從大到小排序:λ1≥λ2≥…≥λk-1≥λk。并根據(jù)前 K 個特征值λ對應(yīng)的特征向量u構(gòu)建映射矩陣:U= (u1,u2,…,uk) 。
(5) 根據(jù)上一步的映射矩陣U對矩陣B進行降維,得到降維后的矩陣 NewMat。
本文考慮到提取的特征是作為向量來處理的,所以在眾多的相似度算法中選擇了度量向量方向上的差異的余弦相似度算法。該算法主要由以下幾個步驟:
(1) 假設(shè)兩個向量為 a=(x1x2...xn),b=(y1y2...yn)。
(3) 由于余弦相似度計算的值取值范圍在 (-1,1)之間,考慮到習(xí)慣問題進行歸一化處理,將結(jié)果歸一化到 (0,1) 之間,Score = 0.5 + 0.5 × Sim (a, b)。
(4) 然后對 Score 進行從大到小排序,輸出前 K張 Score 最大的圖像。
本文在實驗過程中,選出 800 張鳥類圖像作為數(shù)據(jù)集,利用 Vgg16 神經(jīng)網(wǎng)絡(luò)的預(yù)訓(xùn)練模型進行特征提取并將 Vgg16 神經(jīng)網(wǎng)絡(luò)的 fc1 層輸出 4096 維的向量作為鳥類圖像的特征向量進行存儲[5],之后通過主成分分析的方法進行降維處理,在 100 維、200維、300 維等不同維度特征向量空間上,通過余弦相似度的算法對鳥類視頻圖像進行匹配,并比較不同維度上鳥類視頻圖像檢索結(jié)果的準確率,最終確定500 維的特征向量為索引。實驗表明,對 800 張鳥類圖像的數(shù)據(jù)集進行特征降維,選取 500 維的特征向量構(gòu)建索引向量空間,輸出 10 張相似圖像的檢索準確率達到 89.82%。
第一步:數(shù)據(jù)預(yù)處理,從視頻中提取關(guān)鍵幀圖像,由于野外鳥類視頻大部分時間較短且有些清晰度不夠,所以在前期數(shù)據(jù)集建立的時候剔除了部分靜止和模糊的圖像,然后通過 keras 框架的ImageDataGenerator 函數(shù)對鳥類視頻圖像從數(shù)量和角度兩個方面進行數(shù)據(jù)提升。以一張斑頭雁圖像為例,對該圖像進行數(shù)據(jù)提升,斑頭雁圖像經(jīng)過提升函數(shù)后提升的效果如圖 2 所示。左上角第一張為原始圖像,其它的三張圖像為經(jīng)過旋轉(zhuǎn)和偏移后的圖像。
圖2 斑頭雁圖像提升示例Fig. 2 The example of Bar-head Goose image enhancement
第二步:從處理后的 2000 張圖像中選取 800張圖像構(gòu)成最終的數(shù)據(jù)集。輸入 Vgg16 神經(jīng)網(wǎng)絡(luò)的預(yù)訓(xùn)練模型。該網(wǎng)絡(luò)以大小為 224 × 224 的圖片作為輸入,以 fc1 層的 4096 維向量作為鳥類圖像的特征向量輸出,最后將提取的 800 × 4096 的張量作為圖像數(shù)據(jù)集的特征向量保存到 features.npy文件中。
第三步:將保存在 features.npy 文件中的原始向量空間,利用主成分分析的方法,進行空間映射將,映射矩陣保存在 kongjian_bianhua.npy 文件中,降維后的特征向量空間保存到 change_feature.npy 文件中。關(guān)于降維過程中最終特征維數(shù)的確定,本文通過測試不同維數(shù)上檢索的準確度的實驗,確定最終的合適維數(shù)。由于本文提升后的數(shù)據(jù)集為 800 張圖像,所以特征維數(shù)最大為 800,不同特征維度對應(yīng)的檢索準確率如表 1 所示。
第四步:利用余弦相似度計算查詢向量和索引向量的相似度,所得結(jié)果值越高兩個向量越相似。將結(jié)果值存入 Score 中,選取前 K 張相似的圖像輸出。下面輸入一張黑頸鶴的圖像來進行檢索,圖像檢索的部分檢索結(jié)果如圖 3 所示。從左上到右下,左上第一張為檢索圖像,其余為檢索的部分結(jié)果。
圖像檢索是信息檢索領(lǐng)域的一個小分支,信息檢索系統(tǒng)中,關(guān)于檢索的主要評價指標為查全率,查準率這兩個指標。因此本文對于鳥類視頻圖像檢索的檢索效果,就通過這兩個指標來進行檢索結(jié)果的性評估。
圖3 鳥類圖像檢索的部分結(jié)果Fig. 3 Partial results of bird images retrieval
表1 不同維度的檢索準確度Table 1 Different latitude retrieval accuracy diagram
表2 檢索結(jié)果性能分析Table 2 Search results performance analysis
這兩個指標的具體含義如下:查全率的主要含義是在一次查詢過程中,用戶所查到的相關(guān)圖像的數(shù)目和數(shù)據(jù)集中與目標圖像相關(guān)的所有圖像數(shù)目之比。查準率主要指在一次查詢過程中查到的相關(guān)圖像數(shù)目同該次查到的所有圖像數(shù)目之比[7,16]。
但在真正的信息檢索系統(tǒng),數(shù)據(jù)集內(nèi)各圖像總數(shù)通常是未知的,因此查全率的計算是難以實現(xiàn)的,因此在本實驗的檢索評價中以所有鳥類的平均查準率作為最終的檢索準確率。檢索系統(tǒng)輸出 K 張圖像和相對應(yīng)的檢索準確率性能對比分析如表 2 所示。
實驗表明通過有效的集成 Vgg16 神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練模型、PCA 降維、余弦相似度檢索這三種算法,實現(xiàn)了鳥類視頻圖像的檢索,在輸出 10 張檢索圖像時,達到 89.82% 的檢索準確率。在一定的程度上可以滿足野外科考人員對鳥類視頻關(guān)鍵幀圖像的檢索。但本實驗仍然存在檢索出的視頻幀圖像有些相似度高的,在檢索結(jié)果中排的位置反而靠后的情況,因此在未來的工作中可以考慮改進相似性檢索算法,改進余弦相似度算法,在考慮方向差異的同時兼顧距離上的差異,以達到更好的檢索效果。
[1] 謝慕哲, 羅澤, 閻保平. 視頻鳥類行為研究中基于尺度不變特征變換的形態(tài)分類算法[J]. 科研信息化技術(shù)與應(yīng)用,2014, 5(3):87-94.
[2] Simonyan K, Zisserman A. Very Deep Convolutional Networks for Large-Scale Image Recognition[J].Computer Science, 2014.
[3] 劉茂福, 胡慧君, 何炎祥. 主成分分析在圖像Zernike矩特征降維中的應(yīng)用[J]. 計算機應(yīng)用, 2007, 27(3):696-698.
[4] 于林森, 張?zhí)镂? 張開越. 圖像檢索中的相似性判別及索引方法綜述[J]. 小型微型計算機系統(tǒng), 2007, 28(2):356-360.
[5] Gordo A, Almazán J, Revaud J, et al. Deep Image Retrieval: Learning Global Representations for Image Search[C]// European Conference on Computer Vision.Springer, Cham, 2016:241-257.
[6] 劉爽. 多特征融合圖像檢索方法及其應(yīng)用研究[D]. 哈爾濱理工大學(xué), 2016.
[7] 李向陽, 莊越挺, 潘云鶴. 基于內(nèi)容的圖像檢索技術(shù)與系統(tǒng)[J]. 計算機研究與發(fā)展, 2001, 38(3):344-354.
[8] Smeulders A W M, Worring M, Santini S, et al. Contentbased image retrieval at the end of the early[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence,2000, 22(12):1349-1380.
[9] Rui Y, Huang T S, Mehrotra S. Content-based image retrieval with relevance feedback in MARS[J]. Proc IEEE Icip, 1997, 2:815-818 vol.2.
[10] 林銘德. 基于內(nèi)容的圖像數(shù)據(jù)庫檢索技術(shù)的研究及應(yīng)用[D]. 中南大學(xué), 2008.
[11] Deselaers T, Keysers D, Ney H. Features for image retrieval: an experimental comparison[M]. Kluwer Academic Publishers, 2008.
[12] Rasli R M, Muda T Z T, Yusof Y, et al. Comparative Analysis of Content Based Image Retrieval Techniques Using Color Histogram: A Case Study of GLCM and K-Means Clustering[C]// Third International Conference on Intelligent Systems, Modelling and Simulation. IEEE,2012:283-286.
[13] 劉江玉, 李天劍. 基于深度學(xué)習(xí)的倉儲托盤檢測算法研究[J]. 北京信息科技大學(xué)學(xué)報(自然科學(xué)版), 2017,32(2):78-84.
[14] Lin K, Yang H F, Hsiao J H, et al. Deep learning of binary hash codes for fast image retrieval[C]// Computer Vision and Pattern Recognition Workshops. IEEE,2015:27-35.
[15] 崔延碩, 曾勇華, 張國雄. PCA主成分分析在面部特征識別中的應(yīng)用[J]. 山東工業(yè)技術(shù), 2016(11):228-228.
[16] Smith J R, Chang S F. Tools and techniques for color image retrieval[J]. 1996, 2670:426--437.