網路城邦
上一篇 回創作列表 下一篇  字體:
做影像辨識就是可以這麼亂來的!
2020/02/29 05:35:52瀏覽1438|回應0|推薦10

前天到群創演講的高潮之一應該是我展示了好多個影像辨識專案的演算法設計關鍵,別家公司如果有這些成績應該會當作商業機密,絕對不輕易示人!但我只當作是一些創意巧思,碰到有用的時機就是寶,不適用時他們只是雕蟲小技!所謂的深度學習也不過就是試試看哪個招數最有用而已,還只限於大師們寫在書上的那些正規招數,不會有像我常用很多不登大雅之堂的怪招!

開業之初有家做條碼辨識機的公司,要我研究找到如上影像中的一維條碼概略的中軸線,不必太精準,只要確定找出的線有確實切過所有的條碼即可!我們連複雜背景中的車牌都找得出來,找個條碼當然沒問題。這個案子真正的挑戰是他們要將此演算法做到低階硬體之內,還要能很快計算完畢!如上752X480大小的影像,如果找到貫穿線的時間在一般電腦上執行超過10毫秒(0.01)就算失敗了!

我用一般的影像辨識程序思維作出如下的一堆二值畫圖與目標圖,前後這樣努力了一個多月,怎麼精進演算法都還是需要幾十個毫秒,完全無法達到設定的目標。他們說其實全世界好多公司都在為此傷腦筋,如果我也只能做到這樣就算了,反正本來就沒指望能成功,他們可以給公司老闆有個交代就好了。

但是要我認輸可沒這麼容易!他們說很多國際級大公司都做不到,更讓我熱血沸騰!合約期限是三個月,才做了一個多月,哪能放棄?我到台北跟他們第二次會議之後,回家的路上就靈光一現,幾天之後就達標了!

他們想做這個的目的,是希望可以做出不必拿著貨品旋轉,就能找到最佳讀取角度,直接讀出條碼的機器。所以我想:既然是人不想用手移動去轉動搜尋那條線,那就用程式去轉嘛!亂槍打鳥如最前面的蜘蛛網圖所示,我讓程式直接掃描一百多條直線,只要角度偏差與位置涵蓋度不會粗略到漏掉整個條碼,一定可以找到條碼,鎖定概略位置後再微調一下即可!

掃描一百多條線看起來好多,其實比用任何矩陣運算的數值計算次數相比都快很多倍!就像戶口普查與抽查的差別!最後整個辨識流程沒有任何二維矩陣的運算,等於是用一維的演算法達成二維影像的辨識目的!只需要三四個毫秒就可以完成這個辨識!

這是不是很像用鉛筆取代太空中也可以寫字的無重力專用鋼筆?演講會場上當我講到這裡時,所有聽眾都笑了!這已經是2015年的事情,幾年之後我想也不必保密了,應該所有想做這種機器的公司都做出來了!只是當時我的業主真的興奮到不行!搶先做出低價高效能的辨識核心,想必替他們取得了蠻大的產品優勢!我的亂入影像辨識可能也是台灣之光哦!

影像辨識就是這樣的!我接下來展示好幾個例子也都不是在既有的演算法上發明更抽象複雜的數學公式,都是針對問題重組一下基礎的物理與幾何學概念就做好了!而且辨識速度都超級快!因為對症下藥嘛!有了這些突發奇想的經驗,我們現在連開發時間也變得越來越快!因為不會再執著於經典的影像辨識流程,「無法無天」就是我們成功的祕訣。

( 心情隨筆工作職場 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:http://classic-blog.udn.com/article/trackback.jsp?uid=yccsonar&aid=131873414