網路城邦
上一篇 回創作列表 下一篇  字體:
十鳥在林,不如一鳥在手!OCR就是這樣比CNN快的!
2023/08/09 09:29:01瀏覽593|回應0|推薦8

圖一 CNN目標辨識示意圖

圖一是一張CNN影像辨識如何鎖定特定目標的示意圖,已知目標是一個類似速限60公里的圓形牌子,他們會用不同尺度的矩陣,上例是從5X528X28去掃描全圖,建立多種尺度的特徵地圖(Feature maps),要做到多大或多小的特徵矩陣?當然是必須參考你要找的目標實際大小,尺度層次多了太浪費時間,尺度層少了則會很難鎖定,或根本找不到預設目標。

想像一下,即使只是這樣掃描全圖三四層,要多少計算時間來建立這些特徵地圖?建立出來的特徵地圖也不保證剛好符合真正目標在影像上的大小,正確標示出待辨識目標的機率並不大的!家裡錢太多電腦太大的人就是這麼玩的!根本說不上有甚麼「智慧」?簡直是笨死了!

圖二 傳統車牌定位演算法示意圖

圖二是我從某篇車牌辨識論文中擷取的部分圖片,其實與CNN的概念非常類似!他們找的特徵是高對比度的亮度變化點,然後試著將可能是車牌的特徵點相連,或以不同大小的矩形區塊作密度掃描,特徵點密度很大的矩形區塊就是可能的車牌位置了!等於只做一層的CNN特徵地圖掃描,接下來就是作類似池化層(Pooling)或分類(Classification)的特徵彙整過程了!

看起來圖二獲得的資訊比圖一少,但確定性高,最重要的時間花得少非常多!所以才能跟得上車牌辨識需要的即時偵測速度!按照標準CNN的概念操作是完全沒有機會跟上的!如果你看到動作很快的CNN目標鎖定展示,不好意思,那一定是無法用你手邊的電腦做到的!所以你一定買不到,或買不起那種東西。現在的AI晶片熱潮有一部份就是準備讓人這麼浪費掉的!不用CNN需求就少一半了!

圖三 OCR為基礎的車牌位置鎖定示意圖

圖三是我使用OCR技術找到車牌的方式,如上約31萬畫素的影像完成全程辨識只需要不到50毫秒,以結果論,目前台灣需要最高速辨識的車牌辨識產品就是車載車牌辨識,我的產品辨識速度與辨識率都是獨佔鰲頭的!原因用前面幾張圖就可以看得出來!

OCR的前處理不是分成塊狀掃描資訊的!直接就是作成全圖的二值化→輪廓化→目標化!所以我用輪廓描繪所有黑白邊界後,我需要辨識的字元大部分已經是我找到的「確定資訊」了!所以我完全不必理會看起來非常複雜的地面或樹叢雜訊!也不必猜字元目標到底是多大?要在哪一層特徵地圖才找得到?因為我已經找到了!

如圖三我可以用簡單的程式就判斷出哪幾個目標應該是車牌的字元,然後就直指目標,針對那幾個字繼續做下面的辨識流程,對比於CNN或傳統車牌辨識需要掃描所有特徵地圖,卻都只能得到不太明確的資訊,我的方法就是走最有效率的捷徑了!看起來很亂很花的路面或樹叢完全不會耗損我的運算資源!

所以演算法的世界是沒有甚麼大神坐鎮的!事出必有因,如果我的速度就是比別人快很多,那不是我的運算流程確實比別人精簡有效,就是我在騙人或作弊!騙人作弊當然都有侷限性的,如果沒套好招時就會穿幫的!我隨時歡迎所有人來檢驗我的產品,因為我真的沒騙過人!

簡單說,OCR的方法是以最快的速度得到最確定的資訊,有如專心先抓到一鳥在手,CNN等方法則會花太多時間在處理很多過程中不確定的資訊,不全部處理完又無法判定真正要的目標在哪裡?所以就非慢不可了!此時再強調可以用GPU或特殊晶片加快或分散運算真的是愚不可及!如果就是有不需要那麼浪費運算的演算法呢?你用不用?

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

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