資工研究所-碩零修課心得 (圖形識別 / 電腦視覺 / 影像編修技術與特效合成)

紀錄108年第二學期在交通大學資工研究所的修課心得,順便種樹讓有緣者乘涼

許振揚 Jhen-Yung Hsu
7 min readJan 9, 2021
交通大學校園

Preface

大家好我是 Yung,分享並記錄我在交通大學研究所的修課,供同儕參考。

因為我推甄提早半年入學交通大學研究所,而提早入學的碩士生有時候會被稱為碩零,目的是為了跟碩一區分開來;所以我研究生活及修課是從108下學期(約109/02~109/07)開始的,這學期修了三堂課分別是圖像識別(Pattern Recognition)、電腦視覺(Computer Vision)、影像編修技術與特效合成(Image Manipulation Techniques and Visual Effects, IMVFX);這學期剛好事逢COVID-19,因此3堂課到後面都變遠端授課或有實體上課錄影,變成完全不用去上課的一學期哈哈。

Pattern Recognition (圖形識別, Lecturer : 王才沛)

  • 修課年度:Spring Semester, 2020
  • 授課內容:個人感覺跟傳統的Machine Learning教的東西非常相近和重疊;Bayesian classifiers、Multi-layer perceptrons、Support Vector Machine、Linear discriminant analysis、Principle component analysis、Clustering algorithms, and so on.
  • 授課方式:投影片講解(英文授課)
  • 評分方式:作業*3 + 期中作業 * 1 + 期中/末考
  • 其他:個人覺得教的東西跟機器學習太過重疊,若對已經對機器學習有了解的話會很輕鬆(可能也不太需要修),老師英文講得算聽得懂,分數給的還不錯,我最後是90初。

作業內容:

使用語言:Matlab, python, or C++(任選其一),並且每個作業都是自選3個以上Datasets做實驗並撰寫報告

作業一. 傳統Classifier跟Evaluation — 實作3種Classifier分別是Bayesian classifier、Naïve-Bayes classifier、任一種Linear Classifier(不能用現成套件,如Scikit-learn);實作Evaluation module,能算Confusion Matrix、ROC/AUC curves for two-class datasets(不能用現成套件)。

期中作業. SVM相關 — 使用libSVM,嘗試不同SVM中2個Kernal — linear and radial-basis (Gaussian)、畫出其2-D的Decision Boundary,一樣自選Datasets做實驗、報告。

作業二. 降維相關 — (不能用現成套件)實作 Fisher’s linear discriminant/Linear Discriminant Analysis(FLD/LDA)、Principal component analysis (PCA),利用實作好的PCA做Eigenface and classification。

作業三. Cluster Algorithms相關(兩個Track選其一) — Track 1. Hierarchical Agglomeration (single/average/complete-link) and DBSCAN. Track 2. The c-means family: HCM, FCM, and PCM;對應的Track會要求不同的實驗。

點此連至授課大綱

Computer Vision (電腦視覺, Lecturer : 邱維辰)

  • 修課年度:Spring Semester, 2020
  • 授課內容:傳統Computer Vision + 一點Deep Learning
  • 授課方式:投影片講解(英文授課),以前開課都是實體授課(這學期因COVID-19變全遠端授課)
  • 評分方式:作業*5 + 期末考;作業都是3人一組
  • 其他:老師感覺人很好很有趣,英文口條都不錯,上課從Camera Model > Filter > Image Frequency > Image pyramids > Edges detection > Feature point(經典的SIFT等) > Stereo > Optical Flow > Machine Deep Learning/Deep Deep Learning等,因為我之前大學沒上過CV的課,透過課程+作業有不少收穫,修完課對電腦視覺基礎的認識,對CV有興趣沒修過相關課程的很推薦!Udacity上面也有一門Computer Vision (課程講義連結)跟這堂課87%像。

作業內容

作業一. Camera Calibration(簡單來說是從3-D世界座標系換到2-D影像座標系的過程,也就是求最終的投影矩陣的過程),基本上是上Camera和Object間3D、2D的轉換,算出 intrinsic matrix和extrinsic matrix。作業一只要求出這兩個矩陣就好,而現實世界內部、外部矩陣最基本的應用就是從 2D 影像去重建 3D 世界的樣貌,也就是可以從畫面中的點去推得 3D 世界中的座標。這個作業比較抽象不好解釋阿~

作業二. 1.Hybrid image 2. Image pyramid 3.Colorizing the Russian Empire

作業三. Automatic Panoramic Image Stitching,這作業挺有趣的,有興趣能參考我寫過的這篇Python從頭實作自動全景圖拼接(Automatic Panoramic Image Stitching from Scratch)

作業四. Structure from Motion(SfM),這作業好難O口O

作業五. Tiny images representation/nearest neighbor classifier/Bag of SIFT representation/linear SVM classifier混合服用來預測圖像類別(Classification)

點此連至授課大綱

Image Manipulation Techniques and Visual Effects, IMVFX (影像編修技術與特效合成, Lecturer : 林奕成)

  • 修課年度:Spring Semester, 2020
  • 授課內容:涵蓋範圍有電腦視覺+影像處理+Deep Learning(CNN+GAN)
  • 授課方式:投影片授課
  • 評分方式:作業*2 + 期末Project
  • 其他:老師人很好,授課範圍基本上就是影像相關的處理,有相關背景上課就很輕鬆,作業也不難只有2個+期末專題(整堂課適中偏甜),這堂課作業也分數不錯最後拿到90初。

作業內容

作業一. 使用Bayesian Matting做Image matting,

作業二. 用Generative Adversarial Network(GAN) 做人臉生成

期末Project. 自選題目,題目可大可小,主要方向是Deep Learning+影像相關方面,可以是把不同影像工具結合起來做成有趣的玩具,或是實作上課相關的Paper等等,想不到題目也能跟老師討論,題目可大可小。

點此連至授課大綱

--

--

許振揚 Jhen-Yung Hsu

I am a student in Taiwan, majoring in CSIE @software engineer