yolact实例分割算法源码运行教程

 

前言:

此次环境搭建使用的硬件平台是一台微星笔记本,运行速度足够学习使用。本文介绍环境搭建及代码运行演示,coco格式数据集的制作及训练会在下篇博客介绍。

yolact论文链接:https://arxiv.org/abs/1904.02689

yolact论文翻译:https://www.jianshu.com/p/01f6432de5c4

项目地址:https://github.com/dbolya/yolact

本实验平台软硬件环境参数:

  1. gpu:GTX 1060

  2. cpu:intel i7-7700HQ

  3. 内存:16GB

  4. Ubuntu版本:18.04

  5. NVIDIA驱动版本:390.116

  6. python:3.6.8

  7. cuda版本:cuda_9.0.176_384.81_linux

  8. cudnn版本:cudnn-9.0-linux-x64-v7.1

  9. opencv : 4.1.0.25 

  10. pytorch:1.1.0

  11. Cython:0.29.10

显卡驱动及cuda和cudnn的安装教程请参考我的上篇博客:https://blog.csdn.net/weixin_41851439/article/details/88712465

 

废话不多说,开始吧!!

一. 虚拟环境配置

1.创建一个基于python3的环境

conda create -n youlact python=3.6

2.安装Pytorch 1.0.1或更高版本和TorchVision.

在Pytorch官方网站根据实际环境获取安装代码:https://pytorch.org/get-started/locally/

yolact实例分割算法源码运行教程_第1张图片

然后在终端输入:

pip3 install torch torchvision

3.安装其他的包和模块

注意:Cython 需要安装在 pycocotools之前!

pip install cython
pip install opencv-python pillow pycocotools matplotlib 

4.我的yolact环境如下

yolact实例分割算法源码运行教程_第2张图片

二. clone代码然后进入文件夹

git clone https://github.com/dbolya/yolact.git
cd yolact

三.下载数据集和数据标签

有以下两种途径下载数据集:

1  .手动下载

COCO数据集官网:http://cocodataset.org/#download

下载:2017 Train images [118K/18GB]

          2017 Val images [5K/1GB]

          2017 Test images [41K/6GB]

          2017 Train/Val annotations [241MB]

          2014 Train/Val annotations [241MB]

          2017 Testing Image info [1MB]

将三个图像压缩包解压至          

/media/qrt/data/yolact/yolact-master/data/coco/images

注意:将解压出的图片直接放入image文件夹

同理,将三个标签解压然后直接放入annotations文件夹

/media/qrt/data/yolact/yolact-master/data/coco/annotations

2. 使用脚本下载

如果你的实验室能够连接上稳定的外网,那么可以直接使用源码自带的脚本下载数据集:

进入到yolact-master文件夹然后打开终端:

yolact实例分割算法源码运行教程_第3张图片

运行COCO.sh下载COCO数据和2014/2017标签

sh data/scripts/COCO.sh

 运行COCO_test.sh下载测试数据集和标签

sh data/scripts/COCO_test.sh

四.训练

参考官方说明:

yolact实例分割算法源码运行教程_第4张图片(1)下载预训练权重放至根目录里的weights文件夹下

  • For Resnet101, download resnet101_reducedfc.pth from here.
  • For Resnet50, download resnet50-19c8e357.pth from here.
  • For Darknet53, download darknet53.pth from here.

(2)在训练过程中按ctrl+c能够保存当前训练权重并保存在weight文件夹里。命名为:__.pth

(3)训练

使用默认为8的batch size训练:

python train.py --config=yolact_base_config

根据根据实际情况可以适当调节batch size的大小,如果显卡性能低可以减小batch size大小:

python train.py --config=yolact_base_config --batch_size=5

从中断的权重继续训练:

python train.py --config=yolact_base_config --resume=weights/yolact_base_10_32100.pth --start_iter=-1

 帮助:

python train.py --help

yolact实例分割算法源码运行教程_第5张图片

五. 代码演示

可以下载官方给出的权重测试。我使用的是:yolact_base_54_800000.pth

Image Size Backbone FPS mAP Weights  
550 Resnet50-FPN 42.5 28.2 yolact_resnet50_54_800000.pth Mirror
550 Darknet53-FPN 40.0 28.7 yolact_darknet53_54_800000.pth Mirror
550 Resnet101-FPN 33.0 29.8 yolact_base_54_800000.pth Mirror
700 Resnet101-FPN 23.6 31.2 yolact_im700_54_800000.pth Mirror

下载权重放至 ./weights 文件夹。

测试图片(输入图片的绝对路径):

python eval.py --trained_model=weights/yolact_base_54_800000.pth --score_threshold=0.3 --top_k=100 --image=my_image.png

测试视频:

python eval.py --trained_model=weights/yolact_base_54_800000.pth --score_threshold=0.3 --top_k=100 --video_multiframe=2 --video=my_video.mp4

其它指令可以参考官方文档。

附上测试图片:

yolact实例分割算法源码运行教程_第6张图片

yolact实例分割算法源码运行教程_第7张图片

 ps:上面两张小龙虾测试图片来自网络,由于我制作的数据集数量过少仅供演示使用,识别精度不高,敬请谅解。

 

最后:coco数据集的制作和训练教程将会在下篇博客展示,敬请期待!

 

你可能感兴趣的:(教程)