桂玲++王賾坤++黃梅志
摘 要圖像檢測在現實生活中應用很廣泛,本項目設計一種基于PowerPC圖像檢測系統,研究基于PowerPC嵌入式系統的硬件電路,利用圖像的算法和 OPENCV的開源代碼,完成圖像檢測中目標圖像數據的讀取。項目開發意義在于檢測圖像中目標物體的大小,提供依據,廣泛應用于醫療和公安等圖像檢測領域。
【關鍵詞】FPGA PowerPC 圖像檢測
Xilinx公司FPGA具有功能強大設計靈活的特點,被廣大設計人員開發和使用。隨著FPGA嵌入式技術的發展,在很多領域得到廣泛的應用,比如圖像檢測運用于醫療診斷,刑偵破案,海關貨物圖像檢測等等。
1 理論
圖像檢測就是通過圖像對感興趣的特征區域(檢測目標)進行提取的過程,檢測目標需要事先進行圖像特征提取、歸納,最終通過相應算法分離出來,可對圖像中的背景和目標進行有效的分離,檢測方法可分為單幀和多幀圖像檢測。單幀主要是利用圖像的灰度信息對目標進行分割,多幀通過序列圖像的變化特征實現對目標的提取,主要用于運動目標的檢測,大體包括:基于像素分析的方法、特征檢測的方法和基于變換的方法。以 m×m 像素圖像分辨率的檢測器為例,其內部存在的滿足特定條件的所有矩形的總數,求出每個待檢測子窗口中的特征個數。求出每個特征的特征值,利用積分圖計算特征值。
Adaboost算法在圖像檢索和人臉表情識別以及流行的觸屏手機上的手寫輸入識別等問題中都有普遍應用。是一種迭代算法,而且比較重要且通用的用于特征分類的算法,其主要思想是針對相同的訓練集用不同的分類器(弱分類器)去學習,然后把這些弱分類器結合起來,以形成更強的最終分類器(強分類器)。
PowerPC具有運算速度快,設計靈活,功能強大的特點,PowerPC基本架構: PowerPC(PPC)硬核;PLB總線為高速片上總線;OPB總線為外圍設備低速總線;PLB BRAM、UART接口、網絡接口、外部存儲器等為外圍設備.
OPENCV是Intel 公司開發的計算機視覺庫, 其中包含大量的函數用來處理計算機視覺領域中常見的問題,例如圖像處理(去噪、邊緣檢測、角點檢測、采樣與插值、形態學處理),圖像數據的內存分配與釋放,矩陣/向量數據操作及線性代數運算(矩陣乘積、矩陣方程求解、特征值),目標識別(特征方法、HMM模型),圖像標注,運動分析和跟蹤、3D重建和指紋識別等等
2 實驗
選用Xilinx Virtex-II 開發板。利用XILINX公司FPGA軟件平臺EDK。
2.1 先對硬件進行測試
對 PowerPC進行硬件配置,生成硬件網表,進入EDK,創建工程, PowerPC時鐘選擇 300MHz,參考時鐘與總線時鐘都設為 100MHz。Debug I/F設置 FPGA JTAG, On chip memory 中指令與數據部分各設置 16K,Cache setup 設置 Enable。Cache的大小為16K。外圍接口配置:選擇 RS232-Uart-1,波特率設置為115200、數據位為8、寄偶校驗為0、停止位為1,并且設置中斷,圖像檢測系統程序中使用串口進行調試,設置外圍存儲器擴展接口,為256M。點擊Generate 生成硬件平臺相關文件。進入硬件界面XPS,生成PowerPC的網表文件。把 Bitsream下載到開發板的過程中,系統會自動把外部存儲器的測試程序下載到片內存儲器中并執行,通過超級終端觀察測試結果。
2.2 編寫應用程序
啟動應用程序EDK當中SDK,對工程進行配置,選擇 ppc405_0。雙擊photo_Detect.c 文件,找到 main 函數.
……
#include “cv.h” //跟圖像有關的庫文件,核心函數庫
#include “highgui.h” //中包含圖像處理, 顯示等方面的函數。GUI函數庫
……
Cvhaarclassifiercascade* 用于對單幅圖片的檢測。在函數調用前首先利用 cvSetImagesForHaarClassifierCascade設定積分圖和合適的比例系數 (=> 窗口尺寸)。當分析的矩形框全部通過級聯分類器每一層的時返回正值(這是一個候選目標),否則返回0或負值。Detect_and_draw_objects()為核心函數,括號內的image為圖片信息指針,需要提取待檢測圖片中的灰度信息與檢測矩陣中的數據作比對,以確定圖片中是否存在目標圖像。
為了提高檢測速度,先通過cvCreateImage對原始檢測圖象進行尺寸縮小,之后通過cvHaarDetectObjects函數對待檢測圖像進行檢測窗口遍歷,設置檢測窗口放大系數。如果檢測結束存在目標區域,則通過cvRectangle函數在檢測圖片中標注出目標圖象的區域。應用程序設置完成后,被自動編譯鏈接,如果正確無誤,SDK已經生成photo. elf可執行文件。
2.3 系統調試
先打開開發板的電源,檢查開發板的串口與電腦是否相連。在XPS界面下,點Debug 然后XMD, 下載待測圖片、分類矩陣dat文件與執行文件elf至開發板,使用命令:
dow -data pic1.jpg.raw.big 0x0fe00000
dow -data standard.raw.big 0x0ff00000
dowphoto.elf
待檢測圖片大小350×300,超級終端上顯示目標對象數據坐標、高度和寬度。
3 結論
數字圖象在生活中的應用也越來越廣泛,電子技術發展也不斷邁向高科技, 該項目是基于FPGA 的嵌入式系統設計,通過Adaboost算法,理解OPENCV開源代碼,完成了PowerPC嵌入式系統圖像檢測。
參考文獻
[1]田耘,徐文波著.Xilinx FPGA開發實用教程[M].北京:清華大學出版社,2012.
[2]劉波文,張軍.FPGA嵌入式項目開發[M].北京:航空航天大學出版社,2012.
作者單位
武漢華夏理工學院 湖北省武漢市 430223