1. 程式人生 > >Caffe-SSD 和Faster RCNN訓練 Caltech行人資料集

Caffe-SSD 和Faster RCNN訓練 Caltech行人資料集

前言:     本教程的主要內容:         1,將Caltech行人資料集轉換成Caffe-SSD,Faster RCNN系列能夠訓練的格式(VOC資料集格式);     2,同理,可以將INRIA,ETH,TUD等資料集轉換成VOC格式。     3,Caltech資料集轉換後適用的演算法:RCNN系列(Faster RCNN,RFCN),SSD系列 Caltech資料集介紹: 該資料庫是目前規模較大的行人資料庫,採用車載攝像頭拍攝,約10個小時左右,視訊的解析度為640x480,30幀/秒。標註了約250,000幀(約137分鐘),350000個矩形框,2300個行人,另外還對矩形框之間的時間對應關係及其遮擋的情況進行標註。
資料集分為set00~set10,其中set00~set05為訓練集,set06~set10為測試集(標註資訊尚未公開)。 效能評估方法有以下三種:(1)用外部資料進行訓練,在set06~set10進行測試;(2)6-fold交叉驗證,選擇其中的5個做訓練,另外一個做測試,調整引數,最後給出訓練集上的效能;(3)用set00~set05訓練,set06~set10做測試。 由於測試集的標註資訊沒有公開,需要提交給Pitor Dollar。結果提交方法為每30幀做一個測試,將結果儲存在txt文件中(檔案的命名方式為I00029.txt I00059.txt ……),每個txt檔案中的每行表示檢測到一個行人,格式為“[left, top,width, height, score]”。如果沒有檢測到任何行人,則txt文件為空。該資料庫還提供了相應的Matlab工具包,包括視訊標註資訊的讀取、畫ROC(Receiver Operatingcharacteristic Curve)曲線圖和非極大值抑制等工具。
目的:由於基於caffe的SSD和Faster RCNN系列都是使用Pascal VOC資料集來進行的訓練,所以使用SSD和Faster RCNN系列訓練Caltech行人資料集時,必須要將Caltech 行人資料集轉化成VOC格式 工具: 環境:caffe,caffe-SSD,matlab,windows7(linux適用),python(安裝了opencv), 第二步:在%caffe-root%/data資料夾中新建caltech資料夾,將Caltech2VOC中的所有內容複製到%caffe-root%/data/caltech;這裡%caffe-root%是指本機上的caffe根目錄。
第三步:下載Caltech資料集,下載到%caffe-root%/data/caltech中。如果已經下載好的話,可以將Caltech資料集解壓到%caffe-root%/data/caltech/caltech_code/data-USA;這裡放在data/caltech只是為了方便說明,放在其他路徑時,自己修改相應路徑 第四步:執行%caffe-root%/data/caltech/caltech_code/extractDatasets.m  這時會在%caffe-root%/data/caltech資料夾下 生成trainval和test資料夾。 這裡trainval設定的是每5幀提取出1幀圖片,如果你想提取更多的訓練資料的話,可以適當修改dbInfo.m。  如下圖: dbInfo.m中的第47行程式碼,紅色框中的skip就是每隔5幀提取出1幀圖片。可以自行設定。 test資料是每30幀提取一張圖片,設定內容與官網上提交測試結果統一。
第五步:生成的trainval和test資料夾中會有images和labels資料夾,分別存放了圖片和標註資訊。其中bounding box是txt格式的,我們需要轉化成VOC的xml格式。 執行第二步複製到%caffe-root%/data/caltech中的createXml.py,其中: 以上對應了你自己的路徑資訊。第一次執行生成trainval中的annotations,第二次執行修改foldername=‘test’後,生成test中的annotations。 第六步:在沒有行人的圖片中並不生成annotation檔案,可以將沒有行人的圖片移除。這裡將原來的原來的images資料夾改名為OImages,新建一個空資料夾images。 執行第二步複製來的move_jpgto.py。即可生成我們想要的VOC格式的caltech行人資料集。 補充一些: 這裡的caltech資料集分成了trainval和test兩部分,有別於VOC格式將trainval和test放在一起。如果明白caffe製作資料的原理就明白了,這裡其實是一樣的。 後面的步驟是將VOC格式的資料集轉換成caffe使用的lmdb格式。這裡基本沒什麼難點了。 補充一句:Caltech2VOC是對P神的matlab工具集進行的修改,如果對你有幫助,記著star一下,謝謝啦。 另附一句:如果什麼疑問可以加QQ:2427020508