声明:每人都有自己的理解,动手实践才能对细节更加理解!

参考:https://www.cnblogs.com/darkknightzh/p/10043864.html

一.算法理解

  此处省略一万字。。。。。。。。。。。。。。。。。。

二.训练及源码理解

  首先配置:

  在./lib/utils文件下....运行

  python setup.py build_ext --inplace

  python setup.py build_ext install

  Go to ./lib/utils文件夹下...运行
  python setup.py build_ext --inplace
  1. 数据介绍:检测图片当中的手写体区域,图片不多自己标注了大约800张,但是图片中的手写体区域大约几千个,之前训练CTPN自己制作的数据集。
  2. 数据格式:分为3个文件夹,首先是JPEGImages(存放的训练图片,命名格式:000000.png,000001.png...等),然后是ImageSets(里面分Layout(包括test.txt,train.txt,trainval.txt,val.txt,存放训练测试验证的文件名称)和Main即可),另外Annotations(存放的是标注数据,xml格式的,之前数据标注在txt里面,自己转为xml标标准格式存储,或者用labelImg-master(Windows)标注,直接生成xml即可),至此数据准备完毕。。。。。。。
  3. 模型准备:默认前段卷积网络VGG16,vgg16需要自己下载,存放在路径.data/imagenet_weights/vgg16.ckpt
  4. 训练:train.py,主要流程及核心代码如下
    net.create_architecture(sess, "TRAIN", self.imdb.num_classes, tag='default')
    rois, cls_prob, bbox_pred = self.build_network(sess, training)  rois为roi pooling层得到的框,cls_prob分类得分,bbox_pred框预测
    net = self.build_head(is_training)  vgg16卷积层提取特征,图片缩小16倍
    rpn_cls_prob, rpn_bbox_pred, rpn_cls_score, rpn_cls_score_reshape = self.build_rpn(net, is_training, initializer)  rpn网络(anchor生成与原图对应坐标),分类得分,候选框偏移等
    rois = self.build_proposals(is_training, rpn_cls_prob, rpn_bbox_pred, rpn_cls_score)  通过超出图片区域,nms等筛选出合适的rois
    cls_score, cls_prob, bbox_pred = self.build_predictions(net, rois, is_training, initializer, initializer_bbox) roi pooling,全连接预测等
  5. 训练自己数据修改的地方,手写体识别就设置了一个类别:chinese,在源码pascal_voc.py中修改self._classes=('__background__', 'chinese')可以按照自己的类别进行修改,注意图片后缀格式,然后修改各种路径就可以训练了。
  6. 测试:迭代了10000次,用demo代码进行测试,数据较少,训练次数也不多,效果还可以,注意修改CLASSES = ('__background__', 'chinese') 预测结果如图所示:
  7.  

Faster Rcnn训练自己的数据集过程大白话记录的更多相关文章

  1. CTPN训练自己的数据集过程大白话记录

    一.算法理解 此处省略1万字.............. 二.训练及源码理解 配置以下3步: 在utils文件夹和utils\bbox文件夹下创建__init__.py文件 在utils\bbox文件 ...

  2. faster rcnn训练自己的数据集

    采用Pascal VOC数据集的组织结构,来构建自己的数据集,这种方法是faster rcnn最便捷的训练方式

  3. 如何才能将Faster R-CNN训练起来?

    如何才能将Faster R-CNN训练起来? 首先进入 Faster RCNN 的官网啦,即:https://github.com/rbgirshick/py-faster-rcnn#installa ...

  4. caffe学习三:使用Faster RCNN训练自己的数据

    本文假设你已经完成了安装,并可以运行demo.py 不会安装且用PASCAL VOC数据集的请看另来两篇博客. caffe学习一:ubuntu16.04下跑Faster R-CNN demo (基于c ...

  5. python3 + Tensorflow + Faster R-CNN训练自己的数据

    之前实现过faster rcnn, 但是因为各种原因,有需要实现一次,而且发现许多博客都不全面.现在发现了一个比较全面的博客.自己根据这篇博客实现的也比较顺利.在此记录一下(照搬). 原博客:http ...

  6. Fast RCNN 训练自己的数据集(3训练和检测)

    转载请注明出处,楼燚(yì)航的blog,http://www.cnblogs.com/louyihang-loves-baiyan/ https://github.com/YihangLou/fas ...

  7. faster rcnn训练详解

    http://blog.csdn.net/zy1034092330/article/details/62044941 py-faster-rcnn训练自己的数据:流程很详细并附代码 https://h ...

  8. Fast R-CNN训练自己的数据集时遇到的报错及解决方案

    最近使用Fast R-CNN训练了实验室的数据集,期间遇到一些报错,主要还是在配置环境上比较麻烦,但可以根据提示在网上找到解决这些错误的办法.这里我只记录一些难改的报错,以后再遇见这些时希望能尽快解决 ...

  9. faster rcnn训练过程讲解

    http://blog.csdn.net/u014696921/article/details/60321425

随机推荐

  1. H3C PPP MP配置示例二(续)

  2. Codeforces Round #187 (Div. 1 + Div. 2)

    A. Sereja and Bottles 模拟. B. Sereja and Array 维护全局增量\(Y\),对于操作1(即\(a_{v_i}=x\))操作,改为\(a_{v_i}=x-Y\). ...

  3. jackson java转json hibernate懒加载造成的无限递归问题

    @JsonIgnore @JsonFilter @JsonBackReference @JsonManagedReference @JsonIgnoreProperties jackson中的@Jso ...

  4. MySQL——修改视图

    修改视图是指修改数据库中存在的视图,当基本表的某些字段发生变化时,可以通过修改视图来保持与基本表的一致性. 1.  用  CREATE  OR  REPLACE   VIEW  语句修改视图 语法格式 ...

  5. vue 使用webpack打包后路径报错以及 alias 的使用

    一.vue 使用webpack打包后路径报错(两步解决) 1. config文件夹 ==> index.js ==> 把assetsPublicPath的 '/ '改为 './' 2. b ...

  6. Linux 内核PCI 中断

    对于中断, PCI 是容易处理的. 在 Linux 启动时, 计算机的固件已经分配一个唯一的中 断号给设备, 并且驱动只需要使用它. 中断号被存储于配置寄存器 60 (PCI_INTERRUPT_LI ...

  7. 游戏《Minecraft》或其他应用程序 实现 自动更新 客户端版本

    本渣又来写(水)博客了. 先说一下,我这个解决方案的安全性并不是企业级的,咱们就是一群穷开服的Minecraft玩家. 如果你要投入到企业级应用(容易被黑客攻击的场景),请自己写,思路凑合看看.不然安 ...

  8. Flutter 添加阴影效果

    Container( width: double.infinity, height: ScreenUtil.getInstance().setHeight(500), decoration: BoxD ...

  9. Mysql(超级详细)

    Mysql(超级详细) (黑小子-余) 一.Mysql介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理 ...

  10. java_学生成绩管理系统

    //信1805-2 20183670 王云鹏 package student; import java.util.Scanner; public class ScoreManagement { sta ...