《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的視頻跟蹤系統(tǒng)目標檢測方法研究
基于FPGA的視頻跟蹤系統(tǒng)目標檢測方法研究
2014年微型機與應(yīng)用第12期
馮 亮, 劉紫燕, 祁 佳
貴州大學 電子信息學院,,貴州 貴陽
摘要: 在視頻跟蹤系統(tǒng)的研究中,,目標檢測是至關(guān)重要一環(huán),,其結(jié)果的好壞關(guān)系到圖像的分析與識別,,直接影響機器視覺系統(tǒng)對客觀世界的理解。實現(xiàn)圖像中目標邊緣檢測有許多不同的方法,,也一直是圖像處理的研究熱點,,人們期望找到一種定位準,、抗噪強,、不誤檢,、不漏檢的檢測算法[1]。經(jīng)典的算法中主要用梯度算子,,較常用的有Roberts,、Prewitt和Sobel算子,其中Sobel效果較好,,但也存在不足之處,,無法避免噪聲,,對后續(xù)的圖像處理有很大的影響。
關(guān)鍵詞: 形態(tài)學 Sobel FPGA 目標檢測
Abstract:
Key words :

  摘   要: 為了提高視頻跟蹤系統(tǒng)中目標檢測的精度,,提出了一種以FPGA為核心的目標檢測方法,。利用形態(tài)學Sobel目標邊緣檢測的結(jié)果進行優(yōu)化,在此基礎(chǔ)上,,改進新的目標檢測算法彌補形態(tài)學優(yōu)化存在的不足。FPGA實現(xiàn)結(jié)果表明,,改進的目標檢測方法可以實現(xiàn)任何閾值情況下目標邊緣的深度優(yōu)化,,使得圖像邊緣更清晰、噪聲更小,。

  關(guān)鍵詞: 形態(tài)學,; Sobel; FPGA,;目標檢測

  在視頻跟蹤系統(tǒng)的研究中,,目標檢測是至關(guān)重要一環(huán),其結(jié)果的好壞關(guān)系到圖像的分析與識別,,直接影響機器視覺系統(tǒng)對客觀世界的理解,。實現(xiàn)圖像中目標邊緣檢測有許多不同的方法,也一直是圖像處理的研究熱點,,人們期望找到一種定位準,、抗噪強、不誤檢,、不漏檢的檢測算法[1],。經(jīng)典的算法中主要用梯度算子,較常用的有Roberts,、Prewitt和Sobel算子,,其中Sobel效果較好,但也存在不足之處,,無法避免噪聲,,對后續(xù)的圖像處理有很大的影響。

  近年來,形態(tài)學在圖像處理中起著重要的作用,,它利用具有一定形態(tài)結(jié)構(gòu)元素去度量,、提取圖像中對應(yīng)的形狀,以達到對圖像目標分析和識別的目的[2],。形態(tài)學運算是物體形狀集合與結(jié)構(gòu)元素之間的相互作用,,常用的運算有腐蝕、膨脹,、開和閉,,它對邊緣方向不敏感,,可以在很大程度上抑制噪聲,探測真正的邊緣,。因此,,將形態(tài)學應(yīng)用于目標邊緣檢測既能有效地濾除噪聲,又能保留圖像中目標原有的細節(jié)信息,,具有較好的邊緣檢測效果[3],。

  此外,邊緣檢測對處理速度要求比較高且算法處理的數(shù)據(jù)量比較大,,傳統(tǒng)的軟件實現(xiàn)會比較慢,,無法達到實時的要求。而用FPGA芯片,,用硬件設(shè)計來提高圖像處理的速度,,可滿足系統(tǒng)實時要求。本文以FPGA為平臺,,利用形態(tài)學方法對Sobel邊緣檢測結(jié)果進行優(yōu)化,,并在此基礎(chǔ)上提出了一種改進的邊緣檢測方法,使得圖像中目標的邊緣更加清晰,、噪聲更小,。

  1 視頻跟蹤系統(tǒng)的設(shè)計

  通過攝像頭獲取實時圖像并輸入FPGA,根據(jù)目標檢測,、目標跟蹤,、云臺控制等算法實現(xiàn)運動目標的自動跟蹤,圖1為系統(tǒng)整體設(shè)計,。目標檢測的好壞直接關(guān)系到目標跟蹤及云臺控制,。

001.jpg

  與傳統(tǒng)的DSP跟蹤平臺相比,F(xiàn)PGA有著明顯的優(yōu)勢:(1)信號并行處理,;(2)系統(tǒng)設(shè)計靈活,;(3)價格在不斷降低。因此,,采用FPGA作為視頻跟蹤系統(tǒng)處理平臺是未來的必然趨勢,。

  2 基于FPGA的形態(tài)學和Sobel目標檢測

  2.1 形態(tài)學和Sobel算法

  形態(tài)學是分析幾何形狀以及結(jié)構(gòu)的一種數(shù)學方法。常用的形態(tài)學運算有:腐蝕,、膨脹,、開和閉。

  腐蝕(?專)的作用是消除物體邊界點,,膨脹(?茌)是把圖像周圍的背景點合并到物體中,。

  設(shè)A為一幅二值圖像,B為結(jié)構(gòu)元素,,則膨脹運算定義為[4]:

  

A(V$71JO$FDW~JDT41K3B4R.png

  膨脹運算為集合B首先做關(guān)于原點的映射,,然后平移形成集合()a,,最后計算集合a與集合A不為空集的結(jié)構(gòu)元素參考點的集合。

  膨脹可擴大圖像;開運算可平滑圖像輪廓,,削弱狹窄,,去掉細的突出;閉運算可平滑圖像輪廓,它一般融合窄的缺口和細長的彎口,,去掉小洞,,填補輪廓上的縫隙[5]。

  Sobel是一種微分邊緣檢測算法,,該算子是由兩個卷積核g1(x,y)與g2(x,y)對原圖像f(x,y)進行卷積運算而得到的,。其數(shù)學表達式為:

 

FPCMMJM56_U%TH6L281E}XJ.png

  根據(jù)Sobel原理可得出圖2所示的Sobel邊緣檢測算法框圖。首先利用卷積運算得出水平和垂直方向梯度,,然后利用均方根運算將兩個方向梯度結(jié)合,,最后進行閾值處理來判斷圖像邊緣并輸出圖像邊緣檢測結(jié)果[6],。

002.jpg

  2.2 形態(tài)學優(yōu)化在Sobel目標檢測中存在的問題

  形態(tài)學在一定條件下可對Sobel邊緣檢測結(jié)果進行優(yōu)化,,但也存在一些缺陷。圖3設(shè)計了兩種不同的實時圖像目標檢測方法,,第一種為Sobel邊緣處理得到圖像中目標邊緣,,第二種為先經(jīng)過Sobel邊緣處理再進行形態(tài)學優(yōu)化得到圖像中目標邊緣。

003.jpg

  FPGA實現(xiàn)目標檢測結(jié)果如圖4所示,,其中圖4(a)和圖4(c)分別為低閾值和高閾值時Sobel處理后結(jié)果,,圖4(b)和圖4(d)分別為低閾值和高閾值時先經(jīng)過Sobel處理再經(jīng)過形態(tài)學優(yōu)化得到的結(jié)果。對比圖4(a)與圖4(b)看出,,低閾值情況下,,采用Sobel和形態(tài)學的方法可以有效抑制Sobel邊緣檢測噪聲,降低噪聲,,使圖像邊緣變得更加精細,;對比圖4(c)與圖4(d)看出,隨著判定閾值升高,,形態(tài)學對Sobel邊緣檢測效果的優(yōu)化效果越來越不明顯,,甚至開始出現(xiàn)邊緣點丟失。

004.jpg

  3 改進的目標邊緣檢測算法

  為了得到更好的圖像邊緣細節(jié)和提高算子的抗噪能力,,本文提出改進的目標邊緣檢測算法,,流程如圖5所示。

005.jpg

  (1)對攝像頭采集的原始實時圖像進行格式轉(zhuǎn)換,,RGB格式變?yōu)榛叶葓D像格式:

  灰度值=R×0.299+G×0.587+B×0.114  (3)

  (2)灰度圖像分為兩路,一路進行Sobel邊緣檢測,,另一路先進行Sobel邊緣檢測再經(jīng)過Dilation處理。

  (3)Sobel邊緣檢測得到的每一幀圖像邊緣減去Sobel+Dilation邊緣檢測得到的圖像邊緣:

  Bi(x,y)=Ii(x,y)-B(x,y)          (4)

  其中,,Ii(x,y)表示當前幀Sobel邊緣檢測后各個像素點值,,B(x,y)表示Sobel+Dilation邊緣檢測后各個像素點值,。

  (4)將步驟(3)得到的每一幀圖像差值計為當前幀圖像的噪聲信息,得到噪聲圖像,。

  (5)Sobel邊緣檢測得到的圖像邊緣減去噪聲圖像,,得到改進后的邊緣圖像:

  Di(x,y)=Ii(x,y)-Bi(x,y) (5)

  其中,Di(x,y)表示每幀圖像最終得到的各個像素點的值,。

  4 試驗結(jié)果及分析

  4.1 目標邊緣檢測FPGA實現(xiàn)的主要模塊

  Sobel邊緣檢測的FPGA實現(xiàn)主要包含梯度計算和閾值處理,,在實現(xiàn)時采用圖像數(shù)據(jù)緩沖為圖像做緩沖處理[7]。以下主要介紹圖像數(shù)據(jù)緩沖和卷積計算模塊的硬件實現(xiàn),,其中卷積運算如圖6所示,。

006.jpg

  該模塊采用3條線性緩沖器來實現(xiàn)Sobel算子對圖像數(shù)據(jù)的卷積運算,X1~X9為Sobel算子的模板系數(shù),,P1~P9為Sobel算子3×3模板中需要處理的每個像素點灰度值,,乘、加部分由QuartusII軟件中宏功能模塊庫中的可編程多路并行加法器模塊parallel_add與可編程乘加器altmult_add進行運算,。

  形態(tài)學處理FPGA實現(xiàn)過程與卷積運算非常相似,,采用3條線性緩沖器來實現(xiàn)形態(tài)學運算。其中,在Dilation膨脹運算時,,前一級檢測的邊緣數(shù)據(jù)送入Dilation運算模塊,,運算原理如圖7所示,圖中P1~P9為Dilation模塊3×3運算模板中需要處理的圖像邊緣數(shù)據(jù),。

008.jpg

  Dilation膨脹模塊的核心部分Verilog HDL代碼如下:

  P9<=Line0;P8<=X9;P7<=X8;P6<=Line1;P5<=X6;P4<=

  X5;P3<=Line2; P2<=X3;P1<=X2;

  if(iDVAL)

  oDATA<=P9|P8|P7|P6|P5|P4|P3|P2|P1;

  else

  oDATA<=0;

  膨脹Dilation將P1~P9作“或”運算,,腐蝕Erosion將像素點P1~P9作“與”運算。

  4.2 FPGA目標邊緣檢測結(jié)果分析

  該實時圖像目標邊緣檢測在EP2C70 FPGA開發(fā)板上實現(xiàn),,視頻圖像由外部CMOS攝像頭采集,,處理完的數(shù)據(jù)由TRDB-LTM顯示。系統(tǒng)運行在28 MHz時鐘頻率上,,外部輸入實時圖像數(shù)據(jù)為640像素×480像素,,1 024級灰度水平。表1為3種測試方案FPGA硬件資源使用情況,,對比數(shù)據(jù)可以看出,,改進的新算法資源利用率相當小,達到了目標邊緣檢測實時快速的設(shè)計要求,。

008.jpg

  改進算法的FPGA實現(xiàn)結(jié)果如圖8所示,,圖8(a)為CMOS采集的原始彩色圖像,圖8(b)為格式轉(zhuǎn)換后的灰度圖像,,圖8(c)為低閾值下改進算法的目標檢測結(jié)果,,圖8(d)為高閾值下改進算法的目標檢測結(jié)果。

009.jpg

  對比圖4(b)和圖4(d),,從圖8(c)和圖8(d)可知,,無論閾值如何變化,,圖像經(jīng)過改進算法處理得到的目標邊緣都相當清晰,而且在降低邊緣圖像噪聲的同時,,也彌補了形態(tài)學對Sobel邊緣優(yōu)化存在的細微空洞現(xiàn)象,。

  本文在FPGA平臺實現(xiàn)了Sobel算子對實時圖像中目標的邊緣檢測,以及使用形態(tài)學方法對Sobel檢測結(jié)果進行了優(yōu)化,,并在此基礎(chǔ)上提出了一種新的改進算法,。與傳統(tǒng)Sobel邊緣檢測相比,隨著邊緣閾值的改變,,形態(tài)學方法對圖像邊緣優(yōu)化呈現(xiàn)出不同的變化,,當閾值升高到一定時,可以明顯地感受到形態(tài)學優(yōu)化效果不足,,而新改進的算法可以在任何閾值情況下避免Sobel邊緣檢測的噪聲,,讓邊緣檢測更清晰,進一步提高了圖像邊緣檢測的精度,。

  參考文獻

  [1] 袁春蘭,熊宗龍,周雪花,等. 基于Sobel算子的圖像邊緣檢測研究[J]. 激光與2009,39(1):85-87.

  [2] 鄧彩霞,王貴彬,楊鑫蕊. 改進的抗噪形態(tài)學邊緣檢測算法[J]. 數(shù)據(jù)采集理,2013,28(6):739-745.

  [3] 夏平,劉馨瓊,向?qū)W軍,等.基于形態(tài)學多結(jié)構(gòu)基元的含噪圖像邊緣檢測[J]2010,27(7):206-209.

  [4] 趙潔,李瑋,郝志鵬,等.基于改進Canny算子與圖像形態(tài)學融合的邊緣檢測方法[J]. 微型機與應(yīng)用,2011,30(10):44-47.

  [5] 李峰. 基于數(shù)學形態(tài)學的圖像邊緣檢測及其在虹膜定位中的應(yīng)用研究[D].長沙:2009.

  [6] 張麗紅,凌朝東. 基于FPGA的Sobel邊緣檢測應(yīng)用[J].電子技術(shù)應(yīng)用,,2011,37(8):26-29.

  [7] 劉紫燕, 祁佳. 實時圖像邊緣檢測形態(tài)學優(yōu)化設(shè)計及FPGA實現(xiàn)[J].2013,39(9):132-134.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。