劉 穎,倪天宇,王富平,劉衛(wèi)華,艾 達(dá)
(1.西安郵電大學(xué) 圖像與信息處理研究所,陜西 西安 710121;2.西安郵電大學(xué) 電子信息現(xiàn)場(chǎng)勘驗(yàn)應(yīng)用技術(shù)公安部重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710121)
現(xiàn)勘圖像數(shù)據(jù)是公安現(xiàn)場(chǎng)勘驗(yàn)信息的重要組成部分,犯罪現(xiàn)勘圖像分類 (crime scene investigation image classification,CSIC) 可以給刑偵破案提供重要線索,并且為案件串并研判提供關(guān)鍵信息。隨著先進(jìn)公安刑偵現(xiàn)勘視頻圖像采集設(shè)備技術(shù)的革新和功能完善,使得公安現(xiàn)勘系統(tǒng)中圖像數(shù)據(jù)的數(shù)量急速增長(zhǎng),且種類眾多。傳統(tǒng)人工分類和標(biāo)注的方式已經(jīng)難以滿足海量數(shù)據(jù)處理的需求。為了節(jié)省人力物力及進(jìn)一步提高公安機(jī)關(guān)的工作效率,研究高效的現(xiàn)勘圖像分類算法尤為重要[1-2]。
現(xiàn)有的現(xiàn)勘圖像分類方法主要通過(guò)對(duì)整幅圖像提取全局視覺(jué)特征,如顏色、紋理和形狀等特征[3-4],然后將這些全局特征輸入到分類器中進(jìn)行分類。如基于紋理與形狀特征融合的刑偵圖像檢索算法,通過(guò)雙樹(shù)復(fù)小波變換和多參數(shù)灰度共生矩陣提取現(xiàn)勘圖像紋理特征,并將提取的Hu不變矩形狀特征與紋理特征進(jìn)行融合實(shí)現(xiàn)分類任務(wù)[3]?;谀:齂最近鄰(k-nearest neighbor,KNN)的現(xiàn)勘圖像場(chǎng)景分類算法將提取的局部二值模式(local binary patterns,LBP)特征和基于小波變換提取的紋理特征進(jìn)行融合,利用模糊KNN方法對(duì)圖像進(jìn)行分類[4]。但是,全局視覺(jué)特征缺乏圖像局部信息,而且對(duì)光照變化、尺度縮放等圖像變換的魯棒性較差。尺度不變特征變化 (scale-invariant features transform,SIFT)[5]特征可彌補(bǔ)全局特征的不足,其在圖像旋轉(zhuǎn)、尺度縮放、亮度變化下能保持較好不變性。為了獲得精確和稀疏的圖像特征,可將局部特征通過(guò)特征編碼技術(shù)進(jìn)行編碼量化,如詞袋模型 (bag of words,BOW)[6]、空間金字塔匹配 (spatial pyramid matching,SPM)[6]、稀疏編碼的空間金字塔匹配 (sparse coding spatial pyramid matching,SCSPM)[7]和局部約束線性編碼 (local-constrained linear coding,LLC)[8]等方法。BOW是通過(guò)投票方式把特征量化為與它最近鄰的視覺(jué)單詞,存在特征的空間信息損失和量化損失兩點(diǎn)不足。SPM通過(guò)多尺度匹配技術(shù)實(shí)現(xiàn)了特征的空間分布信息編碼,而SCSPM算法在SPM基礎(chǔ)上加入稀疏正則項(xiàng),將每個(gè)特征量化到多個(gè)視覺(jué)單詞上,從而減少量化損失,但SCSPM算法選擇的視覺(jué)單詞彼此之間關(guān)聯(lián)度不大,其中被廣泛使用的l1正則化函數(shù)不是平滑的,且算法計(jì)算復(fù)雜度較高。將LLC在選擇用多個(gè)最近鄰視覺(jué)單詞對(duì)局部特征進(jìn)行線性表示的基礎(chǔ)上,使不同局部特征之間共享視覺(jué)單詞,可同時(shí)滿足稀疏性和局部性,實(shí)現(xiàn)圖像局部信息的更精細(xì)表示[8]。文獻(xiàn)[9]將LLC與GIST特征進(jìn)行串聯(lián)融合,實(shí)現(xiàn)了靜態(tài)人體行為的分類?;诙喑叨瓤臻gLLC的圖像語(yǔ)義分類算法[10]對(duì)圖像密集SIFT描述子進(jìn)行LLC編碼,并通過(guò)概率潛在語(yǔ)義模型(probabilistic latent semantic analysis,PLSA)對(duì)圖像進(jìn)行分類。但是,上述特征編碼方法普遍利用圖像的SIFT等低級(jí)視覺(jué)特征,使得目標(biāo)區(qū)域的內(nèi)容信息提取不夠精確[5]。
近年來(lái),深度學(xué)習(xí)技術(shù)在計(jì)算機(jī)視覺(jué)等相關(guān)領(lǐng)域應(yīng)用中取得很好的效果。與傳統(tǒng)的低層特征相比,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)[11]能從復(fù)雜的數(shù)據(jù)中學(xué)習(xí)到更加抽象的特征表示,并且其在圖像分類和檢索等任務(wù)中都表現(xiàn)出相當(dāng)優(yōu)越的性能。因此,針對(duì)現(xiàn)勘圖像場(chǎng)景多變、背景復(fù)雜、拍攝時(shí)光照及角度不同因素影響下導(dǎo)致分類準(zhǔn)確率不高的問(wèn)題,本文提出一種基于深度卷積特征與近似LLC編碼的現(xiàn)勘圖像分類算法。采用滑動(dòng)窗口的方式對(duì)圖像進(jìn)行裁剪,獲取密集的圖像塊;然后采用卷積神經(jīng)網(wǎng)絡(luò)提取圖像塊特征,并通過(guò)近似LLC算法對(duì)圖像密集CNN特征進(jìn)行編碼;最后,通過(guò)最大池化和多尺度空間金字塔匹配將編碼后的特征拼接成單一向量作為圖像整體特征表示。將訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)提取圖像深層特征,代替?zhèn)鹘y(tǒng)的低層特征,以期提高特征的魯棒性和表示能力。
基于深度卷積特征與近似LLC編碼的現(xiàn)勘圖像分類算法的框架如圖1所示。利用滑動(dòng)窗口法將圖像分割為N個(gè)圖像塊,將圖像塊依次輸入訓(xùn)練好的CNN中,提取圖像密集CNN特征 (黑色圓點(diǎn)),并進(jìn)行主成分分析(principal component analysis,PCA)降維和白化處理以降低計(jì)算復(fù)雜度和提升特征魯棒性;采用近似LLC編碼將密集CNN特征編碼為M維特征向量(灰色圓點(diǎn));結(jié)合最大池化和SPM方法將空間信息融入多尺度特征中,得到最終特征向量,其中L=∑l2l×2l為多尺度金字塔分層的圖像塊個(gè)數(shù),l為金字塔層數(shù)。最后,基于支持向量機(jī)(support vector machine,SVM) 分類器實(shí)現(xiàn)圖像分類。
圖1 基于深度卷積特征與近似LLC編碼的現(xiàn)勘圖像分類框架
采用視覺(jué)幾何組(visual geometry group,VGG)[12]網(wǎng)絡(luò)模型提取圖像特征,其中VGG19網(wǎng)絡(luò)模型包括16層卷積層、3層全連接層和最后一層soft-max分類層。直接利用CNN提取的圖像全局特征缺乏幾何不變性,魯棒性較差[13-15],將卷積神經(jīng)網(wǎng)絡(luò)與滑動(dòng)窗口方法相結(jié)合,利用深度卷積神經(jīng)網(wǎng)絡(luò)提取局部圖像塊特征,可提高局部特征的魯棒性和識(shí)別能力。具體方法是先將圖像尺寸規(guī)格化為512×512像素,然后以窗口大小224×224像素、步長(zhǎng)為8像素將圖像分割為1 296個(gè)圖像塊,并利用VGG19深度網(wǎng)絡(luò)提取每個(gè)圖像塊的4 096維特征向量,得到1 296×4 096維的圖像特征矩陣。
運(yùn)用無(wú)監(jiān)督聚類算法K-means對(duì)所有訓(xùn)練圖像塊的描述子進(jìn)行聚類,獲得視覺(jué)中心。從訓(xùn)練圖像提取密集CNN特征,隨機(jī)挑選M個(gè)作為初始聚類中心;根據(jù)歐式距離計(jì)算所有描述子所屬的聚類中心,然后計(jì)算屬于同一聚類中心的所有描述子的均值以更新聚類中心。重復(fù)上述過(guò)程,直到相鄰兩次迭代類中心基本不發(fā)生變化則停止迭代,得到最終的視覺(jué)詞典。
特征編碼方法主要包括矢量量化編碼[16]、稀疏編碼[7]和局部約束線性編碼[8]。為了降低空間金字塔模型SPM方法中矢量量化的重構(gòu)誤差,稀疏編碼將矢量量化的約束條件‖ci‖l0=1進(jìn)行松弛,獲得l1范式正規(guī)化的稀疏編碼。假設(shè)X是D維特征描述子,X=[x1,…,xN]∈RD×N;字典B=[b1,…,bM]∈RD×M是由M個(gè)超完備基構(gòu)成,則優(yōu)化模型[7]可表示為
,
(1)
其中,C=[c1,…,cN]是對(duì)X的編碼特征,λ是正則化參數(shù)。
稀疏編碼提取的超完備基可以降低重構(gòu)誤差,有助于從稀疏編碼向量中獲取描述子的顯著信息[17]。另外,局部坐標(biāo)編碼(local coordinate coding,LCC)理論認(rèn)為局部性比稀疏性更有必要,局部性可以保證稀疏性[18]。因此,LLC方法將式(1)中的稀疏約束項(xiàng)替換為局部限制項(xiàng),使得優(yōu)化目標(biāo)函數(shù)變?yōu)?/p>
(2)
其中:A是數(shù)值全為1的向量;ci表示LLC編碼系數(shù);⊙表示對(duì)應(yīng)元素相乘;di是局部調(diào)節(jié)系數(shù),它根據(jù)特征與視覺(jué)字典基向量之間的相似性自適應(yīng)地對(duì)LLC編碼系數(shù)進(jìn)行加權(quán),表達(dá)式為
(3)
式中,dist(xi,B)=[dist(xi,b1),…,dist(xi,bM)]T,dist(xi,bj)是xi和bj的歐氏距離,σ是調(diào)節(jié)下降速度的因子。
在求解式(2)優(yōu)化目標(biāo)函數(shù)時(shí),通常將di規(guī)范到(0,1],并添加約束條件ATci=1以保證編碼的平移不變性。為更好地使式(2)得到閉合解,按照
(4)
式(4)可保證LLC存在解析解,模型編碼效率明顯高于SCSPM。圖2描述了稀疏編碼(sparse coding,SC)以及LLC編碼映射方法之間的差異。不同于SC方法中選擇不同的原子作為線性組合的基向量,LLC方法中距離相近的描述子會(huì)共享多個(gè)相同視覺(jué)單詞,使得相近描述子具有相似的特征編碼,從而同時(shí)保證稀疏性和局部性。
圖2 特征編碼過(guò)程示意圖
對(duì)式(2)優(yōu)化模型進(jìn)行求解時(shí),待重構(gòu)的特征描述子傾向于選擇字典中距其較近的部分視覺(jué)單詞,從而形成一個(gè)局部坐標(biāo)系統(tǒng)。因此,使用近似LLC編碼方式加速編碼過(guò)程,仍然可保留特征編碼的局部性和稀疏性。
近似LLC編碼過(guò)程主要包括字典學(xué)習(xí)、K近鄰搜索和特征編碼等3個(gè)階段。
1) 字典學(xué)習(xí)
從訓(xùn)練數(shù)據(jù)集中提取的特征描述子集合中隨機(jī)抽取一部分,使用K-means算法進(jìn)行視覺(jué)字典的聚類學(xué)習(xí)B=[b1,b2,…,bM]∈RD×M。
2)K近鄰搜索
對(duì)于任意待編碼的特征描述子xi,設(shè)定近鄰個(gè)數(shù)K,并選取視覺(jué)字典B中距離其最近的K個(gè)視覺(jué)單詞,形成子字典Bi=[b[1],b[2],…,b[k]]。
3) 特征編碼
使用子字典Bi對(duì)特征描述子xi進(jìn)行重構(gòu),通過(guò)求解優(yōu)化目標(biāo)函數(shù)
(5)
圖像描述子的編碼特征具有很強(qiáng)的稀疏性,每個(gè)描述子的信息可以用與其相關(guān)程度最大的K< 為了充分利用描述子的空間位置信息以提升特征向量的表征能力,通過(guò)空間金字塔匹配方法將空間信息嵌入到特征描述子中。金字塔分割是對(duì)圖像第l層(l=0,…,L-1)劃分出2l×2l個(gè)局部塊,通過(guò)對(duì)多層局部塊特征進(jìn)行融合獲得最終編碼特征。以L=3層的空間金字塔模型為例,第0層為原圖,第1層對(duì)圖像進(jìn)行2×2均勻分塊,第2層對(duì)圖像進(jìn)行4×4均勻分塊。設(shè)置多層特征的加權(quán)拼接權(quán)值,其中第0層系數(shù)為1/2L-1,第l層系數(shù)為1/2L-l-1,則3層金字塔結(jié)構(gòu)的權(quán)值系數(shù)則為[0.25,0.5,1.0]。最后,對(duì)圖像每塊編碼特征進(jìn)行最大池化,將池化后的特征按分塊進(jìn)行串聯(lián),得到維度為(1+4+16)M= 21M的最終圖像特征。 采用Liblinear[19]線性分類器。該分類器支持多種l1l2規(guī)范的線性SVM,能夠提升分類算法效率,其參數(shù)可以通過(guò)交叉驗(yàn)證的方法確定并設(shè)置。每次實(shí)驗(yàn)隨機(jī)挑選圖像訓(xùn)練集和測(cè)試集,將10次實(shí)驗(yàn)的平均分類準(zhǔn)確率和標(biāo)準(zhǔn)差作為評(píng)價(jià)標(biāo)準(zhǔn)。 實(shí)驗(yàn)軟硬件環(huán)境分別為Intel (R) Core (TM) i5-8400H @ 2.8 GHz四核CPU,16 GB RAM,MATLAB 2016a平臺(tái)。選取現(xiàn)勘5K數(shù)據(jù)集[20]和Corel 1K數(shù)據(jù)集進(jìn)行分類性能測(cè)試,現(xiàn)勘5K圖像數(shù)據(jù)集包含10個(gè)類別共5 000幅圖像,分別為血跡、車輛、指紋、平面圖、鞋印、皮膚、紋身、兇器、輪胎和窗戶,部分示例如圖3所示。Corel 1K數(shù)據(jù)集包含10個(gè)類別共1 000幅圖像,分別為大象、非洲、公共汽車、海灘、建筑、恐龍、馬、山、食物和鮮花。 圖3 現(xiàn)勘5K數(shù)據(jù)集示例圖像 2.2.1 現(xiàn)勘5K數(shù)據(jù)集圖像分類結(jié)果 為了充分分析本文算法的分類性能,分別針對(duì)局部特征維度、視覺(jué)單詞個(gè)數(shù)、近鄰個(gè)數(shù)和SPM層數(shù),在現(xiàn)勘5K數(shù)據(jù)集上統(tǒng)計(jì)各算法分類結(jié)果,并比較算法時(shí)間復(fù)雜度。 當(dāng)設(shè)置近鄰個(gè)數(shù)K=5,視覺(jué)單詞個(gè)數(shù)為1 024時(shí),局部特征維度變化對(duì)本文算法的平均分類準(zhǔn)確率的影響,如圖4所示。 從圖4可以看出,當(dāng)局部特征維度為500時(shí),平均分類準(zhǔn)確率最高。當(dāng)局部特征維度小于500維時(shí),隨著維度增加,平均分類準(zhǔn)確率呈上升趨勢(shì)。當(dāng)局部特征維度大于500維時(shí),隨著維度增加,平均分類準(zhǔn)確率呈下降趨勢(shì),主要原因是高維度特征對(duì)同類圖像個(gè)體間的差異比較敏感。 圖4 特征維度的大小對(duì)分類結(jié)果的影響 視覺(jué)單詞個(gè)數(shù)M分別取值128、256、512和1 024時(shí),對(duì)比不同視覺(jué)單詞個(gè)數(shù)對(duì)分類準(zhǔn)確率的影響,分類結(jié)果如圖5所示??梢钥闯?,視覺(jué)單詞個(gè)數(shù)越大,分類準(zhǔn)確率越高,當(dāng)視覺(jué)單詞個(gè)數(shù)為1 024時(shí),分類準(zhǔn)確率達(dá)到最優(yōu)。 圖5 視覺(jué)單詞個(gè)數(shù)對(duì)分類結(jié)果的影響 當(dāng)近鄰個(gè)數(shù)K分別取值 2、5、10、20和40時(shí),對(duì)比K變化時(shí)本文算法的分類性能,結(jié)果如圖6所示。 圖6 LLC編碼的近鄰個(gè)數(shù)對(duì)分類準(zhǔn)確率的影響 從圖6中可以看出,較小的近鄰個(gè)數(shù)往往會(huì)產(chǎn)生更好的分類精度。當(dāng)K< 5時(shí),性能開(kāi)始下降。此外,近鄰個(gè)數(shù)越小,算法運(yùn)行效率越高,消耗的內(nèi)存越少。綜合考慮分類精度和算法運(yùn)行效率,K=5為最優(yōu)近鄰個(gè)數(shù)。 為了進(jìn)一步證明多尺度SPM[21]中層數(shù)對(duì)本文算法分類精度的影響,分別與SCSPM和LLC算法在單尺度和多尺度空間情況下進(jìn)行分類對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如表1所示。 表1 尺度空間對(duì)分類準(zhǔn)確率的影響 由表1對(duì)比結(jié)果可知,圖像的多尺度劃分粒度越細(xì),3種算法的分類精度越高,且本文算法的分類精度優(yōu)于SCSPM和LLC算法。 綜上實(shí)驗(yàn)結(jié)果,本文算法的最優(yōu)參數(shù)設(shè)置為局部特征維度F=500,視覺(jué)單詞個(gè)數(shù)M=1 024,近鄰個(gè)數(shù)K=5,金字塔層數(shù)L=3。在最優(yōu)參數(shù)設(shè)置下,本文算法在現(xiàn)勘5K數(shù)據(jù)集分類的混淆矩陣如圖7所示。 圖7 現(xiàn)勘5K數(shù)據(jù)集上分類的混淆矩陣 通過(guò)混淆矩陣可以看出,血跡、指紋、平面圖、鞋印、紋身、兇器和輪胎等獲得很好的分類效果,而窗戶、紋身類識(shí)別精度不夠理想,其主要原因是這兩類圖像的部分內(nèi)容與其他類別容易混淆。比如,個(gè)別窗戶圖像容易被分類為車輛圖像,主要源于窗戶玻璃區(qū)域與車輛前擋風(fēng)玻璃區(qū)域視覺(jué)上十分相似;此外,紋身圖像中存在大量皮膚區(qū)域,使得其極易被判定為皮膚圖像,導(dǎo)致分類錯(cuò)誤。 SCSPM編碼的時(shí)間復(fù)雜度為O(M×K),其中K為非零元素個(gè)數(shù)[8]。近似LLC編碼的時(shí)間復(fù)雜度為O(M+K2),其中M>>K,K為優(yōu)化算法中近鄰個(gè)數(shù)。SCSPM與近似LLC算法的圖像特征編碼時(shí)間對(duì)比如表2所示,可以看出,近似LLC明顯低于SCSPM,證明了LLC算法的高效性。 表2 SCSPM與近似LLC平均編碼時(shí)間 為了驗(yàn)證本文算法的優(yōu)越性,分別對(duì)比本文算法與SPM、SCSPM、LLC和CNN+SVM算法的分類精度,結(jié)果如表3所示。 表3 現(xiàn)勘5K數(shù)據(jù)集上的分類準(zhǔn)確率 由表3可以看出,本文算法的分類精度高于SPM、SCSPM、LLC和SVM+CNN等算法,說(shuō)明通過(guò)滑動(dòng)窗口對(duì)圖像進(jìn)行分塊并提取CNN特征能有效提高圖像內(nèi)容信息的精確描述,并與特征編碼技術(shù)進(jìn)一步結(jié)合,能提高圖像分類準(zhǔn)確率。 2.2.2 Corel 1K數(shù)據(jù)集圖像分類結(jié)果 為了進(jìn)一步驗(yàn)證本文方法的有效性,在Corel 1K數(shù)據(jù)集上任意挑選70幅圖像作為訓(xùn)練樣本,剩下的30幅圖像作為測(cè)試樣本。實(shí)驗(yàn)結(jié)果的混淆矩陣如圖8所示。 圖8 Corel 1K數(shù)據(jù)集上分類的混淆矩陣 在Corel 1K數(shù)據(jù)集上,分別對(duì)比本文算法與SPM、SCSPM、LLC和CNN+SVM算法的各類上的分類準(zhǔn)確率與平均分類準(zhǔn)確率,結(jié)果如表4所示。 表4 Corel 1K數(shù)據(jù)集上的分類準(zhǔn)確率 從表4可以看出,本文算法雖然在某些類別中分類精度低于比較算法,但平均分類準(zhǔn)確率達(dá)到最高。 基于深度卷積特征與近似LLC編碼的現(xiàn)勘圖像分類算法,使用滑動(dòng)窗口法對(duì)圖像分塊,并利用CNN網(wǎng)絡(luò)提取分塊圖像的深度特征,進(jìn)而進(jìn)行PCA降維和白化處理;將局部圖像深度特征進(jìn)行近似LLC編碼,并進(jìn)行最大池化和空間金字塔匹配處理;最后,采用線性分類器實(shí)現(xiàn)現(xiàn)勘圖像分類。實(shí)驗(yàn)結(jié)果表明,本文算法的分類準(zhǔn)確率高于SPM、SCSPM、LLC和CNN+SVM等分類算法。1.6 分類器選擇
2 實(shí)驗(yàn)
2.1 實(shí)驗(yàn)設(shè)置及數(shù)據(jù)集選取
2.2 實(shí)驗(yàn)結(jié)果分析
3 結(jié)語(yǔ)