OpenCV 4.5.3(日本語機械翻訳)
公開型 | 公開メンバ関数 | 静的公開メンバ関数 | 公開変数類 | 全メンバ一覧
cv::HOGDescriptor 構造体

Implementation of HOG (Histogram of Oriented Gradients) descriptor and object detector. [詳解]

#include <objdetect.hpp>

公開型

enum HistogramNormType { L2Hys = 0 }
enum { DEFAULT_NLEVELS = 64 }
enum DescriptorStorageFormat { DESCR_FORMAT_COL_BY_COL , DESCR_FORMAT_ROW_BY_ROW }

公開メンバ関数

CV_WRAP HOGDescriptor ()
デフォルトのパラメータで,HOG記述子と検出器を作成します.[【詳解】(英語]
CV_WRAP 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)
CV_WRAP HOGDescriptor (const String &filename)
HOGDescriptor (const HOGDescriptor &d)
virtual ~HOGDescriptor ()
デフォルトのデストラクタ。
CV_WRAP size_t getDescriptorSize () const
分類に必要な係数の数を返します.
CV_WRAP bool checkDetectorSize () const
検出器のサイズが記述子のサイズと等しいかどうかをチェックします.
CV_WRAP double getWinSigma () const
winSigma の値を返します.
virtual CV_WRAP void setSVMDetector (InputArray svmdetector)
線形SVM分類器の係数を設定します。[【詳解】(英語]
virtual bool read (FileNode &fn)
ファイルストレージからの読み込みHOGDescriptorファイルからのパラメータcv::FileNode.[【詳解】(英語]
virtual void write (FileStorage &fs, const String &objname) const
ファイルにHOGDescriptorパラメータをcv::FileStorage.[【詳解】(英語]
virtual CV_WRAP bool load (const String &filename, const String &objname=String())
ロードHOGDescriptor線形SVM分類器のパラメータと係数をファイルから読み込みます.[【詳解】(英語]
virtual CV_WRAP void save (const String &filename, const String &objname=String()) const
保存HOGDescriptor線形SVM分類器のパラメータと係数をファイルに保存します。[【詳解】(英語]
virtual void copyTo (HOGDescriptor &c) const
のクローンを作成します.HOGDescriptor [【詳解】(英語]
virtual CV_WRAP void compute (InputArray img, CV_OUT std::vector< float > &descriptors, Size winStride=Size(), Size padding=Size(), const std::vector< Point > &locations=std::vector< Point >()) const
与えられた画像の HOG ディスクリプタを計算します.[【詳解】(英語]
virtual CV_WRAP void detect (InputArray img, CV_OUT std::vector< Point > &foundLocations, CV_OUT std::vector< double > &weights, double hitThreshold=0, Size winStride=Size(), Size padding=Size(), const std::vector< Point > &searchLocations=std::vector< Point >()) const
マルチスケールウィンドウを利用せずに,物体検出を行います.[【詳解】(英語]
virtual void detect (InputArray img, CV_OUT std::vector< Point > &foundLocations, double hitThreshold=0, Size winStride=Size(), Size padding=Size(), const std::vector< Point > &searchLocations=std::vector< Point >()) const
マルチスケールウィンドウを利用せずに,物体検出を行います.[【詳解】(英語]
virtual CV_WRAP void detectMultiScale (InputArray img, CV_OUT std::vector< Rect > &foundLocations, CV_OUT std::vector< double > &foundWeights, double hitThreshold=0, Size winStride=Size(), Size padding=Size(), double scale=1.05, double finalThreshold=2.0, bool useMeanshiftGrouping=false) const
入力画像中の異なるサイズのオブジェクトを検出します。検出されたオブジェクトは,矩形のリストとして返されます.[【詳解】(英語]
virtual void detectMultiScale (InputArray img, CV_OUT std::vector< Rect > &foundLocations, double hitThreshold=0, Size winStride=Size(), Size padding=Size(), double scale=1.05, double finalThreshold=2.0, bool useMeanshiftGrouping=false) const
入力画像中の異なるサイズのオブジェクトを検出します。検出されたオブジェクトは,矩形のリストとして返されます.[【詳解】(英語]
virtual CV_WRAP void computeGradient (InputArray img, InputOutputArray grad, InputOutputArray angleOfs, Size paddingTL=Size(), Size paddingBR=Size()) const
グラデーションと,量子化されたグラデーションの向きを計算します.[【詳解】(英語]
virtual void detectROI (InputArray img, const std::vector< cv::Point > &locations, CV_OUT std::vector< cv::Point > &foundLocations, CV_OUT std::vector< double > &confidences, double hitThreshold=0, cv::Size winStride=Size(), cv::Size padding=Size()) const
指定したROIを評価し,各位置の信頼値を返す[【詳解】(英語]
virtual void detectMultiScaleROI (InputArray img, CV_OUT std::vector< cv::Rect > &foundLocations, std::vector< DetectionROI > &locations, double hitThreshold=0, int groupThreshold=0) const
指定したROIを評価し、各位置の信頼値を複数のスケールで返す[【詳解】(英語]
void groupRectangles (std::vector< cv::Rect > &rectList, std::vector< double > &weights, int groupThreshold, double eps) const
オブジェクト候補の長方形をグループ化します。[【詳解】(英語]

静的公開メンバ関数

static CV_WRAP std::vector< float > getDefaultPeopleDetector ()
人物検出用に学習された分類器の係数を返します(64x128 ウィンドウ用).
static CV_WRAP std::vector< float > getDaimlerPeopleDetector ()
人物検出用に学習された分類器の係数を返します(48x96 個のウィンドウ用).

公開変数類

CV_PROP Size winSize
検出ウィンドウのサイズ。ブロックサイズとブロックストライドに合わせます。デフォルト値はSize(64,128)です。
CV_PROP Size blockSize
ブロックサイズ(ピクセル単位).セルサイズに合わせます。初期値はSize(16,16)です。
CV_PROP Size blockStride
ブロックのストライド。セルサイズの倍数である必要があります。初期値は Size(8,8) です。
CV_PROP Size cellSize
セルの大きさ。初期値はSize(8,8)です。
CV_PROP int nbins
グラデーションのヒストグラムの計算に使われるビンの数.既定値は9です.
CV_PROP int derivAperture
ドキュメントなし
CV_PROP double winSigma
ガウス平滑化窓のパラメータ.
CV_PROP HOGDescriptor::HistogramNormType histogramNormType
histogramNormType
CV_PROP double L2HysThreshold
L2-Hys正規化法の縮退.
CV_PROP bool gammaCorrection
ガンマ補正の前処理を必要とするかどうかを指定するフラグ.
CV_PROP std::vector< float > svmDetector
線形SVM分類器の係数を設定します。
UMat oclSvmDetector
OpenCLが有効な場合に使用される線形SVM分類器の係数
float free_coef
ドキュメントなし
CV_PROP int nlevels
検出窓の最大増加数.初期値は64
CV_PROP bool signedGradient
符号付きグラデーションを使用するかどうかを示すフラグ

詳解

HOG(Histogram of Oriented Gradients)記述子とオブジェクト検出器の実装.

Navneet Dalal と Bill Triggs によって発表された HOG 記述子アルゴリズムである[Dalal2005]を参照してください..

便利なリンク

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

列挙型メンバ詳解

anonymous enum

anonymous enum
列挙値
デフォルト nlevels

nlevelsのデフォルト値。

HistogramNormType

列挙値
L2Hys

デフォルトのhistogramNormType.

構築子と解体子

HOGDescriptor() [1/4]

CV_WRAP cv::HOGDescriptor::HOGDescriptor ( )
inline

デフォルトのパラメータで,HOG記述子と検出器を作成します.

aqual からHOGDescriptor(サイズ(64,128), サイズ(16,16), サイズ(8,8), サイズ(8,8), 9 )

HOGDescriptor() [2/4]

CV_WRAP cv::HOGDescriptor::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
)
inline

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

引数
_winSize winSizeを指定された値で設定します。
_blockSize blockSizeを指定された値で設定します。
_blockStride blockStrideを指定された値で設定します。
_cellSize cellSizeを指定の値で設定します。
_nbins nbinsを所定の値で設定します。
_derivAperture 派生アパーチャを指定します。
_winSigma winSigmaを指定します。
_histogramNormType histogramNormTypeを指定します。
_L2HysThreshold L2HysThresholdを指定します。
_gammaCorrection gammaCorrectionを指定して設定する
_nlevels nlevels を指定された値で設定します。
_signedGradient signedGradientを指定された値で設定

HOGDescriptor() [3/4]

CV_WRAP cv::HOGDescriptor::HOGDescriptor ( const String & filename )
inline

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

引数
filename ファイル名にはHOGDescriptor線形SVM分類器のプロパティと係数を含むファイル名。

HOGDescriptor() [4/4]

cv::HOGDescriptor::HOGDescriptor ( const HOGDescriptor & d )
inline

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

引数
d 特にHOGDescriptorこれをクローンして新しいものを作成します。

関数詳解

compute()

virtual CV_WRAP void cv::HOGDescriptor::compute ( InputArray img,
CV_OUT std::vector< float > & descriptors,
Size winStride = Size(),
Size padding = Size(),
const std::vector< Point > & locations = std::vector<Point >()
) const
virtual

与えられた画像の HOG ディスクリプタを計算します.

引数
img HOG特徴量が計算される画像を含む,CV_8U型の行列.
descriptors CV_32F 型の行列.
winStride ウィンドウのストライド.ブロックストライドの倍数でなければいけません.
padding パディング
locations 点のベクトル.

computeGradient()

virtual CV_WRAP void cv::HOGDescriptor::computeGradient ( InputArray img,
InputOutputArray grad,
InputOutputArray angleOfs,
Size paddingTL = Size(),
Size paddingBR = Size()
) const
virtual

グラデーションと,量子化されたグラデーションの向きを計算します.

引数
img 行列には,計算される画像が含まれます.
grad CV_32FC2 型の行列は,計算されたグラデーションを含みます.
angleOfs CV_8UC2 型の行列には,量子化されたグラデーションの向きが入ります.
paddingTL 左上からのパディング
paddingBR 右下からのパディング

copyTo()

virtual void cv::HOGDescriptor::copyTo ( HOGDescriptor & c ) const
virtual

のクローンを作成します.HOGDescriptor

引数
c クローン化HOGDescriptor

detect() [1/2]

virtual CV_WRAP void cv::HOGDescriptor::detect ( InputArray img,
CV_OUT std::vector< Point > & foundLocations,
CV_OUT std::vector< double > & weights,
double hitThreshold = 0,
Size winStride = Size(),
Size padding = Size(),
const std::vector< Point > & searchLocations = std::vector<Point >()
) const
virtual

マルチスケールウィンドウを利用せずに,物体検出を行います.

引数
img オブジェクトが検出された画像を含む,CV_8U または CV_8UC3 型の行列.
foundLocations 検出された物体の境界の左上隅の点を各点が含む点のベクトル.
weights 検出された各オブジェクトに対する信頼度の値を格納するベクトル.
hitThreshold 特徴量とSVM分類平面との距離を表す閾値.通常,この値は0であり,検出器の係数(最後の自由係数)で指定する必要があります.しかし、自由係数が省略されている場合(これは許可されている)、ここで手動で指定することができます。
winStride ウィンドウのストライド.ブロックストライドの倍数でなければいけません.
padding パディング
searchLocations Vector of Pointには、評価されるべき要求された場所のセットが含まれます。

detect() [2/2]

virtual void cv::HOGDescriptor::detect ( InputArray img,
CV_OUT std::vector< Point > & foundLocations,
double hitThreshold = 0,
Size winStride = Size(),
Size padding = Size(),
const std::vector< Point > & searchLocations = std::vector<Point >()
) const
virtual

マルチスケールウィンドウを利用せずに,物体検出を行います.

引数
img オブジェクトが検出された画像を含む,CV_8U または CV_8UC3 型の行列.
foundLocations 検出された物体の境界の左上隅の点を各点が含む点のベクトル.
hitThreshold 特徴量とSVM分類平面との距離を表す閾値.通常,この値は0であり,検出器の係数(最後の自由係数)で指定する必要があります.しかし、自由係数が省略されている場合(これは許可されている)、ここで手動で指定することができます。
winStride ウィンドウのストライド.ブロックストライドの倍数でなければいけません.
padding パディング
searchLocations Point のベクターには、検索する場所が含まれます。

detectMultiScale() [1/2]

virtual CV_WRAP void cv::HOGDescriptor::detectMultiScale ( InputArray img,
CV_OUT std::vector< Rect > & foundLocations,
CV_OUT std::vector< double > & foundWeights,
double hitThreshold = 0,
Size winStride = Size(),
Size padding = Size(),
double scale = 1.05,
double finalThreshold = 2.0,
bool useMeanshiftGrouping = false
) const
virtual

入力画像中の異なるサイズのオブジェクトを検出します。検出されたオブジェクトは,矩形のリストとして返されます.

引数
img オブジェクトが検出された画像を含む,CV_8U または CV_8UC3 型の行列.
foundLocations Vector of rectangles (矩形のベクトル) 各矩形には検出されたオブジェクトが含まれます。
foundWeights 検出された各オブジェクトに対する信頼度の値を格納するベクトル.
hitThreshold 特徴量とSVM分類平面との距離を表す閾値.通常,この値は0であり,検出器の係数(最後の自由係数)で指定する必要があります.しかし、自由係数が省略されている場合(これは許可されている)、ここで手動で指定することができます。
winStride ウィンドウのストライド.ブロックストライドの倍数でなければいけません.
padding パディング
scale 検出ウィンドウの増加の係数
finalThreshold 最終閾値
useMeanshiftGrouping グルーピングアルゴリズムを示す

detectMultiScale() [2/2]

virtual void cv::HOGDescriptor::detectMultiScale ( InputArray img,
CV_OUT std::vector< Rect > & foundLocations,
double hitThreshold = 0,
Size winStride = Size(),
Size padding = Size(),
double scale = 1.05,
double finalThreshold = 2.0,
bool useMeanshiftGrouping = false
) const
virtual

入力画像中の異なるサイズのオブジェクトを検出します。検出されたオブジェクトは,矩形のリストとして返されます.

引数
img オブジェクトが検出された画像を含む,CV_8U または CV_8UC3 型の行列.
foundLocations Vector of rectangles (矩形のベクトル) 各矩形には検出されたオブジェクトが含まれます。
hitThreshold 特徴量とSVM分類平面との距離を表す閾値.通常,この値は0であり,検出器の係数(最後の自由係数)で指定する必要があります.しかし、自由係数が省略されている場合(これは許可されている)、ここで手動で指定することができます。
winStride ウィンドウのストライド.ブロックストライドの倍数でなければいけません.
padding パディング
scale 検出ウィンドウの増加の係数
finalThreshold 最終閾値
useMeanshiftGrouping グルーピングアルゴリズムを示す

detectMultiScaleROI()

virtual void cv::HOGDescriptor::detectMultiScaleROI ( InputArray img,
CV_OUT std::vector< cv::Rect > & foundLocations,
std::vector< DetectionROI > & locations,
double hitThreshold = 0,
int groupThreshold = 0
) const
virtual

指定したROIを評価し、各位置の信頼値を複数のスケールで返す

引数
img オブジェクトが検出された画像を含む,CV_8U または CV_8UC3 型の行列.
foundLocations Vector of rectangles (矩形のベクトル) 各矩形には検出されたオブジェクトが含まれます。
locations のベクトルDetectionROI
hitThreshold 特徴量とSVM分類平面との距離を表す閾値.通常,この値は0であり,検出器の係数(最後の自由係数)で指定する必要があります.しかし、自由係数が省略されている場合(これは許可されている)、ここで手動で指定することができます。
groupThreshold 最小限可能な矩形の数から1を引いた値。しきい値は,矩形を保持するためにグループ化された矩形で利用されます.

detectROI()

virtual void cv::HOGDescriptor::detectROI ( InputArray img,
const std::vector< cv::Point > & locations,
CV_OUT std::vector< cv::Point > & foundLocations,
CV_OUT std::vector< double > & confidences,
double hitThreshold = 0,
cv::Size winStride = Size(),
cv::Size padding = Size()
) const
virtual

指定したROIを評価し,各位置の信頼値を返す

引数
img オブジェクトが検出された画像を含む,CV_8U または CV_8UC3 型の行列.
locations 点のベクトル.
foundLocations 各Pointが検出された物体の左上の点であるPointのベクトル
confidences 信頼度
hitThreshold 特徴量とSVM分類平面との距離の閾値。通常は0であり,検出器の係数に(最後の自由係数として)指定されるべきである.しかし、自由係数が省略されている場合(これは許可されている)、ここで手動で指定することができる。
winStride winStride
padding パディング

groupRectangles()

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 矩形の辺同士の相対的な差を利用して,矩形をグループにまとめることができます.

load()

virtual CV_WRAP bool cv::HOGDescriptor::load ( const String & filename,
const String & objname = String()
)
virtual

ロードHOGDescriptor線形SVM分類器のパラメータと係数をファイルから読み込みます.

引数
filename 読み込むファイルのパス。
objname 読み込むノードの名前(オプション)(空の場合は,最初のトップレベルのノードが使用されます).

read()

virtual bool cv::HOGDescriptor::read ( FileNode & fn )
virtual

ファイルストレージからの読み込みHOGDescriptorファイルからのパラメータcv::FileNode.

引数
fn ファイルノード

save()

virtual CV_WRAP void cv::HOGDescriptor::save ( const String & filename,
const String & objname = String()
) const
virtual

保存HOGDescriptor線形SVM分類器のパラメータと係数をファイルに保存します。

引数
filename ファイル名
objname オブジェクト名

setSVMDetector()

virtual CV_WRAP void cv::HOGDescriptor::setSVMDetector ( InputArray svmdetector )
virtual

線形SVM分類器の係数を設定します。

引数
svmdetector 線形SVM分類器の係数を設定します。

write()

virtual void cv::HOGDescriptor::write ( FileStorage & fs,
const String & objname
) const
virtual

ファイルにHOGDescriptorパラメータをcv::FileStorage.

引数
fs ファイルストレージ
objname オブジェクト名

この構造体詳解は次のファイルから抽出されました: