影像識別課程筆記
目錄
第一週
什麼是影像?
影像是由許多x,y軸座標組成。
單一個點的振幅,也可以視為光線的亮度,稱為『intensity』(強度)或『gray level』(灰階)。
1.dpi
每英吋多少像素
2.Contrast enhancement
對比強化
3.Image Sharpening
影像銳化
4.圖像分割Segmentation
圖像分割(segmentation)就是將圖片的邊緣標示出來,例如:自動駕駛汽車表示出行人身體的邊界,或者是醫學影像識別出腫瘤的邊界。
以下是維基百科的詮釋:
圖像分割的目的是簡化或改變圖像的表示形式,使得圖像更容易理解和分析。 圖像分割通常用於定位圖像中的物體和邊界(線,曲線等)。
醫療中的影像處理
1.Single-modality-based diagnose
描述出腫瘤邊界,圖像分割出病變位置。
2.Multi-modality-based diagnose
圖片轉換,例如:FFT(快速傅立葉轉換),DCT(離散餘弦轉換)
3.醫療影像中的實用技術
Image registration:
影像對位,像是把X光與超音波兩種不同影像,重疊在一起來比對不同器材的不同掃描結果。有時候也被稱為“Spatial Normalization” (SPM)
Image fusion:
將不同感測器獲得的同一場景圖像,或者同一感測器以不同工作模式或在不同成像時間下獲得的同一場景圖像,運用融合技術合併成一幅
Image Reconstruction:
影像重建
Interpolation:
內插,將圖片放大時,以某種算法來預測,中間空缺的部份。
圖像分割Segmentation
1.Otsu 大津演算法
將有不同深淺的黑白影像(灰階),轉換成只有最黑跟最白兩種顏色。
2.CCBHNC (contextual-constraint based Hopfield neural )
參見論文TENCON.1999.818634,一種二值化的方法。
邊緣偵測
偵測出一個物體,例如膝蓋的邊緣,然後轉換成類似鉛筆黑線於白紙上繪製出邊緣的效果。
1.Laplacian-based method
2.Marr-Hildreth
3.CHEFNN
參見Chuan-Yu Chang “Contextual-based Hopfield neural network for medical image edge detection,” Optical Engineering 45(3)
Spatio-temporal networks
觀察影像在時間中的變化,並切標注出變化明顯之處。
例如腫瘤隨著時間成長,這種方式可以標注出正在成長改變的腫瘤位置。
1.K-means
2.2ndPCA
3.STNN
4.Eigenimage filtering
5.SHNC
6.Spatiotemporal-Hopfield neural network
classifier分類器
用神經網路去分類出圖片哪些位置是某種腫瘤,或者是否是有腫瘤的圖片。
1.RBF neural network classifier
Pattern Recognition
模式辨別,例如找到同樣是貓的圖片中相同的影像模式
Fisher
K-Means
Fuzzy C-means Clustering
深度學習
影像辨識模型
- CNN
- YOLO
- ResNet
- Mask CNN
- VGG
- UGG
深度學習框架
- Tensorflow-Keras
- Caffe
- CNTK
- Theano
- Torch
深度學習用資料集
影像類資料集
- MNIST(手寫數字)
- EMNIST(手寫數字)
- QMNIST(手寫數字)
- USPS(手寫數字)
- KMNIST(手寫日文字)
- Fashion-MNIST(衣著)、
- LSUN(物件、場景)、
- Imagenet(物件、場景)、
- CIFAR10(物件)、
- CIFAR100(物件)、
- STL10(動物、交通)、
- SVHN(門牌數字)、
- CelebA(人臉 ID、屬性、特徵點)
其他資料集
- 物件偵測:MS COCO、VOCDetection
- 影像分割:VOCSegmentation、Cityscapes
- 標題生成:MS COCO、SBU、Flickr8k、Flickr30k
- 動作辨識:Kinetics400(影片)、HMDB51(影片)、UCF101(影片)
- 假影像資料生成:FakeData(可以給定影像大小、資料集大小和類別數)
- 其他:PhotoTour(局部影像)、SBDataset(物件邊緣)
- 通用格式:ImageFolder、DatasetFolder
資料擴增
當訓練樣本不夠時,要使用資料擴增(Data Augmentation)的方式來增加訓練樣本。
例如改變圖片的方向,旋轉,改變顏色…等等。
關於深度學習的學習資源
Dr. Alexander Hanuschkin在 Nvidia GPU 上利用 MATLAB 和 Caffe 完成的 CNN 實作
Justin Johnson 和 Andrej Karpathy 的 Stanford CS231n 課堂筆記