What is Faster R-CNN used for in machine learning?
Faster R-CNN is used for object detection, which means it finds and labels objects in images.
Click to reveal answer
beginner
Name the two main parts of Faster R-CNN.
The two main parts are: 1) Region Proposal Network (RPN) that suggests possible object areas, and 2) Fast R-CNN detector that classifies and refines these areas.
Click to reveal answer
intermediate
How do you prepare an image tensor for Faster R-CNN in PyTorch?
You convert the image to a tensor, normalize pixel values, and put it in a list because Faster R-CNN expects a list of images.
Click to reveal answer
intermediate
What does the output of Faster R-CNN look like after prediction?
The output is a list of dictionaries, each with keys like 'boxes' (coordinates), 'labels' (object classes), and 'scores' (confidence).
Click to reveal answer
beginner
Why do we use pretrained models with Faster R-CNN?
Pretrained models have already learned useful features from large datasets, so they help Faster R-CNN detect objects better and train faster.
Click to reveal answer
What does the Region Proposal Network (RPN) in Faster R-CNN do?
ANormalizes image pixels
BSuggests possible object locations in the image
CClassifies objects into categories
DGenerates image captions
✗ Incorrect
The RPN suggests regions where objects might be, which are then classified by the next part.
In PyTorch, what input format does Faster R-CNN expect?
AA list of image tensors
BA string path to the image
CA numpy array
DA single image tensor
✗ Incorrect
Faster R-CNN expects a list of image tensors, even if there is only one image.
Which of these is NOT part of Faster R-CNN's output?
AImage captions
BBounding boxes
CConfidence scores
DClass labels
✗ Incorrect
Faster R-CNN outputs bounding boxes, labels, and scores, but not captions.
Why use a pretrained Faster R-CNN model?
ATo generate random images
BTo avoid training completely
CTo speed up training and improve accuracy
DTo reduce image size
✗ Incorrect
Pretrained models help by starting with learned features, making training faster and better.
What library provides a ready Faster R-CNN model in PyTorch?
Amatplotlib
Bnumpy
Cpandas
Dtorchvision
✗ Incorrect
torchvision has pretrained Faster R-CNN models ready to use.
Explain the main steps to use Faster R-CNN for object detection in PyTorch.
Think about loading, preparing input, running prediction, and reading results.
You got /5 concepts.
Describe the role of the Region Proposal Network (RPN) and how it helps Faster R-CNN detect objects.
Focus on how RPN narrows down where to look for objects.
You got /4 concepts.
Practice
(1/5)
1. What is the primary purpose of the Faster R-CNN model in PyTorch?
easy
A. To enhance image resolution
B. To generate captions for images
C. To detect objects and their locations in images
D. To classify images into categories without localization
Solution
Step 1: Understand Faster R-CNN's role
Faster R-CNN is designed to find objects and their bounding boxes in images.
Step 2: Compare with other tasks
Unlike captioning or classification without localization, Faster R-CNN outputs object locations and labels.
Final Answer:
To detect objects and their locations in images -> Option C
Quick Check:
Object detection = Faster R-CNN purpose [OK]
Hint: Faster R-CNN = object detection with bounding boxes [OK]
Common Mistakes:
Confusing detection with classification only
Thinking it generates image captions
Assuming it enhances image quality
2. Which of the following is the correct way to load a pretrained Faster R-CNN model in PyTorch?
easy
A. model = torchvision.models.detection.fasterrcnn_resnet50_fpn(weights='DEFAULT')
B. model = torchvision.models.fasterrcnn_resnet50_fpn(pretrained=False)
C. model = torchvision.models.fasterrcnn_resnet50_fpn(pretrained=True)
D. model = torchvision.models.detection.fasterrcnn_resnet50_fpn(weights=None)
Solution
Step 1: Check PyTorch's current API for pretrained models
PyTorch now uses the 'weights' argument with 'DEFAULT' to load pretrained weights.
Step 2: Identify correct syntax
model = torchvision.models.detection.fasterrcnn_resnet50_fpn(weights='DEFAULT') uses weights='DEFAULT', which is the recommended way to load pretrained Faster R-CNN.
Final Answer:
model = torchvision.models.detection.fasterrcnn_resnet50_fpn(weights='DEFAULT') -> Option A
Quick Check:
Use weights='DEFAULT' for pretrained models [OK]
Hint: Use weights='DEFAULT' to load pretrained Faster R-CNN [OK]
Common Mistakes:
Using deprecated pretrained=True argument
Setting weights=None disables pretrained weights
Confusing model namespaces in torchvision
3. Given the following code snippet, what is the output type of outputs after the model prediction?
import torchvision
import torch
model = torchvision.models.detection.fasterrcnn_resnet50_fpn(weights='DEFAULT')
model.eval()
image = torch.rand(3, 300, 400) # Random image tensor
outputs = model([image])
medium
A. A list of dictionaries with keys 'boxes', 'labels', and 'scores'
B. A single tensor with class probabilities
C. A dictionary with keys 'boxes' and 'labels' only
D. A tensor of shape (3, 300, 400) identical to input
Solution
Step 1: Understand Faster R-CNN output format
Faster R-CNN returns a list of dictionaries, one per input image, each containing 'boxes', 'labels', and 'scores'.
Step 2: Analyze the code snippet
Since input is a list with one image, output is a list with one dictionary containing detection results.
Final Answer:
A list of dictionaries with keys 'boxes', 'labels', and 'scores' -> Option A
Quick Check:
Output = list of dicts with boxes, labels, scores [OK]
Hint: Faster R-CNN outputs list of dicts with boxes, labels, scores [OK]
Common Mistakes:
Expecting a single tensor output
Missing 'scores' key in output
Confusing input and output tensor shapes
4. Identify the error in the following code snippet for using Faster R-CNN for prediction:
B. Input image should be a list of tensors, not a single tensor
C. Weights argument 'DEFAULT' is invalid
D. Image tensor shape should be (224, 224, 3) instead of (3, 224, 224)
Solution
Step 1: Check input format for Faster R-CNN
Faster R-CNN expects a list of image tensors, even if only one image is passed.
Step 2: Identify the error in the code
The code passes a single tensor instead of a list, causing a runtime error.
Final Answer:
Input image should be a list of tensors, not a single tensor -> Option B
Quick Check:
Input = list of tensors for Faster R-CNN [OK]
Hint: Wrap input image in a list before passing to model [OK]
Common Mistakes:
Passing single tensor instead of list
Calling eval() after prediction
Confusing channel order in tensor shape
5. You want to fine-tune a pretrained Faster R-CNN model on a custom dataset with 5 classes (including background). Which step is necessary before training?
hard
A. Change the input image size to (5, 224, 224)
B. Freeze all layers except the backbone
C. Set model.train() before loading pretrained weights
D. Replace the model's box predictor head with a new one having 5 output classes
Solution
Step 1: Understand model adaptation for new classes
The box predictor head controls class outputs; it must match the number of classes in your dataset.
Step 2: Replace the box predictor head
Replace the existing head with a new one configured for 5 classes to fine-tune properly.
Final Answer:
Replace the model's box predictor head with a new one having 5 output classes -> Option D
Quick Check:
Adjust box predictor for new class count [OK]
Hint: Change box predictor head to match your classes [OK]
Common Mistakes:
Changing input image channels incorrectly
Not replacing box predictor head
Freezing all layers prevents fine-tuning
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.