Fast R-CNN 深層学習オブジェクト検出器の学習
は、深層学習を使用して、Fast R-CNN (Regions with Convolutional Neural Networks) オブジェクト検出器を学習させます。Fast R-CNN 検出器を学習させて複数のオブジェクト クラスを検出することができます。trainedDetector
= trainFastRCNNObjectDetector(trainingData
,network
,options
)
この関数には、Deep Learning Toolbox™ が必要です。Compute Capability 3.0 以上の CUDA® 対応 NVIDIA® 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]アルゴリズムのバリエーションを使用します。
は、1 つ以上の trainedDetector
= trainFastRCNNObjectDetector(___,Name,Value
)Name,Value
ペアの引数によって指定された追加オプションを使用します。
学習のデータの前処理を高速化するために、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.
estimateAnchorBoxes
| objectDetectorTrainingData
| trainFasterRCNNObjectDetector
| trainRCNNObjectDetector
| trainingOptions
(Deep Learning Toolbox)boxLabelDatastore
| fastRCNNObjectDetector
| Layer
(Deep Learning Toolbox) | SeriesNetwork
(Deep Learning Toolbox)