Faster RCNN在pycharm中运行(包括自制数据集)
文章目录
- 1 代码
- 2 文件说明
- 3 代码解析
- 5 数据
- 6 自制数据集
- 6.1 创建文件夹
- 6.2 标注图片
- 7 开始训练
1 代码
- 参考B站up主:霹雳吧啦Wz
- git clone https://github.com/WZMIAOMIAO/deep-learning-for-image-processing
2 文件说明
- 首先找到faster_rcnn
├── backbone: 特征提取网络,可以根据自己的要求选择
├── network_files: Faster R-CNN网络(包括Fast R-CNN以及RPN等模块)
├── train_utils: 训练验证相关模块(包括cocotools)
├── my_dataset.py: 自定义dataset用于读取VOC数据集
├── train_mobilenet.py: 以MobileNetV2做为backbone进行训练
├── train_resnet50_fpn.py: 以resnet50+FPN做为backbone进行训练
├── train_multi_GPU.py: 针对使用多GPU的用户使用
├── predict.py: 简易的预测脚本,使用训练好的权重进行预测测试
├── validation.py: 利用训练好的权重验证/测试数据的COCO指标,并生成record_mAP.txt文件
└── pascal_voc_classes.json: pascal_voc标签文件 - 这是各个文件的作用
3 代码解析
5 数据
- Pascal VOC2012 train/val数据集下载地址:http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
- 如果不了解数据集或者想使用自己的数据集进行训练,请参考我的bilibili:https://b23.tv/F1kSCK
- 使用ResNet50+FPN以及迁移学习在VOC2012数据集上得到的权重: 链接:https://pan.baidu.com/s/1ifilndFRtAV5RDZINSHj5w 提取码:dsz8
训练方法
6 自制数据集
- 标注图片,在git上搜索label,labelImg可以生成xml文件,labelme可以生成json文件
- 这里以labelImg为例git链接
- 终端输入pip install labelImg
6.1 创建文件夹
- 用命令行 mkdir +文件名,touch classes.txt
- 其中classes.txt存放的是检测目标的种类名称,annotation中存放的是标注的信息文件,imgae放得是要进行标注的数据集
- 输入这一行指令
- labelImg 第一个是图片路径 第二个是类别标签路径
6.2 标注图片
- 打开目录选择image文件夹
- 然后点击下面的改变存放目录,选择annotation,就是将更改后的数据放在该文件夹下面
- 打开annotation文件,然后去找刚刚保存的图片
7 开始训练
- 然后将annotations文件夹放在Annotations中,images放在JPEGImages中
- 需要自己去生成对应训练集的txt(train.txt),以及验证集的txt(val.txt),自己遍历annotation文件或者images文件获取文件夹下面所有的图片名称,按照比例进行分类,分类之后分别将训练集的所有图片名称写入到train.txt,验证集写入到val.txt,这样就可以按照使用pascal voc数据集一样进行训练
Faster RCNN在pycharm中运行(包括自制数据集)相关推荐
- 【Faster R-CNN论文精度系列】从Faster R-CNN源码中,我们“学习”到了什么?
[Faster R-CNN论文精度系列] (如下为建议阅读顺序) 1[Faster R-CNN论文精度系列]从Faster R-CNN源码中,我们"学习"到了什么? 2[Faste ...
- Pycharm中运行Python代码的几种方式
Pycharm中运行Python代码的几种方式 在pycharm中的Python代码运行会出现各种奇葩的问题,比如,密码输入时不显示或没有提示,给我们带来一些麻烦,下面介绍几种代码运行的几种方式: 一 ...
- python debug run 结果不同_Python:PyCharm中运行与调试模式下的不同行为
在没有附加调试器的情况下从PyCharm运行PyCharm时,Python代码的行为与使用pydev运行时的行为不同.在 我在PyCharm中运行一个POXSDN控制器和一个来自控制台的Mininet ...
- pycharm中运行代码
pycharm中运行代码 1.Local 2.Windows PowerShell 3.Command Prompt
- 关于pycharm中运行代码报错的解决思路
关于pycharm中运行代码报错的解决思路 复盘一下对于代码运行报错的解决思路,以免忘了. 之前对于代码报错有种恐惧感,生怕出什么幺蛾子,但每次都会有很多bug,每改进一个bug又会出现下一个bug, ...
- win10环境下下载安装openpose(only cpu)并在pycharm中运行代码(超详细)
win10环境下下载安装openpose(only cpu)并在pycharm中运行代码(超详细) (一)前言 (二)准备工作 (三)友情提醒 (四)详细安装步骤 1.新建文件夹 2.下载OpenPo ...
- 深度学习之windows python faster rcnn 配置及demo运行
写这篇文章主要是针对深度学习零基础的新手,因为我也是新手,在配置环境这一块花了我很大的心血,网上的资料很多都只是说配置,然后直接运行就完了,可是对于我这样的新手在配置的过程中会遇见各种各样的问题,所以 ...
- Faster R-CNN源码中RPN的解析(自用)
参考博客(一定要看前面两个) 一文看懂Faster R-CNN 详细的Faster R-CNN源码解析之RPN源码解析 关于RPN一些我的想法 rpn的中心思想就是在了anchors了,如何产生anc ...
- python scrapy爬虫遇见301_在Pycharm中运行Scrapy爬虫项目的基本操作
目标在Win7上建立一个Scrapy爬虫项目,以及对其进行基本操作.运行环境:电脑上已经安装了python(环境变量path已经设置好), 以及scrapy模块,IDE为Pycharm .操作如下: ...
最新文章
- KNN分类器、最近邻分类、KD树、KNN分类的最佳K值、基于半径的最近邻分类器、KNN多分类、KNN多标签分类、KNN多输出分类、KNN分类的优缺点
- 【周末阅读】工业互联网的发展历程及实现路径
- 缓冲区溢出_了解Java缓冲池
- 关于数据中心基础架构管理
- 全球及中国混凝土地板行业投资模式分析及前景战略规划报告2022-2027年版
- mysql innodb 内存_MySQL的innodb和内存
- Jenkins构建 netcore5.0 项目时出现NU3028/NU3037错误的解决方案
- python子进程进行kinit认证_使用kafka-python客户端进行kafka kerberos认证
- popwindow弹窗
- 顺序表之元素位置互换(改进版)
- 多核程序设计的相关基础知识----以误差扩散算法为例
- linq To Xml 用法简介
- 简单的@Async使用 自定义连接池
- OA“失身”缘于难挡ERP的色诱?
- 北京将评估特定时段特定区域机动车单双号限行-单双号-限行
- 如何将ASCII码数组转化成多个字符的字符串(摘)?
- vue的生命周期钩子函数的作用
- 哔哩哔哩弹幕处理+情感倾向分析
- 数据结构(1):简单八叉树学习--SimpleOctree
- Python+Appium移动端自动化测试框架实现
热门文章
- Java中类方法可以继承吗_在Java语言中,类方法(静态方法)可以被继承,但是不能被( )。_学小易找答案...
- 【独家对话】卫星导航与移动GIS----北斗导航应用分会主席曹冲专访
- OAuth2四种认证模式
- Uncaught ReferenceError: $ is not defined几种处理方式
- ATT CORD架构解读
- 1. cv2.threshold(进行阈值计算) 2. 参数type cv2.THRESH_BINARY(表示进行二值化阈值计算)
- win7设置计算机网络打印机共享的打印机共享,win7系统如何设置打印机共享,如何设置局域网共享打印机...
- 计算机毕业设计php的汽车俱乐部会员管理系统
- 落实数据合规,保障数据安全
- vue 3 项目实战一(绘制登录界面)