MMDet
MMDet
MMDet 安装
前置条件: nvcc、gcc的安装
安装 mmdet
pip install -U openmim
mim install mmengine
mim install mmcv
git clone https://github.com/open-mmlab/mmdetection.git
mim install -e mmdetection
配置文件(RTMDet)
metainfo
用于数据加载器中,例:
metainfo = {# 类别信息"classes": ("cat", "dog", ...),# 可视化时候的RGB颜色"palette": [(255, 0, 0),(0, 255, 0),...]
}train_dataloader = dict(dataset=dict(metainfo=metainfo)
)
num_epochs_stage2
训练过程的stage,分为2个stage,num_epochs_stage2会在训练时切换stage,例:
# 当训练到最后5个epoch时,启用stage的pipeline(更强的数据增强)
num_epochs_stage2 = 5
load_from
加载预训练权重,例:
load_from = "xxx/rtmdet.pt"
num_classes
修改模型的输出类别,例:
model = dict(bbox_head=dict(dict(num_classes=num_classes))
)
param_scheduler
修改优化器的参数,例:
param_scheduler = [dict(type="LinearLR",start_factor=1e-5,by_epoch=False,begin=0,end=30,),dict(type="CosineAnnealingLR",eta_min=1e-4,begin=max_epochs // 2,end=max_epochs,T_max=max_epochs // 2,by_epoch=True,convert_to_iter_based=True,)
]
visualizer
可视化的后端,例:
# 1. 本地端 (默认)
visualizer = dict(vis_backends=[dict(type="LocalVisBackend")])# 2. Wandb 端
visualizer = dict(vis_backends=[dict(type="WandbVisBackend")])# 3. TensorBoard 端
visualizer = dict(vis_backends=[dict(type="TensorboardVisBackend")])# 4. 组合端
visualizer = dict(vis_backends=[dict(type="LocalVisBackend"),dict(type="TensorboardVisBackend")
])# 或者注册器机制自定义注册
数据集的可视化
使用 “tools/analysis_tools/browse_dataset.py” 来对训练的dataloader进行可视化
可以观察的地方
- 类别是否正确
- 标注框是否正确

训练
- python tools/train.py trmdet_tiny_1xb12-40e_cat.py
- mim train mmdet trmdet_tiny_1xb12-40e_cat.py --work-dir=“work_dir”
推理、测试都类似与MMPretrain
MMYOLO 的可视化
安装MMYOLO
git clone https://github.com/open-mmlab/mmyolo.git
mim install -e mmyolo
特征图可视化
调用 “demo/featmap_vis_demo.py” 来可视化结果
# 可视化 backbone
python demo/featmap_vis_demo.py \img.jpg \mmdet_config.py \mmdet_weigh.pth \--target-layers backbone \--channel-reduction squeeze_mean
# 可视化 neck
python demo/featmap_vis_demo.py \img.jpg \mmdet_config.py \mmdet_weigh.pth \--target-layers neck \--channel-reduction squeeze_mean
CAM 可视化
pip install grad-cam
查看neck中的最小特征图的CAM
python demo/boxam_vis_demo.py \img.jpg \mmdet_config.py \mmdet_weight.pth \--target-layer neck.out_convs[2]
趋势
- 开放词汇目标检测
- 使用图片和文本描述来检测物体位置(有条件限制的目标检测)
- X-Decoder
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
