字體:小 中 大 |
|
|
|
| 2026/02/24 10:17:48瀏覽156|回應0|推薦6 | |
我已經一再聲明我的車牌辨識雖然以傳統的OCR辨識為主要架構,但是也已經積極導入CNN用特徵矩陣掃描(Convolution)的模糊辨識能力!如果是以嚴謹的學術角度要寫成論文,這就不能只是隨便說說當廣告詞的!我是沒有必要寫甚麼SCI論文了!但是要用淺顯直白的例子讓一般程度的讀者理解也不算太麻煩! 如上圖是個車牌的畫素解析度較低的例子,資料點數資訊不夠就是模糊了!右邊標示的A圖就是抓出車牌位置的影像,並做了幾何修正的放大圖!如果直接用OCR的方式做二值化就會做出類似B圖的結果!幾乎不可能抓到單一的門檻值讓每一個字元都正確的分離!門檻略高就大量沾連,門檻略低就會支離破碎! 所以這就是OCR難以突破的魔王關卡了!在影像模糊的情況下,理論上就不保證可以找到可以完全正確切割的門檻值!常常這個期待中的理想門檻根本不存在!你怎麼用大量的算力去找都沒用的!我之前是設計了很多強制切割或融合目標的演算法,也算堪用但不甚穩定!當我更理解CNN之後,我覺得此時就是必須請CNN上場救援的時候了! 雖然OCR無法直接精確地切割並辨識出每一個字元,但是從前面的字元與車牌搜尋過程中,我們已經可以掌握車牌與字元的概略寬高,這就足以提供CNN設計特徵矩陣來找到模糊字元了!就是從B圖中用概略為字元大小的特徵矩陣掃描,很容易就可以一個一個將字元的灰階影像鎖定切割出來成為C圖了! C圖其實是一個一個獨立的字元灰階圖所組成,在每一個獨立灰階圖中要找到理想的單一門檻值,成為字元清楚的二值化黑白字元圖如D當然很容易!而且它們已經是獨立字元的小圖,不必擔心字元沾連或破碎的問題了!此時去比對字模就可以很容易的辨識出每一個字!即使影像很模糊,字模比對的符合度很低,只要取最高分的答案輸出,「猜對」的機率都是很高的! 所以CNN在此成功的幫OCR解決了關鍵的卡關障礙!很像棒球比賽的終結者投手!OCR就像是一個可以投出各種球路應付所有打者支持很長局數比賽的先發主戰投手!終結者則是有極佳的快速球或特別費力刁鑽的變化球路!短時間內投幾個球可能比先發投手更威猛!但是球數多了就威力大減不能投久的! 我之前總是大力批評DL與CNN都不適合用來作影像辨識,主要原因就是效率問題!以在全圖中搜索出車牌可能的位置來說,OCR的效率是遠高於CNN的!計算量至少相差數十倍!所以一旦使用CNN或是它的進階版YOLO,都是計算量大到非用GPU幫忙不可的!沒有昂貴的GPU設備CNN就完全不能用了! 但是CNN有個好處,就是即使目標很模糊時,它還是可以「捕風捉影」的給出一個可能是目標的機率!不會像OCR那麼死板,有就是有,沒有就是沒有!所以在模糊的局部小範圍內,當OCR束手無策時,我使用CNN來救援就是恰到好處!做到OCR無法辦到的事情,因為使用範圍小,也不會讓計算量暴增曝露出CNN的弱點! 所以啦!OCR還是我的先發主力投手!CNN則是我在關鍵時刻會使用的秘密武器!OCR是低耗能多功能的技術,CNN則是可以抗模糊但是高耗能的技術!無所謂誰比較好,重點是使用的時機是不是恰當? |
|
| ( 心情隨筆|工作職場 ) |











