新聞中心

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

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

        作者: 時間:2011-09-27 來源:網絡 收藏

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

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

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

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

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

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


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

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

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


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 克拉玛依市| 德江县| 叶城县| 鲁甸县| 义马市| 景宁| 泗洪县| 拜城县| 临漳县| 鄂州市| 且末县| 富裕县| 太谷县| 洪湖市| 定陶县| 金平| 兴海县| 云南省| 江口县| 邻水| 郸城县| 福清市| 饶河县| 金塔县| 丹江口市| 德清县| 宝山区| 麦盖提县| 开阳县| 南汇区| 绥阳县| 北票市| 丹棱县| 循化| 湘潭市| 绥棱县| 黄石市| 博白县| 湘西| 旅游| 许昌市|