Faster R-CNN モデル
次のタスクは、画像内のさまざまなサイズの物体を検出できる Faster R-CNN モデルを構築することです。ここでは、torchvision.ops の便利なクラス MultiScaleRoIAlign() を使用します。
FasterRCNN クラスは torchvision.models.detection からインポート済みです。前の演習で作成した anchor_generator はワークスペースに用意されています。torch、torch.nn(nn として)、および torchvision もインポート済みです。
この演習はコースの一部です
PyTorch で学ぶ画像向け Deep Learning
演習の手順
torchvision.opsからMultiScaleRoIAlignをインポートします。MultiScaleRoIAlignを使って RoI プーラーを作成し、featmap_namesを["0"]、output_sizeを7、sampling_ratioを2に設定します。backbone、バイナリ分類用のnum_class、anchor_generator、roi_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=____,
)