1. 程式人生 > >opencv_traincascade.exe用到的引數及解釋

opencv_traincascade.exe用到的引數及解釋


opencv_traincascade.exe的引數列表及解釋,下面的所有引數都是在命令列中opencv_traincascade.exe後面使用的引數,共20個引數,引數按在原始檔中儲存的位置分類

一、訓練時儲存在變數中的引數(9個引數)

  • -data
    • 訓練的分類器的儲存目錄
  • -vec
    • 正樣本檔案,由open_createsamples.exe生成,正樣本檔案字尾名為.vec
  • -bg
    • 負樣本說明檔案,主要包含負樣本檔案所在的目錄及負樣本檔名
  • -numPos
    • 每級分類器訓練時所用到的正樣本數目,應小於vec檔案中正樣本的數目,具體數目限制條件為:numPos+(numStages-1)*numPos*(1-minHitRate)<=vec檔案中正樣本的數目
  • -numNeg
    • 每級分類器訓練時所用到的負樣本數目,可以大於-bg指定的圖片數目
  • -numStages
    • 訓練分類器的級數,強分類器的個數
  • -precalcValBufSize
    • 快取大小,用於儲存預先計算的特徵值,單位MB
  • -precalcIdxBufSize
    • 快取大小,用於儲存預先計算的特徵索引,單位MB
  • -baseFormatSave
    • 僅在使用Haar特徵時有效,如果指定,級聯分類器將以老格式儲存

二、儲存在引數類中的引數()

1、儲存CvCascadeParams的物件中的引數(4個引數)

-stageType
     級聯型別,目前只能取BOOST
-featureType
     訓練使用的特徵型別,目前支援的特徵有Haar,LBP和HOG
-w
     訓練的正樣本的寬度,Haar特徵的w和h一般為20,LBP特徵的w和h一般為24,HOG特徵的w和h一般為64
-h
     訓練的正樣本的高

2、儲存在CvCascadeBoostParams的物件中的引數(6個引數)

-bt
     訓練分類器採用的Adaboost型別,Adaboost分為Getle Adaboost,Real Adaboost,Discrete Adaboost,Logit Adaboost,訓練中預設採用Getle Adaboost
-minHitRate
     影響每個強分類器閾值,每一級分類器最小命中率,表示每一級強分類器對正樣本的的分類準確率
-maxFalseAlarm
     最大虛警率,影響弱分類器的閾值,表示每個弱分類器將負樣本誤分為正樣本的比例,一般預設值為0.5
-weightTrimRate
     0-1之間的閾值,影響參與訓練的樣本,樣本權重更新排序後(從小到大),從前面累計權重小於(1-weightTrimRate)的樣本將不參與下一次訓練,一般預設值為0.95
-maxDepth
     每一個弱分類器決策樹的深度,預設是1,是二叉樹(stumps),只使用一個特徵。
-maxWeakCount
     每級強分類器中弱分類器的最大個數,當FA降不到指定的maxFalseAlarm時可以通過指定最大弱分類器個數停止單個強分類器

3、儲存在CvFeatureParams物件中的引數(1個引數)

Haar特徵,CvHaarFeatureParams繼承於CvFeatureParams
    -mode 
       值為BASIC、CORE、ALL三種,根據值不同採用不同的Haar特徵,BASIC是基本的Haar特徵,CORE是所有的上下Haar特徵,ALL是使用所有的Haar特徵
LBP特徵,CvLBPFeatureParams繼承於CvFeatureParams
      無引數
HOG特徵,CvHOGFeatureParams繼承於CvFeatureParams
       無引數


引數截圖:
引數截圖