# deeplabv3 plus **Repository Path**: caishuyangyang/semantic-segmentation ## Basic Information - **Project Name**: deeplabv3 plus - **Description**: deeplabv3+语义分割测试 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-03-13 - **Last Updated**: 2023-05-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 视觉部分 ## 一、所需依赖 1.配置linux环境,或conda环境 2.安装 opencv `pip install opencv-python` +`pip install opencv-contrib-python` 或 `conda install opencv` + 注意:使用conda安装后的opencv,可能无法被IDE自动补齐(vscode 是这样,也有可能是配置问题);而pip安装后的缺少 `cv2.aruco` 模块 3.安装 pytorch (记得选用支持gpu的版本,cpu真的带不动). 4.安装 labelme. ## 二、训练集的准备 1.进入 visual_ws ; 2.将需要标定的图片拷贝到 `Oridata` 下; 3.使用 labelme 对图像进行标定,生成的 `.json` 标签同样拷贝至 `Oridata` 下,名称与对应图像相同; 4.执行 `tools/_01JstoDs.py` 脚本,在 `Dataset/Train` 下生成训练集文件夹,该脚本自带文件名矫正,若仍然存在文件名问题,可执行 `tools/_03Rename.py` 脚本; 5.执行 `tools/_02GenerateVal.py` 脚本,在 `Dataset/Val` 下生成验证集文件夹(在执行前应确保 `Dataset/Val` 中不含其他文件)也可以直接从训练集里剪切一部分直接粘贴到里面. ## 三、训练 *先说一个很离谱的Bug,保存模型时没法整个保存下来,只能保存 state_dict,这就导致了在调用模型时得先将网络结构实例化,再加载权重数据。如果是拿 python 运行,其实影响不大,但尽量还是得解决一下.* 采用 deeplabv3+ 网络结构 依次执行 `src/_01Train.ipynb`单元格内代码即可.模型保存再 Model 下. 如果没安装 jupyter ,可以执行 `src/_01Train.py` ## 四、测试 执行 `_04testresult.py` 查看测试效果.