链接中的解读很通俗详细,在此不做赘述;而且YOLACT++在大前天也发布了,作为一个为数不多的在实时检测中可以用mask分割目标的方法,确实非常值得有兴趣的研究人员以及相关学者期待一下.
详细解读
官方代码
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等
试跑视屏:
测试环境:
机器 : 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优化一下,辣就很流批了。
添加日期: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的错误
dcnv2: 最新版
python setup.py build develop
pycocotools: 最新版
python setup.py build_ext --inplace
python setup.py build_ext install
添加日期:2020年11月24日
作者:还是我
我看了一下这模型热度依旧很高,毕竟在轻量化的实时实例分割模型中,yolact不是王者也是大师,所以我在此补充写一下整个训练过程。参考的除了官方repository,
还有B站视频
以及香烟模型
我直接拿了***香烟模型***的数据集,如果自己标mask数据集建议用labelme或者VIA;数据集组织按的是标准的coco形式:
这里参考***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,
})
python train.py --config=yolact_coco_custom_config --resume=weights/yolact_plus_resnet50_54_800000.pth --only_last_layer
python eval.py --trained_model=output/yolact_coco_custom_399_100000.pth --score_threshold=0.15 --top_k=15 --images=data/coco/test2014:inference/