图像分割之环境搭建
1.前言
图像分割(Image Segmentation)是一种计算机视觉领域的技术,旨在将图像分成若干个特定的、具有语义意义性质的区域。图像分割可以用于许多领域,包括目标检测、图像编辑、医学图像分析等。它是由图像处理到图像分析的关键步骤。
语义分割
语义分割的目的是把图像中的每个像素分为特定的语义类别,属于特定类别的像素仅被分类到该类别,而不考虑其他信息,例如:人、车、树、狗等这就是不同的类别。语义分割的方法:基于全卷积网络(FCN)、深度解码网络(DeepLab)、U-Net、图像分割神经网络(SegNet)、Mask R-CNN等。实例分割
实例分割根据“实例”而不是类别将像素分类,实例分割的目的是将图像中的目标检测出来,它不仅要对图像中的每个像素进行语义类别的分类,还要将同一类别的不同实例进行区分,并且对目标的每个像素分配类别标签以区分它们。实例分割的方法:Mask R-CNN、ShapeMask、全卷积实例分割(Fully Convolutional Instance Segmentation,FCIS)、PANet、YOLACT等。全景分割
全景分割是最新开发的分割任务,可以表示为语义分割和实例分割的组合,其中图像中对象的每个实例都被分离,并预测对象的身份。
【1】.深度学习之图像分割——入门篇 1.简介;2.图像分割常用数据集;3.图像分割评价指标;4.图像分割图标的工具:Labelme、VGG Image Annotator (VIA)、LabelImg、RectLabel、COCO Annotator;5.图像分割常用的损失函数:交叉熵损失函数(Cross-Entropy Loss)、Dice损失函数(Dice Loss)、Jaccard损失函数(Jaccard Loss)、Focal损失函数(Focal Loss)、像素交叉熵损失函数(Pixel-wise Cross-Entropy Loss);6.基于深度学习的图像分割详解。
【2】.计算机视觉中常见的图像分割算法与网络模型 1.传统给图像算法:传统给图像算法、边缘检测、区域生长、分水岭算法、基于聚类的方法、基于轮廓的方法(Active contours/snakes)。2.深度学习方法:FCN(全卷积网络,端到端的图像风格方法)、U-Net、seg-Net、DeepLab系列、Mask R-CNN、PSP-Net(金字塔场景分割网络)、MA-Net:(multi-scale Attention Net work)
2.安装
其实安装我废了很大的时间,总是发现cuda无法使用,尝试了很多方法,我的系统是windows 10,显卡是RTX3080,安装了最新的显卡驱动。
【尝试方案】
(1)使用 mamba 进行安装
先是安装 NVIDIA 驱动, nvidia-smi 查看 CUDA 版本,12.7。然后CUDA官网 找到对应版本,安装了 12.6 版本。接着执行 pytorch 安装
1 | mamba install pytorch pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia |
结果cuda无法使用。
(2)去掉多个python环境
因为我电脑里面本身有多个python环境
1 | where.exe python |
删除不是 mamba 的python环境。删除windows自带的python,清理了 WindowsApps 别名:点击任务栏的 “开始” 图标(或按键盘上的 Win 键);直接输入 “别名”;在搜索结果中点击 “管理应用执行别名” (Manage app execution aliases);关闭Python这一项。
(3)使用pip安装
使用 pip 安装清华源的cuda驱动,结果弄了很久,也没有用。
1 | pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 --extra-index-url https://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir |
【解决方案】
最后解决方案,就是降级
1 | mamba deactivate |
测试代码
1 | import torch |
3.问题
(1) OSError: Can’t load the configuration of ‘nvidia/segformer-b2-finetuned-ade-512-512’. If you were trying to load it from ‘https://huggingface.co/models', make sure you don’t have a local directory with the same name. Otherwise, make sure ‘nvidia/segformer-b2-finetuned-ade-512-512’ is the correct path to a directory containing a config.json file
主要就是在下载模型的时候,出现的问题,因为网络原因导致无法下载基础模型。
【解决方案】
因为使用 os.environ[“HF_ENDPOINT”] = “https://hf-mirror.com" 在代码里面进行配置,这个效果不行,只能是在 PowerShell 里设置环境变量。
1 | $env:HF_ENDPOINT = "https://hf-mirror.com" |
