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

一、说明

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

二、什么是图像分割?

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

图片: 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.hqwc.cn/news/413737.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是JavaScript BOM

BOM是Browser Object Model的缩写,即浏览器对象模型。由于BOM是和浏览器相关的一些操作,因此产生的后果就是无数的浏览器厂商各自使用自己的一套方式实现BOM(当然现在这个问题基本解决了。。) 在网站中有很多针对浏览器的操作&…

C++系列-第1章顺序结构-9-字符类型char

在线练习: http://noi.openjudge.cn/ https://www.luogu.com.cn/ 总结 本文是C系列博客,主要讲述字符类型char 字符类型char 在C编程语言中,char是一种基本的数据类型,它用于存储单个字符。字符可以是字母、数字、标点符号或者…

SG-9101CGA(汽车+125°C可编程晶体振荡器)

SG-9101CGA是用于汽车CMOS输出的可编程晶体振荡器,彩用2.5 x 2.0 (mm)封装,0.67 MHz至170 MHz频率范围、工作温度范围为-40℃~125℃,符合车规级晶振,无铅,绿色环保,满足汽车工业标准,电源电压范…

蓝桥杯真题(Python)每日练Day1

说明:在CSP认证的基础上(可以看看本人CSP打卡系列的博客)备赛2024蓝桥杯(Python),本人专业:大数据与数据科学 因此对python要求熟练掌握,通过练习蓝桥杯既能熟悉语法又能锻炼算法和思…

ai写作软件手机版哪个好用?这些软件了解一下

ai写作软件手机版哪个好用?随着人工智能技术的不断发展,手机版的AI写作软件也日益受到人们的关注。这些软件不仅能够帮助用户快速生成高质量的文本内容,还支持多种语言,满足不同用户的需求。本文将为你介绍几款知名的手机版AI写作…

PyCharm 快捷键(Ctrl + R)正则表达式批量替换

目录 一、使用快捷键CtrlR,打开替换界面 二、输入替换格式 三、点击全部替换 一、使用快捷键CtrlR,打开替换界面 二、输入替换格式 在第一个框输入 (.*): (.*) 第二个框输入 $1:$2, 三、点击全部替换

大模型学习与实践笔记(九)

一、LMDeply方式部署 使用 LMDeploy 以本地对话方式部署 InternLM-Chat-7B 模型,生成 300 字的小故事 2.api 方式部署 运行 结果: 显存占用: 二、报错与解决方案 在使用命令,对lmdeploy 进行源码安装是时,报错 1.源…

一款开源且不限制大小可以设置过期时间的支持分享的的开源文件共享系统picoshare 部署教程

1.拉取镜像 2.部署 创建目录 mkdir -p /opt/picoshare/data 部署 其中:"somesecretpass"是密码 docker run \--env "PORT4001" \--env "PS_SHARED_SECRETsomesecretpass" \--publish 10005:4001/tcp \--volume "/opt/picoshare/data:…

目标检测--01

基本概念 什么是目标检测? ​ 目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状…

深度学习和机器学习中针对非时间序列的回归任务,有哪些改进角度?

深度学习和机器学习中针对非时间序列的回归任务,有哪些改进角度? 目录 深度学习和机器学习中针对非时间序列的回归任务,有哪些改进角度?引言1 数据预处理2 数据集增强3 特征选择4 模型选择5 模型正则化与泛化6 优化器7 学习率8 超…

阿里云ECS(CentOS镜像)安装docker

目录 1.前置条件 2.连接至ECS 3.yum软件包更新 4.安装docker前置所需软件包 5.添加docker 官方的 yum 软件源 6.安装docker 7.检测是否成功 8.配置阿里云镜像加速器 1.前置条件 在看本文前保证未安装过docker,或者安装过但是清理干净 如果多次安装失败过,…

使用 MinIO 和 PostgreSQL 简化数据事件

本教程将教您如何使用 Docker 和 Docker Compose 在 MinIO 和 PostgreSQL 之间设置和管理数据事件,也称为存储桶或对象事件。 您可能已经在利用 MinIO 事件与外部服务进行通信,现在您将通过使用 PostgreSQL 自动化和简化数据事件管理来增强数据处理能力…