網路城邦
上一篇 回創作列表 下一篇  字體:
車牌辨識當然是有地域性的
2018/07/07 05:10:39瀏覽2913|回應0|推薦14

有家香港的廠商來信說看到網路文章覺得我的車牌辨識做得不錯,但是將影像上傳到我的雲端辨識網站辨識但「成功率偏低」?事實上應該是全部無法辨識!他說話太客氣了,如果可以辨識那才見鬼了!因為他上傳的是香港的車牌!

以我的角度看當然是很離譜,但仔細想想應該很多人都不曾深入想過這個問題,會誤以為車牌辨識系統應該可以世界通用?事實上,即使是號稱可以辨識多國車牌的軟體,內部針對各國車牌,應該也會有很不一樣的辨識流程與內容,使用時至少是需要切換國家地區的!

一般人或許會說:還不都是一些文數字?找出影像中的字元顯示出來不就是車牌了?是有這種軟體,但不叫車牌辨識系統,而是稱為OCR(光學字元辨識),通常用於將掃描文件中的字元辨識出來成為文字資料,確實很多車牌辨識是以OCR為基礎的。

但是車牌辨識當然不是掃描影像,是在立體空間拍攝的,會有視角偏斜產生的字體變形狀況,光是辨識字元的難度就比單純的OCR困難。如果你變形處理沒做好就進行類似OCR的字元辨識,結果就會產生多數車牌辨識系統都有的問題:偏斜變形稍大一點就無法辨識。譬如側向>45度,水平傾斜>15度,多數車辨就GG了!

如果你能從影像中辨識稍微變形的字元,當然任何國家的車牌字元你也都能辨識,這不就搞定了?事實上當然沒這麼簡單,首先必須知道那些字「是不是車牌?」文明世界都會區到處都是文字數字,路牌廣告甚至衣服上的字都報告出來,那不天下大亂嗎?

所以我必須預先知道「車牌應該長甚麼樣子?」看到「Hello Kitty」我就絕對不會認為是台灣車牌!因為監理處的公告沒有這種格式。但某些國家用自己的名字當車牌都行?我的軟體就必須學習新知,因地制宜了!所以香港的車牌對我的軟體來說就一定「不是車牌」了!如果正確報出來,反而是我的軟體出錯了!所以我說:辨識香港車牌也正確的話,一定是見鬼了!

像上面的例子,我的程式當然毫無問題的抓到所有的字元,但是考慮字數太多,先做了一些刪減,只剩下六個字,但繼續嘗試辨識時,發現即使只是六個字也不符合任何台灣車牌的格式,就是至少應該有幾個數字吧?真的「看不懂」就認為應該「不是車牌」,就回答無法辨識了!只能說我有眼不識泰山,不認得香港車牌,與我的影像辨識技術好不好無關。

更專業的角度也說一點給大家聽,乾淨清晰的車牌其實如上的技術就可以搞定了!但如果我只做到這樣,辨識率應該不會到98%99%這麼高,因為總有3%5%的模糊邊緣或例外狀況,我的程式會自行依據車牌格式去:猜字補字,甚至刪字的!

譬如台灣車牌根本沒有八個字的!如果辨識結果就是八個字,我會用程式評估,找出最可疑的那個字將它刪掉!沒有這種邊緣狀況的多元對策,你的軟體幾乎是無法商業化的!所以不符合「台灣車牌」格式的香港車牌,我的辨識軟體會有兩種可能反應:一是認定它不是車牌,找不到像是台灣車牌的東西,就回覆無法辨識。不然就是自己修圖,嘗試把結果做一個合理的猜測修改,讓它符合台灣車牌的格式再回報出來,這樣的「辨識結果」當然是錯的!

這樣知道了嗎?車牌辨識一定是有地域性的,其實各國車牌的字型都不一樣,字模比對也是需要換資料的。一般人不太知道或沒想到的是:車牌的顏色格式等等都是用來判斷是不是車牌?以及用來做必要修正模糊答案時的重要參考!車牌辨識在辨識程序上絕對比OCR複雜,所以如果你的車牌辨識只做出學界論文說的那些標準程序,距離商業化需求的辨識率一定還很遙遠!

另一方面,我常說我根本不怕國外的「優秀」廠商來台灣競爭,不是覺得他們的技術一定比我差!而是他們必須改寫合乎台灣車牌特性的程式,還需要研究調整這些邊緣辨識邏輯,否則歐美移植過來的好軟體會先天上就比我低5-10%的辨識率。等於腳上綁著鉛塊跟我賽跑。所以各位不要再認定外國的月亮比較圓了!車牌辨識系統總是在地研發的比較好,各國皆然!

我如果要能辨識香港車牌,也必須做一些改版,建立出香港版的軟體,要讓一個軟體直接認得各國車牌,還不會誤認其他不相干的字元為車牌,這是非常高難度的人工智慧,我這輩子應該都做不到的!頂多一個軟體可以同時辨識兩三國吧?還好多數情況下,車輛也不太會跨國亂開的,為了安全起見,監理與國安單位都會管嘛!。

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

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