Contents ...
udn網路城邦
軟體要弄得像人一樣聰明?你想過代價嗎?
2022/06/24 07:14
瀏覽698
迴響0
推薦4
引用0

我是賣車牌辨識軟體的,當然那些軟體的核心就是一個可以從影像中辨識出車牌的辨識核心模組,很多具有一定技術水準的專業客戶就會很想直接買到那個核心,其他周邊的狀況他們自己設計修改就好了?但是以我的經驗賣核心模組結果總是給我自己找很多麻煩,譬如上面就是某客戶拿之前其他廠牌車牌辨識軟體輸出的照片來測試我的模組,結果錯得很奇怪?

原來是之前軟體已經辨識出正確車牌,ASG7578,還將辨識結果用文字模式寫入這個影像的下方。我的辨識核心其實沒有聰明到知道這是原始影像還是人工加入的部分,直接從全影像中找到對比度最佳,「最像」是車牌的目標,就是下面人工產生的車號了!

而且還很不幸的,之前軟體選擇的字型與真正車牌用的字型差異不小,我假設它們應該是一般車牌的字型,猜測的結果就變成錯誤的RSG-7578了!當然這是非戰之罪,避開那個人為產生的標籤我的辨識就很正確了!重點是現在大家都喜歡講AI嘛!我的辨識核心可不可以直接聰明到判斷這個標籤是人為的?直接忽略它去找到真正的車牌呢?

當然可以的!就是辨識出一些明顯為人工產生的影像特徵,譬如真的車牌灰階分布圖與人造文字方塊的灰階分布如下:

 

真實車牌的前景與背景對比度會遠不如人工繪製的字元影像!甚至如上圖左側牆壁的高速公路出口等字元,對比度也會高於真的車牌,因為車燈太亮造成炫光之故!我們其實也可以找到一些特徵知道它們不是車牌,要讓辨識核心聰明到跟你一樣,以找車牌這件事來說是做得到的!

我的車牌辨識研究永遠做不完就是因為這個緣故,我確實希望我的辨識核心能跟一般人一樣聰明!但是並不是我能做到的辨識能力我就一定會寫入我的辨識核心!為什麼?因為每一個辨識程序都是需要耗時(耗電)計算的!如果每一個可能的車牌區塊都要作如上的色階分布圖,我就會開始掙扎有沒有必要了?

鉅細靡遺每一種特徵我都做分析的話,我的計算量就會太大,程式變態慢客戶就有意見了!其實CNN的概念就是這麼做的,盡量收集所有資訊,結果就是辨識很慢,除了在數學的角度設法讓演算法提速之外,還必須找GPU等等額外硬體來幫忙消化過多的運算量,才能Hold得住!

所以下次你聽到某個辨識系統可以大量使用GPU協助運算時,不要單純的以為那是甚麼技術優勢了!如果可以不必用到一般電腦基本配備以外的硬體,表示那種AI軟體效率更高,更節省成本與節省用電,我們不是說要環保嗎?省電不重要嗎?GPU就是額外的耗電,你有想到嗎?

我的軟體都很快,也不需要額外的GPU協助,原因只是我有審慎的評估哪些計算比較必要,哪些計算可以忽略而已!做生意不是做學術,我除了讓軟體變聰明,也要考慮成本!最好是讓客戶用一般電腦就可以跑到需要的效能,所以我的軟體包裝辨識核心之外就是在做這些事情。即使辨識核心內有很多例外附加的辨識流程,也不會隨時都全部啟用的

如果像上面的客戶直接買辨識核心,他們就必須自己處理這些例外了!實際上就是必須告訴我的核心辨識熱區在哪裡?要避開已知不可能有真實車牌的區塊等等。聽完這個小故事,大家是不是對於AI有了稍微不同的務實觀點了?重點不只是演算法的神奇與否而已!

就像你買了一台冰箱,只是正常簡單的在家使用,你不必它智慧到幫你自動訂貨採購,也不需要它能蓄電很多小時預防停電等等,如果將所有智慧功能都做上去,那台冰箱就不會是幾萬元,而是幾十萬了!這就是AI產業中你必須考慮的現實,剛好夠用又最省錢的AI才是最好的AI

有誰推薦more

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