Contents ...
udn網路城邦
車牌辨識要快、要準、還要省力哦!
2018/07/17 05:36
瀏覽1,393
迴響0
推薦9
引用0

最近的一個重要案子是台北市部分舊型單一車道車牌辨識系統的軟體更新,目前在各都會區,包括高速公路的車牌辨識系統都是這個樣子的!一架約三十萬畫素的攝影機對準一個車道,盡可能快速的辨識衝過畫面的車牌。上次算過,正常車速車牌通過畫面的時間只有零點一幾秒,飆車的話更是只有不到零點一秒!所以辨識頻率必須高到20Hz以上才不會漏車,一輛車通過期間至少要辨識兩三次以上,得到的結果才算可靠。

因為任何路口都不可能只有一個車道,想要完全辨識到所有經過車輛,每個路口就必須有四到六組這樣的辨識系統。在我之前,可能大家連想都沒想過,可以用一台一般規格的電腦(i7),同時這樣高速的辨識一個路口所有的六個車道!下圖是我用兩個影片播放器播放兩個影片,模擬六個車道同步辨識的實驗畫面,實際上之前版本也已經在台北街頭實地測試OK了!大約640X480的影像,我可以達到的辨識速度是大約25Hz,飆車族應該都很難閃過了!

原來的硬體辨識系統是一個車道一個辨識盒,接入串流影像,辨識有結果就會輸出車號與照片,實際的辨識頻率不得而知?據說時速上百公里的車子都可以準確抓到,但絕對無法一個盒子同時辨識多個車道。我做到了!只用一個軟體就可以取代六個硬體辨識盒的工作,一樣不會放過任何一個車道的飆車族,誰還敢說硬體辨識比軟體辨識好?

即使已經達到辨識的需求,但我還是不太滿意,如上圖,這個軟體執行時在我的電腦CPU負荷約七八十趴,到稍微差一點的電腦就會滿檔到九十幾趴!如果是一個24小時長時間,還長期在街頭戶外炎熱的環境運轉的系統,我擔心電腦的耗損會很大,也間接造成日後系統維護的壓力。

剛好最近另一個案子中,需要偵測車子的動態,不辨識行進中的車子,要等車子停下才開始辨識。所以我建立了一個簡易的畫面動態偵測機制,我就想到:如果我在此案中反過來用,畫面不動時(通常是沒車)不要作完整的車牌辨識,畫面中有東西在動(車子經過)才進行辨識,那就可以省下很多無謂的計算時間嘗試辨識空蕩蕩的馬路了!

經過兩天的研究終於成功了!如上圖,我的軟體可以在一樣的高速辨識下,因為先做動態偵測再決定是不是做車牌辨識?結果就是讓CPU負荷幾乎減半!這可是價值連城的研究哦!讓電腦只用三四十趴的負荷運轉,就不會過熱或超載當機了!三個月維修一次電腦和三年修一次,那就差太多了!

事實上我知道傳統的車牌辨識也有類似的機制,估計沒車時就不做完整辨識,我2013年開發嘉義市的系統時就做過。但那是在單張影像上做車牌特徵的掃描,沒有「很像」車牌的目標區時就跳過辨識。但這次我真的是用不同時間的影像作影像變化的估算,更接近物理動態事實的判斷→有車畫面就會動,沒車時畫面應該就不會動!這是馬路上的實況特徵。

所以車牌辨識不只是車牌辨識,如果可以準確利用辨識情境的物理特性,我不但可以飆速還可以很悠哉,讓客戶的電腦用得更久跑得更輕鬆穩定!其實那個「停下才辨識」的加油站案子,也因此讓客戶可以使用較低規格的電腦達到一樣穩定的辨識效果,當安裝系統數量龐大時,用i5i7電腦的差價一台約一萬元,那可是不得了的成本優勢啊!

還有人要嫌我的軟體貴嗎?跑得又快、又準、又「輕鬆」!可以讓你不必買特別貴的電腦,電腦還會很長命!這些可是表面上難以驗收估計的潛在高價值啊!

有誰推薦more
全站分類:心情隨筆 工作職場
自訂分類:教育學習

限會員,要發表迴響,請先登入