始める無料で始める

Faster R-CNN モデル

次のタスクは、画像内のさまざまなサイズの物体を検出できる Faster R-CNN モデルを構築することです。ここでは、torchvision.ops の便利なクラス MultiScaleRoIAlign() を使用します。

FasterRCNN クラスは torchvision.models.detection からインポート済みです。前の演習で作成した anchor_generator はワークスペースに用意されています。torchtorch.nnnn として)、および torchvision もインポート済みです。

この演習はコースの一部です

PyTorch で学ぶ画像向け Deep Learning

コースを見る

演習の手順

  • torchvision.ops から MultiScaleRoIAlign をインポートします。
  • MultiScaleRoIAlign を使って RoI プーラーを作成し、featmap_names["0"]output_size7sampling_ratio2 に設定します。
  • backbone、バイナリ分類用の num_classanchor_generatorroi_pooler を渡して Faster R-CNN モデルを作成します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import MultiScaleRoIAlign
____

# Instantiate RoI pooler
roi_pooler = ____(
	____,
	____,
	____,
)

mobilenet = torchvision.models.mobilenet_v2(weights="DEFAULT")
backbone = nn.Sequential(*list(mobilenet.features.children()))
backbone.out_channels = 1280

# Create Faster R-CNN model
model = ____(
	backbone=____
	num_classes=____,
	anchor_generator=____,
	box_roi_pool=____,
)
コードを編集して実行