前言

最近在着手一个项目,需要用到语义分割这一块,最后经过慎重的考虑,最终选择deeplabv3+这个比较强大的语义分割算法。下面我将对deeplabv3+训练自己的数据集进行讲解

源码

源码链接:https://pan.baidu.com/s/1UiE8dY_rQ3lyFdazVVhKeQ 
提取码:6alg

一、环境配置

  1. python 3.6
  2. Tensorflow-gpu 1.13.2
  3. h5py 1.8.0
  4. pyqt5
  5. labelme
  6. matplotlib 
  7. Keras 2.1.5

二、使用步骤

1.制作数据集

        1.1、制作json文件:

                这里采用labelme对图片数据进行标注,将json和.jpg放在同一路径下(before文件夹)

                pycharm终端(terminal)输入labelme选择图片进行标注

                示例:

        1.2、数据格式:

            

        before文件夹中放的是.json文件和标注的图片.jpg

        JPEGImages和SegmentationClass是运行json_to_dataset.py处理后自动生成的图片,分别是.jpg和.png

         1.3、配置数据:

                将得到的JPEGImages和SegmentationClass复制到源码中的./VOCdevkit/VOC2007/文件夹下,并且运行该文件夹下的voc2deeplab.py生成对应的图片信息。

注:要把文件中segfilepath和saveBasePath的路径改成自己对应的路径

                

2.训练模型

        1、打开train.py文件,找到文件中对应的model_path那一行,把路径改成自己电脑上对应的模型的路径。

        2、打开deeplab.py文件,找到model_path,修改模型路径。

        3、运行train.py文件。

        4、模型会保存在logs文件夹下。

3.测试

        打开predict.py,默认运行时打开摄像头进行测试,如果想测试图片或者fps,请找到代码中的mode部分

        调试完成后,运行即可


三、常见报错

我们在运行train.py文件的时候可能会出现这个问题,找不到deeplabv3_plus

 此时我们需要打开train.py,把粉色框框的部分删掉即可。

 

总结

        如果测试成功了,调通了记得回来点一波三连!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐