Contents ...
udn網路城邦
怎麼製作灰階影像?學問可大了!
2019/11/07 07:32
瀏覽584
迴響0
推薦5
引用0

一般影像辨識的基本流程離不開:全彩→灰階→二值化→目標切割,這幾個基本的前處理程序!其實每一個階段都有學問,也都跟你要辨識的目標有關,不同目的的辨識,如果要達到最佳的效果,一定需要逐步選擇針對辨識目的的最佳灰階與二值化的方式。

目前多數影像辨識的研發者,都希望將這些複雜惱人的程序用一個「很厲害」的模組封裝起來,就是直接用現成的模組或邏輯程序跳過這些程序選擇,直接取得目標資料,作後續的辨識工作。我認為這是很糟糕的想法!如果你需要處理的目標在灰階圖上對比度都不佳,後面的努力都會很艱難,基礎資料品質就差了,你能作到多好呢?

在車牌辨識的過程中,我們當然是希望將車牌上的字元與字元背景正確切割出來,這個過程就是二值化,所謂二值化就是依據灰階的明暗決定一個門檻,以上為白,以下為黑,如果這個明暗變化,就是灰階圖上的目標與背景差異越明顯,二值化就會越容易作,結果也越準確!

在台灣車牌辨識上,比較麻煩的是車牌的顏色變化很多,白底黑字的車牌問題不大。不論你的灰階是如何決定的?是用RGB三原色的平均值?加權平均?或只選用其中一種顏色作為灰階,結果都差不多!為了節省運算時間,我想多數辨識核心都會直接選用綠光作為灰階的基礎,因為它最具整體亮度的代表性。

但是問題來了!台灣的工程車與大貨()車車牌是綠底白字,或白底綠字,如果你用綠光為灰階,白色的字裡面所有色光(包括綠光)都很強,但是背景也有很強的綠色光,所以字元與背景的亮度差值就會很小,造成綠色車牌的辨識度欠佳!所以以前我碰到必須辨識工程車為主的場域,如地磅站!就會直接改用紅光為灰階,辨識度就變好了!以下就是某工程車的原圖,以及用綠光與紅光產生灰階的差異:

原圖

綠光灰階

紅光灰階

看出來了嗎?用紅光辨識會讓車牌更加清晰!但是台灣車牌中還有以紅色系為主的計程車與遊覽車,改用紅光就會讓它們的辨識度變差!下面是計程車用紅與綠光作灰階的結果!

原圖

紅光灰階

綠光灰階

差異夠大吧?如果車牌狀況或環境亮度差一點,辨識就很可能失敗了!這是我這幾年面對的兩難問題!一般停車場內我是選擇用綠光辨識的,因為出現綠牌工程車的機率很低!就歧視忽略他們吧!但是如果是地磅站或工廠大門要用的軟體,我就採用紅光辨識了!那時要說抱歉的就是紅牌的計程車、重機與遊覽車了!

當然我一直在想著兩全其美的辦法,因為我的另一種主要軟體,道路版的車牌辨識就必須甚麼顏色車牌都盡量辨識得很好,因為馬路上甚麼車子都有啊!最近給我想到了一個不錯的演算妙招!或許別的車牌辨識研究團隊也已經知道了,但是我願意公開。

那就是以各像素點的紅與綠光兩者的較低值為灰階,作個數學的解說:如果是個計程車車牌,紅字部分會取綠光,當然是很暗的囉!所以字會變得很黑,背景呢?白色車牌底部紅綠光都差不多強,取紅綠較低值還是很亮,這樣車牌的灰階對比度就很好了!工程車呢?白字部分取甚麼顏色都很亮,背景的綠色區,採用紅色光,當然就很暗了!對比度也是很好!

其實更妙的是黃底黑字的重機車牌也可以因此最佳化!因為黃色是紅與綠色光的組合,這種演算法碰到黃色與白色的反應是一樣的!所以黃底黑字的重機車牌也能辨識得很好!簡單說,台灣所有顏色的車牌用這一招都行!不論紅、綠或黃色車牌都同時得到增強對比的效果!而且對於最常見的白底黑字車牌辨識毫無影響,因為黑與白色中的紅綠色成分是近乎相等的!

我目前已經在我的道路版軟體採用這個新的灰階模式,效果不錯!以前如果工程車辨識好了,遊覽車就辨識不到,計程車辨識準了,工程車或50CC輕型機車又看不到了!兩種都要看到,辨識時間又太長了!現在有了新的灰階產生模式就通通OK了!我曾經說過要將此部落格當作我的論文發表平台,不管SCI了,現在不就實現諾言了嗎?要查我的研究著作以後看這裡就可以了!

昨天停車場客戶也來說工程車好像辨識度不太好,因為我的停車場版還沒更新這一部份而已,今天就來測試更新吧!應該很快就能面面俱到的!

有誰推薦more

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