시작하기무료로 시작하기

Faster R-CNN 모델

다음 과제는 이미지에서 크기가 서로 다른 객체를 탐지할 수 있는 Faster R-CNN 모델을 만드는 것입니다. 이를 위해 torchvision.ops의 편리한 클래스인 MultiScaleRoIAlign()을 사용해 볼게요.

FasterRCNN 클래스는 torchvision.models.detection에서 가져와 두었어요. 이전 연습 문제에서 만든 anchor_generator가 작업 공간에 준비되어 있으며, torch, torch.nn(별칭 nn), torchvision도 이미 임포트되어 있어요.

이 연습은 강의의 일부입니다

PyTorch로 배우는 이미지 딥러닝

강의 보기

연습 안내

  • torchvision.ops에서 MultiScaleRoIAlign을 임포트하세요.
  • MultiScaleRoIAlign을 사용해 RoI 풀러를 생성하세요. 이때 featmap_names["0"], output_size7, sampling_ratio2로 설정하세요.
  • 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=____,
)
코드 편집 및 실행