用CNN实现全景图像语义分割!

本文介绍了如何使用Docker构建深度学习环境,通过2D-3D-S数据集实践全景图像的语义分割。对比了传统CNN(UNet、ResNet、FCN)与球面CNN(UGSCNN)在处理球面数据上的效果。实验展示了基于UGSCNN的分割网络在全景图像分割任务上的应用,并提供了训练和测试脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

↑↑↑关注后"星标"Datawhale

每日干货 & 每月组队学习,不错过

 Datawhale干货 

作者:张强,Datawhale成员

相信许多读者体验过b站上的全景视频,如果还没有,快来体验一下吧[1]!只需鼠标点击并移动,便可360度无死角的浏览全景视频,让人如同身临其境。全景图像,又称360°全景图,其数据分布在球面空间上。但是,当我们将全景图像展开时,会造成畸变。

4a87705f31edd72321bf826d557c430a.png

怎么处理?直接将传统二维平面图像处理方法应用到球面数据上,其效果则会大大降低。而要解决分布在球面空间上的数据,需要特定的方法,比如球面卷积网络。本文手把手带你实践一个有趣的应用——全景图像语义分割,使用多种传统CNN方法和球面CNN方法进行对比。

如下图所示,全景图分割实例像素级别分类,每种实例对应一个标签。完成本教程后,你将能够做一个图中所示的全景图小应用。

f5588572e77228d2f0f361d7cf647258.png

文章数据集获取与代码地址见文末

1. 环境构建

基于深度学习的编程环境往往有各种复杂的环境依赖,而各种安装报错总是消磨我们的时间,其实之一过程可以大大缩短。我们所需要的也就是通过一个命令安装所有的依赖并打开环境

make up #等价于 docker-compose up -d

再通过一个命令

make in

来进入我们需要的环境,然后运行程序。为实现构建这一过程,基于dockerdocker-composemake来搭建我们的环境,其原理如下图所示:

6b550cb982065f9bdb950a16c4840669.png

dockerdocker-composemake三个工具对应三个配置文件,都在项目根目录进行了声明:

Dockerfile
docker-compose.yml
Makefile

其中

  • Dockerfile 定义了实验所需要的所有环境,依据此文件可以编译成docker镜像,其中包含我们需要的库

  • docker-compose.yml定义了镜像的启动方式,在本文中,我们定义两个服务,一个作为终端来运行命令,一个作为jupyter lab供调试

  • Makefile定义了启动环境的方式

本文实验环境:Ubuntu20.04,CUDA11.0,Pytorch1.7

Docker安装

# 1.安装docker
sudo apt install -y docker docker.io
# 2.安装英伟达docker
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值