從全圖中嘗試找到車牌的四個頂點是個笨方法! - 鄉下老師 - udn部落格
鄉下老師
作家:鄉下老師
文章分類
    Top
    從全圖中嘗試找到車牌的四個頂點是個笨方法!
    2026/01/15 04:26:06
    瀏覽:625
    迴響:0
    推薦:15
    引用0

    圖一、車牌的四個頂點

    圖二、我的車牌辨識過程圖

    有某公司的資訊工程師來信問我:我的車牌辨識軟體能否輸出如上圖一的車牌四個頂點?我是用圖二來回覆說明的。我不知道他要這四個頂點座標幹甚麼用?可能是想用這四個點切下車牌的子影像,但是一般影像處理函數是無法輸入任意四點座標,切下一個任意四邊形的!正常的影像物件都還是必須是矩形的!

    如果說他希望用這四個點為基準,將歪斜變形的車牌作進一步的幾何校正?也就是自己做後續的車牌辨識程序?那就是只想用我的「半套」軟體了?但是我的軟體不是都已經做完所有幾何校正?辨識得很正確了?他大概以為這四個點是我找車牌的過程中必須知道的過程資訊?但事實上不是的!

    如圖二我的辨識過程圖所示,我並沒有在原圖層次就嘗試鎖定這四個角點!而是以寬鬆的方式框出原圖中應該包含車牌所有內容,還稍微大一點的區域,把這整個區域都一起作幾何校正,轉成上下切齊字元,左右延伸約兩個字元寬度的矩形區,也就是如果車牌邊緣的字元與背景沾連,讓我第一時間無法從原圖中切割該字元時,我可以在幾何修正後的小圖上搜尋鎖定那些漏失的字元。

    換言之,我是在幾何校正之後才搜尋確認我的車牌中最左與最右的字元!譬如圖一中車牌最右邊的3很可能會與背景沾連,我的OCR無法正確切割到它,但是只要其他大多數的字元被切割到了,我就可以在幾何校正之後用類似CNN的強制搜尋方式找到那個3!也是此時我才真的知道車牌的最右邊在哪裡!

    但是此時校正小圖上3的座標已經不是原圖中3的座標了!所以我如果想知道原圖中3字的右邊緣座標,還必須作幾何校正的逆運算才會知道!技術上我當然還是可以提供原圖上正確的四角點,但是我想不出有何必要如此麻煩提供似乎無用的資訊?

    要切出原圖中包含車牌的子影像,從我的過程圖直接輸出就可以了!想看幾何校正後的車牌子影像也是直接輸出我的過程圖之一就好了!我是覺得他要求的四角點座標沒有意義!應該只是以為從全圖中找車牌這是必經之路?老實說我的早期版本,甚至目前其他廠牌的車牌辨識軟體程序,應該都是這麼作的!但我早已發現那是一個很笨的切入角度,所以早已放棄不再使用了!

    要在全景中找到車牌,最笨拙也最原始的方式就是CNN使用的矩形假設!就是假設車牌是一個水平的矩形,用一個矩形的特徵矩陣搜尋全圖找目標,因為你不會事先知道車牌的大小,所以必須作多次掃描,速度就會慢得不得了!即使有了YOLO的技術可以只掃描儀一次,運算量還是比OCR大上數十倍

    更糟的是這種掃描方式碰到車牌傾斜超過十度就GG找不到了!所以比CNN好一點的方式是:先找到個別的字元加以排列,找到車牌字組的上下左右四條切線,也就是找到車牌的四個角點,就知道車牌的正確形狀了!我的早期版本就是這麼作的!那時就已經比CNN強很多了!傾斜45度的車牌都能辨識了!知道了嗎?CNN不但不是最好的,還是最原始最差的一種找車牌技術!

    但我覺得那還是不夠好!因為車牌的上下切線好找,左右切線就很難定義!而且車牌左右邊的字元常常會與背景沾連而找不到,鎖定車牌時就缺字了,答案當然是錯的!想補救嗎?要從全景原圖上搜尋鎖定一個實際上是傾斜變形的遺漏字元是很難的!所以經過很複雜的演化過程,我的辨識程序才進化到現有版本的!如果我想寫SCI論文,這個過程中早就有幾十篇素材,夠我升上終身特聘教授了!

    所以大家能體會到CNNDL的技術落後我有多遠了嗎?千萬不要在我面前吹噓用它們作影像辨識有多厲害了?我十年前的版本就已經比它們的最新版更強了!還說它們是比我更先進的AI技術嗎?不要惹我笑了吧?

    回應

    限會員,要發表迴響,請先登入