![]() |
OpenCV 4.13.0
Open Source Computer Vision
|
HOG(Histogram of Oriented Gradients)記述子および物体検出器の実装。 続き...
#include <opencv2/objdetect.hpp>
公開型 | |
| enum | { DEFAULT_NLEVELS = 64 } |
| enum | DescriptorStorageFormat { DESCR_FORMAT_COL_BY_COL , DESCR_FORMAT_ROW_BY_ROW } |
| enum | HistogramNormType { L2Hys = 0 } |
公開メンバ関数 | |
| HOGDescriptor () | |
| デフォルト引数でHOG記述子・検出器を生成する。 | |
| HOGDescriptor (const HOGDescriptor &d) | |
| HOGDescriptor (const String &filename) | |
| HOGDescriptor (Size _winSize, Size _blockSize, Size _blockStride, Size _cellSize, int _nbins, int _derivAperture=1, double _winSigma=-1, HOGDescriptor::HistogramNormType _histogramNormType=HOGDescriptor::L2Hys, double _L2HysThreshold=0.2, bool _gammaCorrection=false, int _nlevels=HOGDescriptor::DEFAULT_NLEVELS, bool _signedGradient=false) | |
| virtual | ~HOGDescriptor () |
| デフォルトのデストラクタ。 | |
| bool | checkDetectorSize () const |
| 検出器のサイズが記述子のサイズと等しいかを確認する。 | |
| virtual void | compute (InputArray img, std::vector< float > &descriptors, Size winStride=Size(), Size padding=Size(), const std::vector< Point > &locations=std::vector< Point >()) const |
| 指定した画像のHOG記述子を計算する。 | |
| virtual void | computeGradient (InputArray img, InputOutputArray grad, InputOutputArray angleOfs, Size paddingTL=Size(), Size paddingBR=Size()) const |
| 勾配と量子化された勾配方向を計算する。 | |
| virtual void | copyTo (HOGDescriptor &c) const |
| HOGDescriptor を複製する。 | |
| virtual void | detect (InputArray img, std::vector< Point > &foundLocations, double hitThreshold=0, Size winStride=Size(), Size padding=Size(), const std::vector< Point > &searchLocations=std::vector< Point >()) const |
| マルチスケールウィンドウを使わずに物体検出を行う。 | |
| virtual void | detect (InputArray img, std::vector< Point > &foundLocations, std::vector< double > &weights, double hitThreshold=0, Size winStride=Size(), Size padding=Size(), const std::vector< Point > &searchLocations=std::vector< Point >()) const |
| マルチスケールウィンドウを使わずに物体検出を行う。 | |
| virtual void | detectMultiScale (InputArray img, std::vector< Rect > &foundLocations, double hitThreshold=0, Size winStride=Size(), Size padding=Size(), double scale=1.05, double groupThreshold=2.0, bool useMeanshiftGrouping=false) const |
| 入力画像中の様々なサイズの物体を検出する。検出された物体は矩形のリストとして返される。 | |
| virtual void | detectMultiScale (InputArray img, std::vector< Rect > &foundLocations, std::vector< double > &foundWeights, double hitThreshold=0, Size winStride=Size(), Size padding=Size(), double scale=1.05, double groupThreshold=2.0, bool useMeanshiftGrouping=false) const |
| 入力画像中の様々なサイズの物体を検出する。検出された物体は矩形のリストとして返される。 | |
| virtual void | detectMultiScaleROI (InputArray img, std::vector< cv::Rect > &foundLocations, std::vector< DetectionROI > &locations, double hitThreshold=0, int groupThreshold=0) const |
| 指定したROIを複数スケールで評価し、各位置の信頼度値を返す。 | |
| virtual void | detectROI (InputArray img, const std::vector< cv::Point > &locations, std::vector< cv::Point > &foundLocations, std::vector< double > &confidences, double hitThreshold=0, cv::Size winStride=Size(), cv::Size padding=Size()) const |
| 指定したROIを評価し、各位置の信頼度値を返す。 | |
| size_t | getDescriptorSize () const |
| 分類に必要な係数の数を返す。 | |
| double | getWinSigma () const |
| winSigma 値を返す。 | |
| void | groupRectangles (std::vector< cv::Rect > &rectList, std::vector< double > &weights, int groupThreshold, double eps) const |
| オブジェクト候補の矩形をグループ化する。 | |
| virtual bool | load (const String &filename, const String &objname=String()) |
| HOGDescriptor の引数と線形SVM分類器の係数をファイルから読み込む。 | |
| virtual bool | read (FileNode &fn) |
| HOGDescriptor の引数と線形SVM分類器の係数をファイルノードから読み込む。 | |
| virtual void | save (const String &filename, const String &objname=String()) const |
| HOGDescriptor の引数と線形SVM分類器の係数をファイルに保存する。 | |
| virtual void | setSVMDetector (InputArray svmdetector) |
| 線形SVM分類器の係数を設定する。 | |
| virtual void | write (FileStorage &fs, const String &objname) const |
| HOGDescriptor の引数と線形SVM分類器の係数をファイルストレージに格納する。 | |
静的公開メンバ関数 | |
| static std::vector< float > | getDaimlerPeopleDetector () |
| 人物検出用に学習された分類器の係数を返す(48x96のウィンドウ用)。 | |
| static std::vector< float > | getDefaultPeopleDetector () |
| 人物検出用に学習された分類器の係数を返す(64x128のウィンドウ用)。 | |
公開変数類 | |
| Size | blockSize |
| ブロックサイズ(ピクセル単位)。セルサイズに合わせる。デフォルト値は Size(16,16)。 | |
| Size | blockStride |
| ブロックのストライド。セルサイズの倍数でなければならない。デフォルト値は Size(8,8)。 | |
| Size | cellSize |
| セルサイズ。デフォルト値は Size(8,8)。 | |
| int | derivAperture |
| ドキュメント化されていない | |
| float | free_coef |
| ドキュメント化されていない | |
| bool | gammaCorrection |
| ガンマ補正の前処理を行うかどうかを指定するフラグ。 | |
| HOGDescriptor::HistogramNormType | histogramNormType |
| histogramNormType | |
| double | L2HysThreshold |
| L2-Hys正規化手法の縮小(shrinkage)。 | |
| int | nbins |
| 勾配ヒストグラムの計算に用いるビン数。デフォルト値は9。 | |
| int | nlevels |
| 検出ウィンドウを拡大する最大回数。デフォルト値は64。 | |
| UMat | oclSvmDetector |
| OpenCLが有効な場合に使用される線形SVM分類器の係数 | |
| bool | signedGradient |
| 符号付き勾配を使用するかどうかを示す。 | |
| std::vector< float > | svmDetector |
| 線形SVM分類器の係数。 | |
| double | winSigma |
| ガウシアン平滑化ウィンドウの引数。 | |
| Size | winSize |
| 検出ウィンドウのサイズ。ブロックサイズとブロックストライドに合わせる。デフォルト値は Size(64,128)。 | |
HOG(Histogram of Oriented Gradients)記述子および物体検出器の実装。
Navneet Dalal と Bill Triggs によって導入されたHOG記述子アルゴリズム [66] 。
参考リンク:
https://hal.inria.fr/inria-00548512/document/
https://en.wikipedia.org/wiki/Histogram_of_oriented_gradients
https://software.intel.com/en-us/ipp-dev-reference-histogram-of-oriented-gradients-hog-descriptor
http://www.learnopencv.com/histogram-of-oriented-gradients
http://www.learnopencv.com/handwritten-digits-classification-an-opencv-c-python-tutorial
|
inline |
デフォルト引数でHOG記述子・検出器を生成する。
HOGDescriptor(Size(64,128), Size(16,16), Size(8,8), Size(8,8), 9 ) と等価。
|
inline |
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
| _winSize | winSize に指定した値を設定する。 |
| _blockSize | blockSize に指定した値を設定する。 |
| _blockStride | blockStride に指定した値を設定する。 |
| _cellSize | cellSize に指定した値を設定する。 |
| _nbins | nbins に指定した値を設定する。 |
| _derivAperture | derivAperture に指定した値を設定する。 |
| _winSigma | winSigma に指定した値を設定する。 |
| _histogramNormType | histogramNormType に指定した値を設定する。 |
| _L2HysThreshold | L2HysThreshold に指定した値を設定する。 |
| _gammaCorrection | gammaCorrection に指定した値を設定する。 |
| _nlevels | nlevels に指定した値を設定する。 |
| _signedGradient | signedGradient に指定した値を設定する。 |
|
inline |
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
HOG記述子・検出器を生成し、HOGDescriptor の引数と線形SVM分類器の係数をファイルから読み込む。
| filename | HOGDescriptor のプロパティおよび線形SVM分類器の係数を含むファイル名。 |
|
inline |
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
| d | 新しいものを作成するためにクローンされる HOGDescriptor。 |
|
inlinevirtual |
デフォルトのデストラクタ。
| bool cv::HOGDescriptor::checkDetectorSize | ( | ) | const |
検出器のサイズが記述子のサイズと等しいかを確認する。
|
virtual |
指定した画像のHOG記述子を計算する。
| img | HOG特徴が計算される画像を含む CV_8U 型の行列。 |
| descriptors | CV_32F 型の行列。 |
| winStride | ウィンドウのストライド。ブロックストライドの倍数でなければならない。 |
| padding | パディング |
| locations | Point のベクトル |
|
virtual |
勾配と量子化された勾配方向を計算する。
| img | 計算対象の画像を含む行列 |
| grad | 計算された勾配を含む CV_32FC2 型の行列 |
| angleOfs | 量子化された勾配方向を含む CV_8UC2 型の行列 |
| paddingTL | 左上からのパディング |
| paddingBR | 右下からのパディング |
|
virtual |
HOGDescriptor を複製する。
| c | クローンされた HOGDescriptor |
|
virtual |
マルチスケールウィンドウを使わずに物体検出を行う。
| img | オブジェクトが検出される画像を含む CV_8U または CV_8UC3 型の行列。 |
| foundLocations | 各点が検出されたオブジェクト境界の左上隅の点を含む、点のベクトル。 |
| hitThreshold | 特徴とSVM分類平面との間の距離に対するしきい値。通常は 0 であり、検出器の係数で(最後の自由係数として)指定されるべきである。ただし自由係数が(許容されているが)省略されている場合は、ここで手動で指定できる。 |
| winStride | ウィンドウのストライド。ブロックストライドの倍数でなければならない。 |
| padding | パディング |
| searchLocations | 探索する位置を含む Point のベクトル。 |
|
virtual |
マルチスケールウィンドウを使わずに物体検出を行う。
| img | オブジェクトが検出される画像を含む CV_8U または CV_8UC3 型の行列。 |
| foundLocations | 各点が検出されたオブジェクト境界の左上隅の点を含む、点のベクトル。 |
| weights | 検出された各オブジェクトの信頼度値を格納するベクトル。 |
| hitThreshold | 特徴とSVM分類平面との間の距離に対するしきい値。通常は 0 であり、検出器の係数で(最後の自由係数として)指定されるべきである。ただし自由係数が(許容されているが)省略されている場合は、ここで手動で指定できる。 |
| winStride | ウィンドウのストライド。ブロックストライドの倍数でなければならない。 |
| padding | パディング |
| searchLocations | 評価対象として要求された位置の集合を含む Point のベクトル。 |
|
virtual |
入力画像中の様々なサイズの物体を検出する。検出された物体は矩形のリストとして返される。
| img | オブジェクトが検出される画像を含む CV_8U または CV_8UC3 型の行列。 |
| foundLocations | 各矩形が検出されたオブジェクトを含む、矩形のベクトル。 |
| hitThreshold | 特徴とSVM分類平面との間の距離に対するしきい値。通常は 0 であり、検出器の係数で(最後の自由係数として)指定されるべきである。ただし自由係数が(許容されているが)省略されている場合は、ここで手動で指定できる。 |
| winStride | ウィンドウのストライド。ブロックストライドの倍数でなければならない。 |
| padding | パディング |
| scale | 検出ウィンドウの拡大係数。 |
| groupThreshold | 類似度しきい値を調整する係数。検出時に、いくつかのオブジェクトが多数の矩形で覆われることがある。0 はグルーピングを実行しないことを意味する。 |
| useMeanshiftGrouping | グルーピングアルゴリズムを指定する |
|
virtual |
入力画像中の様々なサイズの物体を検出する。検出された物体は矩形のリストとして返される。
| img | オブジェクトが検出される画像を含む CV_8U または CV_8UC3 型の行列。 |
| foundLocations | 各矩形が検出されたオブジェクトを含む、矩形のベクトル。 |
| foundWeights | 検出された各オブジェクトの信頼度値を格納するベクトル。 |
| hitThreshold | 特徴とSVM分類平面との間の距離に対するしきい値。通常は 0 であり、検出器の係数で(最後の自由係数として)指定されるべきである。ただし自由係数が(許容されているが)省略されている場合は、ここで手動で指定できる。 |
| winStride | ウィンドウのストライド。ブロックストライドの倍数でなければならない。 |
| padding | パディング |
| scale | 検出ウィンドウの拡大係数。 |
| groupThreshold | 類似度しきい値を調整する係数。検出時に、いくつかのオブジェクトが多数の矩形で覆われることがある。0 はグルーピングを実行しないことを意味する。 |
| useMeanshiftGrouping | グルーピングアルゴリズムを指定する |
|
virtual |
指定したROIを複数スケールで評価し、各位置の信頼度値を返す。
| img | オブジェクトが検出される画像を含む CV_8U または CV_8UC3 型の行列。 |
| foundLocations | 各矩形が検出されたオブジェクトを含む、矩形のベクトル。 |
| locations | DetectionROI のベクトル |
| hitThreshold | 特徴とSVM分類平面との間の距離に対するしきい値。通常は 0 であり、検出器の係数で(最後の自由係数として)指定されるべきである。ただし自由係数が(許容されているが)省略されている場合は、ここで手動で指定できる。 |
| groupThreshold | 可能な矩形の最小数から 1 を引いた値。このしきい値は矩形のグループを保持するかどうかを判定するために使用される。 |
|
virtual |
指定したROIを評価し、各位置の信頼度値を返す。
| img | オブジェクトが検出される画像を含む CV_8U または CV_8UC3 型の行列。 |
| locations | Point のベクトル |
| foundLocations | Point のベクトル。各 Point は検出された物体の左上の点を表す。 |
| confidences | confidences |
| hitThreshold | 特徴量とSVM分類平面との距離に対するしきい値。通常は0であり、検出器係数(最後の自由係数)として指定する必要がある。ただし自由係数を省略する場合(省略は許容されている)には、ここで手動で指定できる。 |
| winStride | winStride |
| padding | padding |
|
static |
人物検出用に学習された分類器の係数を返す(48x96のウィンドウ用)。
|
static |
人物検出用に学習された分類器の係数を返す(64x128のウィンドウ用)。
| size_t cv::HOGDescriptor::getDescriptorSize | ( | ) | const |
分類に必要な係数の数を返す。
| double cv::HOGDescriptor::getWinSigma | ( | ) | const |
winSigma 値を返す。
| void cv::HOGDescriptor::groupRectangles | ( | std::vector< cv::Rect > & | rectList, |
| std::vector< double > & | weights, | ||
| int | groupThreshold, | ||
| double | eps ) const |
物体候補の矩形をグループ化する。
| rectList | 矩形の入出力ベクトル。出力ベクトルには保持された矩形とグループ化された矩形が含まれる。(Pythonのリストはその場で変更されない。) |
| weights | 矩形の重みの入出力ベクトル。出力ベクトルには保持された矩形とグループ化された矩形の重みが含まれる。(Pythonのリストはその場で変更されない。) |
| groupThreshold | 可能な矩形の最小数から 1 を引いた値。このしきい値は矩形のグループを保持するかどうかを判定するために使用される。 |
| eps | 矩形をグループにまとめるための、矩形の辺どうしの相対的な差。 |
|
virtual |
HOGDescriptor の引数と線形SVM分類器の係数をファイルから読み込む。
| filename | 読み込むファイルの名前。 |
| objname | 読み込むノードの名前(省略可能)。空の場合は最初のトップレベルノードが使用される。 |
|
virtual |
HOGDescriptor の引数と線形SVM分類器の係数をファイルノードから読み込む。
| fn | ファイルノード |
|
virtual |
HOGDescriptor の引数と線形SVM分類器の係数をファイルに保存する。
| filename | ファイル名 |
| objname | オブジェクト名 |
|
virtual |
線形SVM分類器の係数を設定する。
| svmdetector | 線形SVM分類器の係数。 |
|
virtual |
HOGDescriptor の引数と線形SVM分類器の係数をファイルストレージに保存する。
| fs | ファイルストレージ |
| objname | オブジェクト名 |
| Size cv::HOGDescriptor::blockSize |
ブロックサイズ(ピクセル単位)。セルサイズに揃える。デフォルト値は Size(16,16)。
| int cv::HOGDescriptor::derivAperture |
ドキュメントなし
| float cv::HOGDescriptor::free_coef |
ドキュメントなし
| bool cv::HOGDescriptor::gammaCorrection |
ガンマ補正の前処理が必要かどうかを指定するフラグ。
| HOGDescriptor::HistogramNormType cv::HOGDescriptor::histogramNormType |
histogramNormType
| double cv::HOGDescriptor::L2HysThreshold |
L2-Hys正規化手法における縮小(shrinkage)。
| int cv::HOGDescriptor::nbins |
勾配ヒストグラムの計算に用いるビン数。デフォルト値は9。
| int cv::HOGDescriptor::nlevels |
検出ウィンドウの拡大回数の最大値。デフォルト値は64。
| UMat cv::HOGDescriptor::oclSvmDetector |
OpenCLが有効な場合に使用される線形SVM分類器の係数
| bool cv::HOGDescriptor::signedGradient |
符号付き勾配を使用するかどうかを示す。
| std::vector<float> cv::HOGDescriptor::svmDetector |
線形SVM分類器の係数。
| double cv::HOGDescriptor::winSigma |
ガウシアン平滑化ウィンドウの引数。
| Size cv::HOGDescriptor::winSize |
検出ウィンドウのサイズ。ブロックサイズおよびブロックストライドに揃える。デフォルト値は Size(64,128)。