前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >keras版Mask-RCNN来训练自己的目标检测数据集

keras版Mask-RCNN来训练自己的目标检测数据集

作者头像
机器学习AI算法工程
发布2020-06-28 16:47:59
1.2K0
发布2020-06-28 16:47:59
举报

一、运行环境的安装:

1、下载好cuda9跟cudnn7,然后在安装好后,cuda其会自动添加到环境变量里,所以使用keras进行GPU加速的时候会自动使用这些库。

2、TensorFlow-gpu版本的安装,这个安装方法有三种,

第一种是直接在pycharm里的安装库里安装。

第二种就是使用pip来安装,这个在安装的时候可以指定安装的版本。例如:

pip install tensorflow-gpu==1.8.0

如果使用pip安装失败的话,则应当升级pip,如果使用pip来升级自身的识别的话,就可以使用conda来安装一个最新的pip来解决这个问题。

3、然后就安装keras就可以了。使用指令

pip install keras

接着就是安装那个labelme打标工具。使用指令:

pip install pyqt5

pip install labelme

然后直接在cmd终端里输入指令:

labelme

5、进行样本打标

点击“open”,打开需要标注的图像,选择对目标区域进行标注

假如你要标注的对象为人和狗,在画掩码过程中,一幅图像中如果有多个person、dog,命名规则为person、person…… dog、dog……。因为labelme生成的标签为一个label.png文件,这个文件只有一通道,在你标注时同一标签mask会被给予一个标签位,其中名字相同的软件会给其填充相同的标签值。所以有多分类的标签名要不一样,同类的标签名要一样,例如人的标签名都是person。而mask要求不同的实例要放在不同的层中。最终训练索要得到的输入为一个w*h*n的ndarray,其中n为该图片中实例的个数

这里的打标的时候不要求每张图片按着类别顺序来进行打标,主要打标的区域选对类别即可。其打标后会生成一个json文件,这个文件里记录了打标的顺序,其中生成的mask图像会按打标顺序分别赋值从1开始的值。其记录的是打标顺序。

数据集 获取:

关注微信公众号 datayx 然后回复 mask 即可获取。

AI项目体验地址 https://loveai.tech

6、把打标后的jison文件转换为对应的五个文件。其中的代码文件是:labelme_json_to_dataset.py,使用的代码是:

其要修改的代码位置是:

json_file = 'C:/Users/QJ/Desktop/hh/total'

把这个改为自己的打标好的json文件路径即可。

7、接着就可以使用模型进行训练了,其训练的文件是train_shapes.py.

其中需要修改的为

a、在类DrugDataset()里的

修改为自己的类别顺序

b、在类ShapeConfig()里的

到此就可以测试自己训练的模型结果了。

9、最后的测试结果如下:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习AI算法工程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档