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