

我們公司做的影像辨識是從來不用ML、DL與CNN等所謂的「AI」影像辨識技術的!實際的成效已經證明遠遠超過使用那些技術的團隊了!我們每天認真努力的工作內容都一再提醒我們:想用機器學習與深度學習做影像辨識的概念有多荒謬?有多愚蠢?讓我們更加堅信絕對不能使用那些技術來破壞我們目前很成功的研發工作!
任何複雜的邏輯,如果你願意用科學原理,尤其是物理原則深入理解分析,都可以很準確地設計出對症下藥的演算程序來達到正確辨識的目的!幾百年來任何的科學領域都是這麼做研究,或設計出精密的儀器系統的!我們只是跟隨著數百年來的正統科學家用一樣的方式研發我們的影像辨識軟體,而且無往不利!其實ML、DL與CNN才是影像辨識科學技術的異類與亂流!
如上的車牌辨識案例,因為車牌下方的兩個螺絲孔生鏽了!讓2與K字元和背景沾連了,讓我們使用的OCR無法直接正確切割出2與K,所以我們手頭有的車牌原始資訊只是618S四個字,而且在前處理階段我們只知道是四個獨立目標,還不會真的拿字模去比對知道他們是甚麼字?
如果你在此階段就去一一比對所有可能的獨立目標是甚麼字?太浪費計算資源了!因為每個字有英數字兩種字型,共72種可能性,還要考慮到字元可能傾斜變形,即使你用標準字模去比對也不保證能正確認知是甚麼字?這就是我說的CNN地獄了!CNN堅持用特徵矩陣直接去影像中找可能已經傾斜變形的車牌目標,這叫做緣木求魚!想像我一樣辨識出高度歪斜車牌?完全不可能的!
所以我們是用可能不完整的幾個車牌字元來鎖定車牌位置而已!由這些可能不完整的資訊切割出可能已經變形的車牌區域,再研究此區域的變形程度資訊,加以校正成正視不歪斜的影像!之後才是在此區內做第二次的字元目標切割與辨識,最終辨識出正確不缺字的車牌!
但是僅僅是在原圖上找到獨立目標的群組,判斷它們是不是可能的車牌這件事的複雜度就非常高了!而且就是YOLO等技術誇稱他們最擅長的事情(物件偵測)!真是如此嗎?我用OCR技術就無法取代CNN偵測物件?就無法做得比YOLO更好嗎?事實證明我從全圖找到車牌的能力遠勝於YOLO!需要的計算量可能不到十分之一!所以YOLO需要GPU加持,我的OCR就從來都不需要!
如何做到的?還是一連串使用科學知識與常識的分析、推理與判斷!如圖所示,我們可以預期,在自然的街景中會成排出現的可能目標群組非常多!建築物的窗戶、柵欄、招牌廣告等等,多不勝數!如果我們將每一組成排目標都做完整的影像幾何校正與字模比對,那我們需要的運算量就會多到需要GPU了!我們沒那麼笨的!
面對這些五花八門的排列組合目標,我們設計了數十種邏輯加以篩選排除,就是在不需要大量計算的前提下,就快篩出極少數真正可能是車牌的目標做後續處理,譬如成排目標之間的間隔就是其中之一!目標之間的間隙累積比例過大的離散群組就直接排除了!譬如一排路樹!
正常來說,如果上例中車牌字元都能第一時間被切出,間隙比例大概是20%,但是因為缺了兩字變成53%了!所以我們淘汰間隙過大目標組的門檻應設成多少?才能排除較多明顯不是車牌的目標節省運算時間?又不會意外排除真正的車牌?這就需要很多的個案分析了!我原來初步的設定是50%,但是這個案例告訴我有可能偏低了!會把這個案例的可能車牌組合淘汰的!
這些複雜的判斷原則邏輯都是來自科學與常識,參數門檻的高低則是來自很多資料的個案分析!機器學習與深度學習就是妄想用概略模型的設計,投入大量資料與暴力運算,就期望可以得到我正在設計的這種精密辨識儀器!他們只管餵資料與用人眼辨識製作標準答案,完全不想真正認識與精準解決如何完成辨識過程的問題!
所以即使他們信賴的黑盒子科技真的可以做出跟我一樣的精準辨識結果,但是內部的執行效率,與必須投入的大量資料與算力成本都會高過我的數十倍!所以我對他們毫無畏懼,只有悲天憫人的同情!簡單說,就是使用那些技術研發影像辨識產品的公司差不多就是死定了!效率太低,成本卻太高了!我先走,不等各位XX學習的信徒了!你們終究會發現那是邪教的!