CVPR2020分割算法Deep Snake的配置(Deep Snake for Real-Time Instance Segmentation)

article/2025/11/7 15:50:28

这篇文章为分割提供了新思路,很有参考意义。

注:原代码的运行环境为Ubuntu,本文在Windows10系统下完成配置。

1、论文下载:

Deep Snake for Real-Time Instance Segmentation [paper][code]

2、代码下载:

https://github.com/zju3dv/snake/

3、安装依赖库

进入工程目录运行如下代码

pip install Cython==0.28.2
pip install -r requirements.txt

4、安装apex

下载apex:

git clone https://github.com/NVIDIA/apex.git

 进入apex目录安装

cd apex
python setup.py install

作者给的教程,安装apex的代码为:

python setup.py install --cuda_ext --cpp_ext

我的windows10系统下运行会出现如下错误:

e:\codes\pycharm\snake\apex\csrc\multi_tensor_apply.cuh(109): here
            instantiation of "void multi_tensor_apply<depth,T,ArgTypes...>(int, int, const at::Tensor &, const std::vector<std::vector<at::Tensor, std::allocator<at::Tensor>>, std::allocator<std::vector<at::Tensor, std::allocator<at::T
ensor>>>> &, T, ArgTypes...) [with depth=2, T=ScaleFunctor<float, float>, ArgTypes=<float>]"
csrc/multi_tensor_scale_kernel.cu(124): here

1 error detected in the compilation of "C:/Users/XXX/AppData/Local/Temp/tmpxft_0000212c_00000000-10_multi_tensor_scale_kernel.cpp1.ii".
error: command 'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.1\\bin\\nvcc.exe' failed with exit status 1

所以我用python setup.py install直接安装的,可以安装成功

5、使用Cuda编译库lib/csrc

1)进入lib/csrc/dcn_v2路径运行

python setup.py build_ext --inplace

 遇到如下错误:

正在创建库 build\temp.win-amd64-3.7\Release\Codes\PyCharm\snake\lib\csrc\dcn_v2\src\_ext.cp37-win_amd64.lib 和对象 build\temp.win-amd64-3.7\Release\Codes\PyCharm\snake\lib\csrc\dcn_v2\src\_ext.cp37-win_amd64.exp
dcn_v2_cuda.obj : error LNK2001: 无法解析的外部符号 "struct THCState * state" (?state@@3PEAUTHCState@@EA)
build\lib.win-amd64-3.7\_ext.cp37-win_amd64.pyd : fatal error LNK1120: 1 个无法解析的外部命令
error: command 'D:\\Softwares\\VisualStudio\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x64\\link.exe' failed with exit status 1120
解决方法:

进入目录:lib/csrc/dcn_v2/src/cuda

打开dcn_v2_cuda.cu,把extern THCState *state;

改成THCState *state = at::globalContext().lazyInitCUDA();

更改后,再次编译即可。

方法来源:

windows下安装DCNv2出现错误:error LNK2001: 无法解析的外部符号 "struct THCState * state"_libbo2000

2)进入lib/csrc/extreme_utils路径运行

python setup.py build_ext --inplace

遇到如下错误:

正在创建库 build\temp.win-amd64-3.7\Release\Codes\PyCharm\snake\lib\csrc\extreme_utils\_ext.cp37-win_amd64.lib 和对象 build\temp.win-amd64-3.7\Release\Codes\PyCharm\snake\lib\csrc\extreme_utils\_ext.cp37-win_amd64.exp
utils.obj : error LNK2001: 无法解析的外部符号 "public: long * __cdecl at::Tensor::data_ptr<long>(void)const " (??$data_ptr@J@Tensor@at@@QEBAPEAJXZ)
build\lib.win-amd64-3.7\_ext.cp37-win_amd64.pyd : fatal error LNK1120: 1 个无法解析的外部命令
error: command 'D:\\Softwares\\VisualStudio\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x64\\link.exe' failed with exit status 1120

解决方法:

原因可能是x64平台编译对data_ptr<long>的格式不支持,需要将long 改成 int64_t。

打开lib/csrc/extreme_utils/src/utils.cu文件,将里面的long全部替换成int64_t,再次运行编译即可。

3)进入lib/csrc/roi_align_layer路径运行

python setup.py build_ext --inplace

 

6、在用Sbd的预训练模型做可视化测试

1)下载预训练模型 here 然后放到这个路径/data/model/snake/sbd/149.pth

2)回到工程路径运行

python run.py --type demo --cfg_file configs/sbd_snake.yaml demo_path demo_images/2009_000871.jpg ct_score 0.3

运行结果:


http://chatgpt.dhexx.cn/article/DRyyLEhO.shtml

相关文章

图像分割之(五)活动轮廓模型之Snake模型简介

图像分割之&#xff08;五&#xff09;活动轮廓模型之Snake模型简介 zouxy09qq.com http://blog.csdn.net/zouxy09 在“图像分割之&#xff08;一&#xff09;概述”中咱们简单了解了目前主流的图像分割方法。下面咱们主要学习下基于能量泛函的分割方法。这里学习下Snake模型…

麻雀搜索算法SSA(Sparrow Search algorithm)

文章目录 前言数学模型 前言 麻雀搜索算法是2020提出的一种新的优化算法&#xff0c;出自东华大学xue和shen的论文&#xff1a;A novel swarm intelligence optimization approach: sparrow search algorithm&#xff0c;本文的内容是基于该论文来写的。 数学模型 麻雀搜索算…

snake 模型

转自&#xff1a;https://blog.csdn.net/caoniyadeniniang/article/details/77803002 一、曲线演化理论 假设CC(p)是一条光滑封闭的曲线&#xff0c;P是任意的参数化变量&#xff0c;设K表示曲 率&#xff0c;T表示切线&#xff0c;N表示法线&#xff0c;则有如下关系存在&…

蛇优化算法(Snake Optimization,SO)(附Matlab代码,完整,免费)

蛇优化算法&#xff08;Snake Optimization&#xff0c;SO&#xff09;&#xff08;附Matlab代码&#xff0c;完整&#xff0c;免费&#xff09; 一、算法灵感二、算法介绍2.1 初始化2.2 划分种群2.3 定义温度和食物2.4 食物不足时(探索阶段)2.5 食物充足时(开发阶段)2.5.1 斗争…

snake模型求解

&#xfeff;&#xfeff; snake 模型 一、曲线演化理论 假设CC(p)是一条光滑封闭的曲线&#xff0c;P是任意的参数化变量&#xff0c;设K表示曲 率&#xff0c;T表示切线&#xff0c;N表示法线&#xff0c;则有如下关系存在&#xff1a; 因为T和N是互相垂直的(如图所示)&am…

snake模型

1 能量泛函 在介绍snake模型的参考资料[1]中&#xff0c;提到能量泛函的概念&#xff0c;这里对此概念做一个总结。 参考资料[6]给出了泛函的定义&#xff1a; 简单的说&#xff0c; 泛函就是定义域是一个函数集&#xff0c;而值域是实数集或者实数集的一个子集。推广开来&…

Snake算法知识点记录

Snake算法 snake是一种主动轮廓模型&#xff0c;主动轮廓模型目前用到了2种&#xff1a;CV和snake。snake在逐步迭代优化过程的目标是能量函数最小化&#xff0c;snake的目标不像sobel、canny等找到整张图的轮廓。它只搜索你给出的初始轮廓附近&#xff0c;达到轮廓更精确的目…

snake模型简介

图像分割之&#xff08;五&#xff09;活动轮廓模型之Snake模型简介 zouxy09qq.com http://blog.csdn.net/zouxy09 在“图像分割之&#xff08;一&#xff09;概述”中咱们简单了解了目前主流的图像分割方法。下面咱们主要学习下基于能量泛函的分割方法。这里学习下Snake模型简…

蛇优化算法(Snake Optimizer)

生物学机理&#xff1a;来源于蛇的交配行为。如果温度较低&#xff0c;且食物可用&#xff0c;蛇的交配行为发生&#xff1b;否则蛇只会寻找食物&#xff08;食物量<0.25&#xff09;或吃现有的食物(T>0.6)。基于此&#xff0c;将考虑蛇优化算法的搜索过程分为两个阶段&a…

图像处理之图像分割(一)之活动轮廓模型:Snake算法简单梳理

图像处理之图像分割&#xff08;一&#xff09;之活动轮廓模型&#xff1a;Snake算法简单梳理 Snake算法&#xff0c;应该也可以翻译成蛇形算法&#xff0c;或者是包含曲折前进的意思。具体函数背景原理介绍参考&#xff1a;zouxy09&#xff0c;http://blog.csdn.net/zouxy09/a…

snake算法总结

snake是一种主动轮廓模型&#xff0c;笨妞对主动轮廓模型的理解&#xff1a;你先给它一个初始轮廓&#xff0c;模型以初始轮廓为基准逐步迭代&#xff0c;来改进图像的轮廓&#xff0c;使其更加精确。主动轮廓模型目前用到了2种&#xff1a;CV和snake。前者没有看算法内部的原理…

主动轮廓模型:Snake模型的python实现

质量声明&#xff1a;原创文章&#xff0c;内容质量问题请评论吐槽。如对您产生干扰&#xff0c;可私信删除。 主要参考&#xff1a;Active Contour Model — skimage v0.16.dev0 docs - scikit-image 文章目录 skimage实现函数声明代码示例结果显示 Numpy实现代码示例结果显示…

社交网络分析--python-igraph

#coding:utf-8 import scrapy import xlwt, lxml import re, json import matplotlib.pyplot as plt import numpy as np import pylab from scipy import linalg #文档&#xff1a;igraph.org/python/doc/ #社交网络分析 #from igraph import *社交网络算法介绍 分析-权利的游…

(一文读懂社交网络分析(附应用、前沿、学习资源)学习笔记)

一文读懂社交网络分析&#xff08;附应用、前沿、学习资源&#xff09;学习笔记 一、社交网络的结构特性与演化机理1、社交网络结构分析与建模1.1 统计特性1.2 网络特性1.3 网络模型 2、虚拟社区以及发现技术2.1 定义2.2 社区发现算法评估指标2.3社区静态发现算法2.4 社区动态发…

推荐系统实践读书笔记-06利用社交网络数据

推荐系统实践读书笔记-06利用社交网络数据 自从搜索引擎谷歌诞生后&#xff0c;大家都在讨论互联网的下一个金矿是什么。现在&#xff0c;几乎所有的人都认为那就是社交网络。根据尼尔森2010年的报告&#xff0c;用户在互联网上22%的时间花费在社交网站和社交媒体上。Facebook…

超级干货 :一文读懂社交网络分析(附应用、前沿、学习资源)

转自&#xff1a;http://op.inews.qq.com/m/20171020B02CN500?refer100000355&chl_codekb_news_tech&h0 本文主要阐述&#xff1a; 社交网络的结构特性与演化机理 社交网络群体行为形成与互动规律 社交网络信息传播与演化机理 社交网络分析的应用 社交网络前沿研…

社交网络分析调研上

//2019年08月15日 文章来源&#xff1a;https://mp.weixin.qq.com/s/39_r3idlE3plqJwlhrvpAQ 一、相关概述 1、定义&#xff1a;“由许多节点构成的一种社会结构&#xff0c;节点通常是指个人或者组织&#xff0c;而社交网络代表着各种社会关系。” *在之前是社会学和人类学的…

社交网络影响力最大化

目录 1、社交网络概述 2、影响力最大化问题分类 3、社交网络影响力最大化作用 4、传播模型 4.1独立级联模型&#xff08;Independent Cascade Model&#xff09;简称 IC 模型 4.2线性阈值模型&#xff08;Linear Threshold Model&#xff09;简称LT模型 社交网络影响力最…

基于hadoop的社交网络三角形计数

图的三角形计数问题是一个基本的图计算问题,是很多复杂网络分析(比如社交网络分析) 的基础。目前图的三角形计数问题已经成为了 Spark 系统中 GraphX 图计算库所提供的一个算法级 API。本次实验任务就是要在 Hadoop 系统上实现 Twitter 社交网络图的三角形计数任务。 1.1 …

PageRank算法在社交网络上的应用

PageRank算法介绍 pagerank算法的核心思想是&#xff0c;计算一个用户随机点击一个网站然后不停点击从而到达各个网站的概率。而一个网站的打开概率又取决于那些指向他自己的那些网站的概率&#xff0c;所以这个概率的计算是一个不断迭代的过程。 一个简单的例子&#xff1a;…