以圖搜車技術(shù)是以計(jì)算機(jī)視覺、圖像處理、圖像識(shí)別技術(shù)為基礎(chǔ),包括圖像預(yù)處理、圖像特征提取、建立圖像特征索引和圖像特征匹配4個(gè)大的步驟。
圖像預(yù)處理
復(fù)雜背景中的圖像通常存在噪聲多樣、分辨率不高、光照不均等現(xiàn)象,為了使圖像具有統(tǒng)一的屬性,需要先對(duì)圖像進(jìn)行預(yù)處理,以達(dá)到位置校準(zhǔn)和灰度歸一的目的。首先對(duì)圖像背景差分和濾波去噪,然后進(jìn)行縮小和放大變換,獲得固定大小的圖像樣本,使后續(xù)算法能針對(duì)固定的樣本進(jìn)行統(tǒng)一的處理識(shí)別;然后進(jìn)行圖像的灰度化,并通過中值濾波和形態(tài)學(xué)方法增強(qiáng)圖像,使車輛特征的主要紋理(如車牌號(hào)碼、車身顏色、車輛局部特征等)清晰可辨,干擾紋理模糊弱化,為基于紋理的車輛特征定位優(yōu)化圖像;zui后采用直方圖均衡化技術(shù)使圖像具有統(tǒng)一的均值和方差,得到標(biāo)準(zhǔn)圖像。
圖像特征提取
與當(dāng)前流行的其他檢測(cè)方法(Harris detector)相比,SIFT特征向量的優(yōu)勢(shì)在于不僅對(duì)尺度縮放、平移、旋轉(zhuǎn)、亮度變化等具有良好的不變性,對(duì)目標(biāo)部分遮擋和圖像背景噪聲等問題也具有很好的檢索性能;而且其信息量豐富、*性好,適合海量的特征數(shù)據(jù)庫(kù);另外通過少量的幾個(gè)目標(biāo)也可得到大量的SIFT特征向量。因此,本文采用基于SIFT的算法完成對(duì)數(shù)據(jù)庫(kù)中的圖像進(jìn)行特征向量表示。該算法提取出的特征向量具有128維,避免維數(shù)災(zāi)難的出現(xiàn)同時(shí)降低圖像特征向量匹配時(shí)的計(jì)算復(fù)雜度,采用既能夠保持SIFT算子良好特性又可有效降低特征向量維數(shù)的PCA-SIFT算法進(jìn)行圖像局部特征提取。首先從圖像中均勻提取SIFT特征,然后對(duì)其進(jìn)行主成分分析(Principal Component Analysis, PCA ),然后根據(jù)特征向量矩陣對(duì)圖像進(jìn)行變換,將多個(gè)實(shí)測(cè)變量轉(zhuǎn)換為少數(shù)不相關(guān)的綜合指標(biāo)。圖像特征提取的具體實(shí)現(xiàn)步驟為:
① 輸入原始的車輛圖片庫(kù)
車輛區(qū)域定義為車輛正面的一個(gè)矩形區(qū)域,上邊緣到駕駛室車窗頂部,下邊緣到車牌底部,左邊緣到車輛駕駛室車窗左邊界,右邊緣到駕駛室車窗右邊界。
② 從圖片庫(kù)中提取SIFT特征集
提取SIFT特征點(diǎn)首先需要建立圖像的高斯金字塔。其目的是對(duì)圖像作分塊處理,使其呈現(xiàn)出一種層次金字塔的結(jié)構(gòu),然后再分別統(tǒng)計(jì)每一個(gè)子塊的特征,zui后將所有的子塊的特征拼接起來,形成完整的特征。
③ 用PCA算法進(jìn)行降維
首先針對(duì)己有的數(shù)據(jù)集P = {P1, PZ, ... , Pn},計(jì)算平均值,并用原數(shù)據(jù)減去均值得到Pi′= Pi - M。然后計(jì)算協(xié)方差矩陣。接著計(jì)算協(xié)方差矩陣的特征值E1, E2,...,Em和特征向量EV1, EV2,...,EVm。zui后把特征值按照從大到小的順序排列,得到E1′, E2′,..., Em′,對(duì)應(yīng)的特征向量為EV1′, EV2′,..., EVm′。特征向量代表著原始數(shù)據(jù)的分布方向,特征向量對(duì)應(yīng)的特征值越大,說明該特征向量越重要,即為主元,也叫做主成分。
完成以上步驟后根據(jù)特征值的大小選取前32個(gè),就可以將原數(shù)據(jù)由原來的128維降低到新的32維,完成了針對(duì)原始數(shù)據(jù)的降維處理操作。
④ 利用K均值聚類(K-means)方法對(duì)SIFT特征集離散化
從圖庫(kù)中可以提取大量的SIFT特征集,利用K均值聚類對(duì)其作離散化,聚標(biāo)記即是圖像索引值。K均值聚類通過迭代的方式,把每一個(gè)SIFT特征劃分到距離其zui近的聚類中,zui終SIFT特征集被劃分成K個(gè)離散的聚類,認(rèn)為同一個(gè)聚類的SIFT特征是一樣的,則可以使用類編號(hào)表示SIFT特征,即離散SIFT特征。其中類間距離度量上采用單連接法,對(duì)任意兩個(gè)聚類ci,cj,單連接法的計(jì)算公式為:
本文的優(yōu)選實(shí)例中取K值為100000。
⑤ 生成鄰域特征
為了彌補(bǔ)SIFT特征缺少特征相對(duì)位置關(guān)系的缺陷,要把離散化的SIFT進(jìn)一步轉(zhuǎn)換成鄰域特征。假設(shè)SIFT聚類個(gè)數(shù)為K,選擇N*N的鄰域,則鄰域特征可以表示為一個(gè)整數(shù)序列,其元素的值不超過K*N*N。給定一個(gè)SIFT特征點(diǎn),以其為中心定義一個(gè)N*N的鄰域。按照如下規(guī)則生成一個(gè)矩陣: 同一個(gè)子區(qū)域內(nèi),同一個(gè)離散SIFT特征出現(xiàn)多次只記錄一次; 如果第k個(gè)離散SIFT特征出現(xiàn)在第n個(gè)區(qū)域內(nèi),則矩陣第n行的第k個(gè)值置為1,否則置為0。zui終的整數(shù)序列按照下面的步驟生成: 初始序列為空,自左向右,自上而下掃碼矩陣,如果第n行第k個(gè)值為1,則在序列中增加一個(gè)整數(shù),值為(n-1)* K + k,忽略值為0的元素,由此得到一個(gè)整數(shù)序列,這個(gè)序列就是鄰域特征。圖1是當(dāng)K=10,N=3時(shí)的鄰域特征生成示意圖。本文的優(yōu)選實(shí)例中K取100000,N取3。
圖1
建立圖像特征索引
圖像檢索中所使用的倒排索引(inverted index)技術(shù)源于文檔檢索領(lǐng)域,用于大規(guī)模文檔數(shù)據(jù)的索引和匹配。倒排索引被廣泛應(yīng)用于相似性搜索領(lǐng)域。在大規(guī)模的圖像數(shù)據(jù)集中,圖像的低層特征向量通過訓(xùn)練好的特征向量碼本量化為視覺單詞(visual word),得到的每個(gè)視覺單詞對(duì)應(yīng)于倒排索引中的索引項(xiàng)。在圖像檢索中實(shí)現(xiàn)快速檢索。
圖像特征匹配
給定一個(gè)待檢索特征,在量化之后,對(duì)應(yīng)于待檢索特征在倒排索引中的索引項(xiàng)Wi就被確定下來。于是,索引項(xiàng)Wi所對(duì)應(yīng)的一列相關(guān)的索引特征作為候選匹配結(jié)果。兩個(gè)圖像特征向量x和y之間的匹配函數(shù)定義形式如下:
fq(x,y)=δq(x),q(y)
其中q(.)為量化函數(shù),將特征向量映射為碼本中離其zui近的簇中心,即碼字。
經(jīng)過上述過程,用戶輸入的模板圖像和圖像庫(kù)中的所有圖像的相似度計(jì)算問題就轉(zhuǎn)變?yōu)榱诉@些由二進(jìn)制串組成的局部特征之間的匹配問題,本文中二進(jìn)制串的相似度度量采用Hamming距離,計(jì)算效率較高。zui后根據(jù)匹配相似度由高到低輸出圖像庫(kù)中對(duì)應(yīng)的圖像即可。