最近在看MASK-RCNN,想动手训练自己的数据集。话不多说,开工!
第一步:标注数据
这里选择的是VIA,一个网页版的工具,很方面,可以标注掩码。下载点这里。
下载完成后,解压运行via.html
“Add Files”可以一次添加多个文件,“Region Shape”选择点线。然后在右边的图像中就可以鼠标左键进行标注,最后一个点双击,或者按Enter键
对于图中标注的鼠标,要给它设置标签属性
接下来,把标注的数据文件保存下来
浏览器会自动下载,至此数据集制作完成。
第二步,训练模型
原作者上传到GitHub的地址:https://github.com/matterport/Mask_RCNN
可以在作者的balloon代码基础上,简单更改一下,以训练自己的数据集。我自己的电脑是1060-6G的,所以
IMAGES_PER_GPU = 1
训练的时候可以在终端命令行去执行,cd到当前代码的目录下,执行(指定train,dataset目录,与训练模型):
python mouse.py train --dataset=C:/Users/12544/PycharmProjects/Mask-RCNN-master/mouse/mouse --weights=coco
迭代30次之后,选择最终模型mask_rcnn_mouse_0030.h5。
第三步:验证结果
执行:
python mouse.py splash --weights=mask_rcnn_mouse_0030.h5 --image=c:/Users/12544/PycharmProjects/Mask-RCNN-master/mouse/mouse/val/WIN_20190731_09_52_31_Pro.jpg
会在mouse.py同级目录下生成新的文件,如下:
图中识别出来的鼠标是彩色,其他地方都是黑白。
多说一点
1、最终虽然只是实现了这个简单的过程,但是在这过程中还是有许多坑,安装CUDA+CUDNN也不是一帆风顺,import依赖包也遇到各种问题。欢迎大家留言讨论
2、看了很长时间的mask-rcnn原理,有时间会把这块说一下
3、欢迎大家留言讨论