Ubuntu18.04는 detectron2를 기반으로 VOC 데이터를 훈련시키는 더 빠른 RCNN을 구현합니다. (2)

1. VOC 데이터 준비

VOC 데이터를 다운 받아 데이터 셋 폴더에 저장하면 VOC2007과 VOC2012 두 폴더가 따로 열리 며 폴더의 구조를 변경할 필요가 없습니다.

datasets
|----VOC2007
|----VOC2012

2. 데이터 교육

2.1 훈련 명령

다음 명령으로 훈련을 시작하십시오.

CUDA_VISIBLE_DEVICES=0 python3 train_net.py \
	--config-file ../configs/PascalVOC-Detection/faster_rcnn_R_50_FPN.yaml \
	--num-gpus 1 SOLVER.IMS_PER_BATCH 8 SOLVER.BASE_LR 0.01

CUDA_VISIBLE_DEVICES는 훈련을 배포 할 GPU를
--config-file선택하고, 네트워크 구조 구성을
--num-gpus선택하고, 훈련 용 GPU 수를 선택
SOLVER.IMS_PER_BATCH하여 훈련 batch_size를
SOLVER.BASE_LR설정하고, training learning_rate를 설정할 수 있습니다.

2.2 구성 yaml 파일

구성 파일 faster_rcnn_R_50_FPN.yaml에서 SOLVER 원래 설정은 다음과 같습니다. 최대 반복 횟수는 18000으로 17.4 epochs전체 데이터 세트가 17.4 epoch 동안 반복되었음을 의미합니다. VOC 데이터 세트에는 총 16551 개의 학습 이미지가 18000*16/16551=17.4있습니다. 크기가 작 으면 수정할 수 있습니다. 데이터 세트가 17.4 epoch에 대해 학습되었는지 확인하기위한 반복 단계의 수입니다.

SOLVER:
  STEPS: (12000, 16000)
  MAX_ITER: 18000  # 17.4 epochs
  WARMUP_ITERS: 100

3. 테스트 결과

3.1 교육 평가

훈련이 완료된 후 모델의 성능을 평가하고 다음과 같은 결과를 출력합니다.

[04/23 06:04:30] d2.evaluation.pascal_voc_evaluation INFO: Evaluating voc_2007_test using 2007 metric. Note that results do not use the official Matlab API.
[04/23 06:05:08] d2.engine.defaults INFO: Evaluation results for voc_2007_test in csv format:
[04/23 06:05:08] d2.evaluation.testing INFO: copypaste: Task: bbox
[04/23 06:05:08] d2.evaluation.testing INFO: copypaste: AP,AP50,AP75
[04/23 06:05:08] d2.evaluation.testing INFO: copypaste: 51.3760,80.6508,55.5273
[04/23 06:05:08] d2.utils.events INFO:  eta: 0:00:01  iter: 17999  total_loss: 0.283  loss_cls: 0.109  loss_box_reg: 0.154  loss_rpn_cls: 0.008  loss_rpn_loc: 0.017  time: 1.1067  data_time: 0.0382  lr: 0.000100  max_mem: 9423M

결과에 따르면 모델의 AP는 VOC2007 테스트 데이터 세트 51.38에서 0.5 : 0.95, AP 0.5는 80.65, AP는 55.53 중 0.75입니다.

3.2 벤치 마크

detectron2의 MODEL ZOO 에서 Cityscapes 및 Pascal VOC Baselines 데이터 세트에서 Faster RCNN의 기준선을 볼 수 있으며 훈련 결과의 mAP가 기본적으로 기준선과 동일하다는 것을 알 수 있습니다.

이름 기차
시간
(s / iter)
추론
시간
(s / im)
훈련
MEM을
(GB)
상자
AP
상자
AP50

AP 마스크
모델 ID 다운로드
R50-FPN, 도시 경관 0.240 0.078 4.4 36.5 142423278 모델  | 메트릭
R50-C4, VOC 0.537 0.081 4.8 51.9 80.3 142202221 모델  | 메트릭

3.3 추론

그림에서 단일 그림을 감지하려면 다음 명령을 사용하십시오.

python3 demo.py --config-file ../configs/PascalVOC-Detection/faster_rcnn_R_50_FPN.yaml \
  --input cat.jpg \
  --output result_cat_voc.jpg \
  --opts MODEL.WEIGHTS ../tools/output_bak/model_final.pth

원본 사진의
cat.jpg
탐지 결과
result.jpg
는 모델이 사진에서 고양이 탐지를 실현 한 것을 알 수 있습니다.

추천

출처blog.csdn.net/linghu8812/article/details/105708001