Mask-RCNN在目标检测中是一种非常好的技术,能够达到非常精准的效果。本文仅仅是学习笔记,用于交流。
Mask-RCNN在train_shapes.ipynb展示了怎么训练自己的数据集,这个教程包括了一个玩具数据集来演示训练一个新数据集。但是需要在服务器上启动ipython,但是若服务器的图形界面没有启用,则需要在服务器上打开服务,然后在本机上运行jupyter-notebook。
一、具体步骤
1. 连接服务器
执行jupyter notebook --generate -config 来生成配置文件
2. 输入密码
执行jupyter notebook password:1234(这里的密码是自己输入确定的,在后面启用ipython时需要输入的密码)
3. 创建sh文件,文件全名为start-pythonNotebook.sh
vim start-pythonNotebook.sh
jupyter notebook –no-browser –ip=0.0.0.0 –port=5002
4. 执行sh文件
chmod +x ./start-pythonNotebook.sh
./start-pythonNotebook.sh
之后会出现一些提示,ctr+c是停止服务。
5. 启动
打开浏览器,输入http://11.11.11.11:5002,然后输入刚刚确定的密码进入到ipython中。
这里的11.11.11.11是服务器的ip地址。
二、出现的问题
1. 若启动后,没有找到你要打开的项目时
需要将jupyter文件夹和start-pythonNotebook.sh复制到要用ipython打开的项目同样的目录下,这时重新打开浏览器可以看到该项目的所有目录。
2. 若项目是python2,然而你本机装的是python3
需要建立一个python2的虚拟环境装有python2.7,同时也要建立一个ipython的kernel。
conda create -n py27 python=2.7
进入py27虚拟环境中:
conda install -n py27 ipykernel
python -m ipykernel install –user
这时,ipython页面同时出现python2和python3,可以自行选择。
三、Mask-RCNN训练train_shapes.ipynb
1. 测试demo.ipynb
[error]ImportError: No module named 'pycocotools'
[解决]下载https://github.com/waleedka/coco到根目录,执行
cd /cocoapi-master/PythonAPI
python setup.py build_ext install
[error]AttributeError: module 'keras.engine.topology' has no attribute 'load_weights_from_hdf5_group_by_name'
[解决]由于此模块与Keras 2.2.0不兼容,安装keras2.1.6版本的就可以了。
pip install keras==2.1.6
2. Mask-RCNN训练train_shapes.ipynb
数据集展示:
[error]过程中可能会出现错误:
原因:由于找不到logs日志文件下该文件,最后一个保存的logs文件夹内是空的。
将model.py2078行代码更改。
训练结果:
这个训练过程使用GPU,过程耗用时间很短。
随便测试一个结果如下:
,mAP值是性能指标(用于模型评估)。