论文阅读笔记-Segmentation-Aware Convolutional Networks Using Local Attention Masks

该论文提出了一种新的卷积网络结构,利用局部注意力掩码改进了CNN的卷积过程,使神经元能够专注于同类区域,适用于语义分割和光流估计任务。通过像素embedding增强特征表示,并引入segmentation-aware卷积和CRF提升模型性能。

 发表于ICCV2017的论文Segmentation-Aware Convolutional Networks Using Local Attention Masks用segmentation-aware的convolution代替CNN中传统的convolution,使得计算过程中神经元可以注意于和它属于同一类的区域。在semantic segmentation和optical flow estimation问题上取得了好的效果。

文章亮点:

1. Embedding的作用及实现

    使用和VGG-16前7层类似的网络结构训练一种FCN网络,来实现pixel的embedding,即由R3映射为R64,使得同一物体的像素点距离近,不同物体的像素点距离远。各层都有监督信息,各层的输出融合后得到最终的embedding。学embedding network的目标函数为:

    embedding得到的feature vector,用于指示各个像素点与周围像素点的类别近邻关系。在计算卷积时用作加权。

2. segmentation-aware convolution

    论文中的卷积采用和Caffe类似的卷积计算方式实现,即先做image-to-column的变换,然后将卷积转化为矩阵乘法。本论文的方法需要对矩阵乘法插入weight mask。

    对于输入H*W的feature map,每个点与其K个近邻计算距离,通过image-to-column的操作,得到(H*W)*K的mask矩阵。按照image-to-column的排列,原图像每个位置抽取其K个近邻,也可以得到(H*W)*K的矩阵。点对点相乘即实现加权。

 

3. segmentation-aware CRF

    计算CRF时,将原始的RGB特征替换为embedding后的特征。
--------------------- 
作者:乐兮山南水北 
来源:优快云 
原文:https://blog.youkuaiyun.com/u012494820/article/details/78944806 
版权声明:本文为博主原创文章,转载请附上博文链接!

要运行U-Net(Convolutional Networks for Biomedical Image Segmentation)的代码,可按以下步骤操作: ### 环境准备 运行U-Net代码前,需安装必要的深度学习框架和相关库,常见的深度学习框架有TensorFlow和PyTorch。以Anaconda创建虚拟环境为例,使用以下命令: ```bash conda create -n unet_env python=3.8 conda activate unet_env ``` 若使用TensorFlow,可使用以下命令安装: ```bash pip install tensorflow ``` 若使用PyTorch,可根据自身CUDA版本,从PyTorch官网获取对应安装命令,如: ```bash pip install torch torchvision torchaudio ``` 同时,还需安装一些辅助库,如NumPy、OpenCV等: ```bash pip install numpy opencv-python ``` ### 代码获取 可从开源代码库,如GitHub获取U-Net的实现代码。许多开发者会在GitHub上分享自己实现的U-Net代码,搜索“U-Net”即可找到相关仓库。选择一个合适的仓库,使用以下命令将代码克隆到本地: ```bash git clone <repository_url> cd <repository_directory> ``` ### 数据准备 U-Net主要用于生物医学图像分割,因此需要准备相应的生物医学图像数据集。数据集应包含原始图像和对应的分割标签。将数据集按照代码要求的格式进行整理,通常需要将图像和标签分别存放在不同的文件夹中。 ### 配置参数 在运行代码前,需根据自身需求配置一些参数,如学习率、训练轮数、批量大小等。这些参数通常在代码的配置文件中进行设置,找到配置文件并根据自身情况进行修改。 ### 模型训练 完成上述步骤后,即可运行代码进行模型训练。在终端中运行以下命令: ```bash python train.py ``` 其中`train.py`是训练脚本的文件名,根据代码仓库中的实际文件名进行修改。 ### 模型评估与预测 训练完成后,可使用训练好的模型对新的图像进行分割预测。运行以下命令进行预测: ```bash python predict.py ``` 其中`predict.py`是预测脚本的文件名,同样根据实际情况进行修改。 ### 注意事项 运行代码过程中,可能会遇到一些问题,如代码报错、内存不足等。可通过查看代码中的错误信息、检查数据集格式、调整参数等方式解决问题。若遇到无法解决的问题,可在相关论坛或社区寻求帮助。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值