關(guān)鍵詞:Object Detection介汹、Regional Proposal、R-CNN
Object Detection 與Regression的區(qū)別
每一張圖片中的對(duì)象的數(shù)量是不一定的,可能有X個(gè)笨腥,那么輸出就是 X * 4 個(gè)數(shù)字些举。
在機(jī)器學(xué)習(xí)中刨摩,分類和回歸是解決所有問題的兩種思路。所以O(shè)bject Detection不是Regression世吨,所以嘗試下分類澡刹。
在圖片中畫出一個(gè)個(gè)的區(qū)域,然后輸入到CNN的分類器中去進(jìn)行識(shí)別就可以解決Object Detection的問題了耘婚。
問題是:怎么控制這個(gè)框畫多大呢罢浇?
最直接的答案:不控制,隨機(jī)嘗試沐祷,畫框后嚷闭,把框中的數(shù)據(jù)輸入到分類器中,進(jìn)行分類赖临。
也就引出另一個(gè)問題:如果使用CNN去畫如此多數(shù)量的框(Localization),然后去分辨框中事物的類別(Classification)胞锰,計(jì)算成本太高?
Solution:縮小檢索范圍兢榨。
Region Proposals
方案描述:在圖片中找到一些整體相似的結(jié)構(gòu)嗅榕,然后輸出所有可能存在目標(biāo)對(duì)象的區(qū)域,最后進(jìn)行分類色乾。運(yùn)行的速度很快誊册,因?yàn)樗魂P(guān)心框中是什么對(duì)象,只是有可能是一個(gè)對(duì)象暖璧,就框出來案怯。
在Region Proposal中,Selective search是很有名的一個(gè)算法:
它從像素入手澎办,將顏色或者紋理相近的像素進(jìn)行合并嘲碱,然后不斷合并范圍,然后在這個(gè)過程中局蚀,不斷進(jìn)行畫框麦锯。減少了無意義的Localization。
Region Proposals算法排名
講師說他一般使用EdgeBoxes琅绅,因?yàn)檫\(yùn)算速度很快扶欣,一張圖片,大概0.3s千扶,Selective Search大概需要10s
R-CNN Region Based CNN
1. 用regional proposal的某個(gè)算法料祠,從圖片中畫出N個(gè)可能包含對(duì)象的框
2. 把這些框裁剪成同樣大小
3. 使用CNN進(jìn)行特征學(xué)習(xí)
4. 使用SVM進(jìn)行分類(如果目標(biāo)只有一個(gè)類:貓,那么用一個(gè)二分類的SVM就可以澎羞,如果是多類髓绽,可以用多分類的SVM,或者對(duì)每一個(gè)目標(biāo)妆绞,訓(xùn)練一個(gè)二分類的SVM)
5. 這里還有一個(gè)Bbox reg:其實(shí)是一個(gè)線性回歸模型顺呕,主要是對(duì)裁剪出來的圖片進(jìn)行微調(diào)的枫攀,見訓(xùn)練步驟Step5.
R-CNN的實(shí)際訓(xùn)練步驟
具體可見下圖,以下為個(gè)人語言描述:
1. 現(xiàn)在一個(gè)預(yù)訓(xùn)練好的分類模型(如株茶,基于ImageNet的来涨,因?yàn)樗?000個(gè)類別)
2. 將最后一個(gè)全連接層(分類器)刪除掉,然后新增自己的FC層忌卤,進(jìn)行初始化扫夜。
3. 將Regional Proposal框中的所有特征都存儲(chǔ)起來(問題:太耗存儲(chǔ))
4. 對(duì)于這些存儲(chǔ)好的特征,使用SVM進(jìn)行訓(xùn)練(正例:是貓驰徊,反例:不是貓)
5. Regional Proposal截取的特征不一定是完美的笤闯,所以使用一個(gè)線性回歸算法,對(duì)于第三步中存儲(chǔ)的特征進(jìn)行調(diào)整棍厂,使用“correction factor”使這些特征颗味,更能凸顯我們的訓(xùn)練目標(biāo)。
注:PPT有一點(diǎn)問題牺弹,倒數(shù)第二章圖片的標(biāo)記錯(cuò)誤