Computer Graphics from my “humble" point of view電腦圖學之我[淺]見

Computer Graphics from my "humble" point of view
電腦圖學之我[淺]見

 
  在正文開始之前,我必須先說明幾點。首先,就我的經歷跟視野,寫這篇標題也許尚早,如果十年後我還在這行的話有機會會再寫一遍。

  第二是我的資歷。某退休總裁這樣描述他的一本著作:若不能在開頭就先說明我的下場,那這本書的其餘部分就無法取信於人。我研究所是學電腦圖學,當然起因是因為希望一個作出名滿天下的遊戲。不論這個願望最後發展是如何,進了這行,我還算認命。畢業之後目前是服國防役,在國內開出圖學這個規格的職位中因為種種因素找到了一個易特力這個作數位相機影像處理的部門(當時進公司我還不是很清楚他們為什麼開這個規格)。不知道幸運還是不幸的是,之後部門經過幾番改組,我還能繼續使用OpenGL這個工具,因此最近兩年能繼續發揮我的專業。

  第三我並非自大,但也不會假裝自卑。我可以很自然的在賣英文學習書籍的推銷員面前說:我英文夠好了,我也曾經面對一位Walmart收銀員不知所措,而他只是要借我的護照一看。但我相信很多的事情都是相對的:我的程式能力(Programming)今年被小主管稱讚是部門屬一屬二時,我不會說您過獎了。但是事實上,如果在某幾位同學的面前,我不敢說自己會寫程式。我相信在金字塔的底層都有我可為的事,當老二有當老二的驕傲(誤)。
 

  我在電子佈告欄PTT的遊戲設計版(GameDesign)回覆了一位正遲疑於選擇指導教授的準研究生的文章。他內心的疑問是否如此我無法知悉。但字面上的疑問是他猶豫於選擇一位電腦視覺或電腦圖學的指導教授。他的主要考量是工作好不好找。而我的回應簡而言之就是告訴他-現在在台灣-電腦視覺才是產業的需求。即使我後來思索我是否把一個優秀的人才從電腦圖學界推了出去。但只要命題沒改變,這題的答案我想是不會變。不過我會思量以我淺薄的智識,是否看的太少,了解太少?

  很抱歉講了這麼多廢話,現在本文才剛開始,先用簡單的概念來描述Computer Graphics。與傳統圖學做分別,電腦圖學指的是一切有關3D的學問尤其是在電腦上運作的時候。受限於工具,傳統圖學在平面上創造出透視法讓我們看到平面時,能夠在腦海中組成立體的形狀。而數學中的圖論(Graph Theory)指的是概念上或結構上的元件組合在一起時產生交互各種作用的理論。(說起來很饒舌,但是如果你翻開圖論的教科書,看到那些示意圖的時候,即使不是很精準,大概會同意我的說法)。

  我們也常常看到CG這個字眼,在藝術界指的是電腦製圖的結果,廣泛來說包含用Photoshop等製圖工具的作品,狹義來說是指用Maya等3D建模工具製作並利用該工具繪出來的作品(不管平面或是立體)。


  電腦圖學所研究的學問就是建構於後者這樣的3D世界上,特別是離散的。(因為電腦是離散的,是0與1的組合。相反地數學所研究的圖學就可以是連續的,因為理論概念上我們可以理解連續的概念,但是電腦沒辦法)而最常拿來跟電腦圖學做類比的就是電腦視覺與影像處理這兩門學問-

題外話:我依然很困擾如何對人描述我的工作。最保守的說法,我可以說我是工程師,一個電腦(或資訊)工程師,特別是軟體的。比較精確的來說我是學電腦圖學的,比較擅長於modeling。

把這三個領域放在一起並非我首先這麼做的,台灣有個研討會就叫做CVGIP,全名是IPPR Conference on Computer Vision, Graphics, and Image Processing。而CMU的陳祖翰教授也認為這三個領域的研究者其實有很大成分都撈過界-意指這三個領域的之間界線其實很模糊。簡單來講影像處理(Image Processing)是機器人的視網膜,電腦視覺(Computer Vision)是機器人怎麼看這個世界,而電腦圖學是機器人怎麼把這個世界在它的腦海中具體出來。所以陳祖翰希望別人這樣描述:他是在視覺系統(Visual System)上做研究的一個教授。


 

視覺系統三大領域的工作機會

  影像處理專門的人在台灣可以找到什麼樣的工作,主要是處理單張影像-數位相機與攝影機需要影像處理,列表機、顯示器跟投影機需要影像處理,更不用說影像編輯軟體,或是影片編輯工具(如訊連的威力導演,友立的繪聲繪影)。

  電腦視覺的的人才主要出路是什麼,主要是有鏡頭的產品-監視器產業,自動機器產業,軍事與航太產業,圖資產業,工業管理。

  而會開出電腦圖學這個規格的產業大致上跟娛樂脫不了關係-電腦遊戲與電影產業;顯示繪圖卡產業,如NVidia與ATI;3D建模動畫或電腦補助設計產業如作Maya與3DSMax的Autodesk公司,或是CAD這種軟體。科學視覺模擬、軍事教學模擬、虛擬實境。

  我還沒有可以預測十年後的產業變動的這個眼界,但是台灣目前的產業大致上我們看的還是很清楚。台灣在硬體上需求比軟體高,顯示器,數位相機,手機零組件是台灣的重要產業,監視器鏡頭,機器人產業雖然不算十分優秀但是國人普遍認為這是個"有用"的產業,而且確實也有需求,所以也不乏投資。當然不能跟晶圓與IC設計產業來比。

  但是如果說電腦圖學在台灣的相關產業,老實講我是十分絕望的。我們不會有需要高級特效的電影產業,我們現在沒有需要高深技術的電玩產業,國內自行研發的顯示卡公司已經收手不幹。所謂的科學模擬與軍事產業與教學模擬我們知道看起來會很炫,但不受到台灣民眾的重視(這跟民情有關),3D建模與動畫工具軟體只能惟幾家大公司馬首是瞻,不用期待美術人員會改變手上的工具。如果有人建議我們要國際化走出國外就能有工作機會,我會說連台南人都會先找南科離家近的公司了,學成出國找工作就是天方夜譚,更別說國外的競爭只會更激烈。

  我不會在這邊怨天尤人,說政府不照顧娛樂產業。但點出現實目前的就業市場狀況就是如此。

 

視覺系統三大領域學習的難度

  畢竟不是自己領域的東西,其實不太好拿出來分高下,但是就我自己的感覺來說,數學底子最深厚的是電腦視覺的論文(後述)。影像處理雖然也會有大量的數學,但是最多使用到頻率域跟Convolution,只要熟一次大概就可以讀通一半的論文,差別只在於複雜與否。電腦圖學的入門門檻反而是最低的。並非說電腦圖學不需要數學,而是你可以在不懂幾何學的狀況下作學問。(我想會叫非數學系的研究生去修數學系幾何學的教授應該不多吧)電腦圖學的數學入門門檻就是OpenGL的投影系統流程(比較精確的說是Graphics Pipeline),這套系統OpenGL也都幫你建好了,通常教授會花一學期把這個理論架構講解完,然後就把學生推到火線上了。大部分的學生學會用這套或是類似軟體後大概也可以應付絕大多數的圖學研究需求。大多數圖學研究就只是一套對應(Mapping)。從已知的、離散的3D世界對應到顯示器的平面,研究的內容就是看人怎麼在這個對應上變花樣。(有很大一部分的研究是在作如何用離散的架構來儲存對應前的資料-Modeling,另一部分的研究是把這套對應重複發生-Animation,最後一部份才是這套對應前後怎麼呈現才是正確、好看又有效率的研究-Rendering)

  而電腦視覺我個人感覺就複雜的多,他的方向剛好跟圖學相反,從多張平面的圖片,反推出一個3D的架構。通常是多組未知的參數式一起對應到一個3D的空間。如果空間概念與投影熟晰度不足的學生如本人之流很容易被轉來轉去的參數化空間搞到頭昏腦脹。

 

電腦圖學在台灣的前景

  雖然我已經說了,我無法說十年後電腦圖學會不會變的popular。但是因應遊戲電影產業的蓬勃發展,這十年來顯示卡或電腦圖學相關產業確實幫很多地球人賺了不少錢。若是說到台灣的電腦圖學產業的研究生畢業後有什麼希望。曾經有幾個議題被提出來:

  一是Vista帶來電腦系統的3D化,因此個人電腦平台上的應用程式都會需要重新以3D的概念重作,台灣應用程式還算有需求不管是對客戶是一般消費者還是工程師。後來我發現Vista沒有帶來3D化,即便有微軟也如往常般的幫你把底層都架好了,你不懂圖學一點也沒有關係。反倒是Google與MS的競爭帶來了應用程式的Web化,兩家公司爭相發展Web平台應用程式的發展工具與架構。


  二是台灣電腦遊戲產業的興起,說興起並非我對台灣遊戲產業的稱讚,只是這是某種事實。確實遊戲橘子與智冠網龍這兩家公司在財經報紙雜誌的見報率讓台灣的家長開始不排斥讓其子弟電腦遊戲產業工作,曾政承的世界冠軍也確實製造了不少話題,所謂打電動也能賺大錢是也。跟本人一樣因為想做遊戲而被騙進圖學的同志們一定不在少數。但是電腦圖學畢業的學生,扣掉教職學術界之外,真正投身遊戲界的似乎不多,或是說並沒有反應到台產遊戲產業的素質上,至少在台產遊戲的畫面上我們看不到電腦圖學的奧義。這有幾個可能,人力銀行的說法必定是:台灣遊戲產業認為學校畢業的學生質素不足,不能成為立即戰力。我想是的,因為早期的民情,以致於台灣還沒有人在教怎麼做電腦遊戲。所謂遊戲設計學系甚至研究所的興起也好像是這兩三年間發生的事情,當然,排名依然是遠遠在各校電機資工的後面。所以我們優秀的學子都跑去當醫生律師學著怎麼修電器了(誤),遊戲界當然吸不到人才。至於我對談灣遊戲產業的觀感都寫在之前的文章裡面,這裡就不再炒冷飯了。有幾個結論可以下,首先是台灣遊戲界因為前述的環境導致於徵才並非偏好本科系的人才。(此處的本科系狹義指的是電腦圖學,廣義指的是資工系),次之是遊戲製作與圖學之間依然有不小的差異,因為遊戲製作之中有好幾個部份包含美術,企劃,通訊,人工智慧,並非只有畫面顯示。因此在需求不足,供給又失調下,這議題我目前是認為沒有光明。不過未來的事情誰知道呢,也許一些新公司會帶來新氣象也說不定。


  最後是還沒發生的行動電話顯示3D化-行動通訊的產品未來會跟桌上型電腦一樣走向3D的顯示。除了硬體的立體顯示器革新之外,軟體內容也會進步到3D。我個人認為這個走向是沒錯的,會發生的。但是我估計行動裝置上的3D顯示是一個已被解決的問題,所有的應用只是桌上型電腦的閹割版本,只是降規格到行動裝置上可以執行而已。既然是已經解決的問題,那麼工程師所做的事情就是重新把事情做一次。作這件事情的工程師被取代性過高。即便不是本科系的工程師也可以在網路上找到解法,差別只在於時間長短而已。

 

  文末最後是個人的抒發,我認為一個工程師有兩層能力,一層是專業技術的能力,另一層是使用工具的能力。任何使用工具的專家都會擔心幾件事:工具的使用不過三道板斧,年輕人只會越來越容易超越自己,而工具會不斷更新,新人只會越來越有優勢。因此使用工具的能力當然也包含學習新工具的能力,這個能力競爭激烈的,除非不在第一線打仗了,否則工程師勢必逃不了這個戰場。相反的專業技術的能力就不似這樣。專業技術的更新比較沒有工具技術更新來的頻繁,大部份專業技術是循序漸進,自簡而繁,而且除非了解到一個程度,是沒辦法激發創意的。所謂的資深工程師的珍貴有時候會在於專業技術新舊進步下的融會貫通,當然,要這位工程師有與時並進才行。

  我一直很質疑我自己這兩層能力到底比較喜歡發展或是受人借重的是哪一種,如果是後者那麼本人之所以還在這個位置上就是因為本部門只是缺少另一個電腦圖學的專家。因此有志於3D的工程師我相信我的主管會很歡迎你來取代我。畢竟在這一個艱苦的年代中,年輕學子總是有無止盡的熱情。但如果是因為前者的技術能力所以需要我,我卻真正憂心在台灣這個產業是不是往前走的太慢了。

 

 

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s