Contents ...
udn網路城邦
為什麼某些影像的辨識時間會差很大?
2025/06/21 03:50
瀏覽566
迴響0
推薦8
引用0

這張很難辨識的貨櫃碼影像我的軟體需要使用754毫秒,以500萬畫素的影像來說也不算太慢了!但是同一批其他拍攝條件一樣的一百多張影像,辨識使用的平均時間是310毫秒,最快的只需142毫秒!754/142=5.3,就是類似的取景條件下,容易辨識與困難辨識的案例所需時間差可高達5倍以上!

這就是我的專家系統概念製作的影像辨識,與MLDLCNN等所謂AI技術製作的影像辨識顯著差異之一!他們的系統是經過大量的資料學習或訓練,找出一個可以極大化正確率的標準作業程序,也就是所謂的SOP!不管影像是容易辨識或不好辨識,所有影像都會經過完全一樣的處理過程,所以畫素與取景條件相同的影像辨識時間差異就會很小!不可能是好幾倍的!

這很像統一規格的制式教育,與因材施教適性揚才的彈性教育制度的差異!也可以說是使用一種萬靈丹治所有病症,以及對症下藥以百藥分治百病的不同概念!MLDLCNN技術研發的辨識模型目標就是單一的最佳化程序,當然理論上就不可能兼顧所有邊緣案例的!所以希望他們達到極高的整體正確率是理論上就不可能的!

相對的,所謂專家系統研發的概念是因材施教與對症下藥,每一個處理程序都會產生新的整合或分解資訊,讓我們知道每個影像的狀態與特徵,以此決定下一個步驟應該怎麼作?所以處理過程會是一個二元樹的概念,最好的比喻就是一個病人進了醫院會先接受初步的檢驗與問診,然後分門別類到各專科部門繼續診治,進了專科還會更詳細診斷所得病症與病情程度給予最合理的醫療!因為每個病人的檢驗與治療過程都不一樣,時間差異當然就會很大!

所以運作良好的醫院可以讓所有病人的整體治癒率達到醫學所能及的最高點!但是如果你想簡化這個複雜系統,找到一個讓所有病人都適用的SOP,讓任何病人都經過完全一樣的程序把病治好呢?當然無法兼顧所有特殊狀況,也會因為想面面俱到,讓大多數病人都被迫接受很多其實不必要的檢驗與治療,大量浪費資源!

大家必須深切了解到:現在流行的機器學習、深度學習與類神經網路等所謂AI技術,並不是學理上最好的AI技術!要達到更高的AI目標,囫圇吞棗的機器學習是絕對不夠的!除非我們對於研究議題的科學原理一無所知!用來診斷推理的原理都不知道或不正確時,機器學習才有可能做得比專家系統好!

以我的五倍辨識時間差為例,貨櫃碼有可能是黑字或白字,我的作法是預設會以白字呈現,這是大多數貨櫃的狀況,如果可以找到合理的好答案,就不必嘗試辨認黑字的貨櫃碼了!如果不管三七二十一,每張影像都強迫做黑與白字的辨識流程,我的辨識時間就會倍增了!這種SOP就是浪費資源的愚蠢程序了!

但是如果碰到的案例就是如上例的黑字呢?當然我不會事先不經檢驗就知道,所以會先浪費一些時間把他當白字辨識,所以黑字貨櫃碼的辨識時間就會高於平均值了!我是可以用平行運算同時辨識黑與白字,這樣就不會讓黑字等太久了!但八成的貨櫃是白字,如果每個案例都做黑字辨識,是很浪費計算資源的!

更進一步嘗試排列可能的貨櫃碼目標時,如果目標是清晰的11個字當然就可以很快通關結案,如果是如上例這樣汙損模糊呢?我就必須啟動辨識模糊目標的例外處理機制,類似CNN用矩陣掃描的方式確認最可能的字與位置,那就會額外消耗較多處理時間了!所以上例是很模糊的黑字,是最不利的狀況讓辨識時間特別長,但依舊順利完成了正確辨識的任務!

所以這種專家系統的辨識時間雖然因為個案狀況不同而有很大的落差,但是整體而言會比追求單一最佳辨識SOP的機器學習派成果快上很多倍,消耗的計算資源也是會少很多倍的!更重要的是:辨識率絕對是專家系統遠勝於機器學習的!這不是我的個人見解,是學理上就可以充分證明的不爭事實!

那為什麼機器學習等技術可以炒得這麼熱呢?單純是因為要製造好的專家系統需要的知識技術門檻太高,機器學習相對很簡單,不必是專家就可以玩得有模有樣!就像現大家都開自動排檔的汽機車,因為操作簡便,也可以達到我們代步的目的,但是不表示自動排檔是最有效率或最省油的設計!相對於精準的手排操作,自排的輸出功率是較低的,也比較耗油,因此所有需要最高效率的專業賽車都還是以明確的手動排檔設計的!

機器學習是一種統計學,也就是面對各種AI需求,如果你用機器學習設計AI就可以完全跳過該AI議題本身的科學知識與理解,僅用資料統計逆推就可以得到好像還好的成果?那是誰都可以吃的速食餐點,所以大家都想抄捷徑,但絕對不表示它們是「最佳」的AI設計方式!差得遠了!

所以不要愚蠢的批評我不用MLDLCNN做影像辨識就是不AI?事實上我是使用更好的AI技術與專家系統的設計理念!你終究必須放棄機器學習學著我的方式繼續面對影像辨識研發之路的!

有誰推薦more

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