1.圖片分類的問題定義
圖片分類定義:給定圖片做輸入,輸出圖片中所包含的物體類別;
圖1
圖像分類分為兩種:single label (單分類)和multi label(多分類);
左上圖片:single label and single instance(個體或實例);
左下:single label and multi instance;
右上:multi label and multi instance;
右下:multi label and multi/single instance
一般的圖像分類以單分類為主。
圖2
2. 圖像分類的性能評判准則
怎么評判圖片分類的准確度呢?
Top1 Accuraccy:給定一張輸入照片image,給出一種預測prediction,判斷與實際的label是否一致,如果一致,就是分類預測正確;否則的話,分類預測錯誤;然后,統計一下預測正確和預測錯誤的比例,就可以得到Top1 Accuraccy;
Top5 Accuraccy:給定一張輸入照片image,給出5種預測prediction,只要其中有一個prediction,與實際的label一樣,就仍為分類預測正確;否則的話,仍為分類預測錯誤。最后,統計一下預測正確和預測錯誤的比例,就可以得到Top1 Accuraccy;
問題: 為什么針對單個single label,給出5種預測prediction?
因為ImageNet數據集有1000個類別,一般訓練集中,一張圖片只給定一個True Label;但是,從人的角度觀測這張圖片進行預測分類的話,一般可以有多個Label,可能一張圖像分類存在歧義(比如上圖2,右下圖 multi label and multi/single instance )。
圖3
3. 經典數據集
MNIST數據集,single label的數據集,訓練集60000張,測試及10000張,類別數量10個(數字0-9),每張圖像是28*28*1大小的手寫體灰度圖;
Fashion-MNIST: 分類效果好,不清楚是算法有效(網絡訓練效果好),還是MNIST這個問題很簡單呢? 圖像大小仍是28*28*1的灰度圖;
CIFAR10/CIFAR100:彩色圖 32*32*3,類別之間嚴格無交叉;
ImageNet數據集相對上面,數量相對較大,Million級別;李飛飛教授提供的,深度學習所需訓練集的基礎。
4. 經典算法
2012年,Alxnet的出現,標志着深度學習的元年。
網絡輕量化:深度學習面臨在手機端/移動端等,計算能力不強場景下應用,較深的網絡難以在這種算力約束的情況下應用,故而網絡輕量化是一個很熱的話題,如MobileNet系列、ShuffleNet系列;
VGGNet:是比較經典的分類網絡;
Inception系列網絡:是從網絡的寬度角度優化;
ResNet/DenseNet:是從網絡的深度角度優化;
SENet是另辟蹊徑,從其他的角度考慮優化。
注:每一篇網絡的論文都推薦去讀一下,它們是后續深度學習訓練的基石。
5. 性能對比
ImageNet 10M(千萬級別)非常大的數據集;
ILSVRC: 是基於ImageNet數據集的提出的一個挑戰賽。ImageNet Large Scale Vision Recognition Challenge,大致包含幾個分類: 圖像分類(image classification 1000個類別,128萬數據集照片)、物體檢測(Object location)、物體定位(Object detection)和視頻物體檢測(video object detection) 等。
AlexNet:2012年的AlexNet在ImageNet上,圖像分類提高了>10%的百分點;
ResNet: 2015年 的ResNet,圖像分類的准確度已經超過了人類的分類水平;
圖5
6. 圖像分類與定位
圖像分類: 輸入image,給定5個預測的分類結果(class prediction),其中有一個prediction與對應的label一致,就仍為分類正確;
圖像分類與定位:輸入image,給定5對prediction,每對包含(class, box);class 是整個圖片的類別;第一,分類正確;第二,該分類正確的類別對應的box與真實標簽box的IOU大於0.5;才認為圖像分類與定位正確。
物體檢測:給定image,給出N對prediction,每對包含(class, box);該class是值框內的物體類別;物體檢測是:輸出圖像中每個物體對應的類別與box,並且每個物體分類正確,且box與真實標簽box的IOU大於某一閾值。才認為物件檢測正確。
圖 6
7. 圖片分類的粒度
1. 粗粒度圖片分類
類比跨種族,分類類別屬於差別較大的種族,比如,飛機與鳥、飛機與車等,特點:類間差異大,類內差異小;常見的如:MNIST/ImageNet/CIFAR10/CIFAR100等,都屬於粗粒度圖片分類。
2. 細粒度圖片分類
大的類別之間,差異很小的,比如:啄木鳥與鸚鵡,類間差異小,類內差異大(比如:每個類之間有不同的姿態);
3. 實例級圖片分類
同一種族,不同個體,要把他們分開,比如:人臉識別,本質上人臉識別仍然屬於圖片分類。