以DSP Builder為基礎(chǔ)的行車道檢測的實(shí)現(xiàn)
出處:電子技術(shù)應(yīng)用 發(fā)布于:2011-09-05 09:33:49
實(shí)現(xiàn)智能車自動導(dǎo)航和輔助導(dǎo)航的基礎(chǔ)是通過對攝像頭讀入的道路白線圖像進(jìn)行灰度變換,再檢測出白線的邊緣。行車道檢測系統(tǒng)用于智能車的控制和防撞預(yù)警。邊緣檢測電路的設(shè)計(jì)是設(shè)計(jì)該系統(tǒng)的重點(diǎn)。邊緣檢測電路包括圖像輸入緩沖電路、水平方向的邊緣檢測電路、垂直方向的邊緣檢測電路及對兩部分檢測的組合,通過閾值選擇形成二值邊緣圖像。傳統(tǒng)的方案大多采用單片機(jī)電路實(shí)現(xiàn),系統(tǒng)調(diào)試和設(shè)計(jì)流程比較繁瑣,開發(fā)時間長。在實(shí)時圖像處理中,由于處理速度要求比較高,因此用以前的方法很難達(dá)到滿意的要求。實(shí)時圖像處理常常需要對圖像進(jìn)行卷積、求和、圖像分割、邊緣提取及特征提取等不同層次、不同種類的處理。通常采用FPGA芯片來完成一些運(yùn)算結(jié)構(gòu)簡單,但要處理大量數(shù)據(jù)的算法。通過FPGA實(shí)現(xiàn)信號處理可以取得出色的系統(tǒng)穩(wěn)定性,提高控制,從而可以很大的減少開發(fā)時間。本文利用Altera公司推出的數(shù)字信號處理開發(fā)工具DSP Builder作為設(shè)計(jì)平臺,采用Altera公司的Cyclone EP1C6作為主控芯片,通過DSP Builder SignalCompiler模塊讀取由MegaCore和DSP Builder模塊構(gòu)建的Simulink建模文件,生成VHDL文件和工具命令語言腳本,進(jìn)行硬件實(shí)施、綜合和仿真,從而實(shí)現(xiàn)對整個道路邊緣檢測系統(tǒng)的設(shè)計(jì)。
1 邊緣檢測及系統(tǒng)構(gòu)成原理
圖像中像素灰度有階躍變化或屋頂狀變化的那些像素的集合就叫做邊緣。它對圖像分析和識別相當(dāng)有用,邊緣能勾勒出目標(biāo)物體的輪廓,讓觀察者一目了然。邊緣包含了豐富的信息,是圖像識別中抽取的重要屬性。微分運(yùn)算有加強(qiáng)高頻分量的作用,從而使圖像輪廓更為清晰。對于數(shù)字圖像,微分可用差分近似代替,沿x和y方向的一階差分可分別表示:

進(jìn)行二維卷積操作的sobel邊緣檢測模塊本是系統(tǒng)中的主要模塊,它等同于硬件的協(xié)處理器。該系統(tǒng)從CF卡((Compact Flash)初是一種用于便攜式電子設(shè)備的數(shù)據(jù)存儲設(shè)備。作為一種存儲設(shè)備,它革命性的使用了閃存,于1994年首次由SanDisk公司生產(chǎn)并制定了相關(guān)規(guī)范。當(dāng)前,它的物理格式已經(jīng)被多種設(shè)備所采用。)讀入數(shù)據(jù)到邊緣檢測模塊,使用Nios II控制數(shù)據(jù)流,采用DMA控制器在外部存儲器之間傳遞數(shù)據(jù),這些外部存儲器等同于中間圖像數(shù)據(jù)緩沖器。系統(tǒng)結(jié)構(gòu)如圖1所示。


梯度幅度具有旋轉(zhuǎn)不變性或各向同性,而且給出了該像素點(diǎn)灰度的變化率。采用微分銳化圖像,會使條紋、噪聲等得到加強(qiáng),這在圖像處理中會造成偽輪廓和偽邊緣,為此對銳化算子進(jìn)行了各種改善。Sobel算子就是其中一個例子,它在某種程度上克服了上述問題。以待增強(qiáng)圖像的任意像素(i,j)為中心,截取一個3×3的像素窗口是Sobel算子的基本思想。分別計(jì)算窗口中心像素在x和y方向上的梯度。Sobel算子的表達(dá)式:
Sx=

加強(qiáng)后圖像在(i,j)處的灰度值:

2 基于FPGA的DSP Builder設(shè)計(jì)流程
Altera DSP Builder將The MathWorks MATLAB和Simulink系統(tǒng)級設(shè)計(jì)工具的算法開發(fā)、仿真和驗(yàn)證功能與VHDL綜合、仿真和Altera開發(fā)工具整合在一起,實(shí)現(xiàn)了這些工具的集成。設(shè)計(jì)人員可以使用DSP Builder模塊迅速生成Simulink系統(tǒng)建模硬件,通過DSP Builder SignalCompiler模塊讀取由DSP Builder和MegaCore模塊構(gòu)建的Simulink建模文件(。mdl),生成VHDL文件和工具命令語言(Tcl)腳本,進(jìn)行綜合、硬件實(shí)施和仿真。
此系統(tǒng)設(shè)計(jì)首先用MATLAB建立DSP電路模型。電路模型設(shè)計(jì)完成后,就開始進(jìn)行系統(tǒng)功能的仿真,這是屬于系統(tǒng)級并且基于算法的仿真,與目標(biāo)器件無關(guān)。然后利用置于Simulink電路模型界面的DSP Builder中的Signal Complier將電路模型文件即Simulink模型文件(。mdl)轉(zhuǎn)化為RTL級的VHDL代碼表述和Tcl腳本。一旦獲得了VHDL描述,就可以在Simulink中調(diào)用Quartus II中的綜合器生成網(wǎng)表文件。下一步就是調(diào)用Quartus II中的編譯器,根據(jù)網(wǎng)表文件及設(shè)置的優(yōu)化條件進(jìn)行布線布局和優(yōu)化設(shè)計(jì)的適配操作,同時生成用于Moldelsim的時序仿真文件。將生成的Programmer Object File(。pof)對目標(biāo)器件進(jìn)行編程配置,即可在硬件上形成DSP系統(tǒng)。
3 邊緣檢測系統(tǒng)的Simulink模型設(shè)計(jì)
Sobel邊緣檢測模塊包括獨(dú)立且并行的水平檢測和垂直檢測兩部分。輸入緩沖通過一組延時線路轉(zhuǎn)換輸入的像素值。線路緩沖器的緩沖級數(shù)由圖像的寬度決定。本設(shè)計(jì)采用的圖像寬度是640。緩沖器的個數(shù)取決于卷積核的大小,本設(shè)計(jì)采用3×3的Sobel卷積核。垂直和水平方向的邊緣檢測幾乎是相同的,兩者之間的區(qū)別只在于從輸入緩沖器流過的數(shù)據(jù)流。將兩部分組合并通過閾值選擇形成一幅經(jīng)過邊緣檢測的二值圖像。Sobel邊緣檢測是流水線操作,在每一個時鐘周期都計(jì)算得到一個像素值,如圖2所示。圖中,Z-640是指本設(shè)計(jì)輸入的圖像像素寬度是640,右上角的加法模塊實(shí)現(xiàn)的是垂直方向的邊緣檢測,右下角的加法模塊實(shí)現(xiàn)的是水平方向的邊緣檢測。對于一般的灰度圖像, 其像素的灰度值一般用8位表示,考慮到計(jì)算過程中可能出現(xiàn)負(fù)數(shù)和溢出問題。因此,數(shù)據(jù)在開始計(jì)算前先在位補(bǔ)零,使數(shù)據(jù)寬度變?yōu)?0 位,計(jì)算完成后可再裁剪為8 位。
在DSP Builder中設(shè)計(jì)的Sobel邊緣檢測系統(tǒng)如圖3所示。


4 仿真結(jié)果
建立了。mdl文件之后,在Simulink中對其進(jìn)行系統(tǒng)算法級仿真。設(shè)置Matlab各項(xiàng)參數(shù)和Simulink仿真參數(shù),因?yàn)楸驹O(shè)計(jì)采用圖片的像素是640×480,所以設(shè)置仿真時間為307 201s(所有的像素?cái)?shù)量加1)。
測試表明,仿真結(jié)果符合要求,整個系統(tǒng)算法級設(shè)計(jì)是正確的。圖4為原始的彩色圖像,圖5為經(jīng)過水平邊緣檢測和垂直邊緣檢測后沒有經(jīng)過閾值選取的圖像,圖6為經(jīng)過閾值選取后的二值圖像。Sobel算子不像普通梯度算子那樣用兩個像素的差值,而是采用兩列或兩行像素灰度加權(quán)和的差值來表示,因此有以下兩個優(yōu)點(diǎn)[4]。

(1)由于引入了平均因素,因而對圖像中的隨機(jī)噪聲有一定的平滑作用。
(2)由于它是相隔兩行或兩列之差分,故邊緣兩側(cè)的元素得到了增強(qiáng),邊緣顯得粗而亮。
使用Modelsim進(jìn)行功能仿真,主要是調(diào)用。tcl 文件對RTL 級的VHDL 代碼仿真。由于Simulink 的仿真是算法級的,而此仿真是針對硬件結(jié)構(gòu)的,兩者之間可能存在軟件理解上的差異,所以對RTL 級VHDL 代碼的仿真是必要的。仿真結(jié)果和系統(tǒng)級仿真一致。編譯生成。pof 文件,到目標(biāo)芯片中,從而完成整個邊緣檢測模塊的設(shè)計(jì)。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 掌握 DSP:原理剖析與應(yīng)用實(shí)踐2025/5/8 14:03:24
- 模糊邏輯在 DSP 上實(shí)時執(zhí)行2023/7/25 17:13:30
- 多速率DSP及其在數(shù)模轉(zhuǎn)換中的應(yīng)用2023/6/12 15:28:52
- 使用 DSP 加速 CORDIC 算法2023/3/29 15:46:30
- 高速DSP系統(tǒng)的信號完整性2022/9/26 16:45:38
- 高速PCB阻抗控制核心實(shí)操規(guī)范
- 高速數(shù)字系統(tǒng)(如DDR、SerDes)中的信號完整性濾波
- MOSFET在UPS電源中的應(yīng)用解析
- 電源管理IC在物聯(lián)網(wǎng)設(shè)備中的應(yīng)用
- SMT連接器焊接缺陷分析
- MOSFET在汽車電子中的應(yīng)用要求
- 通信設(shè)備電源管理IC應(yīng)用解析
- 通信設(shè)備連接器選型與設(shè)計(jì)
- PCB電磁兼容性(EMC)設(shè)計(jì)核心實(shí)操規(guī)范
- 物聯(lián)網(wǎng)節(jié)點(diǎn)低功耗設(shè)計(jì):信號鏈中的濾波與功耗管理









