PyTorch로 배우는 이미지 딥러닝
Michal Oleszak
Machine Learning Engineer


Faster R-CNN: R-CNN의 고급 버전

Faster R-CNN: R-CNN의 고급 버전

Faster R-CNN: R-CNN의 고급 버전





from torchvision.models.detection.rpn import AnchorGeneratoranchor_generator = AnchorGenerator( sizes=((32, 64, 128),), aspect_ratios=((0.5, 1.0, 2.0),), )
from torchvision.ops import MultiScaleRoIAlignroi_pooler = MultiScaleRoIAlign( featmap_names=["0"], output_size=7, sampling_ratio=2, )
rpn_cls_criterion = nn.BCEWithLogitsLoss()
rpn_reg_criterion = nn.MSELoss()rcnn_cls_criterion = nn.CrossEntropyLoss()
rcnn_reg_criterion = nn.MSELoss()from torchvision.models.detection import FasterRCNNbackbone = torchvision.models.mobilenet_v2(weights="DEFAULT").featuresbackbone.out_channels = 1280model = FasterRCNN( backbone=backbone, num_classes=num_classes, rpn_anchor_generator=anchor_generator, box_roi_pool=roi_pooler, )
사전학습 Faster R-CNN 불러오기
from torchvision.models.detection.faster_rcnn import FastRCNNPredictormodel = torchvision.models.detection.fasterrcnn_resnet50_fpn(weights="DEFAULT")
클래스 수와 분류기 입력 크기 정의
num_classes = 2in_features = model.roi_heads.box_predictor.cls_score.in_features
원하는 클래스 수의 분류기로 교체
model.roi_heads.box_predictor = FastRCNNPredictor(in_features, num_classes)
PyTorch로 배우는 이미지 딥러닝