網路城邦
上一篇 回創作列表 下一篇  字體:
怎麼看清楚強烈陰影下的車牌?
2019/07/27 04:11:17瀏覽1203|回應0|推薦8

陰影這麼強烈的車牌,視力正常的人用力一點看,還是可以看清楚的,這就是一種人的「智慧」了!要變成「人工智慧」,這不是用甚麼機器學習之類,大家耳熟能詳的「人工智慧」工具方法可以做到的事情!即使可以,也必須先準備幾千幾萬張類似照片,讓系統去「Trainning」,還需要幾位專家去「Tunning」成本很高,時間也蠻久的!但是只要分析我們為何可以看到這種數字的物理與數學邏輯,就可以很快精確地據以寫成有效的程式,也就是「人工智慧」的軟體!

首先看看這個車牌影像的柱狀圖,就是各點亮度0-255灰階的分布圖,用很舊版的PhotoShop 7.0軟體抓的。最右邊的峰值區域是明亮區的車牌背景色,左邊的三個峰值,依序是:陰影區的車牌背景→明亮區的車牌字元陰影區的車牌字元。能找到這幾個區塊的灰階邊界,你就可以切出正確的字元了!手動用PhotoShop就可以做得很精確。

如果我們分別用預設的三角形,也就是128灰階,以及上圖的綠與藍線為界,做二值化切割,將上圖簡化成非黑即白的區域,結果依序如下:

圖一

圖二

圖三

甚麼意思?其實第一張黑白圖就是我們一般人第一眼看到這張陰影車牌的最初「印象」!半邊是黑的,所以只能看清左邊的MJT三個字母,頂多加上一個數字1

接下來呢?我們意識到這是一張車牌,應該後面還有幾個數字才對,所以調整眼睛判別目標的亮度標準,注視到黑黑的陰影區域中看看有沒有進一步的亮度差異可以看出應該有的數字,那就是第三張圖了!我們的腦袋其實會將兩種時間上不同的辨識結果加以整合,一三圖清晰部分的資訊會被整合成一個完整的車牌號碼:MJT-1999

但是按照這樣的「思考」程序寫程式,以目前的電腦運算速度來說是有點慢的。要將同一張圖做兩次不同的全程車牌辨識,只有二值化門檻不同,最後再將殘缺的車牌辨識結果組織起來,速度慢不說,還很困難!須知真正的車牌辨識軟體不是只辨識「車牌」的內容!而是在整張的全景影像中找到車牌加以辨識,其實找到車牌比辨識車牌內容還要耗時兩三倍!總之,辨識兩次的方案太過於複雜耗時。

這有點像順了姑情失嫂意,政治上好像你永遠無法同時讓藍綠支持者都感到滿意?那怎麼辦?合理的解決方案當然就是找到最佳的折衷方案了!所以如果可以找到柱狀圖中的綠線作為二值化的門檻,就會得到如上第二張圖一樣的效果!陰暗區的字元能夠清楚是主要目標,明亮區呢?字元會看起來有些微的缺陷,但還足以辨識出正確的形狀即可。

我今天就是想到了一些找到這個門檻值的演算法條件,也順利的寫成程式,昨天下班前客戶丟了一大堆這種辨識失敗的照片,我之前的辨識核心確實都是投降的!現在他們給的這類因為陰影辨識錯誤的照片七八成都可以得到正確答案了!甚麼是人工智慧?這就是了!不斷的解析人的思考過程,模仿製作成相對應的軟體,如果將人的思考方式直接寫成程式太複雜耗時,那就用數學方法與程式技巧找捷徑簡化加速嘛!

這就是我的日常工作,以性質論,絕對就是人工智慧的研發!但是絕對沒有用到所謂機器學習或邊緣運算等大家認為很「必要」的人工智慧開發工具,因為真的沒有必要!人工智慧研究的核心其實是研究物理現象與數學方法,所謂的人工智慧開發工具頂多可以節省一點你研發過程中的勞力,或讓開發完成後的軟體可以跑快一點,對於關鍵技術的進步沒有任何幫助!以此例來說,如果以機器學習達到目的,叫做「瞎子摸象」!我的方式則是「對症下藥」,誰比較聰明?你說呢?

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

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