Keras实现Mask_RCNN主要参考matterport/Mask_RCNN,里面已经做了非常详细的介绍以及提供预训练权重的下载。
-
contourprocess
建筑物掩膜的处理
-
largest interior rectangle
最大内接矩形算法(largest_interior_rectangle):https://github.com/lukasalexanderweber/lir
-
道格拉斯普克算法
运行DouglasPeuker.py
即可
- 关于config文件
config文件包含两个,一个是在utils
文件夹下的config.py
,这一配置文件是训练以及推理过程中的基础设置的配置文件,里面包括基础的配置。另一个是根目录下的config
文件,继承utils
文件夹下的config.py
,主要配置训练集,测试图像等路径。
训练的时候注意一点:GPU数量暂时只能设定为1,如果需要多块GPU进行并行训练,可查看matterport/Mask_RCNN中有并行训练模型的代码。
训练数据的结构遵循VOC格式,包含三个文件夹:imgs
、mask
以及yaml
文件夹,分别存放原图、掩膜图像以及yaml文件,如何制作数据集请参考:Semantic-Segmentation-Datasets
制作好数据集后,修改config.py
文件,运行train.py
文件即可进行训练。
修改config文件后运行inference.py
文件即可。
ONNX推理可以参考:Deployment:MaskRCNN
使用convert.py
可以进行模型转换。如将权重和计算图转换成Tensorflow saved_model
的格式。也可以将tensorflow的模型转换成ONNX的格式。详情请参考文档。
一些简单的使用例子如下:python .\convert.py --flag --saved_model .\save_model\ --save_onnx ./test.onnx
或者python .\convert.py --weight .\model\village_building.h5 --label .\data\building.names --save_onnx ./test.onnx --saved_pb
Input image dtype is bool. Interpolation is not defined with bool data type
参考:Input image dtype is bool. Interpolation is not defined with bool data type:pip install -U scikit-image==0.16.2