Contents ...
udn網路城邦
CNN與深度學習是影像辨識的枷鎖障礙,不是神兵利器!
2025/05/02 05:09
瀏覽292
迴響0
推薦8
引用0

上圖是我們積極研究中的一個影像辨識案例,目標是找出從這種角度拍攝的紙箱正確邊界。從物理與視覺經驗的角度看,我們知道這些邊界會呈現的主要特徵是:大部分邊線的兩側會有明顯的亮度(或顏色)差異!以數學的技巧要凸顯這個特徵,可以把原圖的亮度(灰階或色光)作微分處理,就會產生如右的影像,紙箱的幾個邊線就呼之欲出了!

很明顯的,我們想要找到的紙箱的(九個)邊界線段,有大部分(六個)都可以清楚看到!因為這九個線段是有互相連接關係的!我們只要設計出適當的演算法準確鎖定夠多個邊界線段,剩餘的較不清楚的邊界線段也都可以準確地推算出來!這種辨識的主程序就幾乎已經宣告完成了!而且需要的運算量很低,速度會很快!

當然因為應用情境的影像必須是在一般自然環境中拍攝的,總會有很多背景或紙箱上的雜訊干擾,譬如紙箱之外的其他雜物入鏡,或是紙箱本身上印刷的文字或貼紙等等!要達到接近百分百的辨識率,我們還必須針對各種易於誤認的狀況寫出檢測確認的細節程式,才能保證錯誤率降到最低。那些程式只會針對少數已鎖定的候選目標做計算,不必全圖搜尋掃描,所以計算量也不大的!

我們公司的大部分影像辨識專案進行的過程大概都類似這樣的!就是依據辨識的目標需求,以物理的原理角度用最適當的影像處理技術凸顯我們想要的資訊,同時排除或貶低大多數與辨識目標無關的資訊!所以就能很快聚焦到少數關鍵的資訊,快速的達到辨識的目的!

但是如果你相信現在流行的所謂AI影像辨識技術,就是使用MLDLCNNYOLO等技術作的影像辨識,他們會告訴你的故事就會完全不一樣!他們基本上都是直接使用原始影像為資料蒐集的起點!用矩陣掃描的方式找出區塊特徵!須知大多數的影像處理(如上的微分處理)多半是單點或與鄰點之間的計算,運算量只是矩陣計算的數十分之一!

也就是在你用所謂的AI影像辨識做資料前處理時,所有與辨識目的有關或無關的原始資訊都會參與CNN的矩陣卷積運算(Convolution)!當然計算量就會大到必須呼叫GPU來幫忙了!所謂的YOLO就是這種東西!如果他們可以學習我這種傳統的影像辨識觀念,先簡化資料到如上圖右的微分影像,即使你還是用CNN計算量都會大減!

但即使他們真的學我的作法把影像微分簡化了!也會發現CNNYOLO的矩陣框架演算法要精準地找到如本專案需要的線段根本格格不入不適用!即使勉強用CNN產生的降解析度的Feature map找到線段起終點,還是不夠精確,必須重回未做CNN之前的原圖進一步找到真正的端點,把這些瑣事都做完後你就會覺得CNN或深度學習在這個程序中是來亂的!

因為我從微分圖上,直接就可以設計出線段或角度掃描的演算法來找到我需要的幾個線段,完全不需要套用CNN的方形矩陣框架作極為耗時的掃描,更無須傷腦筋設計深度學習需要的原始模型,還要反覆使用很多資料來進行深度學習的模型訓練的!

所以至少以此案例來說,MLDLCNNYOLO等技術根本無法合理解決問題!連想要套用都不知如何著手?硬是橫柴入灶也只會作出運算耗時還很不準確的結果!反而用他們說「AI」的傳統影像辨識概念與技術可以很快很精準的完成影像辨識的目標!所以真的不必被洗腦成作影像辨識一定要用深度學習與CNN等技術才行!多數情況下它們是根本不能用,或是準確率與效率極低的選項!

有誰推薦more

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