孫曉杰,梁 義
(伊犁師范大學(xué)電子與信息工程分院,新疆伊寧 835000)
圖像邊緣檢測(cè)作為圖像分割的重要分支,提取出有效的邊緣信息為后續(xù)分析提供基礎(chǔ),但快速準(zhǔn)確檢測(cè)是邊緣特征提取的難點(diǎn)問題[1]。單閾值法提取的邊緣信息存在斷點(diǎn)、特征不準(zhǔn)確等問題,為實(shí)現(xiàn)圖像邊緣實(shí)時(shí)檢測(cè),采用雙閾值法快速提取圖像邊緣信息并應(yīng)用到實(shí)時(shí)檢測(cè)系統(tǒng)。
高閾值要求嚴(yán)格,會(huì)求出很少的圖像邊緣信息,但高閾值邊緣都有效。低閾值要求寬松,求出很多邊緣信息,主要包括無效邊緣和連續(xù)邊緣信息[2]。具體檢測(cè)原理如圖1所示,先用高閾值求出有效邊緣,Canny邊緣檢測(cè)方法需要邊緣特征連在一起,但高閾值求出的邊緣特征斷斷續(xù)續(xù)[3],再利用低閾值求出的邊緣信息,把高低閾值邊緣連在一起,未使用的低閾值邊緣信息被篩選掉。高低閾值的區(qū)別:高閾值是將物體輪廓與背景區(qū)分開,可以調(diào)整目標(biāo)與背景的對(duì)比度;低閾值用來平滑邊緣的輪廓,當(dāng)閾值設(shè)置太高時(shí)邊緣輪廓會(huì)不連續(xù)或者不夠平滑,通過低閾值平滑輪廓線或連接不連續(xù)邊緣。
圖1 雙閾值檢測(cè)原理
圖像邊緣實(shí)時(shí)檢測(cè)分為軟件和硬件系統(tǒng),具體功能如圖2所示。軟件系統(tǒng)用于提取圖像邊緣特征,主要包括幀圖像、雙閾值和邊緣檢測(cè)等模塊,本文利用雙閾值提取邊緣信息并用Canny方法拼接邊緣[4]。硬件系統(tǒng)包括視頻接口、STM32和TMS320部分,STM32部分用于圖像數(shù)據(jù)的接收、存儲(chǔ)和顯示,TMS320電路用于運(yùn)行雙閾值、邊緣檢測(cè)等程序。
圖2 圖像邊緣實(shí)時(shí)檢測(cè)系統(tǒng)
利用整體圖片的顏色特性進(jìn)行分割,首先將輸入圖像按照模板進(jìn)行顏色歸一化,根據(jù)雙閾值算法標(biāo)準(zhǔn),對(duì)采集到的圖像進(jìn)行邊緣判斷[5],按照設(shè)定要求篩選出符合要求的像素點(diǎn)。先選擇大小為5×5的梯度模板,利用雙閾值法對(duì)提取的圖像數(shù)據(jù)進(jìn)行比較,采用數(shù)據(jù)選擇器選擇出符合要求的結(jié)果,算法具體實(shí)施過程如下。
(1)采集5個(gè)點(diǎn)像素和過高閾值個(gè)數(shù):
(1)
式中:(i,j)為像素點(diǎn);w為照片參數(shù);x為定義參數(shù)。
(2)對(duì)采集的5點(diǎn)按照像素點(diǎn)灰度值數(shù)據(jù)排序,對(duì)數(shù)據(jù)進(jìn)行像素定級(jí):
x1 (2) (3)利用雙閾值選擇符合要求的像素; (4) 計(jì)算像素點(diǎn)的能量值: (3) 式中:E為能量值;P為像素點(diǎn)級(jí)別。 (5)依據(jù)能量值判斷圖像邊緣信息,如果大于設(shè)定小閾值則認(rèn)定為邊緣信號(hào),小于閾值則為背景圖片。 Canny算子具有信噪比高、定位精度準(zhǔn)確和單邊緣響應(yīng)快的準(zhǔn)則,它是一階傳統(tǒng)微分中邊緣檢測(cè)效果最好的算子[6],比Prewitt 算子、Sobel算子的去噪能力強(qiáng)。 根據(jù)對(duì)信噪比與定位乘積進(jìn)行測(cè)度,得到最優(yōu)化逼近算子即Canny邊緣檢測(cè)算子,具體實(shí)施過程如圖3所示。 邊緣檢測(cè)系統(tǒng)的主要任務(wù)是采集圖像,并利用硬件運(yùn)行雙閾值等軟件程序,具體硬件檢測(cè)系統(tǒng)組成如圖4所示。 圖3 程序編寫流程 圖4 硬件系統(tǒng)整體結(jié)構(gòu) 邊緣檢測(cè)硬件系統(tǒng)主要分為圖像采集和邊緣檢測(cè)兩個(gè)部分,圖像采集是以攝像頭OV7670為基礎(chǔ)讀取圖像,以STM32為核心采集、存儲(chǔ)和顯示圖像數(shù)據(jù)[7]。DSP處理芯片TMS320為核心運(yùn)行程序,處理程序以雙閾值特征提取程序和邊緣檢測(cè)程序?yàn)橹?,完成邊緣特征的提取和拼接?/p> CCD采集圖像后可以直接傳送給STM32模塊進(jìn)行特征數(shù)據(jù)提取,但為了降低CPU計(jì)算傳輸壓力采用外置視頻解碼芯片GV7700進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換[8],經(jīng)過視頻解碼后原始圖像質(zhì)量可以得到提高,同時(shí)圖像識(shí)別算法也會(huì)得到簡化。視頻數(shù)據(jù)采集整體電路如圖5所示,高性能解碼芯片GV7700可以通過SPI總線進(jìn)行控制,視頻識(shí)別格式可以通過編程進(jìn)行控制,內(nèi)核低壓電源1.8 V供電可以保證高速采集轉(zhuǎn)換過程中電路芯片處于低功耗模式[9]。當(dāng)五針視頻輸入到SDO接口過程中利用電感和電容濾除信號(hào)中交流成分,然后芯片把直流成分和SDO接收到的小幅度交流成分進(jìn)行合成。視頻解碼芯片工作在27 Mbps高速過程中也可以保持低功耗,且視頻輸入輸出都通過20位并行數(shù)據(jù)總線進(jìn)行傳輸。 圖5 視頻數(shù)據(jù)采集電路 在工業(yè)應(yīng)用中一般內(nèi)存處理電路即可滿足功能要求,但數(shù)據(jù)處理速度要求比較高的場所需要高速存儲(chǔ)電路。 圖像高速存儲(chǔ)電路如圖6所示。數(shù)據(jù)傳輸信號(hào)連接到MT47H64的DDR引腳,在高速傳輸和工業(yè)干擾環(huán)境下為提高信號(hào)抗干擾能力[10],參考引腳VREF并聯(lián)一個(gè)0.1 μF去耦電容,在電源部分并聯(lián)0.1 μF電容和22 μF電解電容[11],這樣芯片可以很好地兼容+1.8 V電源。 圖6 圖像高速存儲(chǔ)電路 每種場景對(duì)閾值參數(shù)的要求都不相同,需要根據(jù)圖片邊緣的灰度變化、特征像素點(diǎn)數(shù)等信息選擇閾值參數(shù)[12]。本文以梯度變換的樹形灰度圖為例,利用攝像頭拍攝場景照片,選取Canny檢測(cè)方法的合適雙閾值,分別利用變換高閾值和低閾值,根據(jù)圖像邊緣檢測(cè)結(jié)果確定參數(shù),不同低閾值的檢測(cè)結(jié)果如圖7所示,不同高閾值的檢測(cè)結(jié)果如圖8所示。 根據(jù)兩組不同參數(shù)確定邊緣圖形,檢測(cè)結(jié)果分為原圖、不同低閾值和高閾值,檢測(cè)結(jié)果表明低閾值引入的邊緣特征比較多,信號(hào)可以分為無效邊緣和有效邊緣,低閾值越小無效信息越多,高閾值越大則有效信息越少。綜合觀察高低閾值分別為0.07和0.04時(shí),檢測(cè)的圖像邊緣更貼合原始圖,且信息還原度比較高。 為開發(fā)一種基于雙閾值的動(dòng)態(tài)圖像邊緣檢測(cè)系統(tǒng),設(shè)計(jì)了邊緣檢測(cè)方法和硬件電路,利用樹形灰度圖選取Canny檢測(cè)方法的合適雙閾值,實(shí)驗(yàn)結(jié)果表明高低閾值分別為0.07和0.04時(shí),檢測(cè)的圖像邊緣更貼合原圖,也證明了圖像邊緣檢測(cè)系統(tǒng)的可靠性。 (a)原始圖像 (b)雙閾值0.02、0.08,Canny算子進(jìn)行邊緣檢測(cè) (c)雙閾值0.04、0.08,Canny算子進(jìn)行邊緣檢測(cè) (d)雙閾值0.06、0.08,Canny算子進(jìn)行邊緣檢測(cè) (a)原始圖片 (b)雙閾值0.04、0.05,Canny算子進(jìn)行邊緣檢測(cè) (c)雙閾值0.04、0.07,Canny算子進(jìn)行邊緣檢測(cè) (d)雙閾值0.04、0.09,Canny算子進(jìn)行邊緣檢測(cè)2.2 Canny邊緣識(shí)別
3 邊緣檢測(cè)硬件系統(tǒng)
3.1 硬件系統(tǒng)設(shè)計(jì)
3.2 視頻數(shù)據(jù)采集電路
3.3 圖像存儲(chǔ)電路
4 圖像邊緣實(shí)時(shí)檢測(cè)實(shí)驗(yàn)
5 結(jié)束語