CommencerCommencez gratuitement

Modèle Faster R-CNN

Votre prochaine tâche consiste à construire un modèle Faster R-CNN capable de détecter des objets de différentes tailles dans une image. Pour cela, vous allez utiliser la classe pratique MultiScaleRoIAlign() de torchvision.ops.

La classe FasterRCNN a été importée depuis torchvision.models.detection. Votre anchor_generator de l’exercice précédent est disponible dans votre espace de travail et torch, torch.nn sous le nom nn, ainsi que torchvision, ont été importés.

Cet exercice fait partie du cours

<cours>Deep Learning pour l’image avec PyTorch</cours>
Voir le cours

Instructions de l’exercice

  • Importez MultiScaleRoIAlign depuis torchvision.ops.
  • Instanciez le pooler RoI en utilisant MultiScaleRoIAlign avec featmap_names défini à ["0"], output_size à 7, et sampling_ratio à 2.
  • Créez le modèle Faster R-CNN en lui passant le backbone, num_class pour une classification binaire, anchor_generator et roi_pooler.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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=____,
)
Modifier et exécuter le code