【计算机视觉】图像分割中FCN、DeepLab、SegNet、U-Net、Mask R-CNN等算法的讲解(图文解释 超详细)

简介: 【计算机视觉】图像分割中FCN、DeepLab、SegNet、U-Net、Mask R-CNN等算法的讲解(图文解释 超详细)

觉得有帮助请点赞关注收藏~~~

一、FCN分割算法

全卷积神经网络目标分割算法能够端到端的得到每个像素的目标分类结果,与传统的卷积神经网络只能输入固定大小图像和在网络的末端使用几个全连接层得到固定长度的特征向量不同,全卷积神经网络能够接受任意大小尺寸的输入图像,并且网络中没有使用全连接层,而是全部使用卷积层,全卷积神经网络采用反卷积层取代简单的线性插值算法,对最后一个卷积层的特征图进行上采样,使用反卷积可以对卷积进行逆操作

FCN算法采用VGGNet为基础网络,并把VGGNet的最后三层全连接层改为卷积层,最后采用跳跃式结构融合多尺度特征产生与原图大小一致的每个像素图类别图

二、DeepLab图像分割算法

DeepLab图像分割算法主要由两部分所组成:深度卷积神经网络和条件随机场,该方法的主要创新点就是条件随机场部分,该方法的主要创新点就是条件随机场部分,为了能够取得类似于传统条件随机场的全局优化效果,利用循环的方式将上一层的输出作为下一层的输入,其中采用的条件随机场架构是基于全局连接模型,图像分割的条件随机场推理的关键因素就是将类别标号问题转变成概率推理问题。

DeepLab分割算法将条件随机场作为后置的处理加在全卷积神经网络的结果上,用来改善图像分割的结果,这种通过将全卷积神经网络与条件随机场组合得到了较好的结果

三、SegNet图像分割算法

SegNet图像分割算法是一个编码器-解码器结构的卷积神经网络,SegNet算法结果如下图,这是一个对称网络,左边是卷积提取高维特征,卷积后不改变图片大小,通过池化来使图片变小,该部分为编码器部分,右边是反卷积与上采样,上采样使用的使反池化的方式将图像变大,通过反卷积使上采样后的图像信息变得丰富,使得在池化过程丢失的信息可以在学习后得到

SegNet中的池化层多了一个索引的功能,在每次进行最大池化的过程中都会保存滤波器中最大权值的相对位置,在利用反池化的方式进行上采样的时候就能对最大权值的区域信息进行恢复,其余信息则会丢失,因此,SegNet使用可学习的反卷积将缺失的内容进行填充。

四、U-Net算法

U-Net是受到FCN启发针对医学图像做语义分割,且可以利用少量的数据学习到一个对边缘提取十分鲁棒的模型,在生物医学图像分割领域有很大作用,大体由收缩和扩张路径组成,因为形似一个字母U,得名U-Net,收缩路径利用传统卷积神经网络的卷积池化组件,其中经过一次下采样之后从层数变为原来的2倍,扩张路径由2×2的反卷积实现,反卷积的输出通道为原来通道数的一半,与原来的特征图串联,从而得到和原来一样多的通道数的特征图

U-net与其他常见的分割网络有一点非常不同的地方:U-net采用了完全不同的特征融合方式:拼接,U-net采用将特征在层(channel)的维度拼接在一起,形成更厚的特征。而FCN融合时使用的对应点相加,并没有形成更厚的特征。

五、Mask R-CNN算法

它是一个小巧 灵活的通用对象实例分割框架,它不仅可对图像中的目标进行检测,还可以对每一个目标给出一个高质量的图像分割结果,取得了十分不错的结果

如图4-7所示,Mask R-CNN分为两个分支:

(1)第一个分支为原始Faster R-CNN的结构,它用于对候选窗口进行分类和窗口坐标回归。

(2)第二个分支对每一个感兴趣区域(Region of Interest,RoI)预测分割掩模,这个分支采用了图像分割的经典算法-FCN结构。

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
6月前
|
开发框架 算法 搜索推荐
C# .NET面试系列九:常见的算法
#### 1. 求质数 ```c# // 判断一个数是否为质数的方法 public static bool IsPrime(int number) { if (number < 2) { return false; } for (int i = 2; i <= Math.Sqrt(number); i++) { if (number % i == 0) { return false; } } return true; } class Progr
128 1
|
6月前
|
机器学习/深度学习 算法 TensorFlow
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
121 0
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
|
22天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化CNN-LSTM网络的数据分类识别算法matlab仿真
本项目展示了基于贝叶斯优化(BO)的CNN-LSTM网络在数据分类中的应用。通过MATLAB 2022a实现,优化前后效果对比明显。核心代码附带中文注释和操作视频,涵盖BO、CNN、LSTM理论,特别是BO优化CNN-LSTM网络的batchsize和学习率,显著提升模型性能。
|
1月前
|
机器学习/深度学习 编解码 算法
【小样本图像分割-4】nnU-Net: Self-adapting Framework for U-Net-Based Medical Image Segmentation
《nnU-Net: 自适应框架用于基于U-Net的医学图像分割》是一篇2018年的论文,发表在Nature上。该研究提出了一种自适应的医学图像分割框架nnU-Net,能够自动调整模型的超参数以适应不同的数据集。通过2D和3D U-Net及级联U-Net的组合,nnU-Net在10个医学分割数据集上取得了卓越的性能,无需手动调整。该方法强调数据增强、预处理和训练策略等技巧,为医学图像分割提供了一个强大的解决方案。
64 0
【小样本图像分割-4】nnU-Net: Self-adapting Framework for U-Net-Based Medical Image Segmentation
|
27天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化卷积神经网络(Bayes-CNN)的多因子数据分类识别算法matlab仿真
本项目展示了贝叶斯优化在CNN中的应用,包括优化过程、训练与识别效果对比,以及标准CNN的识别结果。使用Matlab2022a开发,提供完整代码及视频教程。贝叶斯优化通过构建代理模型指导超参数优化,显著提升模型性能,适用于复杂数据分类任务。
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
算法金 | 秒懂 AI - 深度学习五大模型:RNN、CNN、Transformer、BERT、GPT 简介
**RNN**,1986年提出,用于序列数据,如语言模型和语音识别,但原始模型有梯度消失问题。**LSTM**和**GRU**通过门控解决了此问题。 **CNN**,1989年引入,擅长图像处理,卷积层和池化层提取特征,经典应用包括图像分类和物体检测,如LeNet-5。 **Transformer**,2017年由Google推出,自注意力机制实现并行计算,优化了NLP效率,如机器翻译。 **BERT**,2018年Google的双向预训练模型,通过掩码语言模型改进上下文理解,适用于问答和文本分类。
157 9
|
3月前
|
机器学习/深度学习 监控 算法
R-CNN系列目标算法
8月更文挑战第12天
|
5月前
|
存储 编解码 算法
C#.NET逃逸时间算法生成分形图像的毕业设计完成!晒晒功能
该文介绍了一个使用C#.NET Visual Studio 2008开发的程序,包含错误修复的Julia、Mandelbrot和优化过的Newton三种算法,生成色彩丰富的分形图像。作者改进了原始算法的效率,将内层循环的画点操作移至外部,提升性能。程序提供五种图形模式,支持放大缩小及颜色更新,并允许用户自定义画布大小以调整精度。还具备保存为高质JPG的功能。附有四张示例图片展示生成的分形效果。
|
6月前
|
算法
MATLAB|【免费】融合正余弦和柯西变异的麻雀优化算法SCSSA-CNN-BiLSTM双向长短期记忆网络预测模型
这段内容介绍了一个使用改进的麻雀搜索算法优化CNN-BiLSTM模型进行多输入单输出预测的程序。程序通过融合正余弦和柯西变异提升算法性能,主要优化学习率、正则化参数及BiLSTM的隐层神经元数量。它利用一段简单的风速数据进行演示,对比了改进算法与粒子群、灰狼算法的优化效果。代码包括数据导入、预处理和模型构建部分,并展示了优化前后的效果。建议使用高版本MATLAB运行。
|
6月前
|
机器学习/深度学习 人工智能 算法
鱼类识别Python+深度学习人工智能+TensorFlow+卷积神经网络算法
鱼类识别Python+深度学习人工智能+TensorFlow+卷积神经网络算法
105 2
鱼类识别Python+深度学习人工智能+TensorFlow+卷积神经网络算法

热门文章

最新文章