這張影像也可以辨識成功?太神奇了吧?那個「0」字幾乎連人眼都看不到啊?但事實上我就是用我的程式把它辨識出來了!等我把過程故事講清楚,你就會信了,而且裡面絕對跟現在大家講的那些所謂的AI技術(CNN、ML或DL等等)完全無關!也沒有甚麼抽象神秘的演算法,就是使用古法釀造原汁原味的基礎影像處理技巧與高中程度的幾何學極座標運算,加上一些人人都有的常識。
首先將圖片放大到實際像素的尺寸,你就會看到0的位置並不是完全沒有東西,只是相對來說對比度很低,那些模糊破碎的痕跡,不管用任何影像技術增強處理,都無法處理成一個完整的字元目標,即使是專家也不能無中生有嘛!這些碎片放在全圖來看是這樣的:
看到了嗎?那個0字其實比多數的背景雜訊目標都還要弱勢不明顯!但是在這段辨識流程中,我已經預先設定要辨識環狀分布的幾個大小一樣,相鄰且等距離的字元。所以紅色內圈以內的雜訊就不管了!在環狀區域內,我找到所有目標後,用合理簡單的邏輯先找出對比最強,也面積最大的字元,應該就是A、4或7的其中之一了!以此不可能認錯的目標大小為標準,來搜尋所有大小相似,且間距近似相等的目標群。
看到上圖,正確答案不就呼之欲出了嗎?左上角的孤立目標,即使對比度高很搶眼,也不會是我要的「字串」的一部份,直接不理它。那個破碎的0字雖然對比度低且不完整,但是那個位置本來就是極可能有字的位置,它的大小與一個明顯的字元夠接近,位置也完全合理,所以就被視為字串的一部份了!就像你在餐廳廚房看到很多明顯血跡時,你會不以為意,但是在被判斷為可能是謀殺案的現場時,即使是一滴很不明顯的血跡都事關重大!這是常識。
但是一個這麼不完整的字元,你硬是拿它跟所有英數字的字模比對,不會比較像0以外的字嗎?確實如此!但是這些規格字串的組合種類是有限的!其中四個字的字串只有這些:"307A", "307B", "A250", "A270", "A470", "A480", "A325", "A490"。歸納一下他們的第四個字只可能是:”A”,”B”,”0”,”5”之一,我也只將這個目標比對這四個字元的可能性,我猜錯的機會有多少呢?這也是常識,腦筋OK的普通人都想得到。
就像警探辦案,我會先鎖定合理的偵查方向,循線追查應有的證據,當我追查到最關鍵的所在,就是謀殺事件的第一現場時,即使只是蛛絲馬跡一滴血,也可以讓我做出不會出錯的正確判斷!有如小說人物福爾摩斯的名言:排除一切不可能的,剩下的即使再不可能,那也是真相!何況還真的有夠明確的合理跡象!
好玩嗎?這就是我正在進行的,真正商業化有成效的影像辨識研發的現場,絕對與你去上甚麼AI影像辨識的課程說的完全不同!這才是真實世界發生的事情,那些AI課程多半是想像出來的!經不起現實考驗的!
當然我的辨識工作也像警察辦案一樣,不是只有調查謀殺案,還有綁架、偷竊、販毒、網路駭客等等各式犯罪,都是要努力偵破的,但是方法策略當然不會都一樣!就像我的螺絲釘頭上不是只有環狀分布的字串!也有寫在圓心上的,或呈現雙排的,我如果想套上面的公式顯然都會失敗!
所以真正會有較高辨識率,較全面完整的影像辨識程式,內部都必須有很多種辨識策略與程序,以因應很不一樣的狀況。要保證可以找到最佳的答案,我們可能會全部方法都嘗試辨識一次,看誰的分數最高?但是這樣會浪費較多時間,所以比較可能跟我們到醫院看病一樣,先做一些檢驗項目,再由醫生判斷應該使用哪一種治療方式最可能治好病人!
這樣依據我們明確知道的科學、事實、常識與認知過程,逐步建構出來的軟體我覺得才是正確與正常的「AI軟體」!這是模擬人的智慧製造的,也可以做出跟人類智慧判斷能力相似的軟體,這樣如果不能稱為AI軟體?難道根本不研究事實真相,囫圇吞棗,用機率統計算命算出來的ML與DL才叫AI嗎?迷信那些ML或DL對影像辨識有神力的人該醒醒了!因為真的沒有!不然就請他們用ML與DL辨識這張影像看看。
凡是找我做過事情的客戶都已經變成我的信徒,相信我的說法!因為我總是可以說到做到,只要有線索的案子我都一定能破,還可以充分讓客戶理解我做的事情,絕對不搞神祕的!會神秘兮兮的,多半是「見不得人」!你也應該相信我的!
限會員,要發表迴響,請先登入