使用Selective Search(選擇性搜索)方法對一張圖像生成約2000-3000個候選區域,基本思路以下:
(1)使用一種過度割手段,將圖像分割成小區域
(2)查看現有小區域,合併可能性最高的兩個區域,重複直到整張圖像合併成一個區域位置。優先合併如下區域:github
使用深度網絡提取特徵以前,首先把候選區域歸一化成同一尺寸227×227。
使用CNN模型進行訓練,例如AlexNet,通常會略做簡化。網絡
對每一類目標,使用一個線性SVM二類分類器進行判別。
輸入爲深度網絡(如上圖的AlexNet)輸出的4096維特徵,輸出是否屬於此類。框架
目標檢測的衡量標準是重疊面積:許多看似準確的檢測結果,每每由於候選框不夠準確,
重疊面積很小,故須要一個位置精修步驟,對於每個類,訓練一個線性迴歸模型去斷定這個框是否框得完美。學習
Fast R-CNN主要解決R-CNN的如下問題:測試
R-CNN的一張圖像內候選框之間存在大量重疊,提取特徵操做冗餘。
而Fast R-CNN將整張圖像歸一化後直接送入深度網絡,緊接着送入從這幅圖像上提取出的候選區域。
這些候選區域的前幾層特徵不須要再重複計算。.net
R-CNN中獨立的分類器和迴歸器須要大量特徵做爲訓練樣本。Fast R-CNN把類別判斷和位置精調統一用深度網絡實現,再也不須要額外存儲。code
在Faster R-CNN中加入一個提取邊緣的神經網絡,也就說找候選框的工做也交給神經網絡來作了。
這樣,目標檢測的四個基本步驟(候選區域生成,特徵提取,分類,位置精修)終於被統一到一個深度網絡框架以內。blog
Faster R-CNN能夠簡單地當作是「區域生成網絡+Fast R-CNN」的模型,用區域生成網絡(Region Proposal Network,簡稱RPN)來代替Fast R-CNN中的Selective Search(選擇性搜索)方法。圖片
RPN的工做步驟以下:
R-CNN、Fast R-CNN、Faster R-CNN一路走來,基於深度學習目標檢測的流程變得愈來愈精簡、精度愈來愈高、速度也愈來愈快。
基於region proposal(候選區域)的R-CNN系列目標檢測方法是目標檢測技術領域中的最主要分支之一。
print_r('點個贊吧'); var_dump('點個贊吧'); NSLog(@"點個贊吧!") System.out.println("點個贊吧!"); console.log("點個贊吧!"); print("點個贊吧!"); printf("點個贊吧!\n"); cout << "點個贊吧!" << endl; Console.WriteLine("點個贊吧!"); fmt.Println("點個贊吧!") Response.Write("點個贊吧"); alert(’點個贊吧’)