zoukankan      html  css  js  c++  java
  • 文本检测: CTPN

    参考:

    https://zhuanlan.zhihu.com/p/37363942

    https://zhuanlan.zhihu.com/p/34757009

    https://zhuanlan.zhihu.com/p/31426458 【 Faster RCNN 非常详尽】

    对于理解RNN/LSTM首先推荐阅读以下2篇文章,里面有详细的公式推导:

    零基础入门深度学习(5) - 循环神经网络

    零基础入门深度学习(6) - 长短时记忆网络(LSTM)

    简介

    文章基本信息

    论文题目:Detecting Text in Natural Image with Connectionist Text Proposal Network,简称CTPN.该文章是ECCV2016乔宇老师的文章

    论文地址:

    代码实现:https://github.com/tianzhi0549/CTPN(作者的caffe实现),

                     https://github.com/eragonruan/text-detection-ctpn(其他人tensorflow实现)

    作者提供的caffe实现没有训练代码,不过训练代码可以参考faster-rcnn的训练代码

    文本检测概述

    文本检测可以看成特殊的目标检测,但它有别于通用目标检测.在通用目标检测中,每个目标都有定义好的边界框,检测出的bbox与当前目标的groundtruth重叠率大于0.5就表示该检测结果正确.

    文本检测中正确检出需要覆盖整个文本长度,且评判的标准不同于通用目标检测,具体的评判方法参见(ICDAR 2017 RobustReading Competition).所以通用的目标检测方法并不适用文本检测。

    原始CTPN只检测横向排列的文字。CTPN结构与Faster R-CNN基本类似,但是加入了LSTM层。假设输入 N Images:

    • 首先VGG提取特征,获得大小为 N 	imes C	imes H	imes W 的conv5 feature map。
    • 之后在conv5上做 3×3 的滑动窗口,即每个点都结合周围 3×3 区域特征获得一个长度为 3×3×C 的特征向量。输出 N 	imes9C	imes H	imes W 的feature map,该特征显然只有CNN学习到的空间特征。
    • 再将这个的feature map每一行都作为一个 T_{max}= W 的数据流,输入Bi-directional LSTM(双向LSTM),学习每一行的sequence feature。经过reshape后最终输出N 	imes256	imes H	imes W 特征,既包含空间特征,也包含了LSTM学习到的序列特征。
    • 再经过“FC”卷积层,变为 N 	imes512	imes H	imes W 的特征
    • 最后经过类似Faster R-CNN的RPN网络,获得text proposals,如图2-b。

    图2 CTPN网络结构

    • 更具体的网络结构,请使用netscope查看CTPN的deploy.prototxt网络配置文件。

      接下来,文章围绕下面三个问题展开:

        1. 为何使用BLSTM
        2. 如何通过FC层输出产生图2-b中的Text proposals
        3. 如何通过Text proposals确定最终的文本位置,即文本线构造算法

         回答这三个问题,基本原理就了解了。感谢作者,写的很详细。

         详见知乎:https://zhuanlan.zhihu.com/p/34757009

         

  • 相关阅读:
    汇总博客-Alpha
    Beta冲刺总结
    用户调查报告
    Beta成果测试总结
    Beta 冲刺 (9/9)
    Beta 冲刺 (8/9)
    Beta 冲刺 (7/9)
    Beta 冲刺 (6/9)
    Beta 冲刺 (5/9)
    Beta 冲刺 (4/9)
  • 原文地址:https://www.cnblogs.com/Allen-rg/p/9700095.html
Copyright © 2011-2022 走看看