Deep Learning Object Detector

ライブラリ:
Computer Vision Toolbox /
Analysis & Enhancement
説明
Deep Learning Object Detector ブロックは、ブロック パラメーターで指定された学習済みオブジェクト検出器を使用して、入力イメージの境界ボックス、クラス ラベル、およびスコアを予測します。このブロックを使用すると、事前学習済みのオブジェクト検出器を MAT ファイルまたは MATLAB® 関数から Simulink® モデルに読み込むことができます。このブロックは、Simulink で検出器オブジェクトを使用するためのグラフィカル インターフェイスを提供します。Deep Learning Object Detector ブロックの一部のパラメーターを有効にするには、それらのパラメーターをサポートするオブジェクト検出器を選択しなければなりません。たとえば、このブロックで yolov2ObjectDetector
オブジェクトを使用すると、関連付けられたオブジェクト関数 detect
の名前と値の引数に類似したパラメーターを選択できます。
例
深層学習を使用した Simulink での車線検出と車両検出
この例では、Simulink® モデル内で深層畳み込みニューラル ネットワークを使用して、車線検出と車両検出を実行する方法を示します。この例では、交通量ビデオのフレームを入力として受け取り、自車の左右の車線に対応する 2 つの車線境界線を出力し、フレーム内の車両を検出します。
(Deep Learning Toolbox)
端子
入力
H×W×C の数値配列。ここで、H、W、および C は、それぞれイメージの高さ、幅、およびチャネル数です。タイム ステップごとに 1 つのイメージのみが入力として許可されます。
出力
入力イメージ内で検出されたオブジェクトの位置。M 行 4 列または M 行 5 列の行列として返されます。M は、イメージ内で検出された境界ボックスの数です。[最大検出数] パラメーターを指定することで、サイズ M に上限を設定できます。
次の表は、境界ボックスの形式について説明しています。
境界ボックス | Description |
---|---|
軸に平行な四角形 | [x y w h] 形式の行をもつ M 行 4 列の数値行列として、空間座標で定義します。ここで、
|
回転した四角形 | [xctr yctr w h yaw] 形式の行をもつ M 行 5 列の数値行列として、空間座標で定義します。ここで、
|
詳細については、深層学習用のデータストア (Deep Learning Toolbox)を参照してください。
境界ボックスのラベル。M 行 1 列の列挙ベクトルとして返されます。M は、イメージ内で検出された境界ボックスの数です。
各ラベルの検出信頼度スコア。M 行 1 列のベクトルとして返されます。M は、イメージ内で検出された境界ボックスの数です。スコアが高いほど、検出の信頼度が高いことを示します。
パラメーター
次のオプションから検出器オブジェクトのソースを選択します。
MAT ファイルからの検出器
— MAT ファイルから検出器オブジェクトをインポートします。たとえば、yolov2ObjectDetector
オブジェクトを含む MAT ファイルを選択します。MATLAB 関数からの検出器
— MATLAB 関数から検出器オブジェクトをインポートします。たとえば、学習済みのyolov2ObjectDetector
オブジェクトを返す関数vehicleDetectorYOLOv2
を指定します。
インポートされる検出器は、次のサポートされているオブジェクトのいずれかでなければなりません。
rcnnObjectDetector
fastRCNNObjectDetector
fasterRCNNObjectDetector
rtmdetObjectDetector
ssdObjectDetector
yolov2ObjectDetector
yolov3ObjectDetector
yolov4ObjectDetector
yoloxObjectDetector
プログラムでの使用
ブロック パラメーター: Detector |
タイプ: 文字ベクトル、string |
値: Detector from MAT file' | 'Detector from MATLAB function' |
既定値: Detector from MAT file' |
このパラメーターは、読み込む検出器オブジェクトを含む MAT ファイルの名前を指定します。ファイルが MATLAB のパス上にない場合は、[参照] ボタンを使用してファイルを探します。
依存関係
このパラメーターを有効にするには、[検出器] パラメーターを [MAT ファイルからの検出器]
に設定します。
プログラムでの使用
ブロック パラメーター: DetectorFilePath |
タイプ: 文字ベクトル、string |
値: MAT ファイルのパスまたは名前 |
既定値: 'untitled.mat'
|
このパラメーターは、学習済みオブジェクト検出器を返す MATLAB 関数の名前を指定します。たとえば、学習済みの yolov2ObjectDetector
オブジェクトを返す関数 vehicleDetectorYOLOv2
を指定するか、カスタム関数を指定します。
依存関係
このパラメーターを有効にするには、[検出器] パラメーターを [MATLAB 関数からの検出器]
に設定します。
プログラムでの使用
ブロック パラメーター: DetectorFunction |
タイプ: 文字ベクトル、string |
値: MATLAB 関数名 |
既定: 'untitled' |
探索関心領域を [x y width height] の形式のベクトルとして指定します。ベクトルは、領域の左上隅とサイズをピクセル単位で指定します。
依存関係
このパラメーターを有効にするには、[関心領域の指定] パラメーターを選択します。
プログラムでの使用
ブロック パラメーター: ROI |
タイプ: 文字ベクトル、string |
値: '[x y width height]' として指定された文字ベクトル |
既定値: '[1 1 100 100]' |
[0, 1] の範囲のスカラーとして検出しきい値を指定します。スコアがこのしきい値より低い検出は削除されます。誤検知を減らすには、この値を増やします。
依存関係
このパラメーターを有効にするには、[検出しきい値] パラメーターをサポートする検出器を使用しなければなりません。たとえば、yolov2ObjectDetector
オブジェクトを使用します。
プログラムでの使用
ブロック パラメーター: Threshold |
タイプ: 文字ベクトル、string |
値: スカラー |
既定値: '0.5' |
最も強い領域提案の最大数を整数で指定します。この値を小さくすると処理が速くなりますが、検出精度は低下します。すべての領域提案を使用するには、このパラメーターを Inf
として指定します。
依存関係
このパラメーターを有効にするには、[最も強い領域の数] パラメーターをサポートする検出器を使用します。たとえば、rcnnObjectDetector
オブジェクトを使用します。
プログラムでの使用
ブロック パラメーター: NumStrongestRegions |
タイプ: 文字ベクトル、string |
値: 整数 |
既定値: '2000' |
最大領域サイズを [height width] の形式のベクトルとして指定します。単位はピクセルです。最大領域サイズは、オブジェクトを含む最大の領域サイズを定義します。たとえば、[50
50
] は、オブジェクトを含む最大領域サイズを 50
×50
ピクセルに設定します。計算時間を短縮するには、この値を、入力テスト イメージで検出可能なオブジェクトの既知の最大領域サイズに設定します。
依存関係
このパラメーターを有効にするには、次のようにします。
[最大領域サイズを指定] パラメーターを選択します。
[最大領域サイズ] パラメーターをサポートする検出器を使用します。たとえば、
yolov2ObjectDetector
オブジェクトを使用します。
プログラムでの使用
ブロック パラメーター: MaxSize |
タイプ: 文字ベクトル、string |
値: '[height width]' として指定された文字ベクトル |
既定値: '[50 50]' |
最小領域サイズを [height width] の形式のベクトルとして指定します。単位はピクセルです。最小領域サイズは、オブジェクトを含む最小の領域サイズを定義します。たとえば、[1
1
] は、オブジェクトを含む最小領域サイズを 1
×1
ピクセルに設定します。
依存関係
このパラメーターを有効にするには、次のようにします。
[最小領域サイズを指定] パラメーターを選択します。
[最小領域サイズ] パラメーターをサポートする検出器を使用します。たとえば、
yolov2ObjectDetector
オブジェクトを使用します。
プログラムでの使用
ブロック パラメーター: MinSize |
タイプ: 文字ベクトル、string |
値: '[height width]' として指定された文字ベクトル |
既定値: '[1 1]' |
検出の最大数を正の整数で指定します。この値は検出数の上限であり、2 以上でなければなりません。
プログラムでの使用
ブロック パラメーター: MaxDetections |
タイプ: 文字ベクトル、string |
値: 整数 |
既定値: '500' |
拡張機能
使用上の注意および制限:
[コンフィギュレーション パラメーター]、[コード生成] 全般カテゴリの [言語] パラメーターを
[C++]
に設定しなければなりません。コード生成でサポートされているネットワークと層の一覧については、コード生成でサポートされているネットワークとレイヤー (MATLAB Coder)を参照してください。
オブジェクト検出器として YOLOv3、YOLOv4、または RTMDet を使用して、Math Kernel Library for Deep Neural Networks (MKL-DNN) ターゲット ライブラリのコードを生成するには、
MaxStackSize
およびTLCOptions
モデル パラメーターをより高い値に設定します。たとえば、次の構文を使用して、MaxStackSize
パラメーターおよびTLCOptions
パラメーターの値を 'inf
' に設定できます。>> set_param(modelName,'MaxStackSize','inf') >> set_param(modelName,'TLCOptions','-aMaxStackVariableSize=inf')
使用上の注意および制限:
[コンフィギュレーション パラメーター]、[コード生成] 全般カテゴリの [言語] パラメーターを
[C++]
に設定しなければなりません。CUDA® コード生成でサポートされているネットワークと層の一覧については、サポートされるネットワーク、層、クラス (GPU Coder)を参照してください。
バージョン履歴
R2021b で導入R2024b 以降、Deep Learning Object Detector
ブロックは、Real-Time Model for object Detection (RTMDet) をサポートするようになりました。事前学習済みの RTMDet オブジェクト検出器オブジェクト rtmdetObjectDetector
をインポートして、オブジェクト検出を実行できます。
R2024b 以降、Deep Learning Object Detector
ブロックは、You Only Look Once X (YOLOX) オブジェクト検出をサポートするようになりました。事前学習済みの YOLOX オブジェクト検出器オブジェクト yoloxObjectDetector
をインポートして、オブジェクト検出を実行できます。
参考
オブジェクト
rcnnObjectDetector
|fastRCNNObjectDetector
|fasterRCNNObjectDetector
|ssdObjectDetector
|yolov2ObjectDetector
|yolov3ObjectDetector
|yolov4ObjectDetector
|yoloxObjectDetector
ブロック
- Image Classifier (Deep Learning Toolbox) | Predict (Deep Learning Toolbox)
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)