TextBoxes 与 TextBoxes ++

Easter79
• 阅读 617

TextBoxes

论文关键idea

本文和SegLink一样,也是在SSD的基础上进行改进的.相比SSD做了以下的改进:

  • 修改了default box的apect ratio,分别为[1 2 3 5 7 10],目的是适应文本行长度比较长,宽度比较短的特性,也就是说现在的default box是长条形
  • 提出了text-box层,修改classifier卷积核的大小为 TextBoxes 与 TextBoxes ++  ,而SSD中卷积核的大小为 TextBoxes 与 TextBoxes ++ ,这样做的目的是更适合文本行的检测,避免引入非文本噪声
  • 提出了端到端的训练框架.在训练的时候,输入图像由单尺度变成了多尺度
  • 增加文本识别来提高文本行检测的效果,印象当中,白翔老师好像在一个报告中说过,增加文本识别在可以提高文本行检测的准确率

知乎:https://zhuanlan.zhihu.com/p/43545190

TextBoxes ++

一、文本检测与传统目标检测的区别:

TextBoxes 与 TextBoxes ++

1.文本检测有比较大的长宽比

2.一般的convolutional filter 无法全部检测到

可能的解决方案:

TextBoxes 与 TextBoxes ++

1.长的卷积核

2.inception结构的卷积核

3.局部检测然后组合

二、textboxes 对SSD的改进

1.把ssd的defaultbox 的比例改成(1,2,3,5,7,10)的长矩形

2.看下面图你会发现黄色虚线与SSD的区别 把原先的作为分类的卷积核3*3改成了1*5,更适合文字这样的对象

TextBoxes 与 TextBoxes ++

长卷积核与长的defaultbox

3.从多尺度变换成单尺度(这里就奠定了textboxes系列的算法对尺度的依赖的严重性,亲测对不同尺度图片,要调整相应的不同尺度,效果才最好)

TextBoxes 与 TextBoxes ++ textboxes网络结构TextBoxes 与 TextBoxes ++ SSD网络结构

三,我们来看看textbox++有哪些改进

https://arxiv.org/pdf/1801.02765.pdf 论文所在地

https://github.com/MhLiao/TextBoxes_plusplus 代码所在地

大家可以一起讨论,如下图片红线的 是不是应该少了一个y4。另外 cpu有些问题,建议大家用gpu跑

TextBoxes 与 TextBoxes ++ 问题图片TextBoxes 与 TextBoxes ++ textboxes++的多方向文本检测

那么有哪些改进呢?

  1. 首先就是对于文本框的表示方式发生了变化。论文中讨论了两种表示方式:分别是4个点坐标8个数字(x1,y1,x2,y2,x3,y3,x4,y4)和左上和右上两个点四个坐标外加四边形的高(x1,y1,x2,y2,h)。但论文推荐使用四个坐标的表示方式。

TextBoxes 与 TextBoxes ++

2.NMS采用了级联的方式提高效率,并且用了不同的计算overlap的方式。

通过1的改进提然提示我的有一个奇思妙想,就像人脸关键点识别一样。我给一行文字16点坐标或者32个点坐标 是不是可以使用更多形状的文字呢?比如环形的 比如波浪形的等等。

3.同时由于现在很多都是用IOU来评价当前的好坏。但是文字检测和物体检测的区别是看下图

TextBoxes 与 TextBoxes ++

abc具有用一样的iou那么这样的情况还是要通过crnn来一起判断当前的框是不是最好的!

知乎:https://zhuanlan.zhihu.com/p/34131821

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

感谢!仅为记录学习之用,侵删。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k