網路城邦
上一篇 回創作列表 下一篇  字體:
教資訊技術人員作影像辨識的臨門一腳
2018/10/16 04:57:10瀏覽1285|回應0|推薦8

昨天開始跟一家大型出版社做閱卷用影像辨識技術的技術轉移,就是直接教他們我的閱卷影像辨識是怎麼做的?他們公司相當重視此事,台南與台北的資訊技術人員共來了六位!一上課就知道都是對於程式設計相當專業的資深高手,更難得的是他們真的很專注想深入理解每一個細節!

我既然答應要技術轉移(也收了錢)就會傾囊相授,先用一個較簡單的範例程式介紹影像辨識的基本過程,就是全彩影像→灰階→二值化→取輪廓→定義與篩選目標。再用擬技術轉移的完整專案一步一步教他們每個程序的細節,包括我為何這麼做的目的?以及我特殊設計的所有原理概念。

第一天的課程他們相當滿意,我也覺得是重溫舊夢教得淋漓盡致。課後聊起來才知道他們已經在工作上嘗試過多次開發影像辨識程式,遇到過很多瓶頸,多半以失敗收場,即使勉強堪用效能也很差。在我看來他們就是差了臨門一腳。我們都覺得上完這兩天課,他們回去修改那些以前的專案,多數都可以輕鬆復活,作得更好!這樣就是技術移轉的最大效益了!

至於為何他們之前作不好?因為多數可以直接取得的影像辨識教學資源,大概就是說到如何作灰階、二值化到切割出目標。不會繼續介紹如何定義目標的諸多屬性,以及目標的篩選分析整合,因為寫教材的人也不知道你要辨識的具體目標是甚麼?但是目標應建立甚麼屬性?怎麼篩選整合?都是因應你的需要需要個別化設計的。套用既有的任何軟體功能或程式模組都很難直接對味!

妄想用既有的程式模組直接辨識出你要的目標,我戲稱之為「原力的黑暗面」!一旦你在你的辨識程式中引用了外來的程式模組,就是你開始迷航,甚至陷入萬劫不復境地的開始!因為你開始失控,從一個主動掌控全局的設計主導者變成被動的使用者,有如老闆請了一位能幹的CEO工作是變輕鬆了,但整個設計過程就不再完全由你指揮了!很多細節你也不知道了!

很不幸的!我們目前的影像辨識教學主流卻是鼓勵你多用這些現有的程式模組!所有大學與研究所教影像辨識沒有一個不用OpenCVMatLab等等工具軟體或程式模組的。表面上這些教授與研究生會嘲笑那些不會寫程式,只會使用PhotoShop軟體修圖的人是外行,但是以我的觀點,他們是五十步笑百步

這些教授學生是可以用程式寫出一些影像辨識程序,但是要精準地作出客製化軟體,還要追求高效能,他們也是做不到的!昨天的六位學生大概就是停留在這個層級,他們也沒看過像我這麼「純粹」的影像辨識設計方式,真的沒用任何外來模組,很精準地用自己設計的類別、屬性、程序演算法,一步一步精確地走向最終的辨識目標。

影像辨識的學習有一個迷思是:複雜的東西最好不要自己寫程式,因為高手寫的一定比我寫得好,而且自己寫會「浪費」很多時間!其實是大錯特錯了!因為高手寫的好程式不是為了你的目的寫的,要作特定的影像辨識,遠不如你自己依據你的目標寫得程式更精準適用。

而且自己寫的程式你可以充分理解掌握,後面才有繼續研發改善的空間,一旦你用了外來程式,即使是Open Source,通常你也會因為理解不夠而不敢修改,或根本不會改!你的所有思考與創意就此被這個「好程式」卡住了!對於研發者來說,省時省力沒有太大的價值,精確掌握所有自己設計的東西,隨時能想出並作出更好的下一步才是關鍵!

如果你只是想吹吹牛,可以對人說:「我學過影像辨識哦!」那就學點OpenCV,組裝一些不痛不癢的辨識程序即可。但如果你想玩真的!開發出真正好用高效能的軟體,還是老老實實將物理、數學與基礎程式設計學好,忘掉有OpenCV之類的東西吧!那樣學影像辨識其實是不夠專業的,研究所老師這麼教,不是因為這樣比較好,而是因為這樣老師比較輕鬆。

就像臥虎藏龍那部電影裡面,手持青冥寶劍可以讓章子怡看起來很酷,也可以勉強擊敗武功略勝於她的楊紫瓊,但是遇到真正的高手周潤發,人家輕鬆寫意的隨意拿把劍,就可以把她手上的寶劍當玩具耍!因為劍是死的,人才是活的!並不是給你速度最快的跑車你就會自動變成賽車冠軍的。

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

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