主动轮廓——计算机视觉中的图像分割方法

一、说明

   简单来说,计算机视觉就是为计算机提供类似人类的视觉。作为人类,我们很容易识别任何物体。我们可以很容易地识别山丘、树木、土地、动物等,但计算机没有眼睛,也没有大脑,因此它很难识别任何图像。计算机只能理解命令和数学。因此,有很多技术可以让计算机识别各种物体。图像分割是目标检测的方法之一。

二、什么是图像分割?

   图像分割是指通过对图像的像素值进行聚类来划分输入图像。它主要用于从图像中识别各种表面或生物或非生物物体。例如,如果您有以下图像作为输入,那么您可以将老虎、绿草、蓝色的水和陆地作为输出图像中的各种表面。

图片: Alt

   有各种图像分割技术,例如活动轮廓、分割和合并、分水岭、区域分割、区域合并、基于图的分割、均值平移和模型查找以及归一化剪切。

   本文介绍了一种最有用的图像分割技术,称为“主动轮廓”。

2.1 什么是主动轮廓?

   主动轮廓是一种分割方法,它使用能量力和约束将感兴趣的像素从图片中分离出来,以进行进一步的处理和分析。

   活动轮廓被定义为分割过程的活动模型。轮廓是定义图像中感兴趣区域的边界。轮廓是已插值的点的集合。插值过程可能是线性、样条或多项式,具体取决于图像中曲线的描述方式。

2.2 为什么需要主动轮廓?

   活动轮廓在图像处理中的主要用途是定义图像中的平滑形状并构建区域的闭合轮廓。主要用于识别图像中不均匀的形状。

   活动轮廓用于各种医学图像分割应用。各种形式的活动轮廓模型被用于各种医学应用中,特别是用于从各种医学图像中分离所需区域。例如,使用主动轮廓模型检查大脑 CT 扫描的切片以进行分割。

2.3 主动轮廓如何工作?

   活动轮廓是一种在图像中获取具有分割约束和力的可变形模型或结构的技术。轮廓模型定义对象边界或其他图片特征以生成参数曲线或轮廓。

   模型的曲率是使用多种利用外力和内力的轮廓技术来确定的。能量函数总是与图像的曲线相关。外部能量被描述为由专门用于控制轮廓在图像上的位置的图片引起的力和用于控制变形变化的内部能量的总和。

   对某一图像的轮廓分割约束是根据需要确定的。通过定义能量函数可以获得所需的形状。定位轮廓的点的集合用于描述轮廓变形。该形状对应于所需的图像轮廓,其是通过最小化能量函数来定义的。

三、主动轮廓分割模型

3.1.蛇模型

   蛇模型是一种能够解决广泛的分割问题的技术。该模型的主要功能是识别和勾勒出目标对象以进行分割。它需要对目标物体的形状有一些先验知识,尤其是对于复杂的物体。主动蛇模型(通常称为蛇)通常通过使用专注于最小化能量的样条线进行配置,然后使用控制图像的各种力。

3.2 方程

   简单的蛇模型可以由一组n个点 v i表示, i=0,….n-1, 内部弹性能量项 E Internal 和基于外部边缘的能量项 E external。 内部能量项的目的是调节蛇的变形,而外部能量项的功能是控制轮廓与图像的拟合。外部能量通常是由图片E image引起的力和由用户E con施加的约束力的组合。

   蛇的能量函数是其外部能量和内部能量的总和,可以写成如下:
公式1

3.3 优势

   主动蛇模型的应用正在迅速扩展,特别是在许多成像领域。在医学成像领域,蛇模型用于分割图像中与图片的其他区域相比具有独特特征的部分。医学成像中的传统蛇模型应用包括用于识别青光眼的视盘和视杯分割、细胞图像分割、血管区域分割以及用于诊断和研究疾病或异常的其他几个区域分割。

3.4 坏处

   传统的主动蛇模型方法存在各种低效问题,例如高复杂性对象中的噪声敏感性和错误的轮廓检测,这些问题在先进的轮廓方法中得到了解决。

四、.梯度矢量流模型

   梯度矢量流模型是蛇形或活动轮廓模型的更发达且定义明确的版本。传统的蛇模型有两个局限性:凹边界的轮廓收敛不充分以及蛇曲线流在距离最小值很远的地方开始。作为扩展,梯度矢量流模型利用梯度矢量流场作为能量约束来确定等高线流。

4.1 方程

   在 2D 中,GVF 矢量场 F G V F F_{GVF} FGVF最小化能量泛函
在这里插入图片描述

其中“μ”是可控平滑项。

4.2 优势

   梯度矢量流模型是蛇模型的高级版本,用于各种图像处理应用,特别是医学图像处理。医学成像中具有特定参数的区域的分割是在主动轮廓模型的帮助下完成的。由于这些模型在目标对象周围创建轮廓,因此它与图像分离。

4.3 坏处

   利用 GVF 的主要困难是平滑项“μ”导致轮廓的边缘变圆。减小“μ”的值可最大限度地减少舍入,但会增加平滑量。

五、气球模型

   蛇模型不会被吸引到远处的边缘。如果没有显着的图像力应用于蛇模型,其内侧将会收缩。大于最小值轮廓的蛇最终会收缩到其中,而小于最小值轮廓的蛇将不会发现最小值,而是会继续收缩。为了解决蛇模型的约束,开发了气球模型,其中将膨胀因子纳入作用在蛇上的力中。通货膨胀的力量可以压倒来自弱边缘的力量,加剧第一猜测本地化的问题。

5.1 方程

   气球模型中引入了作用在蛇上的力的膨胀项。
在这里插入图片描述

   其中 n(s) 是 v(s) 处曲线的法向酉向量,k 1是力的大小。

5.2 优势

   气球概念用于分割各种医学图片。该应用程序的主要目的是提出一种用于分割 2D 图像和重建 3D 网格的新技术,以确保网格的无懈可击。

5.3 坏处

   气球模型的最大问题是处理速度慢,这使得管理锐利边缘变得困难,并且需要仔细放置对象。气球模型常用于分析图片轮廓提取。

六、几何或测地线活动轮廓模型

   几何活动轮廓 (GAC) 是轮廓模型的一种形式,它通过垂直移动曲线的点来调整欧几里得平面中建立的平滑曲线。这些点以与图像区域的曲率成比例的速率移动。曲线的几何流动和图像中物品的识别被用来表征轮廓。几何流包括感兴趣区域的内部和外部几何测量。在检测图像中的项目的过程中,利用了蛇的几何替代。这些轮廓模型很大程度上依赖于指定图像的独特区域进行分割的水平集函数。

6.1 方程

   例如GAC的梯度下降曲线演化方程为
在这里插入图片描述

   其中 g(I) 是停止函数,c是拉格朗日乘子,K 是曲率,矢量 N 是单位向内法线。这种特殊形式的曲线演化方程仅依赖于法线方向的速度。因此,通过将水平集函数 φ 插入其中,可以将其等效地重写为欧拉形式,如下所示

在这里插入图片描述

6.2 优势

   几何活动轮廓主要用于医学图像计算,特别是基于图像的分割。在这种情况下,任何成像方式的图片都会被检查以进行分割,以便研究、处理和分析感兴趣的区域。这些区域包括在人体内部区域或器官中形成的任何畸变,例如血栓、创伤、病变、细胞异常、代谢中断、生物分子破坏等。

6.3 坏处

   大多数情况下,它没有这样的低效率,但它们很难实施,因为它们本质上很复杂。

七、使用活动轮廓实现蛇模型

Python代码:

import numpy as np
import matplotlib.pyplot as plt
from skimage.color import rgb2gray
from skimage import data
from skimage.filters import gaussian
from skimage.segmentation import active_contour
image = data.astronaut()
image = rgb2gray(image)
s = np.linspace(0, 2*np.pi, 400)
r = 100 + 100*np.sin(s)
c = 220 + 100*np.cos(s)
init = np.array([r, c]).T
snake = active_contour(gaussian(image, 3, preserve_range=False),
init, alpha=0.015, beta=10, gamma=0.001)
fig, ax = plt.subplots(figsize=(7, 7))
ax.imshow(image, cmap=plt.cm.gray)
ax.plot(init[:, 1], init[:, 0], '--r', lw=3)
ax.plot(snake[:, 1], snake[:, 0], '-b', lw=3)
ax.set_xticks([]), ax.set_yticks([])
ax.axis([0, image.shape[1], image.shape[0], 0])
plt.show()`

   实验结果显示:
在这里插入图片描述

八、经常问的问题

8.1 Q1. 什么是主动轮廓分割?

   答:主动轮廓分割,也称为“蛇”或“snake”,是一种用于图像中对象边界检测的计算机视觉技术。它涉及在对象边界附近创建初始轮廓,并迭代调整其位置以准确地贴合对象的边缘。轮廓根据图像梯度、内部能量和外部约束产生的力而演变。主动轮廓分割在阈值处理或边缘检测等传统方法可能失败的情况下特别有用,因为它可以通过根据对象边缘自适应调整轮廓形状来处理复杂的对象形状和部分遮挡。

8.2 Q2。主动轮廓分割可以用来做什么?

   答. 主动轮廓分割可用于各种计算机视觉应用,例如医学图像分析(例如 MRI 扫描中的器官分割)、视频中的对象跟踪、图像编辑(例如用于照片处理的精确对象隔离)和工业自动化(例如,对制造品进行缺陷检测)。在需要精确描绘具有复杂形状和变化对比度的对象的边界的情况下,它表现出色。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

tomcat与servlet

目录 一、Http服务器 二、tomcat 1、概念 2、tomcat解压缩文件 (1)bin文件夹 (2)conf文件夹 (3)logs (4)webapps 3、借助tomcat服务器访问网页 三、servlet 1、概念 2、s…

java SSM园林绿化管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM园林绿化管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代 码和数据库,系统主要采…

安全基础~web攻防特性2

文章目录 知识补充Javaweb安全之webGoatwebgoat靶场搭建闯关GeneralInjectionldentity & Auth Failurelog4j2漏洞利用 JS项目&Node.JS框架安全 知识补充 Burpsuite Render在无法预览显示时,可以适当的清理缓存 win10下输入文字变成繁体解决 Javaweb安全之…

一键转换,让JPG轻松变身BMP - 提升办公效率,从这里开始!

在繁忙的办公环境中,我们总是在追求更高的效率,希望以更短的时间完成更多的任务。今天,我们将为您带来一款强大且实用的工具,它能帮助您快速将JPG格式的图片转换为BMP格式,让您在处理图片时更加得心应手。 首先&#x…

5分钟教会你如何在生产环境debug代码

前言 有时出现的线上bug在测试环境死活都不能复现,靠review代码猜测bug出现的原因,然后盲改代码直接在线上测试明显不靠谱。这时我们就需要在生产环境中debug代码,快速找到bug的原因,然后将锅丢出去。 生产环境的代码一般都是关闭…

怎么解决离散型制造业中的7大浪费

企业在生产管理中会产生各种浪费,MES可以巧妙结合精益化生产管理思想消除这些浪费。离散制造中的7大浪费: 1、生产不良 生产过程中出现废品、次品这类质量问题,一方面会消耗原材料、零部件等,另一方面生产、返修过程也会消耗人工…

Dicom标准里的 RescaleType

DCM_RescaleType 0x0028, 0x1054 这个 HU 和 us 是代表什么含义 之前去一个公司面试,问我, MR里灰阶是什么 CT里才叫CT值, MR里叫什么呢? DICOMLookup

selenium处理下拉框

当想要爬取的数据由下拉框来选择时,应该如何处理? 页面如下: 目的获得电影的详细信息,包括票房,上映日期等。 代码如下: from selenium import webdriver from selenium.webdriver.support.select impor…

LLM:Training Compute-Optimal Large Language Models

论文:https://arxiv.org/pdf/2203.15556.pdf 发表:2022 前文回顾: OpenAI在2020年提出《Scaling Laws for Neural Language Models》:Scaling Laws(缩放法则)也一直影响了后续大模型的训练。其给出的结论是最佳计算效…

2024PMP考试新考纲-【过程领域】近期典型真题和很详细解析(7)

华研荟继续为您分享【过程Process领域】的新考纲下的真题,进一步帮助大家体会和理解新考纲下PMP的考试特点和如何应用知识来解题,并且举一反三,一次性、高等级通过2024年PMP考试。 2024年PMP考试新考纲-【过程领域】真题解析31 题&#xff1…

【4k】4k的webrtc播放示例

目录 使用带研发角色的账号,在app端设置下分辨率 : 4k 点播 ffplay播放看下详细的参数 使用带研发角色的账号,在app端设置下分辨率 : 4k 点播 ffplay播放看下详细的参数

Pytest插件“pytest-selenium” - 让自动化测试更简洁

在现代Web应用的开发中,自动化测试成为确保网站质量的重要手段之一。而Pytest插件 pytest-selenium 则为开发者提供了简单而强大的工具,以便于使用Python进行Web应用的自动化测试。本文将深入介绍 pytest-selenium 插件的基本用法和实际案例,助你轻松进入无忧的Web应用测试之…

Pytorch从零开始实战17

Pytorch从零开始实战——生成对抗网络入门 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——生成对抗网络入门环境准备模型定义开始训练总结 环境准备 本文基于Jupyter notebook,使用Python3.8,Pytorch1.8cpu&#xf…

CSS 浮动 定位

文章目录 网页布局的本质浮动如何设置浮动测试浮动 定位相对定位绝对定位测试定位 网页布局的本质 用 CSS 来摆放盒子,把盒子摆放到相应位置。 CSS 提供了三种传统布局方式(简单说就是盒子如何进行排列)。 普通流(标准流&#…

后面的输入框与前面的联动,输入框只能输入正数(不用正则)

概要 提示:这里可以描述概要 前面的输入框是发票金额,后面的输入框是累计发票金额(含本次)--含本次就代表后倾请求的接口的数据(不是保存后返显的-因为保存后返显的是含本次)是不含本次的所以在输入发票金…

从数据角度分析年龄与NBA球员赛场表现的关系【数据分析项目分享】

好久不见朋友们,今天给大家分享一个我自己很感兴趣的话题分析——NBA球员表现跟年龄关系到底大不大?数据来源于Kaggle,感兴趣的朋友可以点赞评论留言,我会将数据同代码一起发送给你。 目录 NBA球员表现的探索性数据分析导入Python…

会话跟踪技术(cookiesession)

文章目录 1、什么是会话跟踪技术2、Cookie2.1、Cookie基本使用2.2、Cookie原理2.3、Cookie使用细节 3、Session3.1、Session基本使用3.2、Session原理3.3、Session使用细节 4、Cookie和Session的对比 1、什么是会话跟踪技术 会话 ​ 用户打开浏览器,访问web服务器的…

在行情一般的情况下,就说说23级应届生如何找java工作

Java应届生找工作,不能单靠背面试题,更不能在简历中堆砌和找工作关系不大的校园实践经历,而是更要在面试中能证明自己的java相关商业项目经验。其实不少应届生Java求职者不是说没真实Java项目经验,而是不知道怎么挖掘,…

DB107S-ASEMI智能LED灯具专用DB107S

编辑:ll DB107S-ASEMI智能LED灯具专用DB107S 型号:DB107S 品牌:ASEMI 封装:DBS-4 最大重复峰值反向电压:1000V 最大正向平均整流电流(Vdss):1A 功率(Pd):50W 芯片个数:4 引…

浅析智能家居企业面临的组网问题及解决方案

在这个快速发展的时代,组网对于企业的发展来说是一个至关重要的环节。 案例背景: 案例企业是一家智能家居制造企业,在不同城市分布有分公司、店铺、工厂,这些点原本都是各自采购网络,与总部进行日常沟通、访问。 现在…
最新文章