【深度学习】mask_rcnn训练自己的数据集以及模型使用(实践结合GitHub项目)
2023-09-11 14:21:45 时间
根据requirements - 开源项目默认的.txt进行库安装
环境:WIN10 + Anoconda + Pycharm + python3.6.2
mask_rcnn基本流程 1、训练 1)labelme进行目标物体标记,生成json文件,含点坐标、以及各个物体的标签label; json文件的格式:(在balloon.py中提到) # { 'filename': '28503151_5b5b7ec140_b.jpg', # 'regions': { # '0': { # 'region_attributes': {}, # 'shape_attributes': { # 'all_points_x': [...], # 'all_points_y': [...], # 'name': 'polygon'}}, # ... more regions ... # }, # 'size': 100202 # } 2)修改E:\gitHubProjects\Mask_RCNN-master\Mask_RCNN-master\samples\balloon\balloon.py代码 将: if args.weights.lower() == "coco": # Exclude the last layers because they require a matching # number of classes,coco数据集含有80个类,但是对于通常来说,只有前景和背景两类,因此 #需要将if。。=coco给注释掉 model.load_weights(weights_path, by_name=True, exclude=[ "mrcnn_class_logits", "mrcnn_bbox_fc", "mrcnn_bbox", "mrcnn_mask"]) else: model.load_weights(weights_path, by_name=True) 改成: model.load_weights(weights_path, by_name=True, exclude=[ "mrcnn_class_logits", "mrcnn_bbox_fc", "mrcnn_bbox", "mrcnn_mask"]) 3)利用balloon.py修改后的进行训练,注意需要修改的地方: class BalloonConfig(Config): """Configuration for training on the toy dataset. Derives from the base Config class and overrides some values. """ # Give the configuration a recognizable name NAME = "balloonDataset" # We use a GPU with 12GB memory, which can fit two images. # Adjust down if you use a smaller GPU. IMAGES_PER_GPU = 1 # 每个GPU同时训练的图片数,如果是CPU建议修改为1 # Number of classes (including background) # 类别数,一般是你自己数据物体的类别数+1(+1是背景),coco默认的是80+1类 NUM_CLASSES = 1 + 1 # Background + balloonDataset # Number of training steps per epoch # 每一个迭代循环的步长数 STEPS_PER_EPOCH = 100 # Skip detections with < 90% confidence 置信度,小于这个则跳过检测,提高检测效率 DETECTION_MIN_CONFIDENCE = 0.9 除了上面的,还可以修改训练好的模型存放的位置,一般存放在E:\gitHubProjects\Mask_RCNN-master\Mask_RCNN-master\logs 4) 利用命令行进行训练,具体命令见:见“E:\gitHubProjects\Mask_RCNN-master\Mask_RCNN-master\samples\balloon\README.md” python3 balloon.py train --dataset=dataset_path --weights=weughts_path 2、测试 1)修改E:\gitHubProjects\Mask_RCNN-master\Mask_RCNN-master\samples\coco\coco.py代码 将: NUM_CLASSES = 1+80 改成: NUM_CLASSES = 1+1(背景+目标)————根据自己的类别数进行修改 1)修改E:\gitHubProjects\Mask_RCNN-master\Mask_RCNN-master\samples\demo.py代码 修改MODEL_DIR、COCO_MODEL_PATH(训练好的模型)、IMAGE_DIR(测试集图片)、class_names(类别名称)=["BG","","",...]
github项目链接:
相关文章
- 关于开源,关于 GitHub, 关于 Android
- Windows下解决github push failed (remote: Permission to userA/XXXX.git denied to userB.) 上传gitHub失败报错
- 在centos6.5中安装github的客户端git
- Github.com上有哪些比较有趣的PHP项目?
- iOS之github第三方框架(持续更新)
- git之sourceTree使用github和码云的代码小结
- 你知道什么是 GitHub Action 么?
- 如何参与一个GitHub开源项目
- [Github] Create a GitHub PR Template
- [NPM] Execute Code from a Remote GitHub Branch with npx
- Jenkins:用maven在本地打包部署一个github的springboot项目(Jenkins 2.257)
- GitHub访问速度慢的解决方法
- 如何在 SAP UI5 应用里安全存储一些敏感的数据,避免被上传到 Github 去的风险试读版
- 2020年11月3日 星期二 工作日志 github登陆不了了,晕
- 想被千年后的人知道吗,快去GitHub上传代码吧!
- github提交忽略idea
- 一文教会你 如何在Github中创建仓库?如何将多个项目放到一个仓库中管理?如何将本地项目上传到GitHub中?
- 【Github教程】史上最全github用法:github入门到精通
- 如何用Github钩子做自动部署
- 在Android Studio上导入github的项目后报错提示:Unknown host ‘repo.maven.apache.org‘
- 解决Github登录问题: Support for password authentication was removed on August 13, 2021
- [Git & GitHub] git 常用命令