深度学习模型试跑(二):YOLACT/YOLACT++


目录

  • 一.模型解读
  • 二.推理效果
    • yolact
    • yolact++
  • 三.模型训练
  • # 3.1数据集准备
  • # 3.2参数修改
  • # 3.3开始训练
  • # 3.4推理效果

一.模型解读

链接中的解读很通俗详细,在此不做赘述;而且YOLACT++在大前天也发布了,作为一个为数不多的在实时检测中可以用mask分割目标的方法,确实非常值得有兴趣的研究人员以及相关学者期待一下.

详细解读
官方代码
YOLACT++解读

二.推理效果

yolact

测试环境:
机器 : 华硕笔记本
GPU: Nvidia GTX1060
cuda: 10.1
cudnn: 7.5
关键库: python3.6.8,pytorch 1.0.1,torchvision 0.2.1,opencv-python 3.4.2等
试跑视屏:

深度学习模型试跑(二):YOLACT/YOLACT++_第1张图片

yolact++

测试环境:
机器 : Dell T5820服务器
GPU: Nvidia P4000
cuda: 10.1
cudnn: 7.5
关键库: torch 1.2.0; torchvision 0.2.2; opencv-python 3.4.7等

试跑视屏:
![yolact_plus_resnet50_54_800000.pth](https://img-blog.csdnimg.cn/20191219114706581.jpg

注意:官方提供了六个预训练的weights,每个weight对GPU的实时RAM都有要求,如果要想达到最好的效果需要用户根据自己的机器环境逐步调整video_multiframe和top_k等值。

##################################################################################################
这里是分割线
##################################################################################################
昨天把yolact在nano上跑了,效果还行,如果能利用torch2trt把源代码用TensorRT优化一下,辣就很流批了。
深度学习模型试跑(二):YOLACT/YOLACT++_第2张图片深度学习模型试跑(二):YOLACT/YOLACT++_第3张图片


添加日期:2021年7月18日
作者:还是我


更新: 记录我在新笔记本上安装了,极度耗时
环境 win10,RTX3090(不兼容低版本cuda以至于跑不了低版本torch,只有放弃) , RTX1060;
torch1.5.0
cuda10.2

vs2017(安装的时候记得需要勾选’使用c++的桌面开发’这一项)
记得安装visualcppbuildtools_full.exe,如果安装过程发现包打不开自行下载,全程可以参考
不然在装pycocotools会出现building ‘pycocotools._mask’ extension error: Unable to find vcvarsall.bat的错误
深度学习模型试跑(二):YOLACT/YOLACT++_第4张图片

dcnv2: 最新版

python setup.py build develop

pycocotools: 最新版

python setup.py build_ext --inplace
python setup.py build_ext install

深度学习模型试跑(二):YOLACT/YOLACT++_第5张图片
深度学习模型试跑(二):YOLACT/YOLACT++_第6张图片
试一下我之前在ubuntu电脑上训练的模型深度学习模型试跑(二):YOLACT/YOLACT++_第7张图片


添加日期:2020年11月24日
作者:还是我


三.模型训练

我看了一下这模型热度依旧很高,毕竟在轻量化的实时实例分割模型中,yolact不是王者也是大师,所以我在此补充写一下整个训练过程。参考的除了官方repository,
还有B站视频
以及香烟模型

# 3.1数据集准备

我直接拿了***香烟模型***的数据集,如果自己标mask数据集建议用labelme或者VIA;数据集组织按的是标准的coco形式:
深度学习模型试跑(二):YOLACT/YOLACT++_第8张图片

# 3.2参数修改

这里参考***B站视频***的文档修改的,在config.py中修改两个配置参数。

第一处:

coco2014_custom_dataset = dataset_base.copy({
    'name': 'COCO 2014 Custom',
    'train_images': 'data/coco/train2014',
    'train_info': 'data/coco/annotations/instances_train2014.json',
    'valid_images': 'data/coco/val2014',
    'valid_info': 'data/coco/annotations/instances_val2014.json',
    # 'class_names': ('hu','shu'),
    'class_names': ('cig_butt'),
    'label_map': {1: 1} #这里根据你的json标签修改,第一个是标签起始数第二个是类别编号,如{0: 1, 1:2}等
})

第二处:记住总计迭代次数要>=100000,不然验证效果极差

yolact_coco_custom_config = yolact_plus_resnet50_config.copy({
    'name': 'yolact_coco_custom',
    'dataset': coco2014_custom_dataset,
    'max_size': 550,
    'num_classes': len(coco2014_custom_dataset.class_names) + 1,
    # Training params
    'lr_steps': (200000, 300000, 330000, 380000),
    'max_iter': 100000,
})

# 3.3开始训练

python train.py  --config=yolact_coco_custom_config --resume=weights/yolact_plus_resnet50_54_800000.pth --only_last_layer 

# 3.4推理效果

python eval.py --trained_model=output/yolact_coco_custom_399_100000.pth --score_threshold=0.15 --top_k=15 --images=data/coco/test2014:inference/


深度学习模型试跑(二):YOLACT/YOLACT++_第9张图片

你可能感兴趣的:(深度学习,目标检测,python,深度学习,python,人工智能)