網路城邦
上一篇 回創作列表 下一篇  字體:
車牌「擷取率」與辨識「正確率」的意義
2018/01/09 07:02:35瀏覽1228|回應1|推薦12

車牌辨識如果只是「辨識車牌」其實是很容易的!一個清晰的「車牌」影像如下,當作高職生的專題來作都不難的!不過就是:灰階→二值化→旋轉平移縮放→比對字模…等步驟的實作而已,偷懶一點不自己寫程式,找影像辨識的LIB套用,可能一兩天就搞定了!

真正困難的是實際上我們要的是在全景影像中找到並辨識出車牌內容,如下圖,如果車牌本身就很模糊,又躲在複雜的環境背景之中,你如果可以用程式找到正確的車牌位置就是高手了!以車牌辨識的術語來說,這叫作「車牌擷取成功」,如果車牌號碼也正確,才叫作「辨識成功」或「辨識正確」!所以「擷取率」是指一百張照片中你可以成功的正確定位幾個車牌位置,「正確率」才是一百張影像你可以真正辨識正確的張數。

車牌的設計原本就是要讓人很容易看清楚,所以即使不是白底黑字,也一定是對比強烈的!所以一般車牌辨識的找車牌邏輯就是找對比強烈的輪廓訊號,但是環境背景如何是無法預期的!常常一些店招、陰影或標線都會跟車牌一樣對比很強,如果加上如上圖的車牌本身老舊、髒污、磨損或位於陰暗處,那就是極大挑戰了!

如果你的邏輯只是簡單地找「最可能」的車牌位置,就是第一名代表出賽就結案,那麼猜錯的機率其實蠻高的!譬如上圖的車燈其實比車牌清楚很多,也略有成排目標特性,沒騙你!我的程式就常常第一次抓取時,誤認車燈為可能的車牌!但是繼續辨識下去應該會發現不對勁?根本不像字嘛!那就回頭看看別的「可疑目標」囉!所以高「擷取率」必然就是程式「百折不回」的結果!要設計出一個完美的程式每次都一擊中的?我是沒辦法啦!去找外星人吧?

所以不要以為我的程式好快就表示它非常聰明而考慮全面,總是能一次就走對所有的程序,不可能的!太多程序都會碰到死巷子必須回頭找別的路,節省時間的方式是盡快察覺不對勁,不要呆呆地走太多冤枉路。即使如此,如果碰到上面這種模糊車牌也可能辨識錯誤,但是如果是動態的,這輛車會持續移動讓我們用多一點角度拍攝辨識,統計上就比較有可能辨識出幾張正確的。

下面這段影片就是一個有趣的案例,其實車輛行進間,程式嘗試辨識的次數應該有十幾二十次之多,但是大概有一半根本無法辨識出有意義(合乎車牌格式或最低符合度)的結果,剩下一半有結果的,也有一半可能是錯誤的,但是正確的應該還是有,而且符合度會顯得較高,出現次數也會較多,這樣我就可以決定最可能的正確答案了!

看出來了嗎?動態車牌辨識的優勢在哪裡?有點像大數據的概念,如果我們的原始資料夠多,涵蓋狀況夠廣,即使其中很多資料不太正確,我們依舊可以經過統計分析判斷出最好的答案。其實車牌辨識的內部程序已經需要很多的嘗試錯誤,不然單張辨識的成功率就很低了!我們盡量提高單張辨識鄭去略之後,再運用外部多次多角度拍照,進一步擴大辨識資料的基數,當然更能準確判斷車牌!

所以,千萬別小看了我的動態車牌辨識軟體,它真的可以稱得上是一種特殊應用的AI軟體了!

( 心情隨筆工作職場 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:http://classic-blog.udn.com/article/trackback.jsp?uid=yccsonar&aid=109893865

 回應文章

普普
等級:8
留言加入好友
2018/01/10 08:53

讚!!!