歡迎關注個人我的微信公衆號:小紙屑算法
圖片分類是機器學習經典問題,也是深度學習聲名鵲起之做。正是2012年AlexNet在圖片分類競賽ImageNet出乎尋常的性能,使得深度學習一晚上爆紅,方有今天人工智能的井噴之勢。微信
因爲深度學習在圖片分類上極其成功,且代碼簡單,圖片分類便成爲深刻學習入門學習任務。一般幾行代碼,就能夠調起一個模型訓練。因爲太簡單,致使你們對圖片分類缺少可以總體認識。機器學習
本文擬從問題定義、圖片分類的粒度、經常使用數據集、評判標準和經典論文等角度,完整充分展示圖片分類這個經典問題,讓讀者有個完整印象。ide
圖片分類的定義以下:性能
輸入:一張圖片學習
輸出:圖片類別測試
這裏的圖片類別是指圖片內所包含物體的類別。人工智能
傳統的圖片分類中,一張圖片只包含一個類別物體的一個或多個實例。多標籤圖片分類中,一張圖片通常包含多個類別物體的一個或多個實例(如多標籤貓狗圖片分類,大部分照片不但包含貓,還同時包含狗)。3d
咱們這裏只講傳統的圖片分類。如下是幾個樣例:cdn
輸入上述圖片,正確的輸出應該是貓(圖片來自數據集ImageNet)輸入上述圖片,正確的輸出應該是類別9(圖片來自數據集MNIST)
輸入上圖,正確的輸出應該是飛機(圖片來自數據集CIFAR10)粗粒度圖片分類是指跨物種語義級別的分類,比較常見的包括如貓狗分類、ImageNet的1000個類別的分類、CIFAR10的10個類別的分類等。這樣的圖像分類,各個類別之間由於屬於不一樣的物種或大類,每每具備較大的類間方差,具備較小的類內方差。
下面是cifar10 中的10個類別的示意圖,這就是一個典型的例子。
細粒度圖像分類,相對於跨物種的圖像分類,級別更低一些。它每每是同一個大類中的子類的分類,如不一樣鳥類的分類,不一樣狗類的分類,不一樣車型的分類等。
下面是以鳥的子類間分類爲例,細粒度分類類間由於較爲類似,因此類間方差小,而類內因爲姿態、光纖等問題,類內方差大。
若是咱們要區分不一樣的個體,而不只僅是物種類或者子類,那就是一個識別問題,或者說是實例級別的圖像分類,最典型的任務就是人臉識別。
MNIST是手寫體數據集,每一張圖片是0-9個數字中的一個,圖片分辨率28x28,全部圖片均是灰度圖,所以圖片表示爲tensor是28x28x1,訓練集60000張照片,測試集10000張照片。 如下是16張MNIST中的樣本。
Fashion-MNIST的提出是爲了方便學者測試算法的有效性,由於MNIST數據集的特徵過於簡單,致使在MNIST表現好的算法,很難說是算法改進了,仍是數據集過於簡單。 Fashion-MNIST,除了類別換成了服裝和鞋子等,其餘與MNIST如出一轍,一樣分辨率28x28,一樣灰度圖,訓練集一樣60000,測試集一樣10000。基本上在MNIST測試的算法,不用任何修改,就能夠在Fashion-MNIST上測試和訓練。 如下是30張Fashion-MNIST中的樣本。
CIFAR-10數據集由10類32x32的彩色圖片組成,一共包含60000張圖片,每一類包含6000圖片。其中50000張圖片做爲訓練集,10000張圖片做爲測試集。
CIFAR-10數據集被劃分紅了5個訓練的batch和1個測試的batch,每一個batch均包含10000張圖片。測試集batch的圖片是從每一個類別中隨機挑選的1000張圖片組成的,訓練集batch以隨機的順序包含剩下的50000張圖片。不過一些訓練集batch可能出現包含某一類圖片比其餘類的圖片數量多的狀況。訓練集batch包含來自每一類的5000張圖片,一共50000張訓練圖片。
如下是數據集中的類,以及來自每一個類的10個隨機圖像:
這些類徹底相互排斥。汽車和卡車之間沒有重疊。「汽車」包括轎車,SUV,這類東西。「卡車」只包括大卡車。都不包括皮卡車。CIFAR-100數據集就像CIFAR-10,除了它有100個類,每一個類包含600個圖像。每類各有500個訓練圖像和100個測試圖像。CIFAR-100中的100個類被分紅20個超類。每一個圖像都帶有一個「精細」標籤(它所屬的類)和一個「粗糙」標籤(它所屬的超類)
ImageNet數據集自己有約1500萬張照片,2.2萬個類。基於ImageNet的大規模計算機視覺挑戰賽ISLVRC包含5個任務,圖像分類(Image Classification)、目標定位(Image Localization)、目標檢測(Object Detection)、視頻目標檢測(Video Object Detection)、場景分類。
因爲其圖像分類任務名聲太盛,致使通常提到ImageNet,一般指的就是其圖像分類子任務,這個子任務共有1000個類別,訓練集有1,281,167張照片,驗證機50,000張,測試集100,000張照片,每張圖片大小不一,均爲彩色圖片。
圖片分類的評判標準比較簡單。
對一個圖片,取機率最大值做爲預測。統計下預測正確的比率,即爲top1準確率。
對一個圖片,若是機率前五中包含正確答案,即認爲正確。再統計預測正確的比率,即爲top5準確率。
圖像分類任務是計算機視覺的基礎任務,大量的圖像分類經典算法,大幅度推進了計算機視覺的發展。下圖是各個經典算法的時間軸,圖中都給出了各個經典模型的提出時間點。
上圖看起來有點亂,把相同系列的模型放在一塊兒,從新整理以下圖:
這裏只列出經典算法,後面我會逐一講解這些經典論文。另外,也建議各位每篇都親自閱讀(除了LeNet),很是經典。
本文從問題定義、圖片分類的粒度、經常使用數據集、評判標準和經典論文等多個角度完整展現了圖片分類這個經典的計算機視覺任務。我相信,一個完整的認識,能讓你們更好的開始學習深度學習。