做设计挣钱的网站,深圳地铁建设集团网站,漂亮的网站单页,网站备案号 如何添加【图像分割】【深度学习】Windows10下f-BRS官方代码Pytorch实现 提示:最近开始在【图像分割】方面进行研究,记录相关知识点,分享学习中遇到的问题已经解决的方法。 文章目录 【图像分割】【深度学习】Windows10下f-BRS官方代码Pytorch实现前言f-BRS模型运行环境安装1.下载源码并…【图像分割】【深度学习】Windows10下f-BRS官方代码Pytorch实现 提示:最近开始在【图像分割】方面进行研究,记录相关知识点,分享学习中遇到的问题已经解决的方法。 文章目录 【图像分割】【深度学习】Windows10下f-BRS官方代码Pytorch实现前言f-BRS模型运行环境安装1.下载源码并安装环境2.下载数据集和模型权重3.运行f-BRS代码4.训练f-BRS的模型5.评估f-BRS的模型 总结 前言
f-BRS是由三星莫斯科人工智能中心的Konstantin Sofiiuk等人在《f-BRS: Rethinking Backpropagating Refinement for Interactive Segmentation [CVPR 2020]》【论文地址】一文中提出的模型是一种新颖的反向传播优化方案该方案可在网络的中间特征上运行并且只需要对网络的一小部分进行正向和反向传递。 在详细解析f-BRS网络之前,首要任务是搭建f-BRS【Pytorch-demo地址】所需的运行环境,并模型完成训练和测试工作,展开后续工作才有意义。 f-BRS模型运行环境安装
1.下载源码并安装环境
在Windows10环境下装anaconda环境,方便搭建专用于f-BRS模型的虚拟环境所有依赖包都安装在这个虚拟环境下。
# 创建虚拟环境
conda create -n fbrs python3.7
# 查看新环境是否安装成功
conda env list
# 激活mivos虚拟环境
activate fbrs 【安装合适的pytorch和torchvision(GPU版)】 pytorch版本1.4.0就可以。
# 安装合适的pytorch和torchvision
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117可能遇到以下问题 解决流程
python -m ensurepip
easy_install pip
python -m pip install --upgrade pip下载源码在requirements.txt所在目录下执行命令安装所需的第三方包
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt查看所有安装的包
# 查看所有安装的包
pip list
conda list2.下载数据集和模型权重
在 SBD 数据集上训练所有模型然后在 GrabCut、Berkeley、DAVIS、SBD 和 COCO_MVal 数据集上对其进行评估。
数据集描述下载地址SBD8498张图像共20172个实例用于训练;2857张图像共6671个实例用于测试百度网盘[p3rl]Grab Cut50 张图像,每张图像一个对象GrabCut.zip (11 MB)Berkeley96 张图片,100 个实例Berkeley.zip (7 MB)DAVIS345 张图片,每张图片有一个对象DAVIS.zip (43 MB)COCO_MVal800 个图像和800 个实例COCO_MVal.zip (127 MB)
源码为交互方式拆分提供具有不同主干的训练模型。
Backbone训练集下载地址ResNet-34SBDresnet34_dh128_sbd.pth(89 MB)ResNet-50SBDresnet50_dh128_sbd.pth(120 MB)ResNet-101SBDresnet101_dh256_sbd.pth(223 MB)HRNetV2-W18OCRSBDhrnet18_ocr64_sbd.pth(39 MB)HRNetV2-W32OCRSBDhrnet32_ocr128_sbd.pth(119 MB)ResNet-50COCOLVISresnet50_dh128_lvis.pth(120 MB)HRNetV2-W32OCRCOCOLVIShrnet32_ocr128_lvis.pth(119 MB)
修改config.yml文件上数据集的存放位置和源代码的提供的权重存放位置。 这里博主提供的SBD数据集需要进一步解压data目录下的benchmark.tgz然后再找到dataset文件夹这才是训练f-BRS所需的SBD数据集。 3.运行f-BRS代码
# --gpu 序号 --limit-longest-size 图片大小(默认800) --cpu 仅用cpu
python3 demo.py --checkpoint模型存放地址--gpu0
# egpython demo.py --checkpointweights/resnet34_dh128_sbd.pth --gpu0 --limit-longest-size4004.训练f-BRS的模型
# ResNet-34 model
# --gpus0,1 多GPU --workers4线程数 win下是0
python train.py models/sbd/r34_dh128.py --gpus0 --workers0 --exp-namefirst-try# ResNet-50 model
python train.py models/sbd/r50_dh128.py --gpus0 --workers0 --exp-namefirst-try# ResNet-101 model
python train.py models/sbd/r101_dh256.py --gpus0 --workers0 --exp-namefirst-try
以r50_dh128为例进行训练记的在trian.py里自己设置batch_size大小:
# HRNetV2-W18OCR model
python train.py models/sbd/hrnet18_ocr64.py --gpus0 --workers0 --exp-namefirst-try# HRNetV2-W32OCR model
python train.py models/sbd/hrnet32_ocr128.py --gpus0 --workers0 --exp-namefirst-try# HRNetV2-W48OCR model
python train.py models/sbd/hrnet48_ocr128.py --gpus0 --workers0 --exp-namefirst-try以r50_dh128为例进行训练记的在trian.py里自己设置batch_size大小: 以下是hrnet的预训练权重地址并修改config.yml文件上预训练权重的存放地址。
Backbone训练集下载地址HRNet-W18-CImageNet百度云[r5xn]HRNet-W32-CImageNet百度云[itc1]HRNet-W48-CImageNet百度云[68g2] resnet不需要单独下载在ImageNet数据集上训练好的预训练权重是因为可以通过联网下载 修改config.yml文件上训练模型权重保存的位置。
5.评估f-BRS的模型
博主使用源代码提供的模型权重
# --datasets:测试数据集,默认测试所有数据集 --checkpoint:模型权重
python scripts/evaluate_model.py brs-mode --checkpointcheckpoint-name# evaluates ResNet-34 model
python scripts/evaluate_model.py f-BRS-B --checkpointresnet34_dh128_sbd# ResNet-50 model
python scripts/evaluate_model.py RGB-BRS --checkpointresnet50_dh128_sbd --datasetsGrabCut,Berkeley# ResNet-50 model
python scripts/evaluate_model.py RGB-BRS --checkpointresnet50_dh128_lvis --datasetsGrabCut,Berkeley# ResNet-101 model
python scripts/evaluate_model.py DistMap-BRS --checkpointresnet101_dh256_sbd --datasetsDAVIS# HRNetV2-W32OCR model
python scripts/evaluate_model.py f-BRS-B --checkpointhrnet18_ocr64_sbd# HRNetV2-W32OCR model
python scripts/evaluate_model.py f-BRS-B --checkpointhrnet32_ocr128_sbd# HRNetV2-W32OCR model
python scripts/evaluate_model.py f-BRS-B --checkpointhrnet32_ocr128_lvis以hrnet18_ocr64_sbd为例进行评估测试所有数据集
总结
尽可能简单、详细的介绍f-BRS的安装流程以及解决了安装过程中可能存在的问题。后续会根据自己学到的知识结合个人理解讲解f-BRS的原理和代码。