OpenCV 4.5.3(日本語機械翻訳)
モジュール | クラス | 型定義 | 列挙型 | 関数 | 変数
Deep Neural Network module

モジュール

Partial List of Implemented Layers
Utilities for New Layers Registration

クラス

struct cv::dnn::DictValue
この構造体は, double, cv::String, int64 のいずれかのスカラ値(または配列)を格納します.[【詳解】(英語]
class cv::dnn::Dict
このクラスは,名前-値辞書を実装しており,値は以下のインスタンスです。DictValue.[【詳解】(英語]
class cv::dnn::LayerParams
このクラスは、レイヤの初期化に必要なすべてのデータを提供します。[【詳解】(英語]
class cv::dnn::BackendNode
このクラスの派生クラスは、特定のバックエンドの機能をカプセル化します。[【詳解】(英語]
class cv::dnn::BackendWrapper
このクラスの派生品はcv::Matこのクラスの派生は、異なるバックエンドやターゲットのために[【詳解】(英語]
class cv::dnn::Layer
このインターフェースクラスは、ネットワークの構成要素であるレイヤーを新たに構築することができます。[【詳解】(英語]
class cv::dnn::Net
このクラスでは、包括的な人工ニューラルネットワークを作成し、操作することができます。[【詳解】(英語]
class cv::dnn::Model
このクラスは,ニューラルネットワークの高レベルAPIです.[【詳解】(英語]
class cv::dnn::ClassificationModel
このクラスは、分類モデルの高レベルAPIを表します。[【詳解】(英語]
class cv::dnn::KeypointsModel
このクラスは,キーポイントモデルに対する高レベルの API を表します.[【詳解】(英語]
class cv::dnn::SegmentationModel
このクラスは,セグメンテーションモデルの高レベルな API を表します.[【詳解】(英語]
class cv::dnn::DetectionModel
このクラスは,物体検出ネットワークの高レベルAPIを表します.[【詳解】(英語]
class cv::dnn::TextRecognitionModel
このクラスは、テキスト認識ネットワークの高レベルAPIを表します。[【詳解】(英語]
class cv::dnn::TextDetectionModel
テキスト検出ネットワークのベースクラス[【詳解】(英語]
class cv::dnn::TextDetectionModel_EAST
このクラスは,EASTモデルに対応したテキスト検出DLネットワークの高レベルAPIを表しています。[【詳解】(英語]
class cv::dnn::TextDetectionModel_DB
このクラスは、DBモデルと互換性のあるテキスト検出DLネットワークのための高レベルAPIを表します。[【詳解】(英語]

型定義

typedef std::vector< int > cv::dnn::MatShape

列挙型

enum cv::dnn::Backend {
cv::dnn::DNN_BACKEND_DEFAULT = 0 , DNN_BACKEND_HALIDE , cv::dnn::DNN_BACKEND_INFERENCE_ENGINE , DNN_BACKEND_OPENCV ,
DNN_BACKEND_VKCOM , DNN_BACKEND_CUDA
}
レイヤーがサポートする計算バックエンドの列挙。[【詳解】(英語]
enum cv::dnn::Target {
DNN_TARGET_CPU = 0 , DNN_TARGET_OPENCL , DNN_TARGET_OPENCL_FP16 , DNN_TARGET_MYRIAD ,
DNN_TARGET_VULKAN , cv::dnn::DNN_TARGET_FPGA , DNN_TARGET_CUDA , DNN_TARGET_CUDA_FP16 ,
DNN_TARGET_HDDL
}
計算対象となるデバイスの列挙[【詳解】(英語]

関数

CV_EXPORTS std::vector< std::pair< Backend, Target > > cv::dnn::getAvailableBackends ()
CV_EXPORTS_W std::vector< Target > cv::dnn::getAvailableTargets (dnn::Backend be)
CV_EXPORTS void cv::dnn::enableModelDiagnostics (bool isDiagnosticsMode)
CV DNN API による DNN モデルの読み込みの詳細なロギングを有効にします.[【詳解】(英語]
CV_EXPORTS_W Net cv::dnn::readNetFromDarknet (const String &cfgFile, const String &darknetModel=String())
に格納されているネットワークモデルを読み込みます。ダークネットモデルファイルのパスです。[【詳解】(英語]
CV_EXPORTS_W Net cv::dnn::readNetFromDarknet (const std::vector< uchar > &bufferCfg, const std::vector< uchar > &bufferModel=std::vector< uchar >())
に格納されているネットワークモデルを読み込みます。ダークネットモデルファイルのパスです。[【詳解】(英語]
CV_EXPORTS Net cv::dnn::readNetFromDarknet (const char *bufferCfg, size_t lenCfg, const char *bufferModel=NULL, size_t lenModel=0)
に格納されているネットワークモデルを読み込みます。ダークネットモデルファイルのパスです。[【詳解】(英語]
CV_EXPORTS_W Net cv::dnn::readNetFromCaffe (const String &prototxt, const String &caffeModel=String())
に格納されているネットワークモデルを読み込みます。Caffeフレームワークのフォーマットで保存されたネットワークモデルを読み込みます。[【詳解】(英語]
CV_EXPORTS_W Net cv::dnn::readNetFromCaffe (const std::vector< uchar > &bufferProto, const std::vector< uchar > &bufferModel=std::vector< uchar >())
メモリ上のCaffeモデルに格納されたネットワークモデルを読み込みます。[【詳解】(英語]
CV_EXPORTS Net cv::dnn::readNetFromCaffe (const char *bufferProto, size_t lenProto, const char *bufferModel=NULL, size_t lenModel=0)
メモリ上のCaffeモデルに格納されたネットワークモデルを読み込みます。[【詳解】(英語]
CV_EXPORTS_W Net cv::dnn::readNetFromTensorflow (const String &model, const String &config=String())
に格納されているネットワークモデルを読み込みます。TensorFlowフレームワークのフォーマットで保存されたネットワークモデルを読み込みます。[【詳解】(英語]
CV_EXPORTS_W Net cv::dnn::readNetFromTensorflow (const std::vector< uchar > &bufferModel, const std::vector< uchar > &bufferConfig=std::vector< uchar >())
に格納されているネットワークモデルを読み込みます。TensorFlowフレームワークのフォーマットで保存されたネットワークモデルを読み込みます。[【詳解】(英語]
CV_EXPORTS Net cv::dnn::readNetFromTensorflow (const char *bufferModel, size_t lenModel, const char *bufferConfig=NULL, size_t lenConfig=0)
に格納されているネットワークモデルを読み込みます。TensorFlowフレームワークのフォーマットで保存されたネットワークモデルを読み込みます。[【詳解】(英語]
CV_EXPORTS_W Net cv::dnn::readNetFromTorch (const String &model, bool isBinary=true, bool evaluate=true)
に格納されているネットワークモデルを読み込みます。トーチ7フレームワークのフォーマットで保存されたネットワークモデルを読み込みます。[【詳解】(英語]
CV_EXPORTS_W Net cv::dnn::readNet (const String &model, const String &config="", const String &framework="")
サポートされているフォーマットのいずれかで表現された深層学習ネットワークを読み込みます。[【詳解】(英語]
CV_EXPORTS_W Net cv::dnn::readNet (const String &framework, const std::vector< uchar > &bufferModel, const std::vector< uchar > &bufferConfig=std::vector< uchar >())
サポートされているフォーマットのいずれかで表現された深層学習ネットワークを読み込みます。[【詳解】(英語]
CV_EXPORTS_W Mat cv::dnn::readTorchBlob (const String &filename, bool isBinary=true)
Torch7 フレームワークの torch.Tensor オブジェクトとしてシリアル化された blob を読み込みます。[【詳解】(英語]
CV_EXPORTS_W Net cv::dnn::readNetFromModelOptimizer (const String &xml, const String &bin)
IntelのOptimizerの中間表現からネットワークを読み込みます。Modelオプティマイザーの中間表現からネットワークを読み込みます。[【詳解】(英語]
CV_EXPORTS_W Net cv::dnn::readNetFromModelOptimizer (const std::vector< uchar > &bufferModelConfig, const std::vector< uchar > &bufferWeights)
IntelのOptimizerの中間表現からネットワークを読み込みます。Modelオプティマイザーの中間表現からネットワークを読み込みます。[【詳解】(英語]
CV_EXPORTS Net cv::dnn::readNetFromModelOptimizer (const uchar *bufferModelConfigPtr, size_t bufferModelConfigSize, const uchar *bufferWeightsPtr, size_t bufferWeightsSize)
IntelのOptimizerの中間表現からネットワークを読み込みます。Modelオプティマイザーの中間表現からネットワークを読み込みます。[【詳解】(英語]
CV_EXPORTS_W Net cv::dnn::readNetFromONNX (const String &onnxFile)
ネットワークモデルの読み込みONNX.[【詳解】(英語]
CV_EXPORTS Net cv::dnn::readNetFromONNX (const char *buffer, size_t sizeBuffer)
からネットワークモデルを読み込みます。ONNXインメモリバッファからネットワークモデルを読み込みます。[【詳解】(英語]
CV_EXPORTS_W Net cv::dnn::readNetFromONNX (const std::vector< uchar > &buffer)
からネットワークモデルを読み込みます。ONNXインメモリバッファからネットワークモデルを読み込みます。[【詳解】(英語]
CV_EXPORTS_W Mat cv::dnn::readTensorFromONNX (const String &path)
.pbファイルからblobを作成します。[【詳解】(英語]
CV_EXPORTS_W Mat cv::dnn::blobFromImage (InputArray image, double scalefactor=1.0, const Size &size=Size(), const Scalar &mean=Scalar(), bool swapRB=false, bool crop=false, int ddepth=CV_32F)
画像から4次元のブロブを作成します。オプションでサイズ変更とクロップimage中心からのリサイズ、クロップ、値の減算mean値の減算,値のスケーリングscalefactor青と赤のチャンネルを入れ替えます。[【詳解】(英語]
CV_EXPORTS void cv::dnn::blobFromImage (InputArray image, OutputArray blob, double scalefactor=1.0, const Size &size=Size(), const Scalar &mean=Scalar(), bool swapRB=false, bool crop=false, int ddepth=CV_32F)
画像から4次元のblobを作成します。[【詳解】(英語]
CV_EXPORTS_W Mat cv::dnn::blobFromImages (InputArrayOfArrays images, double scalefactor=1.0, Size size=Size(), const Scalar &mean=Scalar(), bool swapRB=false, bool crop=false, int ddepth=CV_32F)
一連の画像から 4 次元の blob を作成します。オプションで、サイズ変更と切り抜きを行います。images中心からのリサイズ、クロップ、値の減算mean値の減算,値のスケーリングscalefactor青と赤のチャンネルを入れ替えます。[【詳解】(英語]
CV_EXPORTS void cv::dnn::blobFromImages (InputArrayOfArrays images, OutputArray blob, double scalefactor=1.0, Size size=Size(), const Scalar &mean=Scalar(), bool swapRB=false, bool crop=false, int ddepth=CV_32F)
一連の画像から4次元のblobを作成します。[【詳解】(英語]
CV_EXPORTS_W void cv::dnn::imagesFromBlob (const cv::Mat &blob_, OutputArrayOfArrays images_)
4次元blobを解析し,それに含まれる画像を,より単純なデータ構造(std::vector<cv::Mat>)を介して2次元配列として出力します.[【詳解】(英語]
CV_EXPORTS_W void cv::dnn::shrinkCaffeModel (const String &src, const String &dst, const std::vector< String > &layersTypes=std::vector< String >())
Caffe ネットワークのすべての重みを半精度浮動小数点に変換します。[【詳解】(英語]
CV_EXPORTS_W void cv::dnn::writeTextGraph (const String &model, const String &output)
プロトコルバッファ形式で保存されたバイナリネットワークのテキスト表現を作成します。[【詳解】(英語]
CV_EXPORTS void cv::dnn::NMSBoxes (const std::vector< Rect > &bboxes, const std::vector< float > &scores, const float score_threshold, const float nms_threshold, CV_OUT std::vector< int > &indices, const float eta=1.f, const int top_k=0)
与えられたボックスと,それに対応するスコアを用いて,非最大級の抑制を行います.[【詳解】(英語]
CV_EXPORTS_W void cv::dnn::NMSBoxes (const std::vector< Rect2d > &bboxes, const std::vector< float > &scores, const float score_threshold, const float nms_threshold, CV_OUT std::vector< int > &indices, const float eta=1.f, const int top_k=0)

変数

class CV_EXPORTS cv::dnn::ActivationLayer

詳解

This module contains:

Functionality of this module is designed only for forward pass computations (i.e. network testing). A network training is in principle not supported.

列挙型詳解

Backend

レイヤーがサポートする計算バックエンドの列挙。

参照
Net::setPreferableBackend
列挙値
DNN_BACKEND_DEFAULT

DNN_BACKEND_DEFAULT は,OpenCV が Intel's Inference Engine ライブラリと共に構築されている場合は DNN_BACKEND_INFERENCE_ENGINE に,そうでない場合は DNN_BACKEND_OPENCV になります.

dnn_backend_inference_engine(バックエンド推論エンジン

インテルの推論エンジンの計算バックエンド

参照
setInferenceEngineBackendType

Target

計算対象となるデバイスの列挙

参照
Net::setPreferableTarget
列挙値
DNN_TARGET_FPGA

Inference Engine の Heterogeneous プラグインを使用した CPU フォールバック付きの FPGA デバイス。

関数詳解

blobFromImage() [1/2]

CV_EXPORTS_W Mat cv::dnn::blobFromImage ( InputArray image,
double scalefactor = 1.0,
const Size & size = Size(),
const Scalar & mean = Scalar(),
bool swapRB = false,
bool crop = false,
int ddepth = CV_32F
)

画像から4次元のブロブを作成します。オプションでサイズ変更とクロップimage中心からのリサイズ、クロップ、値の減算mean値の減算,値のスケーリングscalefactor青と赤のチャンネルを入れ替えます。

引数
image 入力画像(1,3,4チャンネル).
size 出力画像の空間サイズ
mean チャンネルから減算される平均値を持つスカラー.の場合,値は (mean-R, mean-G, mean-B) の順になるように意図されています.imageがBGR順でありswapRBが真であれば
scalefactor の乗数image値の乗数.
swapRB 3チャンネル画像の最初と最後のチャンネルを入れ替える必要があることを示すフラグ.
crop リサイズ後に画像をクロップするかどうかを示すフラグ.
ddepth 出力されるblobの深さ.CV_32F または CV_8U を選択します.

もしcropが真の場合,入力画像はリサイズされ,リサイズ後の片側が対応する次元と等しくなり,もう片側が同等以上になります.sizeの対応する寸法と等しくなり,もう片方の寸法は同等かそれ以上になります.そして,中央からの切り出しが行われます.もしcropが偽の場合,アスペクト比を維持したままクロップを行わない直接のリサイズが行われます.

戻り値
4次元MatNCHWの次元順で作成します。

blobFromImage() [2/2]

CV_EXPORTS void cv::dnn::blobFromImage ( InputArray image,
OutputArray blob,
double scalefactor = 1.0,
const Size & size = Size(),
const Scalar & mean = Scalar(),
bool swapRB = false,
bool crop = false,
int ddepth = CV_32F
)

画像から4次元のblobを作成します。

これはオーバーロードされたメンバー関数で、利便性のために提供されています。上記の関数との違いは、どのような引数を受け取るかだけです。

blobFromImages() [1/2]

CV_EXPORTS_W Mat cv::dnn::blobFromImages ( InputArrayOfArrays images,
double scalefactor = 1.0,
Size size = Size(),
const Scalar & mean = Scalar(),
bool swapRB = false,
bool crop = false,
int ddepth = CV_32F
)

一連の画像から 4 次元の blob を作成します。オプションで、サイズ変更と切り抜きを行います。images中心からのリサイズ、クロップ、値の減算mean値の減算,値のスケーリングscalefactor青と赤のチャンネルを入れ替えます。

引数
images 入力画像(1,3,4チャンネル)をリサイズ,クロップします.
size 出力画像の空間サイズ
mean チャンネルから減算される平均値を持つスカラー.の場合,値は (mean-R, mean-G, mean-B) の順になるように意図されています.imageがBGR順でありswapRBが真であれば
scalefactor の乗数images値の乗数.
swapRB 3チャンネル画像の最初と最後のチャンネルを入れ替える必要があることを示すフラグ.
crop リサイズ後に画像をクロップするかどうかを示すフラグ.
ddepth 出力されるblobの深さ.CV_32F または CV_8U を選択します.

もしcropが真の場合,入力画像はリサイズされ,リサイズ後の片側が対応する次元と等しくなり,もう片側が同等以上になります.sizeの対応する寸法と等しくなり,もう片方の寸法は同等かそれ以上になります.そして,中央からの切り出しが行われます.もしcropが偽の場合,アスペクト比を維持したままクロップを行わない直接のリサイズが行われます.

戻り値
4次元MatNCHWの次元順で作成します。

blobFromImages() [2/2]

CV_EXPORTS void cv::dnn::blobFromImages ( InputArrayOfArrays images,
OutputArray blob,
double scalefactor = 1.0,
Size size = Size(),
const Scalar & mean = Scalar(),
bool swapRB = false,
bool crop = false,
int ddepth = CV_32F
)

一連の画像から4次元のblobを作成します。

これはオーバーロードされたメンバー関数で、利便性のために提供されています。上記の関数との違いは、どのような引数を受け取るかだけです。

enableModelDiagnostics()

CV_EXPORTS void cv::dnn::enableModelDiagnostics ( bool isDiagnosticsMode )

CV DNN API による DNN モデルの読み込みの詳細なロギングを有効にします.

引数
[in]. isDiagnosticsMode 診断モードを設定するかどうかを示します.

診断モードでは,モデルの読み込み段階の詳細なロギングを行い,潜在的な問題(例:実装されていないレイヤタイプ)を調査します.

覚え書き
診断モードでは,一連のアサーションがスキップされ,予想されるアプリケーションのクラッシュにつながる可能性があります.

imagesFromBlob()

CV_EXPORTS_W void cv::dnn::imagesFromBlob ( const cv::Mat & blob_,
OutputArrayOfArrays images_
)

4次元blobを解析し,それに含まれる画像を,より単純なデータ構造(std::vector<cv::Mat>)を介して2次元配列として出力します.

引数
[in]. blob_ 画像を抽出したい4次元配列(images, channels, height, width),浮動小数点精度(CV_32F).
[out]. images_ 2次元の配列Matblobから抽出された画像を含む,浮動小数点精度(CV_32F)の2次元配列.これらの画像は,平均値を加えずに正規化されていません.返される画像の数は,blobの1次元(バッチサイズ)に等しくなります.すべての画像は,blobの2番目の次元(depth)に等しいチャンネル数を持ちます.

NMSBoxes()

CV_EXPORTS void cv::dnn::NMSBoxes ( const std::vector< Rect > & bboxes,
const std::vector< float > & scores,
const float score_threshold,
const float nms_threshold,
CV_OUT std::vector< int > & indices,
const float eta = 1.f,
const int top_k = 0
)

与えられたボックスと,それに対応するスコアを用いて,非最大級の抑制を行います.

引数
bboxes NMSを適用するためのバウンディングボックスのセット.
scores 対応するコンフィデンスのセット
score_threshold スコアによるボックスのフィルタリングに使用される閾値
nms_threshold 非最大級の抑制に使用される閾値
indices NMS後のbboxesの保持インデックス
eta 適応性のある閾値式の係数.$nms\_threshold_{i+1}=eta\cdot nms\_threshold_i$.
top_k もし>0最大でtop_kピックされたインデックス.

readNet() [1/2]

CV_EXPORTS_W Net cv::dnn::readNet ( const String & framework,
const std::vector< uchar > & bufferModel,
const std::vector< uchar > & bufferConfig = std::vector< uchar >()
)

サポートされているフォーマットのいずれかで表現された深層学習ネットワークを読み込みます。

これはオーバーロードされたメンバー関数で、利便性のために提供されています。上記の関数との違いは、どのような引数を受け取るかだけです。

引数
[in]. framework オリジンフレームワークの名前。
[in]. bufferModel 重みが書かれたバイナリファイルの内容を持つバッファ
[in]. bufferConfig テキストファイルの内容を持つバッファには、ネットワークの設定が格納されています。
戻り値
Netオブジェクトを作成します。

readNet() [2/2]

CV_EXPORTS_W Net cv::dnn::readNet ( const String & model,
const String & config = "",
const String & framework = ""
)

サポートされているフォーマットのいずれかで表現された深層学習ネットワークを読み込みます。

引数
[in]. model バイナリファイルには学習済みの重みが格納されています。異なるフレームワークのモデルでは,次のようなファイル拡張子が想定されます。
[in]. config ネットワーク設定を含むテキストファイルです。以下のような拡張子のファイルになります。
[in]. framework 明示的なフレームワーク名タグでフォーマットを決定します。
戻り値
Netオブジェクトを作成します。

readNetFromCaffe, readNetFromTensorflow, readNetFromTorch, readNetFromDarknetなど、学習したモデルのオリジンフレームワークを自動的に検出し、適切な関数を呼び出します。順序としてはmodelおよびconfig引数の順番は関係ありません。

readNetFromCaffe() [1/3]

CV_EXPORTS Net cv::dnn::readNetFromCaffe ( const char * bufferProto,
size_t lenProto,
const char * bufferModel = NULL,
size_t lenModel = 0
)

メモリ上のCaffeモデルに格納されたネットワークモデルを読み込みます。

これはオーバーロードされたメンバー関数で、利便性のために提供されています。上記の関数との違いは、どのような引数を受け取るかだけです。

引数
bufferProto .prototxt ファイルの内容を含むバッファ
lenProto バッファProtoの長さ
bufferModel .caffemodel ファイルの内容を含むバッファ
lenModel bufferModel の長さ
戻り値
Netオブジェクトを作成します。

readNetFromCaffe() [2/3]

CV_EXPORTS_W Net cv::dnn::readNetFromCaffe ( const std::vector< uchar > & bufferProto,
const std::vector< uchar > & bufferModel = std::vector< uchar >()
)

メモリ上のCaffeモデルに格納されたネットワークモデルを読み込みます。

引数
bufferProto .prototxt ファイルの内容を含むバッファ
bufferModel .caffemodel ファイルの内容を含むバッファ
戻り値
Netオブジェクトを作成します。

readNetFromCaffe() [3/3]

CV_EXPORTS_W Net cv::dnn::readNetFromCaffe ( const String & prototxt,
const String & caffeModel = String()
)

に格納されているネットワークモデルを読み込みます。Caffeフレームワークのフォーマットで保存されたネットワークモデルを読み込みます。

引数
prototxt ネットワークアーキテクチャのテキスト記述がある .prototxt ファイルへのパス。
caffeModel ネットワークを学習した .caffemodel ファイルへのパス。
戻り値
Netオブジェクトを作成します。

readNetFromDarknet() [1/3]

CV_EXPORTS Net cv::dnn::readNetFromDarknet ( const char * bufferCfg,
size_t lenCfg,
const char * bufferModel = NULL,
size_t lenModel = 0
)

に格納されているネットワークモデルを読み込みます。ダークネットモデルファイルのパスです。

引数
bufferCfg バッファには、ネットワークアーキテクチャをテキストで記述した .cfg ファイルの内容が含まれています。
lenCfg bufferCfg から読み込まれるバイト数
bufferModel バッファには学習したネットワークを含む .weights ファイルのコンテンツが格納されます。
lenModel bufferModel から読み込まれるバイト数
戻り値
Netオブジェクトを作成します。

readNetFromDarknet() [2/3]

CV_EXPORTS_W Net cv::dnn::readNetFromDarknet ( const std::vector< uchar > & bufferCfg,
const std::vector< uchar > & bufferModel = std::vector< uchar >()
)

に格納されているネットワークモデルを読み込みます。ダークネットモデルファイルのパスです。

引数
bufferCfg バッファには、ネットワークアーキテクチャをテキストで記述した .cfg ファイルの内容が含まれています。
bufferModel バッファには学習したネットワークを含む .weights ファイルのコンテンツが格納されます。
戻り値
Netオブジェクトを作成します。

readNetFromDarknet() [3/3]

CV_EXPORTS_W Net cv::dnn::readNetFromDarknet ( const String & cfgFile,
const String & darknetModel = String()
)

に格納されているネットワークモデルを読み込みます。ダークネットモデルファイルのパスです。

引数
cfgFile ネットワークアーキテクチャがテキストで記述された .cfg ファイルへのパス。
darknetModel 学習したネットワークを含む .weights ファイルへのパス。
戻り値
失敗した場合は例外が発生します。
Netオブジェクトを作成します。

readNetFromModelOptimizer() [1/3]

CV_EXPORTS_W Net cv::dnn::readNetFromModelOptimizer ( const std::vector< uchar > & bufferModelConfig,
const std::vector< uchar > & bufferWeights
)

IntelのOptimizerの中間表現からネットワークを読み込みます。Modelオプティマイザーの中間表現からネットワークを読み込みます。

引数
[in]. bufferModelConfig バッファには、ネットワークのトポロジーを含む XML 設定が格納されています。
[in]. bufferWeights バッファには学習された重みのバイナリデータが格納されています。
戻り値
Netオブジェクトを作成します。インテルのオプティマイザーからインポートされたネットワークModelオプティマイザーからインポートされたネットワークは、インテルの Inference Engine バックエンドで起動します。

readNetFromModelOptimizer() [2/3]

CV_EXPORTS_W Net cv::dnn::readNetFromModelOptimizer ( const String & xml,
const String & bin
)

IntelのOptimizerの中間表現からネットワークを読み込みます。Modelオプティマイザーの中間表現からネットワークを読み込みます。

引数
[in]. xml ネットワークのトポロジーが記述されたXML設定ファイル
[in]. bin 学習された重みを持つバイナリファイルです。
戻り値
Netオブジェクトを作成します。インテルのオプティマイザーからインポートされたネットワークModelオプティマイザーからインポートされたネットワークは、インテルの Inference Engine バックエンドで起動します。

readNetFromModelOptimizer() [3/3]

CV_EXPORTS Net cv::dnn::readNetFromModelOptimizer ( const uchar * bufferModelConfigPtr,
size_t bufferModelConfigSize,
const uchar * bufferWeightsPtr,
size_t bufferWeightsSize
)

IntelのOptimizerの中間表現からネットワークを読み込みます。Modelオプティマイザーの中間表現からネットワークを読み込みます。

引数
[in]. bufferModelConfigPtr ネットワークのトポロジーを含む XML 設定を含むバッファへのポインタ。
[in]. bufferModelConfigSize XML 構成データのバイナリサイズ。
[in]. bufferWeightsPtr 学習済みウェイトのバイナリデータを格納したバッファへのポインタです。
[in]. bufferWeightsSize 学習済み重みデータのバイナリサイズ
戻り値
Netオブジェクトを作成します。インテルのオプティマイザーからインポートされたネットワークModelオプティマイザーからインポートされたネットワークは、インテルの Inference Engine バックエンドで起動します。

readNetFromONNX() [1/3]

CV_EXPORTS Net cv::dnn::readNetFromONNX ( const char * buffer,
size_t sizeBuffer
)

からネットワークモデルを読み込みます。ONNXインメモリバッファからネットワークモデルを読み込みます。

引数
buffer バッファの1バイト目のメモリアドレス。
sizeBuffer バッファのサイズ。
戻り値
失敗した場合は例外が発生します。

readNetFromONNX() [2/3]

CV_EXPORTS_W Net cv::dnn::readNetFromONNX ( const std::vector< uchar > & buffer )

からネットワークモデルを読み込みます。ONNXインメモリバッファからネットワークモデルを読み込みます。

引数
buffer ONNXのモデルバイトを格納するメモリ内バッファ。
戻り値
失敗した場合は例外が発生します。

readNetFromONNX() [3/3]

CV_EXPORTS_W Net cv::dnn::readNetFromONNX ( const String & onnxFile )

ネットワークモデルの読み込みONNX.

引数
onnxFile ネットワークアーキテクチャをテキストで記述した.onnxファイルへのパス。
戻り値
失敗した場合は例外が発生します。

readNetFromTensorflow() [1/3]

CV_EXPORTS Net cv::dnn::readNetFromTensorflow ( const char * bufferModel,
size_t lenModel,
const char * bufferConfig = NULL,
size_t lenConfig = 0
)

に格納されているネットワークモデルを読み込みます。TensorFlowフレームワークのフォーマットで保存されたネットワークモデルを読み込みます。

これはオーバーロードされたメンバー関数で、利便性のために提供されています。上記の関数との違いは、どのような引数を受け取るかだけです。

引数
bufferModel pbファイルの内容を含むバッファ
lenModel bufferModel の長さ
bufferConfig pbtxtファイルの内容を格納するバッファ
lenConfig bufferConfigの長さ

readNetFromTensorflow() [2/3]

CV_EXPORTS_W Net cv::dnn::readNetFromTensorflow ( const std::vector< uchar > & bufferModel,
const std::vector< uchar > & bufferConfig = std::vector< uchar >()
)

に格納されているネットワークモデルを読み込みます。TensorFlowフレームワークのフォーマットで保存されたネットワークモデルを読み込みます。

引数
bufferModel pbファイルの内容を含むバッファ
bufferConfig pbtxtファイルの内容を格納するバッファ
戻り値
Netオブジェクトを作成します。

readNetFromTensorflow() [3/3]

CV_EXPORTS_W Net cv::dnn::readNetFromTensorflow ( const String & model,
const String & config = String()
)

に格納されているネットワークモデルを読み込みます。TensorFlowフレームワークのフォーマットで保存されたネットワークモデルを読み込みます。

引数
model ネットワーク・アーキテクチャのバイナリ・プロトブフの記述がある.pbファイルへのパス
config protobuf形式のテキストグラフ定義を含む.pbtxtファイルへのパス。結果Netオブジェクトは、バイナリグラフの重みを利用したテキストグラフで構築されており、より柔軟性の高いものとなっています。
戻り値
Netオブジェクトを作成します。

readNetFromTorch()

CV_EXPORTS_W Net cv::dnn::readNetFromTorch ( const String & model,
bool isBinary = true,
bool evaluate = true
)

に格納されているネットワークモデルを読み込みます。トーチ7フレームワークのフォーマットで保存されたネットワークモデルを読み込みます。

引数
model torch.save()関数を使ってTorchからダンプされたファイルへのパス。
isBinary ネットワークがアスキーモードでシリアル化されたか、バイナリモードでシリアル化されたかを指定します。
evaluate は、ネットワークのテスト段階を指定します。trueの場合は、Torchのevaluate()メソッドに似ています。
戻り値
Netオブジェクトを作成します。
覚え書き
Torchのシリアライザのアスキー・モードはより好ましいものです。longバイナリモードでは、C言語のビット長がシステムによって異なるため、アスキーモードの方が好ましいです。

ロードファイルには、シリアル化されたnn.Moduleオブジェクトが含まれていなければなりません。インポート時のエラーを避けるため、シリアル化されたデータからカスタムオブジェクトを取り除くようにしてください。

サポートされているレイヤのリスト(Torch nn.Moduleクラスから派生したオブジェクト・インスタンス)。

  • nn.シーケンシャル
  • nn.パラレル
  • nn.コンカット
  • nn.リニア
  • nn.SpatialConvolution(空間コンボリューション
  • nn.SpatialMaxPooling, nn.SpatialAveragePooling
  • nn.ReLU, nn.TanH, nn.Sigmoid
  • nn.リシェープ
  • nn.ソフトマックス、nn.ログソフトマックス

また、cunn、cudnn、fbcunnのこれらのクラスに相当するものも正常にインポートされる場合があります。

readTensorFromONNX()

CV_EXPORTS_W Mat cv::dnn::readTensorFromONNX ( const String & path )

.pbファイルからblobを作成します。

引数
path 入力テンソルで.pbファイルを作成します。
戻り値
Mat.

readTorchBlob()

CV_EXPORTS_W Mat cv::dnn::readTorchBlob ( const String & filename,
bool isBinary = true
)

Torch7 フレームワークの torch.Tensor オブジェクトとしてシリアル化された blob を読み込みます。

警告
この関数には、以下と同じ制限があります。readNetFromTorch().

shrinkCaffeModel()

CV_EXPORTS_W void cv::dnn::shrinkCaffeModel ( const String & src,
const String & dst,
const std::vector< String > & layersTypes = std::vector< String >()
)

Caffe ネットワークのすべての重みを半精度浮動小数点に変換します。

引数
src Caffe フレームワークからの原点モデルへのパスには、単精度浮動小数点の重みが含まれています(通常、拡張子は.caffemodel拡張がある)。
dst 更新された重みを持つ宛先モデルへのパス。
layersTypes パラメータが変換されるレイヤータイプのセット。デフォルトでは、Convolutional および Fully-Connected レイヤーのウェイトのみを変換します。
覚え書き
縮小されたモデルには元の float32 重みがないため、元の Caffe フレームワークでは使用できません。ただし、データの構造はNVidiaのCaffeフォークから取得しています。https://github.com/NVIDIA/caffe. そのため、結果のモデルはそこで使用することができます。

writeTextGraph()

CV_EXPORTS_W void cv::dnn::writeTextGraph ( const String & model,
const String & output
)

プロトコルバッファ形式で保存されたバイナリネットワークのテキスト表現を作成します。

引数
[in]. model バイナリネットワークへのパス。
[in]. output 作成される出力テキストファイルへのパス。
覚え書き
出力ファイルのサイズを小さくするため,学習済みの重みは含まれません.