李文舉, 王子杰, 崔 柳
(上海應(yīng)用技術(shù)大學(xué) 計(jì)算機(jī)科學(xué)與信息工程學(xué)院 上海 201418)
目標(biāo)跟蹤在實(shí)際生活中有著廣泛應(yīng)用,例如自動(dòng)駕駛[1]、視頻監(jiān)控[2]、道路安全識(shí)別[3]和行人跟蹤[4]等。當(dāng)跟蹤目標(biāo)發(fā)生形變以及受到光照變化或背景雜波等,都會(huì)使得跟蹤目標(biāo)視覺(jué)特性發(fā)生改變,從而導(dǎo)致跟蹤精度降低。
圖像哈希特征[5]能夠很好地描述圖像主體特征,很多學(xué)者將其應(yīng)用于目標(biāo)跟蹤領(lǐng)域。Yu等將感知哈希算法與粒子濾波相融合并應(yīng)用于目標(biāo)跟蹤[6]。陳優(yōu)良等預(yù)測(cè)了目標(biāo)可能出現(xiàn)的位置,減小了搜索范圍從而提升了跟蹤效率[7]。胡卓等提取目標(biāo)全局和局部特征進(jìn)行融合并應(yīng)用于跟蹤算法[8]。Sengar等使用了拉普拉斯算子對(duì)感知哈希算法進(jìn)行改進(jìn),增強(qiáng)了跟蹤目標(biāo)的邊緣信息[9]。Huang等將感知哈希和相關(guān)濾波器相結(jié)合,減少了錯(cuò)誤更新目標(biāo)模板時(shí)引起的跟蹤偏移,提升了跟蹤的準(zhǔn)確率[10]。
SIFT特征是圖像的局部特征,通過(guò)對(duì)圖像SIFT特征點(diǎn)進(jìn)行匹配能夠很好地將兩幅圖像進(jìn)行配準(zhǔn),因此很多學(xué)者將其應(yīng)用到目標(biāo)跟蹤領(lǐng)域。王智軍等在MeanShift算法丟失目標(biāo)的情況下使用SIFT進(jìn)行目標(biāo)重定位[11]。顧蘇杭等簡(jiǎn)化了SIFT特征的提取和匹配,提高了目標(biāo)跟蹤的可靠性和穩(wěn)定性[12]。李艷萍等計(jì)算圖像SIFT特征點(diǎn)的光流信息,對(duì)光流信息進(jìn)行特征聚類從而實(shí)現(xiàn)目標(biāo)的準(zhǔn)確跟蹤[13]。Mirunalini等將卡爾曼濾波與SIFT特征相結(jié)合,提升了目標(biāo)在被遮擋時(shí)的跟蹤成功率[14]。
文獻(xiàn)[7-8]都將感知哈希特征應(yīng)用于跟蹤算法中。然而當(dāng)目標(biāo)外觀改變較大時(shí),目標(biāo)的哈希特征也會(huì)發(fā)生改變。文獻(xiàn)[14]利用目標(biāo)的SIFT特征和卡爾曼濾波對(duì)目標(biāo)進(jìn)行跟蹤,當(dāng)目標(biāo)外觀發(fā)生變化較大時(shí),SIFT算法的匹配可能會(huì)失敗?;谏鲜霾蛔阒?本文對(duì)SIFT算法的特征點(diǎn)提取和匹配以及感知哈希和差異哈希進(jìn)行改進(jìn),將SIFT特征、圖像哈希特征和顏色特征相融合,獲取更豐富的目標(biāo)特征并將其應(yīng)用于跟蹤算法。實(shí)驗(yàn)證明,算法在目標(biāo)受到光照變化或背景雜波時(shí)能保持較高的準(zhǔn)確率,有效解決了跟蹤精度下降的問(wèn)題。
圖像熵是一種圖像特征的統(tǒng)計(jì)形式,它反映了圖像中信息的含量。對(duì)于一幅大小為M×N的灰度圖像,圖像中的任意點(diǎn)可以用信息熵來(lái)描述其領(lǐng)域內(nèi)灰度值分布的混亂程度。對(duì)灰度圖像中的每一個(gè)點(diǎn)都進(jìn)行局部熵信息的計(jì)算,就能夠得到灰度圖像的局部熵,計(jì)算為
(1)
其中:H表示灰度圖像的局部熵;pi表示灰度值為i的像素所占比例。
圖像的局部熵越大則表示信息量越大。文獻(xiàn)[15-16]證明了只對(duì)高熵部分進(jìn)行SIFT特征提取,能夠獲取大部分的特征點(diǎn)。這種改進(jìn)能夠縮小特征提取的區(qū)域,從而提升效率。
在對(duì)兩幅圖像進(jìn)行配準(zhǔn)時(shí),特征點(diǎn)匹配會(huì)直接影響圖像配準(zhǔn)的結(jié)果。特征點(diǎn)匹配常用的方法是最近鄰距離比值法,然而這種方法需要手動(dòng)設(shè)定閾值,當(dāng)閾值過(guò)大會(huì)產(chǎn)生錯(cuò)誤匹配對(duì);當(dāng)閾值過(guò)小會(huì)丟失正確的匹配對(duì)。因此需要對(duì)SIFT特征點(diǎn)的匹配進(jìn)行改進(jìn)。
在使用最近鄰距離比值法進(jìn)行特征點(diǎn)匹配后,對(duì)于正確匹配的特征點(diǎn),其附近的像素信息非常相似。因此,可以使用均值哈希來(lái)剔除錯(cuò)誤匹配的特征點(diǎn)。
改進(jìn)的SIFT匹配方法具體步驟如下。1) 對(duì)兩幅圖像進(jìn)行熵分割,并分別對(duì)兩幅圖像的高熵部分進(jìn)行SIFT特征點(diǎn)提取;2) 對(duì)兩幅圖像的SIFT特征點(diǎn)使用最近鄰比值法進(jìn)行粗略匹配;3) 對(duì)于粗略匹配的特征點(diǎn),使用均值哈希得到哈希序列,當(dāng)漢明距離小于5時(shí),則判定為正確匹配;否則將其剔除。4) 對(duì)剔除錯(cuò)誤匹配之后的圖像使用RANSAC算法獲得最終的匹配結(jié)果。
2.1.1改進(jìn)的感知哈希 感知哈希能夠獲取圖像的主體信息,使用感知哈希算法能夠得到圖像的哈希序列。通過(guò)對(duì)兩幅圖像的哈希序列進(jìn)行比較得到漢明距離。在獲得兩幅圖像之間的漢明距離后,可通過(guò)式(2)對(duì)兩幅圖像之間的相似程度進(jìn)行量化表示,
(2)
其中:SHash表示兩幅圖像之間的相似度;D表示兩幅圖像之間的漢明距離。
然而感知哈希在目標(biāo)與背景高度相似或光照強(qiáng)度過(guò)低的情況下不能很好地提取圖像的主體信息。針對(duì)感知哈希在上述情況中的不足,本文使用大津閾值對(duì)圖像進(jìn)行分割,處理后的圖像目標(biāo)與背景得到了很好的分離。分割前、后的效果對(duì)比如圖1所示。
圖1 閾值分割前、后對(duì)比圖Figure 1 Comparison before and after threshold segmentation
2.1.2改進(jìn)的差異哈希 差異哈希算法是一種側(cè)重于圖像局部差異的圖像哈希算法。其主要過(guò)程是將圖像進(jìn)行灰度化后,比較每行像素之間的差異以獲取哈希序列的算法。差異哈希算法只關(guān)注了局部差異信息,而忽視了局部信息和整體信息之間的聯(lián)系。本文針對(duì)差異哈希算法的不足之處進(jìn)行了改進(jìn)。具體改進(jìn)步驟如下。
1) 將圖像像素壓縮成n×n。
2) 將縮放后的圖像進(jìn)行灰度化處理。
3) 計(jì)算灰度變換后圖像像素的整體均值(avg)、各行像素均值(r_avgi)以及各列像素均值(c_avgi)。
4) 將圖像中的像素點(diǎn)按從左到右、從上到下的順序依次排列并編號(hào),pi表示圖像的第i個(gè)像素點(diǎn)。對(duì)每個(gè)像素而言,按式(3)的規(guī)則進(jìn)行處理得到相應(yīng)的哈希碼hi。最終可以得到長(zhǎng)度為n2的哈希序列,記為Hlocal,
(3)
5) 將圖像的r_avgi以及c_avgi依次進(jìn)行比較,按式(4)和式(5)處理得到相應(yīng)的行哈希碼ri和列哈希碼ci,最終分別生成n位的行哈希序列Hr和列哈希序列Hc;
(4)
(5)
6) 將圖像的r_avgi以及c_avgi依次與整體像素均值avg進(jìn)行比較。按式(6)和式(7)的規(guī)則進(jìn)行處理得到相應(yīng)的行哈希碼r′i和列哈希碼c′i,最終分別生成n位的行哈希序列H′r和列哈希序列H′c,
(6)
(7)
7) 將上述步驟得到的Hlocal、Hr、Hc、H′r、H′c進(jìn)行合并生成最終長(zhǎng)度為n2+4n的差異哈希序列,如式(8),
Hcc={Hlocal,Hr,Hc,H′r,H′c}。
(8)
顏色是彩色圖像的重要特征之一。本文使用顏色矩來(lái)描述圖像的顏色特征,這種描述方法不僅簡(jiǎn)單且十分高效。圖像的顏色矩包括一階矩、二階矩和三階矩。
圖像的一階顏色能夠反映圖像整體明暗程度,計(jì)算為
(9)
其中:N表示整幅圖像中的像素個(gè)數(shù);Pi,j表示圖像第j個(gè)像素的第i個(gè)顏色分量;μi表示第i個(gè)顏色分量的一階顏色矩。
圖像的二階顏色矩能夠反映圖像色彩的分布范圍,計(jì)算為
(10)
其中:σi表示第i個(gè)顏色分量的二階顏色矩。
圖像的三階顏色矩能夠反映圖像色彩的對(duì)稱性,計(jì)算為
(11)
其中:si表示第i個(gè)顏色分量的三階顏色矩。
通過(guò)對(duì)圖像的RGB分量分別計(jì)算顏色矩,得到一個(gè)9維的圖像顏色特征:Fcolor=(μr,μg,μb,σr,σg,σb,sr,sg,sb),兩幅圖像之間的顏色相似度計(jì)算為
(12)
其中:F1i、F2i分別表示兩幅圖像的顏色特征向量中的第i個(gè)分量;n表示特征向量的維度;Scolor表示兩幅圖像之間的顏色相似度。
圖像哈希特征提取時(shí)需要將圖像轉(zhuǎn)為灰度圖像,灰度圖像丟失了圖像的色彩信息。因此,本文將顏色矩作為圖像的顏色特征融入跟蹤算法中。SIFT特征能夠描述圖像的關(guān)鍵點(diǎn)信息,本文對(duì)于SIFT特征的量化方式為
(13)
其中:Ssift表示圖像區(qū)域內(nèi)成功匹配的SIFT特征點(diǎn)的占比;N1表示搜索窗口內(nèi)與目標(biāo)成功匹配的特征點(diǎn)的數(shù)量;N2表示整幅圖像與目標(biāo)成功匹配的特征點(diǎn)的數(shù)量。
兩幅圖像之間相似度計(jì)算為
S=w1(w2SpHash+w3SdHash)+w4Ssift+w5Scolor,
(14)
式中:w1、w2、w3、w4、w5別表示各特征的權(quán)重,本文取值分別為0.5、0.5、0.5、0.25、0.25;SpHash、SdHash、Scolor分別表示圖像間的感知哈希相似度、差異哈希相似度和顏色矩相似度。
跟蹤目標(biāo)時(shí),當(dāng)跟蹤目標(biāo)受到光照變化或相似背景干擾時(shí),會(huì)出現(xiàn)跟蹤準(zhǔn)確率下降。針對(duì)此問(wèn)題,本文提出了基于特征融合和改進(jìn)SIFT的目標(biāo)跟蹤算法。該算法將改進(jìn)的圖像哈希特征、顏色特征和SIFT特征進(jìn)行融合處理以找出跟蹤目標(biāo)所在位置。具體實(shí)現(xiàn)步驟如下。
1) 在視頻的初始幀選擇需要跟蹤的目標(biāo)作為目標(biāo)模板,計(jì)算目標(biāo)模板的圖像哈希特征和顏色特征,并在目標(biāo)模板的高熵部分提取目標(biāo)的SIFT特征點(diǎn)。
2) 進(jìn)入下一幀,對(duì)上一幀目標(biāo)附近區(qū)域圖像高熵部分進(jìn)行特征點(diǎn)的提取,并和目標(biāo)模板的特征點(diǎn)進(jìn)行匹配。
3) 使用搜索框在上一幀目標(biāo)附近區(qū)域內(nèi)進(jìn)行遍歷搜索,統(tǒng)計(jì)搜索框內(nèi)的特征點(diǎn)占比,并根據(jù)式(14)獲得其與目標(biāo)模板之間的相似度。
4) 選取與目標(biāo)模板相似度最高的搜索框作為最終目標(biāo)框,若相似度高于閾值,則更新目標(biāo)模板,重新提取目標(biāo)模板的圖像哈希特征和顏色特征并在目標(biāo)模板的高熵部分提取SIFT特征點(diǎn);否則直接進(jìn)入下一幀。
5) 重復(fù)步驟2)~4),直至結(jié)束。
本文的實(shí)驗(yàn)在CPU為AMD R5-2600X、內(nèi)存為8 GB的電腦上,使用PyCharm的開發(fā)平臺(tái)與OpenCV3.4以及Python實(shí)現(xiàn)。
為了測(cè)試改進(jìn)的SIFT算法的匹配效果,本文對(duì)跟蹤目標(biāo)變化進(jìn)行了特征點(diǎn)匹配實(shí)驗(yàn)。從圖2和表1的實(shí)驗(yàn)數(shù)據(jù)中可以發(fā)現(xiàn),改進(jìn)的SIFT算法進(jìn)行匹配可以剔除錯(cuò)誤匹配的特征點(diǎn),同時(shí)保留了大部分正確匹配的特征點(diǎn)。
圖2 匹配效果對(duì)比圖Figure 2 Comparison of matching effect
表1 改進(jìn)的SIFT匹配實(shí)驗(yàn)數(shù)據(jù)Table 1 Improved SIFT matching experimental data
本文對(duì)改進(jìn)的圖像哈希算法進(jìn)行了實(shí)驗(yàn)。在光照、相似背景、遮擋、形變等場(chǎng)景下測(cè)試了改進(jìn)的圖像哈希算法的性能。實(shí)驗(yàn)中使用場(chǎng)景如圖3所示。
從表2的實(shí)驗(yàn)數(shù)據(jù)可以得出改進(jìn)后的圖像哈希算法提取了更豐富的圖像哈希特征,目標(biāo)變化前、后的相似度得到了提升。
4.3.1跟蹤算法評(píng)價(jià)指標(biāo) 本文使用文獻(xiàn)[17]中的評(píng)價(jià)指標(biāo)來(lái)評(píng)估本文跟蹤算法的性能。成功率是
圖3 目標(biāo)變化前、后對(duì)比圖Figure 3 Comparison of the target before and after changing
表2 目標(biāo)變化前、后相似度Table 2 Similarity of the target before and after changing
指預(yù)測(cè)框和真實(shí)框的重疊精度小于設(shè)定閾值的視頻幀數(shù)占整個(gè)視頻序列幀數(shù)的比例。距離精度是指中心位置誤差小于設(shè)定閾值的視頻幀數(shù)占整個(gè)視頻序列幀數(shù)的比例。
本文在OTB-100視頻序列中選取了8個(gè)視頻序列進(jìn)行實(shí)驗(yàn),并與文獻(xiàn)[7]、[8]和[14]中的算法進(jìn)行對(duì)比。具體的測(cè)試視頻序列描述如表3所示。
表3 所使用的視頻序列描述Table 3 Description of the video sequence used
4.3.2定性分析 1) 實(shí)驗(yàn)1。對(duì)比各種跟蹤算法在受到光照變化干擾時(shí)的跟蹤效果,視頻序列Crowds的實(shí)驗(yàn)效果如圖4所示,可以發(fā)現(xiàn)文獻(xiàn)[7]、[8]、[14]的跟蹤算法在跟蹤過(guò)程中受到光照影響出現(xiàn)了偏移現(xiàn)象。本文算法在跟蹤過(guò)程中幾乎沒(méi)有發(fā)生偏移,受到的影響相對(duì)較小,能夠在光照變化的干擾下保持較高的跟蹤穩(wěn)定性與準(zhǔn)確性。
圖4 Crowds實(shí)驗(yàn)效果圖Figure 4 Experiment results on Crowds
2) 實(shí)驗(yàn)2。對(duì)比各種跟蹤算法在受到相似背景干擾時(shí)的跟蹤效果,其中視頻序列CarDark中的黑夜背景信息和作為跟蹤目標(biāo)的黑色轎車高度相似,因此高度相似的背景信息可能會(huì)給跟蹤算法帶來(lái)一定的干擾。從圖5可以發(fā)現(xiàn)文獻(xiàn)[7]、[8]、[14]的跟蹤算法在跟蹤過(guò)程中受到相似背景的干擾,出現(xiàn)了較大幅度的偏移。本文的跟蹤算法在跟蹤過(guò)程中受到相似背景的干擾相對(duì)較小,沒(méi)有發(fā)生較大幅度的偏移,能夠保持良好的跟蹤準(zhǔn)確性和穩(wěn)定性。
圖5 CarDark實(shí)驗(yàn)效果圖Figure 5 Experiment results on CarDark
4.3.3定量分析 為了定量分析本文跟蹤算法的性能,取重疊率閾值為0.5,中心坐標(biāo)誤差閾值為20。實(shí)驗(yàn)表明本文的跟蹤算法有著更高的成功率和距離精度,在受到相似背景和光照變化的影響下,能夠穩(wěn)定、準(zhǔn)確地跟蹤目標(biāo)。
表4 各種跟蹤算法成功率與距離精度對(duì)比Table 4 Comparison of success rate and distance accuracy of various tracking algorithms 單位:%
4.3.4綜合分析 為了進(jìn)一步分析本文跟蹤算法的性能,分別采用不同的重疊率閾值和中心坐標(biāo)誤差閾值進(jìn)行實(shí)驗(yàn),成功率曲線和距離精度曲線實(shí)驗(yàn)結(jié)果如圖6、7所示。實(shí)驗(yàn)表明本文提出的算法能夠在相似背景和光照變化的干擾下準(zhǔn)確、穩(wěn)定地跟蹤目標(biāo)。
圖6 成功率曲線圖Figure 6 Graph of success rate
圖7 距離精度曲線圖Figure 7 Graph of distance accuracy
針對(duì)目標(biāo)跟蹤時(shí),當(dāng)跟蹤目標(biāo)受到背景干擾或光照變化時(shí)發(fā)生偏移現(xiàn)象或丟失跟蹤目標(biāo),從而導(dǎo)致跟蹤精度降低的問(wèn)題,本文提出了基于多特征融合和改進(jìn)SIFT的目標(biāo)跟蹤算法。在圖像的高熵部分進(jìn)行特征點(diǎn)提取,并使用均值哈希將錯(cuò)誤匹配的特征點(diǎn)剔除。同時(shí)本文對(duì)感知哈希和差異哈希進(jìn)行了改進(jìn),并獲得了更豐富的圖像哈希特征。將改進(jìn)的圖像哈希特征、顏色特征和SIFT特征進(jìn)行融合,并應(yīng)用于跟蹤算法中。實(shí)驗(yàn)表明本文算法在目標(biāo)受到相似背景干擾或光照變化時(shí)能夠準(zhǔn)確地跟蹤目標(biāo),具有良好的性能。