Train Libra_R-CNN using mmdetection for small object detection

1. mmdetection installation: https://mp.csdn.net/console/editor/html/107685152

2. Dataset preparation

Using VOC2007

3. Start training

python tools/train.py configs/libra_rcnn/libra_faster_rcnn_r50_fpn_1x_coco.py --gpus 1 

Some details:

1.  Using VOC dataset

libra_faster_rcnn_r50_fpn_1x_coco.py  -->  faster_rcnn_r50_fpn_1x_coco.py --> faster_rcnn_r50_fpn.py

_base_ = [
    '../_base_/models/faster_rcnn_r50_fpn.py',
    '../_base_/datasets/voc0712.py',
    '../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py'
]

2. modify the training data classes and class number

(1) In mmdetection/mmdet/datasets/voc.py

class VOCDataset(XMLDataset):

    # CLASSES = ('aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car',
    #            'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse',
    #            'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train',
    #            'tvmonitor')
    CLASSES = ('mandatory', 'warning', 'prohibitory', 'guideboard_s', 'guideboard_l',)

(2) In mmdetection/mmdet/core/evaluation/class_names.py

def voc_classes():
    return [
        'mandatory', 'warning', 'prohibitory', 'guideboard_s', 'guideboard_l',
    ]

(3) In faster_rcnn_r50_fpn.py

search num_classes, num_classes=train classes

e.g: num_classes =5

3. notes

from file mmdetection/mmdet/datasets/builder.py:

batch_size = samples_per_gpu OR batch_size = num_gpus * samples_per_gpu

4. Some parameters

(1) image scale

seach img_scale in your dataset settings file(e.g /mmdetection/configs/_base_/datasets/voc0712.py)

(2) image foramt settings in dataset/xml_style.py

default value: jpg

(3) anchors

https://www.pianshen.com/article/12431012717/

ERRORS:

(1) RuntimeError: CUDA error: an illegal memory access was encountered

refer to: https://blog.csdn.net/baidu_36639782/article/details/89405743

Before training starts:

torch.backends.cudnn.benchmark = True
torch.cuda.set_device(0)

(2) nan

check the learning rate

工具使用:

https://blog.csdn.net/Skies_/article/details/106974243l

https://github.com/open-mmlab/mmdetection/blob/master/docs/getting_started.md

Analyze logs

python tools/analyze_logs.py plot_curve log.json --keys loss_cls --legend loss_cls

save loss curve

python ../../tools/analyze_logs.py plot_curve ./20200810_184101.log.json --keys loss_cls loss_bbox --out losses.pdf

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值