<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于FPGA的鐵軌檢測算法設計與研究

          基于FPGA的鐵軌檢測算法設計與研究

          作者: 時間:2011-09-27 來源:網(wǎng)絡 收藏

          摘 要: 介紹一種基于FPGA的方法,包括嵌入式系統(tǒng)的硬件平臺搭建和基于FPGA的算法的研究。采用基于FPGA的軟核技術,完成圖像增強和復原、邊緣檢測、閾值分割、連通域搜索等基本算法,實現(xiàn)在圖像中完成鐵軌區(qū)域的提取。
          關鍵詞: FPGA;嵌入式系統(tǒng); 圖像處理;

          1 基于FPGA的嵌入式系統(tǒng)開發(fā)流程
           設計一個嵌入式系統(tǒng),主要包括硬件平臺搭建和應用軟件編寫?;贔PGA技術,硬件平臺搭建和軟件編寫都可在相應的軟件平臺上完成。EDK(Embedded Development Kit)是Xilinx公司開發(fā)嵌入式系統(tǒng)的套件工具。EDK套件工具主要包括硬件平臺產(chǎn)生器、軟件平臺產(chǎn)生器、仿真模型生成器和軟件編譯調(diào)試等工具,利用其集成開發(fā)環(huán)境XPS(platform studio)可以方便地完成嵌入式系統(tǒng)的開發(fā)設計[1],設計流程如圖1所示。

          基于FPGA的鐵軌檢測算法設計與研究

          2 硬件平臺搭建過程
           分析系統(tǒng)需求中,主要是進行圖像的分析處理,包括三個主要部分:圖像輸入、圖像處理和結(jié)果顯示。本項目使用依元素公司生產(chǎn)的Xilinx Spartan-3a系列xc3s700a的FPGA開發(fā)板,軟件版本為Xilinx10.1。圖像輸入有下列途徑:USB接口、RS232串口、100 M以太網(wǎng)接口、EDK套件XMD調(diào)試平臺直接下載等。本文將圖像數(shù)據(jù)轉(zhuǎn)換為.ELF文件格式,直接燒寫入Flash中。本文不追求實現(xiàn)視頻流處理,并且圖像要多次使用,源圖像存儲在Flash中最合理。圖像處理由Microblaze軟核系統(tǒng)和檢測程序共同完成;圖像顯示由TFT控制器通過VGA輸出信號在液晶顯示屏顯示。具體硬件平臺搭建過程如下:
           (1)按照XPS應用向?qū)?,建立最小系統(tǒng),配置Microblaze軟核系統(tǒng)參數(shù)和添加UART外設。
           (2)添加IP核,并連接到相應總線,主要為內(nèi)存控制器、通信控制和GPIO等。
           (3)添加自定義的IP。盡管Xilinx提供了許多免費IP,但是免費的IP不能滿足用戶的所有設計。本項目需要自定義的IP有用于控制液晶顯示的TFT_Controller和用于內(nèi)存地址總線及數(shù)據(jù)總線復用的Mux_logic IP。PLB_TFT_Controller主要產(chǎn)生RGB信號、行場掃描、同步信號等,Mux_logic IP用于對SDRAM和Flash總線復用進行控制,輸入為SDRAM和Flash的控制IP產(chǎn)生的地址總線信號和數(shù)據(jù)總線信號及使能信號,輸出為復用地址總線、數(shù)據(jù)總線信號。
           (4)配置相應IP,并進行信號互聯(lián),將需要控制硬件的port連接到外部。分配地址空間,添加UCF配置文件。
           (5)生成硬件比特流文件和硬件驅(qū)動文件。硬件結(jié)構原理圖如圖2所示。

          基于FPGA的鐵軌檢測算法設計與研究

          3 軟件設計過程
          3.1 鐵軌檢測原理


           本項目中鐵軌檢測主要考慮兩種方案[2]:基于邊緣特征和基于區(qū)域特征。(1)基于邊緣特征檢測方法先在全局范圍檢測出邊緣線,再通過模型或特征限制條件,從邊緣圖中獲得目標邊緣。(2)基于區(qū)域特征的鐵軌檢測,利用區(qū)域統(tǒng)計特性,即鐵軌區(qū)域區(qū)別于周圍環(huán)境獨特統(tǒng)計特性來判斷鐵軌區(qū)域。兩種方法中,前者檢測到的鐵軌線較為準確,但是其對二值化閾值嚴重依賴;后者抗噪性較好,但檢測的鐵軌線不夠準確,本文主要討論基于區(qū)域特征的鐵軌檢測。
           基于區(qū)域特征鐵軌檢測流程如圖3所示,分為四個步驟:

          基于FPGA的鐵軌檢測算法設計與研究

           (1)降低分辨率。在濾波之前,先降低圖像分辨率,以消除圖像細節(jié),也可減輕后續(xù)處理的計算負擔。
           (2)濾波處理。分辨率降低后,圖像中仍有很多的突兀點,這是因為鐵軌上各種電磁信號的存在,攝像頭采集到的圖像不可避免地受到高斯噪聲、系統(tǒng)噪聲的污染。考慮到圖像特征,選用中值濾波,它在平滑脈沖噪聲方面非常有效,同時可以保護圖像尖銳的邊緣。
           (3)邊緣提取。利用邊緣檢測算子檢查每個像素的鄰域并對灰度變化率進行量化,包括方向的確定。Sobel邊緣檢測算子方向性靈活,可以設置不同的系數(shù),抑制噪聲效果較好,使用范圍廣泛,因此選用Sobel算子。同時鐵軌圖像橫向變化不大,而在縱向有很大的延伸,故也只考慮圖像垂直邊緣響應。
           (4)連通域搜索。二值化處理后邊緣圖包含了鐵軌信息,也含有很多非鐵軌邊緣。使用八連通區(qū)域搜索法,進行標號處理,記錄相互獨立的連通區(qū)域個數(shù)并進行標號。對連通區(qū)域按照長度大小進行排列,直到搜索出縱向最長的兩根鐵軌,然后判斷并標記左右兩鐵軌,之后進行區(qū)域填充,最終可以看到標記的鐵軌區(qū)域。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();