Main Content

Deep Learning Object Detector

学習済み深層学習オブジェクト検出器を使用したオブジェクトの検出

R2021b 以降

  • Deep Learning Object Detector block

ライブラリ:
Computer Vision Toolbox / Analysis & Enhancement

説明

Deep Learning Object Detector ブロックは、ブロック パラメーターで指定された学習済みオブジェクト検出器を使用して、入力イメージの境界ボックス、クラス ラベル、およびスコアを予測します。このブロックを使用すると、事前学習済みのオブジェクト検出器を MAT ファイルまたは MATLAB® 関数から Simulink® モデルに読み込むことができます。このブロックは、Simulink で検出器オブジェクトを使用するためのグラフィカル インターフェイスを提供します。Deep Learning Object Detector ブロックの一部のパラメーターを有効にするには、それらのパラメーターをサポートするオブジェクト検出器を選択しなければなりません。たとえば、このブロックで yolov2ObjectDetector オブジェクトを使用すると、関連付けられたオブジェクト関数 detect の名前と値の引数に類似したパラメーターを選択できます。

端子

入力

すべて展開する

H×W×C の数値配列。ここで、H、W、および C は、それぞれイメージの高さ、幅、およびチャネル数です。タイム ステップごとに 1 つのイメージのみが入力として許可されます。

出力

すべて展開する

入力イメージ内で検出されたオブジェクトの位置。M 行 4 列または M 行 5 列の行列として返されます。M は、イメージ内で検出された境界ボックスの数です。[最大検出数] パラメーターを指定することで、サイズ M に上限を設定できます。

次の表は、境界ボックスの形式について説明しています。

境界ボックスDescription

軸に平行な四角形

[x y w h] 形式の行をもつ M 行 4 列の数値行列として、空間座標で定義します。ここで、

  • M は軸に平行な四角形の数です。

  • x と y は四角形の左上隅を指定します。

  • w は四角形の幅、つまり x 軸に沿った長さを指定します。

  • h は四角形の高さ、つまり y 軸に沿った長さを指定します。

回転した四角形

[xctr yctr w h yaw] 形式の行をもつ M 行 5 列の数値行列として、空間座標で定義します。ここで、

  • M は回転した四角形の数です。

  • xctr および yctr は四角形の中心を指定します。

  • w は四角形の幅、つまり、回転前の x 軸に沿った長さを指定します。

  • h は四角形の高さ、つまり、回転前の y 軸に沿った長さを指定します。

  • yaw は回転角度 (度単位) を指定します。回転は境界ボックスの中心を軸として時計回りに正となります。

Square rectangle rotated by -30 degrees.

詳細については、深層学習用のデータストア (Deep Learning Toolbox)を参照してください。

境界ボックスのラベル。M 行 1 列の列挙ベクトルとして返されます。M は、イメージ内で検出された境界ボックスの数です。

各ラベルの検出信頼度スコア。M 行 1 列のベクトルとして返されます。M は、イメージ内で検出された境界ボックスの数です。スコアが高いほど、検出の信頼度が高いことを示します。

パラメーター

すべて展開する

次のオプションから検出器オブジェクトのソースを選択します。

  • MAT ファイルからの検出器 — MAT ファイルから検出器オブジェクトをインポートします。たとえば、rcnnObjectDetector オブジェクトを含む MAT ファイルを選択します。

  • MATLAB 関数からの検出器 — MATLAB 関数から検出器オブジェクトをインポートします。たとえば、学習済みの yolov2ObjectDetector オブジェクトを返す関数 vehicleDetectorYOLOv2 を指定します。

インポートされる検出器は、次のサポートされているオブジェクトのいずれかでなければなりません。

  • rcnnObjectDetector

  • fastRCNNObjectDetector

  • fasterRCNNObjectDetector

  • ssdObjectDetector

  • yolov2ObjectDetector

  • yolov3ObjectDetector

  • yolov4ObjectDetector

プログラムでの使用

ブロック パラメーター: 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]'

検出の最大数を正の整数で指定します。この値は、検出数の上限です。

プログラムでの使用

ブロック パラメーター: MaxDetections
タイプ: 文字ベクトル、string
値: 整数
既定値: '500'

拡張機能

バージョン履歴

R2021b で導入