網路城邦
上一篇 回創作列表 下一篇  字體:
紅牌重機確實不好辨識,但也難不倒我!
2022/04/26 06:59:58瀏覽1686|回應0|推薦9

各類型車輛的車牌中,紅白色的車牌算是最難辨識的一類!首先是紅白的亮度對比,先天上就比黑白或黃黑的重機都低,連綠底白字的工程車對比度都比紅白牌的稍好。到了夜間很多攝影機會切換到紅外線模式,在數位影像來說就是只用紅光做成灰階影像了!白色與紅色在紅光頻道看都是亮色,對比度就趨近於零了!所以在紅外線(夜間)模式下,計程車紅牌重機紅牌遊覽車都是確定無法辨識的!

不僅如此,這類車牌的格式還特別多!計程車可以有五碼、六碼與七碼三種!五碼的字型還與六七碼的不一樣!重機也是四、五與七碼的都有!計程車的五碼與重機的四碼字型跟一般自小客六碼車牌的字型一樣,其他格式則與七碼的自小客車一樣!但是上述問題,只是讓程式比較囉嗦,不算太難處理!紅外線模式無法辨識就提醒客戶夜間還是盡量用一般模式,現在的攝影機感光度比較好了,即使夜間多半也不需要切換到紅外線模式就能看到不錯的影像。

很多重機還常常會故意翹車牌或行進間壓車急轉彎,產生更難辨識的角度!這個狀況對其他車牌辨識廠商來說應該是極大的問題,但是對我來說就還好!我的車牌幾何校正的能力特別好,歪斜變形多半可以抝得回來!真正困擾我很久的大問題其實是紅色重機車牌的二值化!如下是上圖灰階負片的影像:

我們要做二值化時,當然是參考目標附近的亮度分布,找一個適當的門檻值區分為黑與白兩個「值」,就是所謂的「二值化」了!如上我們的最終目的是要把UC-53幾個字切割出來成為黑色,車牌背景最好變成全白!但是很顯然的,紅色車牌與車牌之外的背景亮度差遠大於車牌的字元與車牌背景的亮度差!

如上圖,我們用PhotoShop軟體分析一下車牌與周邊區域的灰階分布,最亮的右邊波峰代表的是車牌之外的亮白區域,中間的波峰代表的是車牌背景的紅色區域,最左邊的小波峰才是我們的目標字元!理論上我們應該找到左邊兩個波峰之間的低谷位置作為辨識紅白重機最佳的二值化門檻。

但是我們無法在二值化之前就知道有這種紅白車牌,而且車牌概略在哪個位置?如果我們遷就紅色重機的辨識需要,來設計二值化的演算法,當然其他種類的車牌辨識就會很奇怪了!重機車牌的周邊比車牌暗很多,也不是必然的現象,我們不能依據部分個案的狀況(特例)設計通用的演算法。所以正常二值化邏輯找出的門檻一定會偏向較亮的一端,造成這種車牌邊緣有太多黑影的狀況:

這就麻煩了!以此例來說,U3字都會與背景沾連,所以很多紅色重機車牌的左或右邊都會少字!即使有辨識結果也是錯的!我嘗試過用銳利化等等影像處理方式,但是相當耗時還有強烈副作用,我因此陷入兩難,既不能從二值化的規則動手腳,又不能用其他影像邊緣增強的演算法輔助。

最終還是回頭問那個老問題:人的腦袋是如何解決這個問題的?我們的視覺判斷對此狀況,除了亮度之外還會用甚麼資訊輔助?答案就是:我們知道車牌底色是明顯的紅色!不管車牌的外部環境是亮是暗,都不會「那麼紅」!所以如上圖,如果我在擷取影像顏色時順便定義出「明顯偏紅」的點!在做灰階負片的二值化時,如果明顯偏紅的點就強迫變成白色,因為他們在紅底白字的車牌中不可能是字元一定是車牌的背景

好像是很粗魯的決策?應該會讓很多局部的二值化結果變得怪怪的?因為逢紅必白嘛!但是如果我們要辨識的就只是車牌,非車牌的部分影像被不合理扭曲又有甚麼關係?只要不會影響到其他種類車牌的辨識即可!這就是對症下藥了!打疫苗也會有副作用嘛!只要副作用可以承受,不會造成其他更嚴重的問題即可!治療癌症的化療也是類似的概念。

我就是這樣解套的,現在每個紅色車牌都不再會有邊緣黑影了!人眼視覺的邏輯再度成為我的指導老師!真的每次都有用!

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

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