将CenterNet运用在自己的数据集上

文主要讲述修改模型的过程与遇到的问题及解决办法
首先感谢两位作者的博客:
https://blog.csdn.net/weixin_42634342/article/details/97756458
https://blog.csdn.net/weixin_41765699/article/details/100118353

一、数据集预处理

由于我之前在Faster RCNN用的是xml格式的标注文件,在CenterNet中需要使用json格式,因此要把数据集转为coco的json格式才可以使用。
关于格式转换,可参考https://blog.csdn.net/weixin_41765699/article/details/100124689
这里我遇到了一个问题,在调试成功之后运行,发现有两个类别预测正好相反,这肯定不是预测的问题,应该是标签的问题,在制作json文件时要确认每个类别对应的id,可打印打来查看。
在上个链接中的代码约158行添加一句打印:
在这里插入图片描述
打印结果:
在这里插入图片描述
在我的数据集中,根据打印的结果,0对应背景,1对应concentrte,2对应down,3对应rotate,而实际预测的结果1和2的预测结果是反的,写博客时问题还未解决,待解决之后再添加到这里。
生成的json文件应该有三个,包括训练验证与测试,备用。

二、修改CenterNet

需要修改的地方很多,让我们来一一修改。

1、 在src/lib/datasets/dataset里面新建一个“meeting. py”,文件内容照着文件夹下coco.py改成自己的,meeting可修改为你自己的名字

1、下面的num_classes修改为自己类别数,在我的工程里是3个类别数,不包括背景!要特别注意!连背景一共4个!
在这里插入图片描述
2、将mean和std修改为自己数据集的均值与方差,作者这么做的目的好像是为了提高精度,到底有没有提升,不得而知。修改参考链接:https://blog.csdn.net/weixin_41765699/article/details/100118660
在这里插入图片描述

3、修改数据和图片路径,data_dir 输入的是咱们之前建立的数据集文件夹的名字,img_dir 输入的是 images 图片文件夹,注意22行的COCO也要秀给为MEETING。
在这里插入图片描述
4、修改json的路径
在这里插入图片描述
split对应为val,json文件对应为val.json,下面两项也按照我的修改就行了。
5、修改类别名与id
在这里插入图片描述
这里要注意,背景默认为0 ,self._valid_ids 修改自己对应的标签id,与你生成json文件时的对应!否则就会出现预测相反的问题。

以上几点都是在新建的meeting.py文件中修改。

2、将数据集加入src/lib/datasets/dataset_factory里面

在dataset_facto字典里加入自己的数据集名字 (格式为 ‘你之前创建的Python文件的名字’:你自己数据集类的名字,因为要从你创建的py文件里找到你的数据类,名字必须对应上)
在这里插入图片描述

3、修改/src/lib/opts.py

1、将自己的数据集设为默认数据集,加入到help里面
在这里插入图片描述
2、修改ctdet任务使用的默认数据集为新添加的数据集,如下(修改分辨率,类别数,均值,方差,数据集名字)
在这里插入图片描述

4、修改src/lib/utils/debugger.py文件(变成自己数据的类别和名字,前后数据集名字一定保持一致)

1、添加自己的类别数与类别名
在这里插入图片描述
2、添加自己的类别具体名称列表
在这里插入图片描述
暂时需要修改的就是这些。
上一个预测的图片
在这里插入图片描述
因为我仅仅使用了90张训练图片,训练了140轮次,所以效果并不是很完美,有待进一步提升!

2019.9.24 17:20记录

记录一下前面数据集预处理时遗留的问题。
在我的数据集中,根据打印的结果,0对应背景,1对应concentrte,2对应down,3对应rotate,而实际预测的结果1和2的预测结果是反的。

问题查找

问题源于,在上述转coco数据集json文件的代码中,类别名与类别id一一对应的关系是根据查找到的类别顺序确定的,即按照不重复的类别名的顺序对应类别id,例如
在这里插入图片描述
对应的类别名与对应的类别id为
在这里插入图片描述
[1:concentrate, 2:down, 3:rotate] 其中 1,2,3为类别id

在这里插入图片描述
对应的类别名与对应的类别id为
在这里插入图片描述
[1:down, 2:concentrate, 3:rotate] 其中 1,2,3为类别id

发布了6 篇原创文章 · 获赞 1 · 访问量 1843

猜你喜欢

转载自blog.csdn.net/m0_37798080/article/details/101285383
今日推荐