このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
trainFastRCNNObjectDetector
Fast R-CNN 深層学習オブジェクト検出器の学習
構文
説明
検出器の学習
は、深層学習を使用して、Fast R-CNN (Regions with Convolutional Neural Networks) オブジェクト検出器に学習させます。Fast R-CNN 検出器に学習させて複数のオブジェクト クラスを検出することができます。trainedDetector
= trainFastRCNNObjectDetector(trainingData
,network
,options
)
この関数には、Deep Learning Toolbox™ が必要です。CUDA® 対応 NVIDIA® GPU で使用する Parallel Computing Toolbox™ も推奨されます。サポートされる Compute Capability の詳細については、GPU 計算の要件 (Parallel Computing Toolbox)を参照してください。
[
は、各反復の、学習損失や学習精度などの学習の進行状況に関する情報も返します。trainedDetector
,info
] = trainFastRCNNObjectDetector(___)
検出器の学習の再開
は検出器のチェックポイントから学習を再開します。trainedDetector
= trainFastRCNNObjectDetector(trainingData
,checkpoint
,options
)
検出器の微調整
は追加の学習データを使用して検出器の学習を継続するか、さらに多くの学習の反復回数を実行して検出器の精度を向上させます。trainedDetector
= trainFastRCNNObjectDetector(trainingData
,detector
,options
)
カスタム領域提案
はオプションで、前の入力のいずれかを使用してカスタム領域提案関数 trainedDetector
= trainFastRCNNObjectDetector(___,'RegionProposalFcn',proposalFcn
)proposalFcn
に学習させます。提案関数を指定しない場合、関数は Edge Boxes[2]アルゴリズムのバリエーションを使用します。
追加プロパティ
は、trainedDetector
= trainFastRCNNObjectDetector(___,Name,Value
)Name,Value
ペアの引数を 1 つ以上指定したオプションを追加で使用します。
例
入力引数
出力引数
ヒント
学習のデータの前処理を高速化するために、
trainFastRCNNObjectDetector
は並列基本設定の設定値に基づいて並列プールを自動的に作成し、使用します。これらの基本設定の詳細については、並列基本設定を参照してください。並列計算基本設定を使用するには、Parallel Computing Toolbox が必要です。VGG-16、VGG-19、ResNet-101、および Inception-ResNet-v2 は大きなモデルです。大きなモデルで学習すると、"メモリ不足" エラーが発生する可能性があります。これらの誤差を軽減するには、これらのオプションの 1 つ以上を試してください。
引数 '
SmallestImageDimension
' を使用して、イメージのサイズを小さくする。名前と値の引数 '
NumRegionsToSample
' の値を小さくします。
この関数は、転移学習をサポートします。
network
を'resnet50'
などの名前で入力する場合、関数はネットワークを事前学習済みのresnet50
(Deep Learning Toolbox) モデル ベースの有効な Fast R-CNN ネットワーク モデルに自動的に変換します。または、事前学習済みの DAG ネットワークから抽出したLayerGraph
(Deep Learning Toolbox) を使用して手動でカスタム Fast R-CNN ネットワークを指定します。詳細については、Fast R-CNN オブジェクト検出ネットワークの作成を参照してください。それぞれの名前付きネットワークが Fast R-CNN ネットワークにどのように変換されるかを次の表に示します。特徴抽出層の名前は、ROI プーリング層によって処理される層を指定します。ROI 出力サイズは、ROI プーリング層によって出力される特徴マップのサイズを指定します。
ネットワークの名前 特徴抽出層の名前 ROI プーリング層の出力サイズ 説明 alexnet
(Deep Learning Toolbox)'relu5'
[6 6] 最後の最大プーリング層は ROI 最大プーリング層によって置き換えられる vgg16
(Deep Learning Toolbox)'relu5_3'
[7 7] vgg19
(Deep Learning Toolbox)'relu5_4'
squeezenet
(Deep Learning Toolbox)'fire5-concat'
[14 14] resnet18
(Deep Learning Toolbox)'res4b_relu'
ROI プーリング層が特徴抽出層の後に挿入される。 resnet50
(Deep Learning Toolbox)'activation_40_relu'
resnet101
(Deep Learning Toolbox)'res4b22_relu'
googlenet
(Deep Learning Toolbox)'inception_4d-output'
mobilenetv2
(Deep Learning Toolbox)'block_13_expand_relu'
inceptionv3
(Deep Learning Toolbox)'mixed7'
[17 17] inceptionresnetv2
(Deep Learning Toolbox)'block17_20_ac'
ネットワークを Fast R-CNN ネットワークに変更または変換するには、R-CNN、Fast R-CNN、Faster R-CNN モデルの設計を参照してください。
詳細印刷を有効または無効にするには、関数
trainingOptions
(Deep Learning Toolbox) を使用します。
参照
[1] Girshick, Ross. "Fast R-CNN." Proceedings of the IEEE International Conference on Computer Vision. 2015.
[2] Zitnick, C. Lawrence, and Piotr Dollar. "Edge Boxes: Locating Object Proposals From Edges." Computer Vision-ECCV 2014. Springer International Publishing, 2014, pp. 391–405.
拡張機能
バージョン履歴
R2017a で導入
参考
アプリ
関数
objectDetectorTrainingData
|trainRCNNObjectDetector
|trainFasterRCNNObjectDetector
|trainingOptions
(Deep Learning Toolbox) |estimateAnchorBoxes
オブジェクト
Layer
(Deep Learning Toolbox) |SeriesNetwork
(Deep Learning Toolbox) |fastRCNNObjectDetector
|boxLabelDatastore