↑↑↑关注后"星标"Datawhale
每日干货 & 每月组队学习,不错过
Datawhale干货
作者:张强,Datawhale成员
相信许多读者体验过b站上的全景视频,如果还没有,快来体验一下吧[1]!只需鼠标点击并移动,便可360度无死角的浏览全景视频,让人如同身临其境。全景图像,又称360°全景图,其数据分布在球面空间上。但是,当我们将全景图像展开时,会造成畸变。
怎么处理?直接将传统二维平面图像处理方法应用到球面数据上,其效果则会大大降低。而要解决分布在球面空间上的数据,需要特定的方法,比如球面卷积网络。本文手把手带你实践一个有趣的应用——全景图像语义分割,使用多种传统CNN方法和球面CNN方法进行对比。
如下图所示,全景图分割实例像素级别分类,每种实例对应一个标签。完成本教程后,你将能够做一个图中所示的全景图小应用。
文章数据集获取与代码地址见文末
1. 环境构建
基于深度学习的编程环境往往有各种复杂的环境依赖,而各种安装报错总是消磨我们的时间,其实之一过程可以大大缩短。我们所需要的也就是通过一个命令安装所有的依赖并打开环境
make up #等价于 docker-compose up -d
再通过一个命令
make in
来进入我们需要的环境,然后运行程序。为实现构建这一过程,基于docker
–docker-compose
– make
来搭建我们的环境,其原理如下图所示:
docker
–docker-compose
– make
三个工具对应三个配置文件,都在项目根目录进行了声明:
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