HOG 行人檢測 學習體會(如何製作訓練樣本)

來源:互聯網
上載者:User

轉自:http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=9146#p35176

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

如何製作訓練樣本

分析了原作者的資料集,結合網上一些資料,下面描述如何製作訓練樣本
1、如何從原始圖片產生樣本
對比INRIAPerson\INRIAPerson\Train\pos(原始圖片),INRIAPerson\train_64x128_H96\pos(產生樣本)可以發現,作者從原始圖片裁剪出一些站立的人,要求該人不被遮擋,然後對剪裁的圖片left-right reflect。以第一張圖片為例crop001001,它剪裁了2個不被遮擋的人,再加上原照片,共3張,再加左右鏡像,總共6張。

2、裁剪
 可利用基於opencv1.0的程式imageclipper,進行裁剪並儲存,它會自動組建檔案名並儲存在同一路徑下新產生的imageclipper檔案夾下。

 

3.改變圖片大小
 可以利用Acdsee軟體,Tools/open in editor,進去後到Resize選項; tools/rotate還可實現left-right reflect


 

4. 製作pos.lst列表  進入dos介面,定位到需要製作列表的圖片檔案夾下,輸入 dir /b> pos.lst,即可組建檔案列表;

 

仔細分析了cvhop.cpp中的compute函數,可以直接調用它來獲得樣本HOG,然後訓練得到檢測運算元

1.製作樣本
2.對每一張圖片調用
hog.compute(img, descriptors,Size(8,8), Size(0,0));
可以產生hog descriptors,把它儲存到檔案中
for(int j=0;j<3780;j++)
fprintf(f,"%f,",descriptors[j]);
3.利用SVM進行訓練和分類,可得到權重係數,即getDefaultPeopleDetector()函數中調用的檢測運算元detector[ ]

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.