yolov8(实例分割)
- Step1.解读官方给的数据
网址:https://ultralytics.com/assets/coco8-seg.zip
下载后发现,
data是img,
label是txt文件,
请注意,该txt文件只有两行,每一行所代表的是一个实例的轮廓坐标。并且每一行的开头是一个整数,如图所示是58,75,我们可以通过
https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-seg.yaml知道,58代表的是potted plant ,75代表的是vase
并且我们还可以通过txt文件中的坐标来画出轮廓。
(https://codeantenna.com/a/vHkNF4TM2G)有兴趣可以参考。
- Step2.制作自己的数据集
此处可以使用官方推荐的一个网站https://universe.roboflow.com/
进入选择instance-segmentation类的数据集,随便下载一种,试试水。
选择这个下载(都可以)下载后解压缩。
在这创建一个文件夹(mydata)。并将下载好的数据集放入mydata中。
- step3修改配置文件
将修改位置1处的全部删除,修改为
(原因:因为所下载的数据集只有一个类别。可以根据所下载的数据集中附带的data.yaml知道,如果你要训练自己的数据集,那么有几类就有一个。)
将修改位置2处的路径换成mydata下数据集的绝对路径,如图所示
以上配置文件修改完成
- step4下载模型,开始train
https://docs.ultralytics.com/tasks/segment/#models,进入选择一个seg模型,并将其下载好后放入文件夹内。
我是放了下图这个位置,放哪里都可以。
在文件夹根目录下创建一个.py文件,用来进行训练的。
复制以下代码放到该.py文件中,
修改上述文件全部为绝对路径。
如果报错,说明batch_size大了,
修改
将batch_size改小点。继续train。
如果出现这个,训练ok。