吳子岳,楊帥,王董測,孫鵬飛
(上海海洋大學 工程學院,上海201306)
隨著運動目標自動識別、追蹤,無人駕駛技術和基于北斗的定位技術[1]日趨成熟,通過無人機等設備實現自動追蹤、定位已成為可能,在安保、物流運輸、個性化服務等領域都有很大的發(fā)展.要實現對動態(tài)目標的識別追蹤,圖像增強是其中的關鍵環(huán)節(jié).在對目標物體跟蹤的過程中,由于噪聲干擾,傳感器靈敏度以及能見度低的原因,使得圖像質量下降,圖像模糊,無法精確地對圖像進行分析和下一步的處理,影響目標物體跟蹤,達不到滿意的效果.對此,為了更好地、有效地提取目標物體的信息,減少后期圖像處理工作的難度,研究圖像增強具有重大的意義.目前常用的圖像增強算法有直方圖均衡(HE)算法[2]、自適應對比度增強(ACE)算法[3]和基于色彩恒常性理論的 Retinex 算法[4].
運動目標跟蹤[5]是計算機視覺領域的一個重要組成部分,是監(jiān)控領域中的重點問題.目標跟蹤方法是監(jiān)控領域最為關鍵的技術,也是現在研究的熱點問題之一.現階段通常采用的跟蹤方法包括:Mean-shift目標跟蹤算法[6-7],該算法速度快,對于復雜的運動和環(huán)境的變化有一定的適應性,且分析結果的可靠性較高,有一定的魯棒性,但是由于跟蹤過程中的窗口尺寸的固定,受到背景顏色干擾大,跟蹤效果不夠理想,可能會出現丟失跟蹤目標的現象.
本文提出一種自適應圖像增強的差值哈希算法,通過目標區(qū)域灰度均值與整體灰度均值的對比,實時進行圖像增強,使得目標物體的信息得到增強,對之后采用拉普拉斯變換的差值哈希算法的應用具有顯著的效果.該算法可以增強特征提取的穩(wěn)定性,對于目標跟蹤具有良好的效果,在魯棒性方面具有更好的效果.結合北斗衛(wèi)星導航系統(tǒng),通過無人機設備實現自動追蹤定位[8]的目的.
本文利用北斗衛(wèi)星導航系統(tǒng),通過無人機上的FPGA圖像處理開發(fā)板,實現對運動目標的追蹤定位,系統(tǒng)框架如圖1所示.這套系統(tǒng)應用了北斗系統(tǒng),其主要構成部分有北斗衛(wèi)星、無人機設備、服務器等.在這些構成部分中,無人機上FPGA圖像處理開發(fā)板工作性能具有實效性,能夠實時的獲取運動目標的信息,利用定位模塊獲取到無人機的地理位置信息,通過無人機上的通信模塊把信息傳送給北斗指揮機.北斗衛(wèi)星定位系統(tǒng)再將無人機傳遞的信息通過信號塔傳輸給信號塔覆蓋區(qū)域內的用戶,可以非常便利地使用手機、電腦等終端設備接收.用戶在終端設備上也可以利用Internet等向服務器發(fā)出指令,遠程控制無人機的飛行狀態(tài),如速度,方向等,對感興趣的運動目標進行跟蹤.
1.2.1 無人機定位模塊
在無人機上使用到了型號為ATK-S1216F8-BD的北斗定位模塊, 主要功能是為了實現對無人機的定位.該模塊通過五個2.54 mm間距引腳和外部連接,工作原理proteus圖如圖2所示.它是高性能北斗雙模定位模塊,模塊功能包括:1)模塊配備S1216F8-BD模塊,體積小,性能優(yōu)良; 2)模塊可以通過串口設置各種參數,并可存儲在內部FLASH中,使用方便; 3)模塊配有IPX接口,可以連接各種有源天線,此處連接的是北斗雙模有源天線; 4)模塊兼容3.3V/5V電平,易于連接各種單片機系統(tǒng); 5)模塊配備可充電備用電池,可以斷電保存數據主電源斷開后,備用電池可保持半小時左右的GPS/北斗數據保存,支持熱啟動或冷啟動,以實現快速定位).模塊內部包含了熱啟動與冷啟動,冷啟動是模塊保存所有北斗接收歷史信息丟失(相當于主電源和備用電池都沒有電),這種情況下重新啟動;熱啟動是指模塊保存北斗衛(wèi)星接收歷史信息,但目前的可視衛(wèi)星信息和保存信息不一致,這種情況下可以重新啟動.通過ATK-S1216F8-BD北斗模塊,任何微控制器(3.3V/5V電源)都可以非常方便地實現北斗定位,也可以連接電腦,利用軟件實現定位功能.
1.2.2 無線通訊模塊
無人機上的無線通訊模塊選用的是中興公司的ME909s-821通訊模塊,支持下行150 Mbps,上行50 Mbps的傳輸速率;提供高質量的語音、視頻功能;豐富的擴展功能:FOTA、USSD、IPV6/IPV4;內置TCP/IP協議棧;華為擴展AT指令集.這是一種雙頻寬帶碼分多址(WCDMA)工業(yè)級無線模塊,下行速率為42 Mbps,內置 TCP/IP協議棧.該通信模塊可以實現數據的傳送和處理功能.
1.2.3 圖像處理模塊
本文在無人機上采用FPGA圖像處理開發(fā)板對攝像機設備捕捉到的圖像進行目標跟蹤的研究.FPGA對于圖形處理算法具有內在并行性,尤其適用于要求圖像采集和處理之間具有低延遲的應用,在實效性方面具有非常好的效果,使得降低了系統(tǒng)延遲時間,適用于本文的研究背景.
系統(tǒng)嵌入Google Maps的地圖服務應用,結合位模塊的數據的接收、處理和發(fā)送程序.無人機的定位信息采用中斷方式來獲取并保存在緩沖器中.通過調用Google提供的API接口函數及多線程處理數據,實現接收端設備對無人機的定位追蹤.
自適應對比度增強(ACE)算法采用了反銳化掩模技術,將圖像分為低頻分量和高頻分量兩個部分.低頻分量表示的是反銳化掩模部分,可以通過圖像的低通濾波獲取得到:高頻分量可以通過原始圖像與低頻分量(即反銳化掩膜)做差得到:ACE算法主要將高頻分量進行對比度增益(CC),然后與低頻分量相加就可以得到經過增強的圖像.
對于具體像素,計算其鄰域內的像素平均值來實現.定義局部區(qū)域窗口大小為(2n+1)×(2n+1),其中n為一個整數.局部的平均值,也就是低頻部分,可以用下式計算:
(1)
局部方差表示為
(2)
式中,σx(i,j)為局部標準差(LSD),定義f(i,j)為x(i,j)對應的增強后的像素值.則ACE算法可為
f(i,j)=mx(i,j)+G(i,j) [x(i,j)-mx(i,j)]2.
其中的G(i,j)是放大系數集為對比度增益CG, [x(i,j)-mx(i,j)]即為高頻部分.若CG值大于1時,可能會出現過度增強情況,Lee等人提出如下方案:
(3)
式中,D是個常數,取值為圖像的全局平均值.由于CG是空間自適應的,和圖像的局部均方差成反比.當局部均方差越大時,CG值越小,這樣圖像不會產生明顯的增強效果;當局部均方差越小時,CG值越大,會導致引入更多的噪聲,所以為了能達到更好的效果,需要將CG控制在一定的范圍內.
Retinex算法是以色彩恒常性為基礎的,在復雜的光照環(huán)境下表現出人眼對物體顏色的真實反應,和傳統(tǒng)的線性、非線性圖像增強的區(qū)別在于Retinex在色彩恒常、動態(tài)范圍壓縮和邊緣增強三個方面都取得了良好的效果,這就決定了該算法自適應的增強所用范圍很廣泛,可以用于絕大多數類型的圖像.
人眼中一幅給定圖像f(x,y)的成像主要由入射光圖像L(x,y)和反射體圖像R(x,y)決定:
f(x,y)=L(x,y)R(x,y).
(4)
式中,入射光圖像L(x,y)是像素灰度級的動態(tài)范圍,反射體圖像R(x,y)決定了物體的反射性質.其原理如圖3所示.
對上式進行對數變換,用原始圖像與入射光圖像做差,可得到反射體圖像:
lgR(x,y)=lgf(x,y)-lgL(x,y).
(5)
對于入射光部分L(x,y),可以通過環(huán)繞函數g(x,y)與原始圖像f(x,y)的卷積估計出來,即:
L(x,y)=f(x,y)*g(x,y).
(6)
環(huán)繞函數g(x,y)一般取高斯函數:
(7)
其中,σx和σy為高斯函數的方差,表示濾波器的帶寬,一般取σx=σy.
(8)
式中,σ為標準差,稱為尺度參數.
這樣可以得到Retinex增強模型:
Ri(x,y)=exp(lgfi(x,y)-lg[fi(x,y)·g(x,y)]),i=1,2…,N.
(9)
Retinex算法流程如圖4所示.
上式為單尺度的Retinex算法(SSR).當σ取值較大時,圖像增強較強烈,但是缺乏細節(jié)描述;當σ取值較小時,增強圖像細節(jié)較明顯,但是輸出顏色失真.
為了效果更好,采用多尺度Retinex算法(MSR),公式為
g(x,y)]},i=1,2…,N.
(10)
式中,Wk表示與高斯函數相關的權重,且
(11)
相對于感知哈希算法[9]而言,差值哈希算法是一種更加優(yōu)秀的哈希算法,通過計算區(qū)域匹配之間的差異值得到更準確的跟蹤相對梯度方向,從而將獲取到人類視覺系統(tǒng)最敏感的信息.差值哈希算法廣泛應用于圖像處理中的目標跟蹤技術,在視覺跟蹤過程中,視頻序列中的某些物體的運動速度非???難免會產生運動模糊的現象,從而導致運動目標丟失的情況.因此可以通過逆向思維的方式,采用計算差值的方法,以突出圖像處理中對于目標物體細節(jié)的描述.在本文中,為了解決圖像運動模糊的問題,同時為了更準確的對運動目標進行跟蹤,運用拉普拉斯變換產生感知哈希值.通過研究者大量的實驗可以發(fā)現,拉普拉斯變換[10]是一個圖像銳化算子,它非常適用于邊緣檢測,將拉普拉斯變換用于差值哈希算法,在目標跟蹤中具有很強的魯棒性,對于目標跟蹤的驗證也具有良好的判斷力和鑒別力.
對于一幅圖像f(x,y),可以通過計算相鄰像素之間的差值得到一個一維的梯度圖像fd(x,y),它可以表示為輸入圖像的亮度和強度的相對變化,并確定了相對的梯度方向.可以采用拉普拉斯變換得到梯度圖像fd(x,y)二階導數的零極點以及梯度圖像fd(x,y)的邊緣信息fdlap(x,y).
首先,將輸出圖像f(x,y)轉換為灰度圖,將圖像尺寸調整為17×16.然后,計算相鄰像素之間的差值.接下來對于差值圖像進行拉普拉斯變換,經過二值化之后就可以得到哈希值.該算法的實現過程如圖5所示.
本文提出的自適應圖像增強的差值哈希算法是通過最小化當前幀的跟蹤對象區(qū)域和下一幀中的搜索窗口之間的相似性來實現的.實現過程包含以下步驟:
1)捕獲的視頻序列的第一幀,用鼠標選擇目標區(qū)域的大小A×B的跟蹤區(qū)域(ROI),A和B的值是基于運動目標框選的;
2)對于跟蹤區(qū)域(ROI)進行消除噪聲,計算灰度均值,與整幅圖像的灰度均值進行比較;
3)選取合適的圖像增強方法,為了能夠突出運動目標與周圍環(huán)境的差異,便于目標跟蹤;
4)捕獲視頻序列的下一幀,并在掃描區(qū)域中選擇前一幀中目標周圍的圖像區(qū)域;
5)將大小為A×B跟蹤區(qū)域(ROI)的圖像尺寸調整為17×16的矩形窗口;
6)使用矩形掃描窗口搜索定義的掃描區(qū)域,計算相鄰像素之間的差值得到梯度圖像fd(x,y),得到圖像的亮度和強度的相對變化,確定了相對的梯度方向;
7)采用拉普拉斯變換得到梯度圖像fd(x,y)二階導數的零極點以及梯度圖像fd(x,y)的邊緣信息fdlap(x,y);
8)計算得到目標區(qū)域的差值哈希值H0和搜索窗口的H,比較所有在次掃描區(qū)域里面的得到的漢明距離,并且選取最小漢明距離的搜索窗口的坐標(x,y);
9)采用自適應模版更新算法進行匹配跟蹤,通過比較漢明距離最為相似的目標以達到跟蹤的效果.
本文實現的算法流程圖如圖6所示.
采用拉普拉斯變換的差值哈希算法對運動目標跟蹤的實驗效果如圖7所示.
實驗中,通過無人機上載有的攝像機設備對于行人進行實時的跟蹤,通過定位模塊將位置信息傳輸給北斗衛(wèi)星定位系統(tǒng),無人機上載有的通信模塊用于將實時跟蹤的畫面經信號塔傳輸給用戶端,便于用戶觀察,及作出相對的措施.圖8是在google地圖上的定位跟蹤線路圖,準確度較高,實時跟蹤的效果也較好.
基于北斗衛(wèi)星導航系統(tǒng),通過無人機對運動目標進行跟蹤,可以提高跟蹤定位的精準度,在實時性能方面也具有良好的效果.本文對運動目標的跟蹤算法進行了研究,通過自適應圖像增強方法提高圖像質量,減少噪聲干擾,傳感器靈敏度以及能見度低的影響,改善了圖像模糊的情況,運用拉普拉斯變換的差值哈希算法,取得了良好的跟蹤效果.并且通過搭建性能優(yōu)越的北斗衛(wèi)星導航定位裝置設備,在實效性方面有了明顯的提升.