用于实时实例分割的Deep Snake算法

article/2025/11/7 15:32:10

  第一部分:创新及其优点

  第二部分:算法原理

  第三部分:实验过程

  第四部分:程序逻辑

 

创新及其优点

Deep Snake算法建立在传统Snake算法的基础上,将snake算法做成了轮廓结构化特征学习的方法,使用了循环卷积取得了比通用的图卷积能更好的挖掘轮廓的周期图结构。

  Deep Snake算法克服了建立在图像检测器给出便捷方框不准确造成实例分割产生误差的缺陷;优化了将图像边框表示成密集二进制带来复杂的后期处理的缺点;同时相比在RGB图中进行轮廓回归更充分的利用了轮廓的特殊拓扑。

 

2 算法原理

 

snake是一种主动轮廓模型,它需要一个初始轮廓,以其为输入进行逐步迭代,从而达到调整图像轮廓使其更精确的目的。

snake在逐步迭代优化过程中的目标是能量函数最小化,这个能量函数值轮廓能量和图像能量的总和,其能量函数如下:

     指当前轮廓本身能量(内部能量), 指图像轮廓对应点的能量(外部能量), 表示其方差的相关项。其中内部能量由两部分组成:一阶导数的模(称为弹性能量)和二阶导数的模(弯曲能量)

其中内部能量由两部分组成:一阶导数的模(称为弹性能量)和二阶导数的模(弯曲能量)[这里需要记住为什么],在迭代过程中,弹性能量能快速的把轮廓压缩成光滑的圆;弯曲能量将轮廓拉成光滑的曲线或直线,他们的作用是保持轮廓的光滑和连续性。通常alpha越大,轮廓收敛越快;beta越大,轮廓越光滑。

外部图像能量分三种:线性能量(通常更亮度相关);边缘能量(图像的边缘组成);终端能量。在迭代优化过程中,外部能量会使轮廓朝(灰度)高梯度位置靠近。而通常梯度高的位置都是图像中前景与背景的界限或者物体与物体之间、物体内部不同部分的界限,适合用于分割。在逐步迭代优化过程中的目标是能量函数最小化,这就是snake算法调整实例轮廓的方法和过程。

 

Deep Snake与snake算法类似,分割实例分为两步:初始化轮廓和轮廓变形,然后进行迭代使得实列分割边界更加准确。
      (1) 初始化轮廓:检测包围框初始边缘上的四个中性点的菱形轮廓,然后以菱形为输入
,输出四个顶点到对象极值的偏量,构造出八边形作为初始轮廓。
      (2) 轮廓变形:先沿初始化八角形轮廓均匀的采样N个点,通过学习特征和顶点坐标的级联[F(xi):xi](F是特征映射)构造顶点xi得输入特征。在给定轮廓上定义的输入特征后移入特征学习的循环卷积,得到轮廓的输出特征并预测轮廓点与目标点之间的偏移,最后进行不断迭代得到实例的更优轮廓。从而解决了传统
snake算法中只能达到局部最优的缺点

不同于snake算法的是,snake算法将顶点的坐标作为一组变量并将变量用于优化能量函数中使其中最小进而达到调整轮廓的目的,而deep snake直接学会以端到端的方式进行轮廓变形.

 

循环卷积不同于线性卷积的一种卷积运算,是周期卷积的一种。其公式如下:

 

循环卷积

RN(n)代表只取长度为n的主值序列,其计算过程如下:

蓝色为输入特征、黄色为核函数,令右图所示状态为

n=0,将输入特征变量与核函数变量做乘积得到输出

变量y(0),n=1时,将核函数逆时针旋转一个单位得

y(1),不断旋转直到算出y(n),这样就算出了输入轮

廓的输出特征,最后根据输出特征对初试轮廓进行

调整,从而完成deep snake算法第二步。

值得一提的是由于实例轮廓多是封闭的回路,因此这里运用循环卷积比一般卷积更能运用这种特殊的拓扑结构。

 

3 实验过程

4 程序逻辑

 

以上就是本人对deep Snake相关知识点的创新、原理、实验过程、程序逻辑的个人看法,欢迎指正。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


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

相关文章

KMeans 算法(一)

K-means算法简述 K-means算法,也称为K-平均或者K-均值,一般作为掌握聚类算法的第一个算法。这里的K为常数,需事先设定,通俗地说该算法是将没有标注的 M 个样本通过迭代的方式聚集成K个簇。在对样本进行聚集的过程往往是以样本之间…

选择性搜索算法(Selective Search )——SS算法

文章目录 一、前言二、object Detection VS object Recognition(Selective Search的提出)2.1object recognition与object detection的关系2.2滑动窗口方法的局限性2.3Selective search算法的提出 三、Selective Search算法3.1什么是Selective Search&…

主动轮廓模型——Snake分割算法(MATLAB)

学习图像分割算法,在网上找到的关于主动轮廓模型的实现代码,自己简化总结了一下,在这里和大家分享,欢迎提问 snake是一种能量最小的曲线,表示为v(s) (x(s), y(s)), s为归一化的曲线长度,s∈[0, 1]。 能量…

麻雀搜索算法(Sparrow Search Algorithm,SSA)

文章目录 1 算法思想2 算法步骤3 求解函数最值(Python实现)4 算法进阶直接改进SSA融合别的智能优化算法来改进SSASMA及其改进的应用 原论文: [1]薛建凯. 一种新型的群智能优化技术的研究与应用[D].东华大学,2020. 1 算法思想 借鉴生物行为&a…

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

这篇文章为分割提供了新思路,很有参考意义。 注:原代码的运行环境为Ubuntu,本文在Windows10系统下完成配置。 1、论文下载: Deep Snake for Real-Time Instance Segmentation [paper][code] 2、代码下载: https:/…

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

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

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

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

snake 模型

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

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

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

snake模型求解

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

snake模型

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

Snake算法知识点记录

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

snake模型简介

图像分割之(五)活动轮廓模型之Snake模型简介 zouxy09qq.com http://blog.csdn.net/zouxy09 在“图像分割之(一)概述”中咱们简单了解了目前主流的图像分割方法。下面咱们主要学习下基于能量泛函的分割方法。这里学习下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…