小型無人機交通輔助系統
摘要:本系統用來輔助交通管理,對過往車輛進行車牌識別,發現有在逃車輛的車牌號碼時自動進入無人機控制模式,利用無人機對目標車輛進行跟蹤,并反饋目標位置、速度信息,進行更好的管理和攔截。以Intel的手機平臺為系統核心,采用OpenCV進行圖像處理,利用人工神經網絡的方法進行自動車牌識別,提供語音識別遙控以及按鈕遙控無人機的功能,充分發揮Intel手機平臺的運算性能,協助交通警察監管交通狀況。
本文引用地址:http://www.104case.com/article/264530.htm 車輛的日益增多,為道路交通以及交通管理都帶來了很大壓力,同時車輛違章、逃逸的數量也迅速增加,為了減輕交通管理的壓力,提高道路交通秩序,我們設計了本系統。為了簡單清楚的明白這個系統的功能,我們設想這樣一個場景:在某條公路邊警車內的交警接到通知,要注意是否有一輛車牌號XXX的車輛經過,如果發現則保持跟蹤。這時候,值勤交警開啟了道路監控攝像頭的自動車牌識別功能,對來往車輛進行辨識,過了沒多久,系統提醒,發現目標,緊接著進入跟蹤模式,如果交警不能離開當前執勤位置,那么他可以通過手動控制或者語音控制無人機,進行逃逸車輛的跟蹤,無人機的位置可以認為是逃逸車輛的位置,這樣指揮部可以迅速調動合適的警力在目標行進的路線上進行攔截。系統流程圖如圖1。
1 自動車牌識別
自動車牌識別(Automatic Number Plate Recognition, ANPR)首先利用圖像處理技術提取出一個或者若干疑似車牌區域,然后通過SVM(Support Vector Machine支持向量機)來區分出這些區域哪一個才是真正的車牌,或者都不是車牌,如果有一個區域是車牌所在位置,則接著通過OCR(Optical Character Recognition光學字符識別)技術來識別出具體的車牌號碼,整體流程如圖2。
SVM是一種監督式學習的方法,可廣泛用于統計分類以及回歸分析。它屬于一般化線性分類器,完成的功能就是判斷一個區域是或者不是車牌。本項目中需要先對SVM 和OCR的人工神經網絡進行訓練,OCR的人工神經網絡采用三層每層15個節點。利用一共1200張136x36的圖片訓練SVM,利用860張20x20的圖片訓練OCR的人工神經網絡,暫時沒有訓練漢字的OCR人工神經網絡,識別后的效果如圖3所示。
開發環境是Intel Core i5-3570 + 8GB DDR3 RAM + 500GB 硬盤 + Ubuntu12.04 64bit + OpenCV2.4.9。
將算法通過OpenCV4Android移植到Android平臺上進行實際測試,得益于Intel medfield 的1.6GHz的高性能CPU,運行的結果跟臺式機開發過程中的效果非常接近,采用Intel核心的Android手機可以使用ICC(Intel C++ compiler) for Android 進行優化,充分利用Intel CPU的多媒體指令集,發揮核心最強的運算能力,提高應用程序的運行速度。通過Intel System Studio工具可以快速的發現程序中運行耗時最多的若干位置,并針對性地進行優化。
c++相關文章:c++教程
評論