比赛地址:零基础入门语义分割比赛-地表建筑物识别,该比赛是由天池和Datawhale联合举办的学习赛,进入比赛页面可以下载相关的数据集。
学习任务:学习任务,查看学习任务,有层次递进的进行学习。
源码地址:源码baseline,源码在Datawhale的github上面,里面可以找到这次比赛的源码。
赛题理解:
赛题名称:零基础入门语义分割 - 地表建筑物识别 赛题目标:通过本次赛题可以引导大家熟练掌握语义分割任务的定义,具体的解题流程和相应的模型,并掌握语义分割任务的发展。 赛题任务:赛题以计算机视觉为背景,要求选手使用给定的航拍图像训练模型并完成地表建筑物识 别任务。学习目标:
理解赛题背景和赛题数据 完成赛题报名和数据下载,理解赛题的解题思路
赛题数据:
遥感技术已成为获取地表覆盖信息最为行之有效的手段,遥感技术已经成功应用于地表覆盖检测、植 被面积检测和建筑物检测任务。本赛题使用航拍数据,需要参赛选手完成地表建筑物识别,将地表航拍图 像素划分为有建筑物和无建筑物两类。 如下图,左边为原始航拍图,右边为对应的建筑物标注。 赛题数据来源( Inria Aerial Image Labeling ),并进行拆分处理。数据集报名后可见并可下载。赛题 数据为航拍图,需要参赛选手识别图片中的地表建筑具体像素位置。数据标签
赛题为语义分割任务,因此具体的标签为图像像素类别。在赛题数据中像素属于 2 类(无建筑物和有 建筑物),因此标签为有建筑物的像素。赛题原始图片为 jpg 格式,标签为 RLE 编码的字符串。 RLE 全称( run-length encoding ),翻译为游程编码或行程长度编码,对连续的黑、白像素数以不同 的码字进行编码。RLE 是一种简单的非破坏性资料压缩法,经常用在在语义分割比赛中对标签进行编码。 RLE 与图片之间的转换如下:
评价指标:
赛题使用 Dice coeffiffifficient 来衡量选手结果与真实标签的差异性, Dice coeffiffifficient 可以按像素差异性来 比较结果的差异性。Dice coeffiffifficient 的具体计算方式如下: 其中 X 是预测结果, Y 为真实标签的结果。当 X 与 Y 完全相同时 Dice coeffiffifficient 为 1 ,排行榜使 用所有测试集图片的平均 Dice coeffiffifficient 来衡量,分数值越大越好。读取数据:
配置环境:
此次环境是在本地anaconda中配置的,过程中需要安装一些列python库,和bebug一系列的问题。这里简述一些配置环境过程中的问题。
添加conda下载源:
跟pip一样,conda也可以添加一些国内的下载源,这样在下载的时候就非常快,可以参考我的博客添加conda下载源
anaconda创建虚拟环境:
在进行一个新的任务时候,最好新建一个虚拟环境,在新建的虚拟环境进行试验,以免环境太乱,当任务结束的时候虚拟环境还可以进行删除。
创建虚拟环境:可能需要几分钟,这里的python版本可以进行指定
conda create --name Seg python=3.8(在base环境中直接创建即可)
验证是否生成:
打开anaconda prompt输入conda env list
环境创建完成后会在anaconda文件夹中多一个envs文件夹,里面就是添加的环境变量。
激活虚拟环境:
Linux: source activate your_env_name(虚拟环境名称)
Windows: activate your_env_name(虚拟环境名称)
jupyter notebook打开D盘中的文件:
由于我将文件夹放在了D盘中,而jupyter notebook在打开的时候默认显示C盘中的文件,这时候我们就看不到D盘中的文件,解决方法也很简单,jupyter notebook打开D盘中的文件
这样我们就成功安装了虚拟环境,并用jupyter notebook打开了D盘中的文件。
在jupyter notebook中切换虚拟环境:
进入jupyter notebook发现kernel仍然是原来的虚拟环境,找不到新建的虚拟环境,解决方法如下在jupyter notebook中切换不同的虚拟环境
安装cv2:
conda install --channel opencv 或者pip install opencv-python -i或者pip install opencv-contrib-python -i
安装albumentations:
ModuleNotFoundError: No module named 'albumentations'
解决方案:
pip install albumentations -i
报错:
ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。: 'D:\anaconda\Lib\site-packages\cv2\cv2.cp38-win_amd64.pyd'
Consider using the `--user` option or check the permissions.
解决方案:
pip install --user albumentations -i
安装numpy:
ModuleNotFoundError: No module named 'numpy'
解决办法:conda install numpy
安装pandas:
ModuleNotFoundError: No module named 'pandas'
解决办法:conda install pandas
安装tqdm:
ModuleNotFoundError: No module named 'tqdm'
解决办法:conda install tqdm
安装matplotlib:
ModuleNotFoundError: No module named 'matplotlib'
conda install matplotlib
安装scipy:
ModuleNotFoundError: No module named 'scipy'
解决办法:conda install scipy
安装skimage:
ModuleNotFoundError: No module named 'skimage'
解决办法:conda install scikit-image
安装imgaug:
ModuleNotFoundError: No module named 'imgaug'
解决办法:conda install imgaug
安装torch:
ModuleNotFoundError: No module named 'torch'
解决办法:conda install pytorch
在jupyter中安装python库:
pip3 install torch -i / --trusted-host pypi.douban
pip3 install torch -i / --trusted-host pypi.douban
安装torchvision:
ModuleNotFoundError: No module named 'torchvision'
解决办法:conda install torchvision
安装python包的时候文件夹权限报错:
在安装Python包的时候可能会出现文件夹权限的错误,解决办法:安装python包的时候文件夹权限报错
报错1:
TypeError: image must be numpy array type
原因:没有读取到图片
这个报错解决了好久,原因是因为路径中出现了中文,没有识别出来,指向了空文件。
train_mask = pd.read_csv('./数据/train_mask.csv', sep='t', names=['name', 'mask'])
改成英文即可。
报错2:
AttributeError: module dels' has no attribute 'segmentation'
解决办法:
先看一下torchvision的版本是多少,print(torchvision.__version__),输出版本是0.2.2。所以猜测可能原因是版本太低,尝试升级版本。
输入:
pip install --upgrade torchvision==0.5 -i
或者
conda update torchvision
但是报错:
于是尝试手动安装torch,和torchvision库。
参考链接:anaconda手动安装torch1.7.1和torchvision0.8.1
问题即可解决。
报错3:
在代码中,import albumentations as A的时候,出现错误:anaconda服务似乎挂掉了,但是会立刻重启的。解决办法:Jupyter notebook报错:anaconda服务似乎挂掉了,但是会立刻重启的.
报错4:
在开始运行模型的时候报错:RuntimeError: CUDA out of memory. Tried to allocate 64.00 MiB (GPU 0; 4.00 GiB total capacity; 2.41 GiB already allocated; 49.14 MiB free; 2.51 GiB reserved in total by PyTorch)。原因:显存不够。解决办法:改小batch-size
训练结果:
我们发现训练成功,且保存了最佳模型。进行测试后得到tmp文件。上传至天池得分数0.7254。
欢迎关注公众号:一起进步~
本文发布于:2024-01-30 19:21:38,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170661371322260.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |