網路城邦
上一篇 回創作列表 下一篇  字體:
辨識「殘障」車牌的竅門在哪裡?
2023/09/25 08:11:29瀏覽881|回應0|推薦8

如果有認真看我之前文章的讀者,都會很熟悉我一直批評CNN矩形目標假設阻礙了他們辨識歪斜變形車牌的可能性!因為假設車牌就是接近水平的一個矩形目標,按此標準去全景中找車牌時,碰到較歪斜的車牌就會「視而不見」了!這就是大多數車牌辨識系統都會限制車牌不能傾斜超過XX度的原因啦!

我的車牌辨識很早就擺脫了CNN的桎梏,已經進化到完全沒有傾斜角度的限制了!你可以試試看拍一張上下顛倒的車牌去考考我的雲端辨識網頁,它還是會用辨識正常車牌照片一樣快的速度,若無其事辨識出來的!如下圖:

但是碰到如最上圖那樣車牌本身扭曲變形的車牌,對我來說還是很頭痛的,我的軟體也只能碰運氣試試看,多數是會辨識失敗錯誤的!因為我雖然沒有像CNN那樣假設車牌在影像中看起來是水平的矩形,但依舊有假設車牌「本身」確實還是一個矩形,只是因為視角偏差會變成任意四邊形而已,如果連車牌本尊都不是矩形,我的假設也會不適用,即使按照我的邏輯去辨識也會錯了!

但是近來我的辨識核心對於這種「殘障」車牌的辨識率也提高了很多,原因何在?可以說給大家聽!重點是:這種變形我雖然沒有針對性的矯正演算法,但是我知道如果可以讓車牌視角調整到接近正面直視的某個角度,車牌本身扭曲的變形量也會減到最小,就比較有機會猜對了!

這很像請拍攝車牌的人蹲下正面拍這種車牌會比較好辨識一樣,我是用影像處理的方式盡量讓看起來大小不一的扭曲字元排列得更接近真實的水平線,就等於請拍攝者蹲下正面拍攝車牌的效果了!大家可以看最上圖右上方的校正後的車牌子影像,左右兩邊的字元雖有扭曲,但是還在可以辨識為某字元的範圍內,就可以得到正確答案了!

當然這也牽涉到我們字模比對程序中的一些彈性設計,譬如我們合理假設字元都應該一樣高的!如果車牌內的字元目標偏小了,如最左右邊的E7,我們會等比例放大到與標準字元一樣高,那樣變形的E7就會更接近標準字模了!辨識成功率也會明顯增加的!

可見所謂的AI效果其實是辨識軟體中很多例外處理能力的總和!如果以機器學習的概念用大量資料去「學習」,也就是統計出單一的最佳辨識邏輯與參數組合,這些明顯異常的例外狀況資料就會變成壞了一鍋粥的老鼠屎了!會讓「最佳」辨識程序產生自我矛盾衝突。就是他們常說的Overfitting,過度擬合了!用白話文說就是:為了迎合少數例外,把SOP都扭曲弄壞了!

所以我認為機器學習的本質就不適合用來製作精準而且聰明(AI)的影像辨識軟體!他們的架構不是用來容納很多例外狀況處理程序用的!只是在眾多資料中統計妥協出一個可以答對最多題的SOP而已!統計學中的高偏差度的資料都是必然會被犧牲的!所以整體辨識率永遠不可能太高。在此真正適合的架構是所謂的「專家系統」!模擬醫生的專家系統當然要盡量可以正確處理所有的疑難雜症對症下藥!我的軟體其實就很類似這種架構,發現例外時都是可以獨立正確處理的。

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

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