opencv_haartraining.exe 分類器訓練----命令執行,執行項學習(1)


本文是在樣本處理完成情況下,進行分類器訓練。關於分類器訓練網上有很多講解,但是對於初學者還是有一定難度,這可能與個人學習筆記的習慣有關。對此我講我學習的總結下來以圖像方式展示給大家。

執行命令:opencv_haartraining.exe -data xml -vec pos.vec -bg neg.txt -nstages 10 -nsplits 1 -npos 35 -nneg 100 -mem 1280 -mode all -w 30 -h 30

命令講解:opencv_haartraining.exe   這是一個opencv自帶的可執行函數,用於實現對分類器的訓練。直接在doc下用命令執行即可,存放路徑一般為:   

                                                    ..\opencv\build\x86\vc11\bin(一般我們用的是win32位環境下的運行程序(參考:                                      

                                                                                                                                           http://www.cnblogs.com/linmengran/p/5898303.html),

                                                    因此在opencv環境配置時就只加入了x86的bin路徑,因此在這里選取x86下的opencv_haartraining.exe )。這里我為了找路徑方便與

                                                    樣本文件放在同一目錄下這樣可以找到 很容易調取 mlx文件夾,和pos.vec、neg.txt,也可以直接調用。

              -data xml        存儲訓練時的生成的文件。最終生成一個.xml文件,如下圖:

 

                                    xml文件夾內容:

 

              -vec pos.vec    調用.vec文件,與neg.txt放在同一目錄下。

              -bg neg.txt     負樣本生成文件,可以理解成是負樣本的索引。

              -nstages 10     訓練級數

              -nsplits 1         2表示弱分類器二叉決策樹的分裂數   1表示使用簡單stump 分類(只有一個樹樁)

              -npos 35          正樣本數量

              -nneg 100        負樣本數量

              -mem 1280      訓練時內存預留的空間1280MB

              -mode all          級聯器的類型,all代表所有類型

              -w 30               圖片的寬30像素,必須與之前一致

              -h 30               圖片的高30像素,必須與之前一致

執行結果如下:

訓練結果:

運用其訓練的結果測試了一下:

 

但是效果不是很穩定,有時會變得不准確,這與分類器的樣本和測試方式,以及測試代碼有關,目前修改中,以后附上測試代碼。

其他參考命令:

  1. "  -data <dir_name>\n"  
  2. "  -vec <vec_file_name>\n"  
  3. "  -bg <background_file_name>\n"  
  4. "  [-bg-vecfile]\n"  
  5. "  [-npos <number_of_positive_samples = %d>]\n"  
  6. "  [-nneg <number_of_negative_samples = %d>]\n"  
  7. "  [-nstages <number_of_stages = %d>]\n"  
  8. "  [-nsplits <number_of_splits = %d>]\n"  
  9. "  [-mem <memory_in_MB = %d>]\n"  
  10. "  [-sym (default)] [-nonsym]\n"  
  11. "  [-minhitrate <min_hit_rate = %f>]\n"  
  12. "  [-maxfalsealarm <max_false_alarm_rate = %f>]\n"  
  13. "  [-weighttrimming <weight_trimming = %f>]\n"  
  14. "  [-eqw]\n"  
  15. "  [-mode <BASIC (default) | CORE | ALL>]\n"  
  16. "  [-w <sample_width = %d>]\n"  
  17. "  [-h <sample_height = %d>]\n"  
  18. "  [-bt <DAB | RAB | LB | GAB (default)>]\n"  
  19. "  [-err <misclass (default) | gini | entropy>]\n"  
  20. "  [-maxtreesplits <max_number_of_splits_in_tree_cascade = %d>]\n"  
  21. "  [-minpos <min_number_of_positive_samples_per_cluster = %d>]\n"  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM