我的公司以研究影像辨識問題為主,因為我習慣直接用VB寫出演算法程式作實驗,所以雖然我的R&D之前在研究所研究影像辨識時,常常使用MATLAB,到了我這邊,入境隨俗也跟著我用VB寫程式作研究。昨天在與客戶開會中,我覺得他研究的議題進度有點慢,就問他:你不是會用MATLAB嗎?為何不直接用MATLAB的現成函數作測試呢?
他有點意外的睜大眼睛看著我,似乎在問:「可以用MATLAB嗎?」可能是因為我一直很強調「基礎」研究的概念,堅持不在產品中使用任何現成的程式模組,讓他覺得在這個「門派」中,是絕對不允許使用MATLAB或OpenCV之類的現成工具軟體或模組的!
其實他的誤會大了!我不用MATLAB或OpenCV的原因是我根本不會用!實際狀況是:我需要的演算法自己寫程式都很快(快到像寫部落格文章),或者之前已有寫好的舊程式,所以我並不需要那些工具,就沒積極去學去用而已!如果真的有需要時,只要合法,我可是為達目的不擇手段的!
他寫程式沒我快,想要測試的演算法又是已經很成熟的一些通用方法,為何不能直接用軟體實驗呢?一天就可以知道結果的事,為何要讓他埋頭寫三四天的程式呢?學寫程式很好,但我們是在當人家的顧問欸!客戶急著要看研究的進度,哪有時間讓他慢慢學寫程式啊?要像我這麼快,他可能還要寫個五六七八年咧!
我一直使用VB作研究也不是甚麼「理念堅持」,只是VB一直都可以達到我的目的,我就不需要特別學新語言而已!但是前幾年我發現VB無法順利作出我需要的APP時,我立即學HTML5,也就是JavaScript語言,而且學得比誰都積極!絕對不找理由規避,該作就作,一點都不囉嗦的!
這讓我想起多年前,有位中字輩大學的研究生來找我問透地雷達(Ground Penetrating Radar)影像處理的問題,他的老師知道我有一套辨識方法,或許可以用在辨識那種影像中的地層界面,所以要他來台南找我。我當然盡力幫忙,很細心的教他使用我的演算法,但是除此之外,我看他「處理資料」的流程太沒效率了,就忍不住幫他寫了一個可以快速執行所需實驗用的VB6程式(大約用了一天)。
原本他的GPR原始資料必須先轉成文字檔案,饋入他寫的FORTRAN程式作演算,算出來的文字模式資料再轉回適當的格式,再用另一個軟體將影像繪出。期間還有GPR的探勘設定參數必須與影像資料分開處理,超麻煩的!作一次實驗,修改一個演算程序或幾個參數就需要一整天的時間!
我寫給他的程式直接就可以吃進完整的GPR資料,再用VB作計算將結果直接繪圖輸出在螢幕上,一個實驗只需半小時就有結果!他原本不會VB語言,但也只花了不到一個禮拜就學會看懂那個其實很「專業」的VB程式,而且使用得很順暢,之後他只需要專注在演算程序,其他瑣事通通都沒了!研究進度立即變得飛快,一個月內論文需要的研究就完成了!
他事後問我:既然可以這麼容易的作實驗作研究,為什麼我的教授們還是堅持一定要我們學習用FORTRAN程式來做那些研究呢?還說了一大堆就是不應該用VB等等「非學術軟體」作研究的理由?他都聽不懂?其實我也聽不懂?我的看法是「天下本無事,庸人自擾之!」沒事想出這麼多自我設限的理由,累不死啊?
限會員,要發表迴響,請先登入