網路城邦
上一篇 回創作列表 下一篇  字體:
請問機器如何學習辨識這種車牌?
2020/03/31 16:20:56瀏覽1046|回應0|推薦8

最近又花了很多時間修改我的辨識核心,這個多達五六千行,不斷開發研究改建已經五六年的大建築,還有需要大翻修嗎?是的!人工智慧僅僅在起步階段,想寫出一個辨識能力跟人的視覺判斷能力相近的軟體,再給我五年還是有很多事情可以作的!我的每一個影像辨識軟體都是針對辨識對象設計的精密建築,每一行程式都是有目的的,我也都能準確掌握,跟機器學習派用資料「訓練」出來的黑盒子是完全不同的!

我手上有非常多路邊手拍的影像,從很好辨識到根本連人眼都看不清楚的照片多到上萬張!正是我作研究最好的素材,這一波我主要修改的是字元辨識的部分。字元辨識最簡單的概念是拿標準字模比對,清晰端正的字當然沒問題,但是還想要辨識較小較模糊扭曲狀態的字元,就一定要配合一些特徵辨識,譬如C的右邊有個洞,O就沒有之類的!

之前的程式這兩種辨識邏輯是分開寫的,為了節省時間,兩者執行的次序甚至是互相交錯的!譬如發現右邊有破洞時就不可能是O或D,連字模都不比對了!比對完字模後還要作一些特徵加權,譬如字元的左上角與左下角是圓弧狀時,就比較像8而不像B,要加減分。這些「補品或藥品」真的讓我的辨識核心在模糊邊緣的辨識能力變好很多!但基本上是頭痛醫頭腳痛醫腳的違章建築,久而久之就變得架構複雜,挺亂的!

前些時候我的RD發明了一種可以結合特徵與字模比對的單一辨識流程,在她製作的日文車牌辨識上很成功!我忍不住也想將新的方法導入我的台灣車牌辨識核心,但是因為整個邏輯差異很大,我的三分之一程式必須打掉重做!好消息是整理完後程式整整精簡了一千行之多!辨識速度也快了不少。

當然因為更改辨識核心茲事體大,舊的核心其實沒有壞,新的核心也還沒受到充分考驗,像是NBA的狀元菜鳥,教練通常不敢讓他們先發上陣的!所以我還不敢直接更新到我的產品之中,必須確定這個新的流程在辨識之前所有困難車牌的表現上,絕對不能比舊版的差!怎麼做呢?就是一張一張分析,如果新版有任何案例表現輸給舊版就要仔細研究,加以微調!這個工程已經足足做了十幾天!防疫期間我沒有比較閒的!

改建工程現在做得差不多了,也順便調整了一些幾何校正的程式,下面幾張圖是近距離高度變形的極端案例,以前這些狀況應該是抝不回來的!大家也可以看到勉強抝回來的車牌字元影像也不是非常端正的!但是新的程序讓字元辨識能力也變好了,所以成功率是比以前還高的!

大家可以想一想,如果是用機器學習學會辨識這種極端案例,電腦可以用的演算法會是甚麼?當然大家都想偷懶,希望黑盒子自動就可以這麼聰明,但是可能嗎?機器人當然可以做很多簡單,或邏輯清楚的事情,像是下棋等等。但是影像中的車牌會在甚麼樣的環境背景上?那是完全沒有限制的!拍攝的角度可能性也是無限的,如果你相信深度學習有這麼聰明,就自己試試看吧!

還有一件事必須強調!上面這些困難辨識使用的時間都很少,並不是用甚麼嘗試錯誤的暴力運算,真的是一步一步針對實際狀況精準解題的結果,所以沒有浪費任何運算時間。就看這一張好了!20萬畫素的歪斜變形車牌,正確辨識成功只需要50毫秒!就是0.05秒!你可以試試看「訓練」電腦去「學習」,看能不能做到這麼快吧!即使電腦學會了,你還是沒學會的!但是我就知道每一步是怎麼做到的學問。

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

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