網路城邦
上一篇 回創作列表 下一篇  字體:
越高階的工具軟體越是扼殺研發創意的殺手!
2023/07/09 02:02:37瀏覽934|回應0|推薦8

摘自:https://www.youtube.com/watch?v=hsKroxLFlVQ

我們公司研發各式影像辨識軟體都很成功,而且研發速度很快,各種專案多半是十天半個月就可以作出原型,給客戶開始測試,我們則配合調整處理各種辨識錯誤例外的狀況,通常一兩個月內就可以達到辨識率的高標(通常是98%以上)正式上線使用,我們很少卡關的!專案做到失敗放棄更是從來沒有過的事!做不到的,我們一開始評估沒把握時就不會接案了!

要做到如此高的效率,當然前提是絕對不能以高成本低效率的ML相關技術為主體!現在大家都將ML與CNN等所謂的「AI」技術,視為影像辨識研發的主流,但事實上凡是使用這些技術開發影像辨識的公司都很尷尬艱難,因為成本太高研發速度太慢。他們不得不用的原因其實是因為對於影像辨識科學原理的認知與處理能力不足,沒有這些工具軟體就不知從何著手了!但是我們知道原理,所以真的可以自己來!

除此之外,一般軟體公司如果有很高的開發效率,通常是因為擁有某些非常合用的工具軟體,像是遊戲公司會用3D Maya或工業設計會用AutoCAD之類的龐大多功能工具軟體。在影像辨識領域,大家就會認為應該是使用OpenCVCNNYOLO之類的東西,因為省去了很多自己寫程式的時間,這樣才會快嘛!

如上圖是一段教大家以機器學習(ML)技術辨識螺絲釘特徵的YT視訊,也是很快就切入使用某種有ML功能的工具軟體,寫程式的部分還刻意被跳過?聲稱那個不重要?演示給大家看會「浪費時間」?我想這就是目前絕大多數影像辨識同業們的工作模式了!好像以前我在海洋界討生活時,誰家擁有最好的聲納系統,研究表現就會大佔優勢?

但我們的影像辨識軟體開發經驗並非如此!我們除了不使用OpenCVMLDLCNN,其他與影像辨識有關的進階工具軟體(譬如MatLab之類的)也是幾乎都完全不用的!除了寫程式用的Visual Studio開發環境之外,我們只會偶爾使用PhotoShop或小畫家來檢視要研究的影像。任何要開發給客戶的軟體,不只是辨識核心,連過程中需要的研發實驗軟體,程式碼都是一行一行自己寫的!如下圖,我們的每一個專案都會有它們自己專屬的開發實驗用的軟體的!

這就是武俠小說中說的,「無招勝有招」的最高武學境界了!我們不是一開始就決定這樣幹的!我沒有任何堅持不用工具軟體的預設立場,也沒要求員工必須這麼作,譬如聲明本公司不會花錢買任何工具軟體之類的!這是自然而然發展出來的公司文化!會變成這樣確實不是因為想省錢,是因為這樣開發軟體最快也最有效率

雖然做影像辨識相當複雜,但就像彈鋼琴吧?我自己不會彈,看到別人十個手指同時飛快地按到不同琴鍵上演奏出複雜美妙的音樂,覺得非常不可思議!但是只要練習夠熟了,好像誰都可以辦到的樣子?我太太四五十歲才開始學彈琴,現在也有模有樣了!我想大多數人看我們不靠任何工具軟體,很快寫出上千行的辨識軟體時,應該也跟我看鋼琴家彈鋼琴一樣,感到非常神奇吧?

但是如果你覺得彈琴學樂器太難,始終只是用各種音響機器聽音樂或製作合成音樂,那當然就永遠不會演奏樂器了!用很多工具軟體來研發影像辨識軟體,就是隔靴搔癢,再用力抓都不會止癢的!我們以前也在學校學過,或試用過一些工具軟體,都是覺得不耐煩不夠好用,無法準確搔到癢處,才會乾脆自己寫自己需要的程式介面與功能,我們覺得這樣最好,最快達到目的!

一開始可能會覺得有點浪費時間,但因為是自己寫的,細節掌握度好,要研發製作複雜的東西,就會越做越快越做越順手!反之,用工具軟體則是一開始進展好像很快,但越到高樓層就越做越慢,還會因為不清楚前面的許多工作細節,開始處處卡關,完全不知道下一步該如何推進了?就像我們開車時遇到故障拋錨多半束手無策,因為車子是買來的!我們對愛車的內涵細節所知甚少,哪裡壞了也很難掌握,更不必說要自己把它修好了!

最大的傷害其實是當你有想法創意時,會被使用的工具軟體限制很多,無法像音樂家或畫家一樣盡情揮灑!試想一下,如果你叫達文西丟掉畫筆,改用繪圖軟體想畫出一幅蒙娜麗莎的微笑,你覺得那是比較容易還是比較難呢?所以我們不用那些工具軟體其實是好事!因為我們的每一個想法細節都能按照原意準確表達出來!寫幾行程式並不會比操控龐大的軟體來做特定的小事更難或更慢!

當然要學我們這麼作,拋棄那些工具軟體,最重要也最困難的部分,是物理與數學的基本功必須非常紮實,對於要研究的問題也必須很深入的理解!你的數學物理概念必須緊密結合,從解析問題的數學概念到程式碼的寫作,也必須像作家寫文章一樣準確流暢才行!

所以以後如果看到有人用很酷炫的軟體做影像辨識時,你就知道那是功力較差的工程師!真的大師級的高手直接寫程式就可以很快很精準地做到所有事了!你可以來檢查我的工作用電腦,裡面真的除了Visual StudioPhortoShop之外,沒有任何跟影像處理或辨識相關的軟體,連可以免費下載的這類軟體都沒有!

所謂的「本固則枝榮」!現在要當軟體工程師,入們好像變簡單了!要做個車牌辨識軟體嗎?打開OpenCV參考幾個YouTube視訊,一兩天就有了!但是在這種不踏實的基礎上,你再「研發」幾年都無法達到商業化的高辨識率!做了也等於沒做,丟掉這些工具軟體老老實實按照科學原理自己實作所有的程序,你就會知道該研究甚麼東西了!那才是登高致遠的唯一途徑!

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

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