Contents ...
udn網路城邦
車牌磨損嚴重難辨識,不合理的猛藥也吃吃看吧!
2019/08/28 08:45
瀏覽1,272
迴響0
推薦15
引用0

最近幾周都在努力調整我的停車場軟體,感謝我的重要客戶協助,讓我有機會連線到現場做實驗調整,每天上班幾乎都持續在監看遠端停車場出入口的畫面。所幸沒有白忙,已經陸續解決了絕大部分讓客戶感到困擾的問題,現在只剩下車牌本身狀況很差時難以辨識的問題,包括昨天提到的電動車車牌的問題。

雖然我的客戶(停車場業者)都能理解這些是非戰之罪,但他們也有壓力,無法要求車主換新車牌,但是辨識不出車牌時就需要人工處理,蠻累的!這兩天就讓我直接碰到兩張因為車牌磨損而無法辨識的艱難案例,原本已經放棄,但是今天早上忍不住再研究一下,還真的讓我搶救生還了!

我所以割捨不下不願認輸的原因應該很明顯,因為用人的眼睛看這兩個案例,還是不難判斷車號的!只是正常的影像辨識程序下,這兩個車牌的字元在二值化的過程中會變得破碎,就很難組織出合理的車牌範圍,更無法界定字元邊界做字模的比對了!做過影像辨識的人都會懂我的意思,二值化就無法做好,後續的辨識程序就很難有合理結果了!

先給大家看一個在PhotoShop軟體中檢視理想狀況車牌的亮度資訊畫面,就是灰階分布圖啦!

很明顯的,它們呈雙峰的分布,較亮的峰值代表車牌背景的「白色」,較暗的峰值則是字元。我只要設法算出雙峰之間的概略亮度,就可以把車牌字元二值化做得很好,字字分明如下:

但是如果碰到因為磨損而亮度分布沒這麼典型的車牌,就有點麻煩了!

理論上我必須用數學方法找到那個雙峰之間的山谷位置,清楚的雙峰當然沒問題,用很多種數學公式找的結果都是對的,但是如果峰值不明顯時,要穩定抓對就不太容易了!而且字元內的亮度就不穩定了,即使找到最準的山谷,字元也不會是堅實完整的樣貌。我們先用PhotoShop軟體做個二值化:

雖然不太乾淨清爽,但看起來是可以接受的!老實說,我真的試過用程式找到雙峰的特性並判斷山谷位置來做二值化門檻,幾年前做文件辨識時就玩過,但是隨著磨損的原因狀況混亂,雙峰也許會平坦到很像只有單峰,或混亂到變成三峰四峰!這種概念變成演算法時並不穩定。

所以碰到如上的模糊狀況,我傾向用覆蓋面積比例去得到合理的門檻值,就是門檻值上下各占百分比多少時那個灰階值視為門檻,一般車牌的字元筆畫覆蓋面積與背景面積比大約是三十幾到五十趴,但是字元模糊時你用這種正常比例設為門檻,字元就會相當破碎,還是很難辨識,所以就需要設個六七十趴的高門檻,字元才會較完整。

總之,在字元磨損破碎的情況下,二值化門檻都必須異常的高才能辨識出字元,如果車牌其實是較正常的狀況時,你堅持用過高的門檻則是有可能吃錯藥,讓原本粒粒分明的字元變成沾連的目標,反而難以辨識的!所以正常主程序是不能使用過高門檻的!

那怎麼辦?我的作法就是先將異常高的門檻值算好放著備用,如果正常程序辨識不出合理答案時,就試試看使用這個異常的高門檻值囉!反正人都要死了,不吃藥就死定了,死馬當活馬醫的概念!結果對於上面兩個例子都是有效的,也代表他們的破碎磨損還沒太極端,稍微做點例外處理,吃個特效藥就救回來了!我這是在普渡眾車牌啊!

有誰推薦more
全站分類:心情隨筆 工作職場
自訂分類:教育學習

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