摘 要: 圖像目標(biāo)的分割是圖像處理的重要環(huán)節(jié),。從圖像中目標(biāo)的相對位置出發(fā),提出了一種目標(biāo)分割算法,。該算法以輪廓跟蹤算法為主體,結(jié)合投影算法以減少輪廓跟蹤算法的運(yùn)算區(qū)域,從而提高分割算法的實時性。以ti" title="ti">title="TMS320C50" title="TMS320C50">TMS320C50">TMS320C50和FPGA" title="FPGA">FPGA芯片為核心器件實現(xiàn)了圖像目標(biāo)分割系統(tǒng),實驗證明該系統(tǒng)具有較高的分割精度及實時性能,。
關(guān)鍵詞: 目標(biāo)分割 投影法 輪廓跟蹤法 DSP" title="DSP">DSP FPGA
近年來,數(shù)字圖像處理已廣泛應(yīng)用于科學(xué)研究,、航空航天技術(shù)、醫(yī)療診斷以及工農(nóng)業(yè)生產(chǎn)等諸多領(lǐng)域,。但在目標(biāo)圖像的識別及跟蹤時,從輸入圖像中分割出待處理目標(biāo)圖像的質(zhì)量優(yōu)劣,將直接影響到待處理目標(biāo)圖像的識別及跟蹤,。本文從目標(biāo)圖像的常用識別方法出發(fā),利用投影法和輪廓跟蹤法(爬蟲法)相結(jié)合制定目標(biāo)圖像的分割算法,在PC機(jī)上利用C語言編譯通過,并移植到DSP系統(tǒng)中。實驗證明該系統(tǒng)工作十分有效,且具有較高的實時性,。
1 算法介紹
在圖像跟蹤系統(tǒng)中往往需要對目標(biāo)圖像進(jìn)行識別,而圖像識別的常用方法一般分為模板匹配法和特征匹配法,。模板匹配算法是從輸入圖像中分割出待識別的目標(biāo)圖像,利用相關(guān)算法計算其與模板圖像的相關(guān)度而達(dá)到目標(biāo)識別的目的;特征匹配算法是通過計算目標(biāo)圖像的各種特征矩并與模板的各種特征矩的計算值相比較而達(dá)到目標(biāo)識別的目的。由于計算機(jī)存儲圖像時通常以矩陣形式存儲,因此以上這些圖像識別方法均是在方形區(qū)域內(nèi)進(jìn)行的,。如模板匹配算法中,若以減運(yùn)算作為相關(guān)運(yùn)算,則需要從輸入圖像中精確分割出目標(biāo)圖像的存在區(qū)域,再與模板作相關(guān)運(yùn)算,所以目標(biāo)的分割精度將大大影響識別精度;而以特征匹配算法進(jìn)行識別時,若提取的方形區(qū)域內(nèi)存在多個目標(biāo)則也會造成識別精度的大幅度下降,。
本文是根據(jù)多個目標(biāo)之間的相對位置關(guān)系來確定目標(biāo)的分割算法的。
1.1 目標(biāo)間相對位置關(guān)系
假設(shè)輸入圖像為f(x,,y),則
設(shè)fi(x,,y)∩fj(x,y)=φ,i≠j且i,,j=1,,2…n,各目標(biāo)圖像之間不存在交集,即各目標(biāo)圖像相互獨立,目標(biāo)之間的相對位置關(guān)系如圖1所示。
設(shè)f(x,,y)在x和y軸上的投影分別為集合X和Y,各目標(biāo)fi(x,,y)在x和y軸上的投影為集合Xi和Yi,且,,則有以下三種情況。
(1)各目標(biāo)圖像對X軸及Y軸方向投影所得到的x集合和y集合均不存在交集,即Xi∩Yj=φ,,Yi∩Yj=φ,i≠j且i,,j=1,2…n,。如圖1(a)所示,。
(2)各目標(biāo)圖像對X軸及Y軸方向投影所得到的x集合和y集合,僅有x集合或y集合,或兩者均存在交集,但不存在包含關(guān)系,即Xi∩Xj≠φ,Yi∩Yj≠φ,且僅有XiXj或YiYj,i≠j且i,,j∈1,,2…n。如圖1(b)所示,。
(3)各目標(biāo)圖像對X軸及Y軸方向投影所得到的x集合和y集合,有x集合和y集合均存在包含關(guān)系,有XiXj也有YiYj,i≠j且i,,j∈1,2…n,。如圖1(c)所示,。
1.2 采取的算法
①粗區(qū)域劃分:將整幅輸入圖像分別對X軸及Y軸作投影,可得到x和y的各投影集合,通過對所有x和y的投影集合的窮盡組合可在整幅輸入圖像中劃分出若干小區(qū)域,且所有目標(biāo)必存在于這些小區(qū)域中,通過計算各區(qū)域的能量和就可以確定目標(biāo)所存在的區(qū)域,。當(dāng)各目標(biāo)的相對位置關(guān)系以情況(1)出現(xiàn)時,便可得到各目標(biāo)的存在區(qū)域,。
②細(xì)化分割:在粗區(qū)域劃分后,某些區(qū)域或所有區(qū)域中仍存在多個目標(biāo),即某些目標(biāo)的相對位置關(guān)系以情況(2)出現(xiàn)時,則分別對各區(qū)域再做一次區(qū)域劃分,。算法與粗區(qū)域劃分相同,這樣便可得到各目標(biāo)的存在區(qū)域,。
③輪廓跟蹤法(爬蟲法):假定各目標(biāo)之間相互獨立,根據(jù)目標(biāo)外輪廓的連通性,可從外輪廓上的一點出發(fā)在其8鄰域中沿順時針或逆時針方向搜索前進(jìn)(搜索高電平),必然可以返回到起始點,。記錄搜索前進(jìn)過程中X和Y方向的最大值與最小值便可確定目標(biāo)的存在區(qū)域,。
1.3 算法實現(xiàn)
①二值化處理:選取適當(dāng)閾值對輸入圖像進(jìn)行二值化處理,。
?、诖謪^(qū)域劃分:對各行做異或運(yùn)算,檢測各為1的連續(xù)域,記錄各連續(xù)域的最大值和最小值;同理,對各列做如上運(yùn)算,通過各連續(xù)域的窮盡組合,計算各區(qū)域的能量值,設(shè)取閾值,便可實現(xiàn)目標(biāo)圖像的粗區(qū)域劃分。
?、奂?xì)化分割:算法實現(xiàn)與粗區(qū)域劃分算法相同,只是運(yùn)算區(qū)域在各目標(biāo)區(qū)域中進(jìn)行,。
④輪廓跟蹤法:為了提高算法的執(zhí)行速度,將輪廓跟蹤法改為雙向搜索前進(jìn),。由于每一目標(biāo)在行方向上觀察是以一點或數(shù)點或一連續(xù)域或數(shù)個連續(xù)域開始,并以此向左或向右擴(kuò)展并連通,每一目標(biāo)也將以一點或數(shù)點或一連續(xù)域或數(shù)個連續(xù)域結(jié)束,。記錄開始行、結(jié)束行信息及其在X軸投影的最左,、最右點,便可得到這一目標(biāo)的存在區(qū)域,。主要方法為逐行向X軸投影,觀察各行在X軸投影區(qū)域在左、右方向的變化,。取第一行并向X軸投影,檢查為1的一個點或數(shù)個點或一段或幾段投影連續(xù)區(qū)域,并記錄各自行,、列位置,。取第二行再向X軸投影,發(fā)現(xiàn)此次投影點會將第一次投影點或區(qū)域向左或右方向推移或保持不變,或是增加新的點或區(qū)域,修改各記錄,以此方法進(jìn)行下去,最終一目標(biāo)會以向右方向匯于一點或一段連通區(qū)域結(jié)束對這一目標(biāo)外輪廓的搜索。由所記錄的行,、列信息可得到目標(biāo)的存在區(qū)域,。
⑤目標(biāo)提取:按各目標(biāo)的位置及大小信息提取各目標(biāo),。對于情況(3)中目標(biāo),先提取小目標(biāo),并在小目標(biāo)區(qū)域清零,再提取大目標(biāo),。
2 硬件系統(tǒng)設(shè)計
在本系統(tǒng)中,視頻圖像由CCD獲取,經(jīng)視頻預(yù)處理電路預(yù)處理后由A/D轉(zhuǎn)換電路轉(zhuǎn)換成數(shù)字信號,再經(jīng)二值化處理后,便在行同步信號H.SYNC及鎖相倍頻電路產(chǎn)生的CLOCK信號控制下,產(chǎn)生其數(shù)據(jù)存儲地址,存入雙口RAM中,形成512×512的數(shù)字圖像。DSP從雙口RAM取出數(shù)據(jù),按上述分割算法計算出目標(biāo)存在區(qū)域及目標(biāo)圖像,并通過總線控制電路送入計算機(jī)進(jìn)行后期處理,。圖2為系統(tǒng)框圖,。因篇幅所限,系統(tǒng)總體電路在此省略。
2.1 視頻預(yù)處理電路
考慮到視頻信號在傳輸中的衰減,采用LM318進(jìn)行視頻放大,從而得到更清晰的信號,以方便進(jìn)一步視頻處理,。
2.2 視頻同步分離器
視頻同步分離器采用LM1881,其外圍電路連接簡單,對視頻信號同步信號分離極為準(zhǔn)確,。LM1881的引腳及連接電路如圖3所示。
2.3 鎖相倍頻電路
以74HC4046為核心組成鎖相倍頻電路,。其主要用途是為A/D轉(zhuǎn)換器及可編程控制器件CPLD提供時鐘,。由于要將輸入圖像轉(zhuǎn)換為512×512的數(shù)字圖像,而行周期為64μs,其中圖像占52.2μs,行消隱占11.8μs,因此A/D的最低采樣轉(zhuǎn)換頻率為f=512/52.2=9.808MHz。在本電路中,采用行同步信號(fH=15.625kHz)作為輸入信號,并對其進(jìn)行628倍倍頻得到本系統(tǒng)A/D轉(zhuǎn)換器時鐘,其頻率fA/D=9.8125MHz,。
2.4 A/D轉(zhuǎn)換器
本系統(tǒng)中A/D轉(zhuǎn)換器采用8位高速A/D轉(zhuǎn)換芯片BT218,它是一個專門用于視頻信號數(shù)字化應(yīng)用方面的A/D轉(zhuǎn)換器,。其主要特性有:20MSPS的轉(zhuǎn)換速率,分辨率8BIT,不需要外加采樣保持電路和視頻放大電路,兼容TTL電平等。由于輸入時鐘CLOCK的頻率fA/D=9.8125MHz,,因此利用行同步信號H.SYNC對內(nèi)部比較器周期性清零,以消除比較器因制造公差引起的初始閾值不匹配。
2.5 可編程控制單元
可編程控制單元由兩片EPM7128SLC84" title="EPM7128SLC84">EPM7128SLC84 CPLD可編程器件和一片GAL20V8組成,。一片可編程器件用于對A/D轉(zhuǎn)換器輸出數(shù)據(jù)進(jìn)行二值化處理,、產(chǎn)生存儲器的地址以及存儲器的片選信號;另一片可編程器件用作總線控制器,而GAL20V8用作譯碼電路。
由于輸入視頻信號為PLA制,即一幀圖像由奇,、偶場組成且為隔行掃描,生成的數(shù)字圖像為512×512,每行采樣512個點,每場取256行,故用兩個計數(shù)器來完成512和256的計數(shù),。對于每行采樣時應(yīng)避開行消隱期;對于每場取行時應(yīng)避開場消隱期(25個行周期)。二值化處理電路的主要工作原理是用H.SYNC和CLOCK控制采樣計數(shù)器產(chǎn)生鎖存信號,。這里為避開行消隱期,延遲7.1μs后開始512計數(shù),。鎖存信號由D0位產(chǎn)生,主要控制比較器完成二值化處理,同時控制移位寄存器生成16位數(shù)據(jù)并在寫信號控制下輸出。每行采樣512個點,對于16位存儲器需32個地址存放一行信息,。
由于PLA制是隔行掃描,存儲器地址應(yīng)分為512個地址段,每段為32個地址,并且按地址段間隔存放數(shù)據(jù),。每段地址A4~A0由鎖存信號經(jīng)計數(shù)器產(chǎn)生,A5由奇/偶場信號產(chǎn)生,A13~A6由行同步信號控制另一計數(shù)器產(chǎn)生。
2.6 數(shù)據(jù)存儲單元
數(shù)據(jù)存儲單元采用三片IDT7026,。它是16K×16bit的高速雙口靜態(tài)RAM,存儲容量為256Kbit,能滿足圖像的存儲需求,。一片用于存放數(shù)據(jù)圖像,兩片用于存放中間結(jié)果。
2.7 DSP
DSP采用TMS320C50,它具有改進(jìn)的哈佛結(jié)構(gòu)和多流水線操作,。主要特點為:
CPU具有32位CALU,32位的累加器,32位的累加器緩存器,16位×16位的并行乘法器,三個移位寄存器,八個16位的輔助寄存器,。
存儲器最大可尋址224×16位的外部空間,1056×16位的片內(nèi)雙口RAM,2K×16位的片內(nèi)boot ROM,。
指令周期為35~50ns的單周期定點指令執(zhí)行時間,20~28.6MIPS,每秒百萬條指令。
本系統(tǒng)利用輪廓跟蹤法結(jié)合投影算法,實現(xiàn)圖像中目標(biāo)圖像的分割與定位,。圖像原點設(shè)在圖像的左上頂點,目標(biāo)圖像的定位點也設(shè)在目標(biāo)存在區(qū)域的左上頂點,。目標(biāo)個數(shù)、各目標(biāo)定位點數(shù)據(jù)及其水平方向和垂直方向大小信息經(jīng)DSP計算后,存放在內(nèi)部寄存器中,。DSP根據(jù)以上信息對每個目標(biāo)圖像數(shù)據(jù)進(jìn)行簡化,并順序存放在片內(nèi)雙口RAM中,。處理完畢,按照每個目標(biāo)的大小信息進(jìn)行尋址計算,向計算機(jī)輸出各目標(biāo)圖像。
3 分割算法仿真結(jié)果及系統(tǒng)實時性測試
將圖4中(a)所示圖像作為輸入圖像進(jìn)行仿真實驗,。圖中包含10個目標(biāo),大小分別為(32×32),、(64×64)、(96×96)和(128×128),各目標(biāo)的位置關(guān)系均包含上面所提到的三種情況,。在計算機(jī)上進(jìn)行算法測試,圖5為分割結(jié)果,。
在圖4中,(a)為輸入圖像,(b)為二值化處理后的圖像。由于A/D轉(zhuǎn)換后的圖像為256灰度級,選取二值化閾值為74,。
圖5為對圖4(b)通過分割算法得到的各目標(biāo)圖像,上排從左至右各目標(biāo)位置及大小信息依次為:(113,38),、(32×32),(41,38)、(128×128),(77,231),、(96×96),(25,338),、(96×96),(246,58)、(64×64);下排從左至右各目標(biāo)位置及大小信息依次為:(356,154),、(64×64),(422,38),、(64×64),(452,310)、(32×32),(360,317),、(32×32),(358,308),(128×128),。
利用如圖4(a)所示的圖像作為系統(tǒng)的輸入圖像,目標(biāo)分割精度略有下降。經(jīng)過分析認(rèn)為是CCD對圖像的定位誤差造成的,另外,CCD受光照的影響也會使輸入圖像二值化效果下降,。對此圖像,系統(tǒng)的處理時間約為7.5ms,小于視頻圖像信號幀周期40ms,完全滿足視頻圖像處理的實時性要求,。值得一提的是,圖像的復(fù)雜程度對系統(tǒng)的處理速度有較大影響。
本文提出的視頻圖像目標(biāo)分割系統(tǒng),由于采用DSP芯片,、FPGA芯片及高速A/D轉(zhuǎn)換芯片,具有處理速度高,、系統(tǒng)構(gòu)成簡單等特點。實驗結(jié)果表明具有較高的目標(biāo)分割精度,。但是依然存在如下問題尚待解決:(1)我們是在fi(x,,y)∩fj(x,y)=φ的假設(shè)下制定分割算法的,,對于fi(x,,y)∩fj(x,y)≠φ的情況,,即目標(biāo)與目標(biāo)之間有重疊,。本文中的分割算法尚不能分離目標(biāo),。(2)視頻圖像是由CCD獲得。由于CCD受光照及反光的影響,造成圖像信噪比降低或產(chǎn)生虛假目標(biāo),致使目標(biāo)分割精度降低,。(3)目標(biāo)受光照影響,在二值化處理時產(chǎn)生目標(biāo)丟失,。(4)在實驗中,圖像背景為黑電平。如圖像背景為復(fù)雜背景時,將嚴(yán)重影響目標(biāo)分割精度,建議在算法中引進(jìn)MPEG算法剝離復(fù)雜背景,同時它也是解決(1)的一條途徑,。
參考文獻(xiàn)
1 趙榮椿. 數(shù)字圖像處理導(dǎo)論.西安:西北工業(yè)大學(xué)出版社,1995:209~213
2 Kenneth.R.Castleman.數(shù)字圖像處理.北京:電子工業(yè)出版社,1998:423~430
3 章毓晉.圖像處理和分析.北京:清華大學(xué)出版社,1999:231~240
4 TMS320C5XX User’s Guide.Texas Instruments,,1991
5 趙慧民,莊宏成.利用電話線傳輸視頻圖像的一種DSP應(yīng)用.電子技術(shù)應(yīng)用,1999;25(11)
6 宋萬杰,羅 豐,吳順君.CPLD技術(shù)及其應(yīng)用.西安:西安電子科技大學(xué)出版社,,1999