我的車牌辨識技術是奠基於傳統的OCR(Optical Character Recognition,光學字元辨識)技術,原本是用來辨識文件紙本掃描影像中的文字用的,在那種情境下,要將目標字元處理到能與標準字模比對確認是甚麼字?大致上只需要平移、縮放與旋轉,所以辨識率都很高,處理技術也不難!網路上免費軟體就有不少!
即使如此,在我創業之初,有一間以OCR服務為主要業務的大公司就請我去當顧問,協助他們開發文件與證件辨識等辨識核心,在那之前他們就已自行嘗試開發,但辨識率就是差國外的產品幾趴,因為專業產品的辨識正確率要求極高,只是差那麼一點點,就迫使他們必須採用國外製作的辨識核心,每年要付出高額的授權費!
我當時受寵若驚!我說我之前根本沒做過文件證件的辨識,為何你們認為我可以指導你們的一大堆碩士級的影像辨識工程師?他們的老闆跟我說:你的車牌辨識技術也是OCR,如果你在3D變形模糊沾連很厲害的街景影像中,都可以將車牌高辨識率的辨識出來,你知道的技術技巧一定比我們多很多!我們做過功課的,只要你肯分享技術,對我們一定幫助很大!
事實證明也是如此!他們自製產品辨識率會差國外幾趴的地方,就是一些畫面扭曲或模糊沾連等例外狀況處理的小技巧!都是我處理車牌辨識類似狀況時常用的撇步!據他們說,我指導他們開發之後,他們自製的護照辨識機辨識率就是世界第一了!反而是國外公司要來跟他們買授權了!
即使如此,他們處理的仍是2D的掃描影像,跟如上圖的手拍車牌影像難度差異還是很大!主要是幾何變形的處理,其次是亮度變化的差異很大!所以不要誤以為規模很大的影像辨識公司技術就比我們的兩人小公司好?事實上我們只是專注在最難的研發上面,把公司當研究室,不想把公司開得像個菜市場而已!
忽然會想到要聊這些,是因為剛剛玩到上面的案例,雖然畫面相當陰暗歪斜,但是經過適當的二值化與幾何校正處理後,七個字元其實都很清晰呈現了!可是非常遺憾的:其中的2530四個字是剛好微微沾連的!我之前的演算法中有二或三字沾連時的處理方式,但是通常沾連到三字以上時就很難正確切割了,所以四字沾連的程序就從缺了!
但那是上一版的情況,目前根據東南亞經驗開發的新版,在幾何校正上精準很多,看到此案例也是答案呼之欲出,所以就增加了四字沾連的處理程序,也順利地切割四胞胎連體嬰成功!在以往用到切割三胞胎程序時就錯誤率很高了,現在分割四胞胎都好精準!
現在很多人都被洗腦成以為OCR是過時的舊技術?ML、DL與CNN等「AI」技術才是影像辨識當紅的主流技術?這是完全錯誤到堪稱離譜的認知!事實上後者不但在準確度上完全無法跟OCR相提並論,執行效能更是天差地遠!以上例的辨識來說,我好像做了很多處理程序?但實際在我的一般電腦上執行時間只需48毫秒!還完全不需要GPU的幫忙!讓輝達的黃先生失望了!
重點是我想告訴大家:OCR從來就沒有過時!如果有更多像我一樣繼續研發的使用者,它還有無窮的進步空間!絕對當得起影像辨識主流技術的霸主地位!ML、DL與CNN等技術從未真的威脅到OCR的地位!想學習影像辨識的人應該參考我的說法,因為我真的就是靠OCR技術在業界發光發熱的影像辨識公司!我的產品幾乎是完全不用ML、DL與CNN的!
限會員,要發表迴響,請先登入