Character Region Awareness for Text Detection论文学习

news/2024/9/23 11:17:45/

​1.首先将模型在Synth80k数据集上训练

Synth80k数据集是合成数据集,里面标注是使用单个字符的标注的,也就是这篇文章作者想要的标注的样子,但是大多数数据集是成堆标注的,也就是每行或者一堆字体被整体标注出来,作者想使用这部分数据集

2.对成行标注的数据集来说,先把成行的文字行切出来,然后用在Synth80k数据集上训练得到的模型推理得到Region score然后再用分水岭算法将单个字符的box给画出来,这样的话就得到了单个文字标注的数据,这部分标签被称为伪标签。

3.得到每个字符的box后,下一步就是使用这些字符框获得每个字符框对应的高斯图和两个字符之间间隙的高斯图,它们叫Region Score和Affiniy Score的GT

对于Region Score来说,只要根据字符框生成高斯图就行,这个高斯图就是Region Score的GT,如下图 细的 绿色 实线 箭头所示

对于Affiniy Score来说,对每个字符框画“对角线”,两个相邻的框四个三角形的中点为Affiniy框的四个顶点,这样就能得到Affiniy框,然后再根据Affiniy框的形状生成高斯热图,这个高斯热图就是Affiniy Score的GT,如图粗绿色实线和绿色虚线所示

​4.上面得到的Region Score和Affiniy Score的GT,实际上质量是比较低的,作者使用了一些方法来约束低质量的标注

判断伪标签质量的方法就是根据一行字符框的长度和每个字符框的长度来判断这个伪标签的质量到底怎么样

作者使用置信度来评估标签的质量

l(w):这一行字符的总长度,这个长度不是边界框的物理长度,我觉得应该是字符的个数

lc(w):这个是我们经过字符分割的过程后得到的长度,也就是得到的检测得到字符框个数

这样的话,当一行文本,我们知道这行文本里面有5个字符,然后经过分割过程,如果我们得到了4个字符框,也就是我们得到了4个字符那么这个置信度就是4/5

得到这个置信度之后就要用起来,在这个字符框内的像素置信度得分就是4/5不在的就是1

在计算损失的时候减少低置信度样本损失的权重

其中S∗r(p)和S∗a(p)分别表示GT Region Score和Affiniy Score的GT热图

这样计算之后低置信度的伪标签在损失计算中的权重就会降低,减少错误的伪标签对模型带来的坏处

5.ok了,现在我们就可以在真实数据集上愉快进行弱监督训练了

训练完的模型的推理输出结果就是一个字符一个字符的

可以根据自己需要去合成多个字符

具体的作者的方式如下:

  • 处理的方向是从左向右,黑色箭头代表处理方向
  • 蓝色线是垂直于处理方向的椭圆内的最长的线,也就是说他是和中心点相交且两端到达椭圆边界的线
  • 是用黄色线连接蓝色线的中心点
  • 将蓝色线旋转到椭圆中心线的位置也就是椭圆的最长的位置,用红色箭头表示,注意这里的红色箭头是没有到边界的,因为椭圆的中心线是最长的
  • 红色箭头的端点也就是绿色点就是文本多边形的顶点
  • 最边缘的两个红色线要扩展到高斯椭圆的边界处


http://www.ppmy.cn/news/1468880.html

相关文章

个人愚见的自主可控

今天这个话题争议不小,我估计发出来被批评的很多。 自主可控的内容是什么? 这里说的范围不是说CPU、操作系统等全链路。我们就说数据库的自主可控。太大的范围今天文章说不完。 应该指的:当发生制裁(不包括战争,战争…

常见日志库NLog、log4net、Serilog和Microsoft.Extensions.Logging介绍和区别

在C#中,日志库的选择主要取决于项目的具体需求,包括性能、易用性、可扩展性等因素。以下是关于NLog、log4net、Serilog和Microsoft.Extensions.Logging的基本介绍和使用示例。 包含如何配置输出日志到当前目录下的log.txt文件及控制台的示例,…

LCD电子广告牌课程设计

概述 1.1课程设计简介 亮丽实用的广告牌可以给我们的生活添加光彩、可以给店铺招揽生意。传统的广告牌都是固定的汉字,并且时间长了会掉色,使汉字模糊难认,这就给我的生活带来很多的不便。尤其到了晚上传统广告牌就会失去其该有的作用。所以在…

[whl]树莓派armv7l文件onnxruntime的whl所有下载地址汇总

下面onnxruntime所有版本都是树莓派armv7l平台的whl文件,不能用于windows,macOS或者ubuntu x86_64的系统,请认准文件名及其对应python版本下载。 onnxruntime版本下载地址onnxruntime-1.16.0-cp311-cp311-linux_armv7l.whl点我下载onnxruntime-1.16.0-c…

让指定的电脑软件开机时候自动且来(自启动)的解决方案

想让一些电脑软件开机自启动 (懒得手点),或者项目有开始自启动需求,你就这么整就行: 按键盘Win R,启动运行窗口,然后粘贴下面的代码,按回车: shell:startup然后把你想启动的软件快捷方式往里…

wireshark使用情况与网口调试记录

wireshark使用情况与网口调试记录 前言wireshark无法获取本地数据方法一——Npcap方法二——WinPcap效果 UDP组播,却一直捕获到127.0.0.1总结 前言 在网口调试中,wireshark使用较多,常出现一些无法捕获或者ip获取数据不正确的情况&#xff0…

React hooks动态配置侧边栏

React hooks根据不同需求 还有不同的角色 动态的去配置侧边栏 需求: 点击某个按钮是一套侧边栏 ,不同角色(比如管理员之类的权限高一点)比普通用户多个侧边栏 然后点击另一个按钮是另一套侧边栏 此时,就需要动态的去…

频率域,空间域以及频率域和空间域如何获取

文章目录 频率域频率域的关键概念:频率域的应用: 空间域空间域特征的含义:空间域操作的常见技术:与频率域的对比: 如何获取空间域,频率域空间域特征:频率域特征: 频率域 频率域&…