主要根据本视频进行总结(非常不错的视频,推荐!)
https://www.bilibili.com/video/av75562599?p=9
在这之前,最好将自己所有的图片resize为416*416
1. 进行语义分割数据集的标注(体力活)
(1)下载语义标注的软件labelme,需要在命令行中激活环境(如activate tensorflow-gpu)后
activate tensorflow-gpu
pip install labelme
即可安装标注工具labelme,使用时激活环境后在命令行输入labelme回车即可:
activate tensorflow-gpu
labelme
(2)选择左侧打开文件夹:
选择装有需要标注的图片的文件夹/make_dataset/before。
然后一张一张进行标注(标注开始时点击左侧的create polygons,若需要调整则点击edit polygons,标注完一张后点击save,就会保存为一个json文件),注意保存于/make_dataset/before文件夹中。
2. 文件操作
(3)这样,/make_dataset/before文件夹中就会存有所有的图片以及标注后产生的json文件。这时候再在这个文件夹中建立一个txt文件:class_name.txt,文件中包含了所有的类名:
(4)这时候运行json_to_dataset.py,结果是/make_dataset/output中会出现每一张照片对应的文件夹。
(5)再运行get_jpg_and_png.py,会得到png文件夹中一堆标注好的标签。
(6)运行get_train_txt.py,会发现文件夹中出现了train_data.txt文件。
(7)将标注图片全部复制到dataset2/jpg文件夹中,将所有标注标签全部复制到dataset2/png文件夹中。
(8)将之前生成的train_data.txt文件复制到dataset2目录下,改名为train.txt
3. 训练
(9)运行train.py,要注意图片的宽和高要改为自己的(注意,如果为了更省事的话,直接把自己所有的图片resize成416*416即可)
(10)运行predict.py,生成预测图片,注意里面的路径输入自己想要 预测图片的路径即可。