【图像分割】【深度学习】Windows10下f-BRS官方代码Pytorch实现

news2024/11/19 13:10:03

【图像分割】【深度学习】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 python=3.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 list

2.下载数据集和模型权重

在 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-W18+OCRSBDhrnet18_ocr64_sbd.pth(39 MB)
HRNetV2-W32+OCRSBDhrnet32_ocr128_sbd.pth(119 MB)
ResNet-50COCO+LVISresnet50_dh128_lvis.pth(120 MB)
HRNetV2-W32+OCRCOCO+LVIShrnet32_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=<模型存放地址>--gpu=0
# eg:python demo.py --checkpoint=weights/resnet34_dh128_sbd.pth --gpu=0 --limit-longest-size=400

4.训练f-BRS的模型

# ResNet-34 model
# --gpus=0,1 多GPU --workers=4线程数 win下是0 
python train.py models/sbd/r34_dh128.py --gpus=0 --workers=0 --exp-name=first-try

# ResNet-50 model
python train.py models/sbd/r50_dh128.py --gpus=0 --workers=0 --exp-name=first-try

# ResNet-101 model
python train.py models/sbd/r101_dh256.py --gpus=0 --workers=0 --exp-name=first-try

以r50_dh128为例进行训练,记的在trian.py里自己设置batch_size大小:

# HRNetV2-W18+OCR model
python train.py models/sbd/hrnet18_ocr64.py --gpus=0 --workers=0 --exp-name=first-try

# HRNetV2-W32+OCR model
python train.py models/sbd/hrnet32_ocr128.py --gpus=0 --workers=0 --exp-name=first-try

# HRNetV2-W48+OCR model
python train.py models/sbd/hrnet48_ocr128.py --gpus=0 --workers=0 --exp-name=first-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> --checkpoint=<checkpoint-name>
# evaluates ResNet-34 model 
python scripts/evaluate_model.py f-BRS-B --checkpoint=resnet34_dh128_sbd

# ResNet-50 model 
python scripts/evaluate_model.py RGB-BRS --checkpoint=resnet50_dh128_sbd --datasets=GrabCut,Berkeley

# ResNet-50 model 
python scripts/evaluate_model.py RGB-BRS --checkpoint=resnet50_dh128_lvis --datasets=GrabCut,Berkeley

# ResNet-101 model 
python scripts/evaluate_model.py DistMap-BRS --checkpoint=resnet101_dh256_sbd --datasets=DAVIS
# HRNetV2-W32+OCR model
python scripts/evaluate_model.py f-BRS-B --checkpoint=hrnet18_ocr64_sbd

# HRNetV2-W32+OCR model
python scripts/evaluate_model.py f-BRS-B --checkpoint=hrnet32_ocr128_sbd

# HRNetV2-W32+OCR model
python scripts/evaluate_model.py f-BRS-B --checkpoint=hrnet32_ocr128_lvis

以hrnet18_ocr64_sbd为例进行评估,测试所有数据集:
在这里插入图片描述

总结

尽可能简单、详细的介绍f-BRS的安装流程以及解决了安装过程中可能存在的问题。后续会根据自己学到的知识结合个人理解讲解f-BRS的原理和代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/502260.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL基础(十三)约束

1. 约束(constraint)概述 1.1 为什么需要约束 数据完整性&#xff08;Data Integrity&#xff09;是指数据的精确性&#xff08;Accuracy&#xff09;和可靠性&#xff08;Reliability&#xff09;。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成…

Ubuntu20.04 不能访问磁盘? 挂载/添加磁盘

Ubuntu20.04 不能访问磁盘&#xff1f; 挂载/添加磁盘 1. 判断是否挂载磁盘2. 格式化磁盘3. 挂载磁盘4. 设置磁盘权限5. 重启系统 一般设备刚拿回来的是不会全部挂载的&#xff0c;也就是说&#xff0c;一部分硬盘&#xff08;机械硬盘&#xff09;是需要我们自己挂载的&…

如何通过舆情监测系统加强数据分析和舆情管控?

舆情监测系统是一种可以帮助企业、政府等机构了解并掌握公众对其关注的程度&#xff0c;以及对其言论和行动的态度和反应的工具。随着社交媒体的兴起&#xff0c;舆情监测系统也越来越重要&#xff0c;越来越受到各个领域的关注和应用。本文将通过分析国内的具体案例&#xff0…

flex布局中理解flex-grow、flex-shrink、flex-basis属性

参考博客&#xff1a; 深入理解flex布局的flex-grow、flex-shrink、flex-basis flex-basis属性 flex-basis设置子项目占据的空间大小&#xff0c; 如果指定flex-basis的值&#xff0c;则子项目会占用所设置的值。如果没有指定或者设置为auto&#xff0c;子项目占据的大小为wi…

咪咕MGV2000_JL-S905L3-B-当贝纯净桌面线刷固件包

咪咕MGV2000_JL-S905L3-B-当贝纯净桌面线刷固件包-内有教程及短接点 特点&#xff1a; 1、适用于对应型号的电视盒子刷机&#xff1b; 2、开放原厂固件屏蔽的市场安装和u盘安装apk&#xff1b; 3、修改dns&#xff0c;三网通用&#xff1b; 4、大量精简内置的没用的软件&a…

中兴B860AV2.1-T(M)-非高安版-当贝纯净桌面线刷固件包

中兴B860AV2.1-T(M)-非高安版-当贝纯净桌面线刷固件包-内有教程及短接点 特点&#xff1a; 1、适用于对应型号的电视盒子刷机&#xff1b; 2、开放原厂固件屏蔽的市场安装和u盘安装apk&#xff1b; 3、修改dns&#xff0c;三网通用&#xff1b; 4、大量精简内置的没用的软…

【花雕学AI】32:WeTab——使用 ChatGPT 聊天的新标签页,免费又好用

引言&#xff1a; 你是否厌倦了每次打开浏览器都看到同样的新标签页&#xff1f;你是否想要让你的新标签页更有个性&#xff0c;更有趣&#xff0c;更有用&#xff1f;如果是的话&#xff0c;那么你一定要试试 WeTab&#xff01; WeTab 是一款免费的浏览器扩展&#xff0c;它…

DiscuzX3.5中,截屏图片的粘贴上传

目录 1 前言 2 网页端实现代码 3 服务器端php代码 4 测试一下 5 注意 1 前言 discuzX系列版本&#xff0c;无论是论坛还是门户&#xff0c;图片上传只能使用选择本地文件并上传的方式&#xff0c;与csdn直接用截屏后&#xff0c;ctrlv粘贴上传图片的方式相比&#xff0c;…

自动核对名单详细教程〖Python版〗

前言 大家好&#xff0c;今天我们来给大家分享一个很实用的东西。最近&#xff0c;有粉丝私信我&#xff0c;能不能做一个大学习自动核对名单的程序&#xff0c;我这个粉丝呢&#xff0c;她作为班级团支书&#xff0c;每次核对大学习的名单感到特别的头疼。那我接下来就来写一个…

国产操作系统---麒麟安装FastDFS

常用命令&#xff1a; fdfs_trackerd /etc/fdfs/tracker.conf start 启动 fdfs_storaged /etc/fdfs/storage.conf start 一、环境准备 环境&#xff1a;麒麟 4.19.90-24.4.v2101.ky10.x86_64 软件包 1. https://github.com/happyfish100/fastdfs/tagsfastDFS 1. …

论文阅读之Parameter-Efficient Transfer Learning for NLP(2019)

文章目录 AbstractIntroductionAdapter tuning for NLPExperiments总结参考 论文名称翻译过来就是“NLP的参数有效迁移学习”&#xff0c;其实就是是目前火热prompt learning&#xff08;提示学习&#xff09;出现的铺垫之一了。 NLP第三范式就是预训练模型微调下游任务&#x…

颠覆式变革来了?谷歌将改变搜索引擎展示方式,加入AI对话与短视频

来源 |华尔街见闻 作者 |周晓雯 谷歌搜索结果的展示页面&#xff0c;可能很快就会出现巨大变化。 据报道&#xff0c;谷歌正在改变其呈现搜索结果的方式&#xff0c;将人工智能对话以及更多的短视频和社交媒体帖子纳入其中&#xff0c;这与数十年来促使其成为搜索引擎“霸主”的…

UP主发车啦!撩人仙侠文系列,谁来管管这个反派啊!

本人书龄4年&#xff0c;平时很爱看小说&#xff0c;阅遍无数经典修仙文&#xff0c;熬夜党的最爱啊&#xff01;&#xff01;&#xff01;&#xff01;我心中的仙侠top&#xff0c;都是我的心头爱。 一般我都会跟朋友说这六本五星级仙侠好文&#xff0c;如果她们不看&#xf…

利用Appuploader上架IPA步骤

我的博客即将同步至腾讯云开发者社区&#xff0c;邀请大家一同入驻&#xff1a;https://cloud.tencent.com/developer/support-plan?invite_code1vtq5fxoqxjpg Appuploader可以辅助在Windows、linux或mac系统直接申请iOS证书p12&#xff0c;及上传ipa到App Store。方便在没有苹…

Shell脚本练习

求100以内正奇数和 注意点&#xff1a; $[]和$(())&#xff1a;是进行数学运算的。支持 - * / %&#xff1a;分别为 “加、减、乘、除、取模”。但是注意&#xff0c;bash只能作整数运算&#xff0c;对于浮点数是当作字符串处理的。{a..b}&#xff1a;表示范围。大于等于a&am…

python3+requests接口自动化测试实例详细操作

前段时间由于公司测试方向的转型&#xff0c;由原来的web页面功能测试转变成接口测试&#xff0c;之前大多都是手工进行&#xff0c;利用postman和jmeter进行的接口测试&#xff0c;后来&#xff0c;组内有人讲原先web自动化的测试框架移驾成接口的自动化框架&#xff0c;使用的…

什么是ERP?电商ERP和传统ERP到底有什么不同?

随着电子商务行业的不断发展&#xff0c;传统的ERP系统已经不再适应电商的业务需求&#xff0c;因为这些系统主要是设计用于传统制造和物流公司。 电商企业面临的业务需求与传统制造和物流公司截然不同&#xff0c;因此需要更加灵活和适应性强的解决方案来支持其日常运营。 对…

PointNetGPD代码复现

0、安装分析 Ubuntu版本pcl版本vtk版本18.041.918.2.0 1、pcl1.9安装 1.1 安装依赖 sudo apt-get update sudo apt-get install git build-essential linux-libc-dev sudo apt-get install cmake cmake-gui sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-de…

托福高频真词List04 // 9:40~10:30 |阅读真题 // 11:00~11:50

目录 ​​​​​​​生词 熟词 阅读真题​​​​​​​ inclement adj.天气恶劣的&#xff1b;气候严酷的&#xff1b;狂风暴雨的&#xff1b;潮湿的&#xff1b;寒冷的 ​​​​​​​生词 propertycharacteristicfeaturen 特征substantiallysignificantlylargely…

一文读懂Web Component

前言 由于最近作者在学习微前端&#xff0c;web component也是其中一大特性&#xff0c;部分微前端框架使用到&#xff0c;也是深入学习了一下相关的知识&#xff0c;分享出来。 Web Component是什么&#xff1f; Web Component 实际上一系列技术的组合&#xff0c;主要包含…