什么是圖像分類(lèi)确封?
圖像分類(lèi)的核心任務(wù)是從預(yù)定義的一類(lèi)圖像中為圖像分配標(biāo)簽礁阁。分析輸入圖像并返回標(biāo)簽對(duì)圖像進(jìn)行分類(lèi)勾习。標(biāo)簽始終來(lái)自一組預(yù)定義的可能類(lèi)別。
比如預(yù)定義的標(biāo)簽為:
categories = {cat, dog, panda}
分類(lèi)系統(tǒng)還可以通過(guò)概率為圖像分配多個(gè)標(biāo)簽矾瘾。比如狗:95%;貓:4%;熊貓:1%女轿。更重要的是,W×H像素輸入圖像有三個(gè)通道壕翩,Red蛉迹,Green和Blue,分析W×H×3 = N像素圖像放妈,并弄清楚如何正確分類(lèi)圖像的內(nèi)容北救。
在圖像分類(lèi)中荐操,我們的數(shù)據(jù)集是圖像的集合。因此珍策,每個(gè)圖像都是數(shù)據(jù)點(diǎn)托启。
左邊貓,右邊狗攘宙,電腦看到的是像素矩陣屯耸。實(shí)際上,計(jì)算機(jī)并不知道圖像中有動(dòng)物模聋。
上圖可描述如下:
?空間:天空位于圖像的頂部肩民,沙/海洋位于底部。
?顏色:天空是深藍(lán)色链方,海水淺藍(lán)色,而沙子則是
棕褐色灶搜。
?紋理:天空具有相對(duì)均勻的圖案祟蚀,而沙子非常粗糙。
需要應(yīng)用特征提取來(lái)量化圖像的內(nèi)容割卖。特征提取是獲取輸入圖像前酿,應(yīng)用算法和獲得特征向量的過(guò)程∨羲荩可使用HOG罢维,LBP或其他傳統(tǒng)圖像量化方法。也可應(yīng)用深度學(xué)習(xí)來(lái)自動(dòng)學(xué)習(xí)丙挽。
- 視角:方向/旋轉(zhuǎn)等
- 大小
- 變形
- 遮擋
- 照明
- 背景
- 類(lèi)內(nèi)變異
對(duì)內(nèi)容做出假設(shè):圖像以及容忍的變化肺孵。最終目標(biāo)是什么?我們想要建立什么颜阐?
如果采用過(guò)于廣泛的方法平窘,例如“我想對(duì)廚房的每個(gè)對(duì)象進(jìn)行分類(lèi)和檢測(cè),除非你有多年構(gòu)建圖像分類(lèi)器的經(jīng)驗(yàn)凳怨,否則不太可能表現(xiàn)良好瑰艘。但是,如果你構(gòu)建問(wèn)題并使其范圍縮小肤舞,例如“我想要識(shí)別只是爐子和冰箱“紫新,那么你的系統(tǒng)更可能是準(zhǔn)確和有效。盡管深度學(xué)習(xí)和卷積神經(jīng)網(wǎng)絡(luò)強(qiáng)大李剖,你仍然應(yīng)該盡可能地保持項(xiàng)目的范圍芒率。ImageNet的圖像分類(lèi)的事實(shí)標(biāo)準(zhǔn)的基準(zhǔn)數(shù)據(jù)集:計(jì)算算法由我們?cè)谌粘I钪杏龅降?,000個(gè)對(duì)象組成。
學(xué)習(xí)類(lèi)型
常見(jiàn)的監(jiān)督學(xué)習(xí)算法包括邏輯回歸(Logistic Regression)杖爽,支持向量機(jī)(SVM Support Vector Machine)隨機(jī)森林(Random Forest)和人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network)敲董。
無(wú)監(jiān)督學(xué)習(xí)(有時(shí)稱(chēng)為自學(xué)式學(xué)習(xí))沒(méi)有與輸入數(shù)據(jù)相關(guān)聯(lián)的標(biāo)簽紫皇,因此我們無(wú)法更正我們的模型預(yù)測(cè)。
用于無(wú)監(jiān)督學(xué)習(xí)的經(jīng)典機(jī)器學(xué)習(xí)算法包括主成分分析(PCA Principle Component Analysis)和k均值聚類(lèi)( k-means clustering)腋寨。對(duì)于神經(jīng)網(wǎng)絡(luò)聪铺,還有自動(dòng)編碼器(Autoencoders),自組織映射(Self-Organizing Map: SOM)和自適應(yīng)共振理論(Adaptive Resonance Theory)萄窜。
半監(jiān)督學(xué)習(xí)算法將采用已知的數(shù)據(jù)铃剔,分析它們,并嘗試標(biāo)記每個(gè)未標(biāo)記的數(shù)據(jù)點(diǎn)查刻。半監(jiān)督學(xué)習(xí)在計(jì)算機(jī)視覺(jué)中特別有用键兜,我們根本沒(méi)有時(shí)間或資源來(lái)標(biāo)記每個(gè)個(gè)人形象。方法有標(biāo)簽傳播(label spreading)穗泵,標(biāo)簽累積(label propagation)普气,梯形網(wǎng)絡(luò)(ladder network)和共同學(xué)習(xí)/共同培訓(xùn)(co-learning/co-training)。
深度學(xué)習(xí)的流程
思維方式的轉(zhuǎn)變
0,1,1,2,3,5,8,13,21,34 ......
當(dāng)然佃延,我們也可以使用(在極其未經(jīng)優(yōu)化的)Python函數(shù)中定義此模式
遞歸:
>>> def fib(n):
... if n == 0:
... return 0
... elif n == 1:
... return 1
... else:
... return fib(n-1) + fib(n-2)
...
>>> fib(7)
13
>>> fib(13)
233
>>> fib(35
深度學(xué)習(xí)和圖像分類(lèi)沒(méi)有定義函數(shù)這么簡(jiǎn)單现诀。沒(méi)有確定的規(guī)則,而是采用數(shù)據(jù)驅(qū)動(dòng)的方法歸類(lèi)履肃。
每個(gè)類(lèi)別看起來(lái)像然后教我們的算法識(shí)別之間的差異
訓(xùn)練數(shù)據(jù)集包括:
1.圖像
2.圖像的標(biāo)簽/類(lèi)別(即狗仔沿,貓,熊貓等)
- 步驟#1:收集數(shù)據(jù)集
圖像本身以及與每個(gè)圖像相關(guān)聯(lián)的標(biāo)簽尺棋。例如:categories = dog封锉,cat,panda膘螟。此外成福,每個(gè)類(lèi)別的圖像數(shù)量應(yīng)大致相同(即每個(gè)類(lèi)別的相同數(shù)量的例子)。
- 步驟2:拆分?jǐn)?shù)據(jù)集
現(xiàn)在我們有了初始數(shù)據(jù)集萍鲸,我們需要將它分成兩部分:
1.訓(xùn)練集
2.測(cè)試集
神經(jīng)網(wǎng)絡(luò)有需要調(diào)整闷叉,例如,學(xué)習(xí)率脊阴,衰減握侧,正則化等,稱(chēng)為超參數(shù)嘿期。注意訓(xùn)練集品擎、調(diào)整超參數(shù)的驗(yàn)證集和測(cè)試集一定要嚴(yán)格分開(kāi)。
- 步驟3:訓(xùn)練您的網(wǎng)絡(luò)
網(wǎng)絡(luò)了解如何識(shí)別標(biāo)記數(shù)據(jù)中的每個(gè)類(lèi)別备徐。當(dāng)模型出錯(cuò)時(shí)萄传,如何從這個(gè)錯(cuò)誤中學(xué)習(xí)并改進(jìn)自己。一般來(lái)說(shuō),我們應(yīng)用一種梯度下降的方法秀菱。
- 步驟#4:評(píng)估測(cè)試
除了正確性(ground-truth標(biāo)簽)振诬,還有聚合報(bào)告,如精度衍菱,recall和f-measure赶么,用于量化整個(gè)網(wǎng)絡(luò)的性能。
在傳統(tǒng)的脊串,基于特征的圖像分類(lèi)方法中辫呻,在步驟#2和步驟#3之間有特征提取。采用HOG琼锋、LBP等算法放闺,基于我們想要編碼的圖像的特定分量(即形狀、顏色缕坎、紋理)量化圖像的內(nèi)容怖侦,然后繼續(xù)訓(xùn)練我們的分類(lèi)器并對(duì)其進(jìn)行評(píng)估。
在構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)時(shí)念赶,我們實(shí)際上可以跳過(guò)特征提取础钠。這是因?yàn)镃NN是端到端的模型。但訓(xùn)練CNN是非常重要的過(guò)程叉谜。
參考資料
- 討論qq群144081101 591302926 567351477 釘釘免費(fèi)群21745728
- 本文最新版本地址
- 本文涉及的python測(cè)試開(kāi)發(fā)庫(kù) 謝謝點(diǎn)贊!
- 本文相關(guān)海量書(shū)籍下載