網路城邦
上一篇 回創作列表 下一篇  字體:
影像辨識的基礎是物理,是科學,絕對不是工具!
2018/06/23 09:04:52瀏覽4251|回應0|推薦14

這是我掛在辦公室牆上的一篇論文發表海報的一部份,那是高雄應用科大辦的2015光電與通訊工程應用研討會,當時都已經不當教授了,還去發表甚麼論文?其實是去打廣告兼徵人的!事實上都沒達到目的,去研討會的都是老師研究生,沒人會買車牌辨識軟體,有潛力將就業的研究生也不會看上我這個鄉下小公司。

甚至主辦單位看我們只是業界公司,直接就不讓我們口頭發表(Oral),這種「沒價值」的研究,讓你貼個海報(Poster Presentation)就算了!結果是到了現場進行海報評分的教授們細看之下大為驚豔,應該有點後悔沒給我一個專題演講的機會吧?只能盡力的給了我們一個海報首獎!

這張海報花了400元去印製,相當精美,之後就是公司裡固定的布景了!每一位來拜訪的客戶都會給他們看看,解說一下我的基本辨識技術流程。我的目的是讓客戶感覺到我們真的是研發型的公司,不是系統整合式的軟體公司,每一個影像辨識專案或產品,我們都是自己從最底層原始碼開發到完成,完全不會套用或引用任何套裝軟體(引擎?)或程式模組,連開放原始碼的OpenCV我們都完全不用的!

在我們眼裡,每一個辨識議題,我們看到的是物理的事實,與拍攝此事實的影像,接下來就是設計如何:簡化→摘要→分析→解答的過程。雖然說是作「影像」辨識,但是我們知道影像來自真實的物理世界,我們要辨識的目標也是一個物理上的實體或現象,整個辨識過程的設計我們都會一直提醒自己「物理」的原理與限制!「物理」就是指導規範我們整個影像辨識過程的導師!

當然,物理現象弄清楚了,接下來就是找到適當的數學模式去描述表達量化,最後將這些數學演算法寫成可以執行的程式。在我們的認知中沒有一種演算法本身就可以解決問題,他們都是配合需要解決的物理問題而被選用的!邏輯對了也不會有任何一種程式語言會無法算出正確的結果,可能有差別的只是執行效能。但如果像是微軟作業系統下的C++,C#與VB都是使用一樣的.NET基底函式庫,快慢根本是你的演算法設計好不好的問題,跟程式語言一點關係都沒有!

我的這種理念做法在目前的影像辨識領域中,算是很特別的!因為影像辨識技術比較複雜,需要用到很多演算法與程式設計的技巧,大家都迴避直接面對真實的問題本身,與程式技術的基本功,只想找到快速完成商業軟體的捷徑,因此「據說很好」的程式工具方法總是喧賓奪主!譬如很多人愛說:

不用C++作影像辨識都是業餘的!用VB作?我懶得理你!

不懂類神經網路與機器學習?你根本是影像辨識的門外漢!

不用GPU運算你的程式鐵定很 Low 啦!

OpenCV超強的!不用它你就落伍了!沒資格談影像辨識。

甚麼程式都自己刻?哪那麼多美國時間啊!你的公司一定會倒的!

我稱以上說法為「幹話」,會這樣說話的人本身確定是個半吊子,甚至根本是外行!幾年前我真的不懂他們說的這些東西有沒有道理?但我已經開始用我自己熟知的傳統科學概念,以及我熟悉的程式語言(VB)開始作影像辨識了!隨著我接連成功作出了車牌辨識、文件辨識與動態辨識各種效能極佳的軟體,我也逐步涉獵瞭解了這個領域中「別人」都說很重要的技術!

我還是沒有被這些人說中!繼續用VB,沒有使用GPU,沒使用機器學習或OpenCV,甚麼程式都是自己「刻」的,最多複製拷貝自己的舊程式片段,我的公司進入第四年了,還沒倒!而且我的程式效能好到讓來訪的客戶會低頭去看我桌下擺的電腦,懷疑我是不是在用特殊的超級電腦?一千兩百萬畫素的多車(五輛機車)辨識居然只用了0.68秒?怎麼可能?我當然沒有作弊!用的就是一般商場可以買到的電腦,一切的神奇表現都只是紮實精確的科學研究結果,包含物理與演算法,跟工具好壞無關!

我的結論是:那些「專家」們渾然忘了我們還是在物理世界之中!人工智慧也無法突破光速限制的!掌握、分析、理解物理事實才是影像辨識的根本!就像想變成好球員,不談如何練球練體能,只討論要穿哪種球鞋?要買哪一種球?好像籃球買對了,鞋子穿對了,你就會變成喬丹?那是腦袋不清楚捨本逐末!工具就是工具!永遠不能取代真正的研究。反之,研究正確精準了,就像武俠小說中說的,內功強大了,飛花摘葉都能傷人,還講究要甚麼寶劍才能殺人嗎?

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

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