前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TencentOCR 斩获 ICDAR 2021 三项冠军

TencentOCR 斩获 ICDAR 2021 三项冠军

作者头像
腾讯技术工程官方号
发布于 2021-11-05 01:40:14
发布于 2021-11-05 01:40:14
1.2K0
举报

作者:TencentOCR团队

全球 OCR 最顶级赛事,TencentOCR 以绝对领先优势斩获三冠,腾讯技术再扬威名!

一、竞赛背景

2021 年 9 月,两年一届的 ICDAR 竞赛落下帷幕,这是文字识别(OCR)领域全球最顶级赛事。TencentOCR 团队在本届比赛中参加了视频文字识别竞赛,并包揽该赛道全部 3 项冠军,成绩遥遥领先。这也是继 2017 年团队勇夺 4 项官方认证冠军[1]、2019 团队勇夺 7 项冠军后[2],再创佳绩,同时也标志着腾讯 OCR 技术稳居国际第一流水准。

国际文档分析与识别大会 ICDAR( International Conference on Document Analysis and Recognition)自 1991 年开始,每两年一届,今年为第十六届。自 2003 年大会开始设立技术竞赛,ICDAR 竞赛因其极高技术难度和强大实用性,一直是各大科研院校、科技公司的竞逐焦点。与赛后非正式刷榜不同,ICDAR 官方认证的正式竞赛采用全新数据集,且赛期内不公布参赛团队信息,限制提交时间和次数,属于高难度“盲打”,吸引国内外众多队伍参赛。

二、赛题介绍

ICDAR SVTS(场景视频文本定位)竞赛由海康威视、复旦大学和浙江大学联合出题,主办方提供了涵盖 21 个室内外真实场景的 129 段视频。SVTS 竞赛设置了 3 个任务:视频文本检测、视频文本跟踪、视频文本端到端识别。由于环境干扰(相机抖动、运动模糊、光照变化等),从视频帧中检测、跟踪、识别文本比静态图片 OCR 任务需要更高的鲁棒性,挑战性极高。

(图1)ICDAR-SVTS竞赛示意帧

三、竞赛成绩

在 SVTS 竞赛的 3 个任务中,腾讯 OCR 以大幅度领先获得全部冠军。

任务 1 视频文本检测

任务 1 旨在获取视频帧中的文本框位置,每个文本框的 GT 由 4 个坐标点组成,评价指标是 F-score,团队以领先第二名 3.43%的成绩取得冠军。

(图2)视频文本检测:冠军证书

任务 2 视频文本跟踪

任务 2 旨在跟踪视频中所有文本流,将帧与帧之间属于同一个文本的检测框聚合起来,评价指标是 ATA,我们以领先第二名 5.62%的成绩取得冠军。

(图3)视频文本跟踪:冠军证书

任务 3 视频文本端到端识别

任务 3 旨在评估视频文本识别的端到端性能,任务要求在每一帧上正确检测文本,在视频帧上正确跟踪,并在序列级别正确识别,评价指标是 F-score,我们以领先第二名 5.53%的成绩取得冠军。

(图4)视频文本端到端识别:冠军证书

四、算法介绍

1. 文字检测

针对复杂自然场景下的视频文本检测任务,团队在 Cascade Mask R-CNN 算法的基础上设计了一种自顶向下实例分割的多方向文本的检测方法。在特征提取网络部分,我们训练多个主干网络,包括 HRNet-W48,Res2Net101,Resnet101 和 SENet101,并使用了 Syn-BN 和可变形卷积网络 DCN 等技术来增强特征。同时,经典的 RPN 网络替换成为 GA-RPN 的方法提升模型性能。为更好解决多尺度的问题,在模型 neck 部分我们尝试了 PAFPN、BiFPN 和 FPG 等一系列特征金字塔网络。在 R-CNN 部分,我们针对任务重新设计了 IoU 阈值和每个 stage 的权重,采用了 4 个级联的网络来精准预测文字位置。此外,借鉴 Double-Head R-CNN 的思想,我们把 R-CNN 网络的回归和分类两个网络分支解耦开。

为进一步增强模型的性能,我们引入更多的监督信息让网络去学习,首先增加了一个基于 CTC 的文字识别网络分支进行端到端的训练让模型更好地学习文字特征,其次引入一个全局的语义分割网络分支来强化特征的表示。最后,模型基于网络输出的 mask 分割结果采用多边形非极大抑制(Soft Polygon NMS)来输出文本区域框。在网络前向预测阶段,我们发现模型受视频的模糊程度影响很大,设计了一种多尺度+翻转+模糊增加的 TTA 策略,有效提升了测试的准召指标。同时,在将检测结果传给后续文字跟踪和端到端识别任务的同时,我们也使用这两个任务的输出结果设计了检测框筛选算法来提升最后的精度。

(图5)文本检测算法

2. 文字跟踪

在文字跟踪方面,我们提出了一种基于 DeepSort 的多度量文本跟踪方法,使用 4 个不同的度量来计算每条轨迹与每个新检测框之间的匹配度,包括检测框匹配度,检测框表观相似度,文本相似度和一种新设计的检测框邻域相似度。这些度量被归一化加权求和用作当前检测框和已有轨迹之间的匹配损失函数,使用 Kuhn-Munkres 算法计算最优匹配。最后采用后处理和集成策略,通过替换邻近检测框,使得替换后轨迹文本稳定程度提升,来减少 ID-Switch 跟踪错误,最后自动移除低文本置信度的轨迹来提升精度。

(图6)视频文本跟踪算法

3. 端到端文字识别

在文字识别方面,我们采用了基于 CTC 和基于 2D Attention 的混合模型。我们的编码网络由卷积网络和上下文提取模块组成,我们首先通过 VGGNet、ResNet50/101、SEResNeXt 等卷积网络提取视觉特征,然后通过 BiLSTM、BiGRU 和 Transformer 提取上下文信息。针对基于 CTC 的算法,我们还开发了可端到端训练的内嵌式语言模型。在端到端阶段,我们采用多类识别算法对输入跟踪轨迹的所有文本进行预测,然后使用基于文本置信度和长度的方法集成并计算结果得分,取分数最高的结果作为轨迹的文本结果。最后,我们移除低分和包含无关字符的轨迹以提高最终精度。

(图7)文本端到端识别算法

五、总结

TencentOCR 团队是腾讯内部专业研发 OCR 技术的团队,于 2021 年 TEG OCR 联合公司兄弟团队成立了 TencentOCR Oteam,团队在文本识别领域上已经深耕细作多年,自研的基于深度学习方法的文本检测与识别技术处于业界领先水平,已在全球最权威 ICDAR 竞赛中连续三届斩获共 14 项官方认证冠军。国际顶级竞赛是技术水平的试金石和腾讯技术影响力的证明,同样重要的还有技术应用与落地。腾讯 OCR 技术,凭借高精准度、高稳定性以及专业服务伙伴的理念,已支持公司内所有 BG 的数百个业务场景,如腾讯广告、微信、QQ、腾讯云、腾讯视频、腾讯信息流产品、腾讯会议等,并获得广泛好评。未来,团队将继续在 TencentOCR Oteam 的框架下,深度协同,保持腾讯 OCR 在业界的领先水平。

(图8)TencentOCR参赛团队

参考目录:

  1. https://mp.weixin.qq.com/s/_HmsLW4Juwo6RzjlRe6MhA
  2. https://mp.weixin.qq.com/s/ai2ZJdTuG9pD5cijssx6SQ

欢迎点击下方视频

关注腾讯程序员视频号

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯技术工程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
在线收缩和扩展LVM
在安装系统时LVM的大小没有设定好,还好可以在线收缩和扩展。 1,看下各逻辑卷大小 [root@bogon ~]# df -h Filesystem            Size  Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00                        39G  461M   37G   2% / /dev/mapper/VolGroup00-LogVol03                        64G  222M   61G   1% /var /dev/mapper/VolGroup00-LogVol02                        49G  2.0G   45G   5% /usr /dev/mapper/VolGroup00-LogVol01                        39G  177M   37G   1% /home /dev/sda1              99M   13M   82M  14% /boot tmpfs                1005M     0 1005M   0% /dev/shm /dev/hdc              3.5G  3.5G     0 100% /media 2,看到home下有lost+found可见home分区单独挂载在一个分区下 [root@bogon ~]# ls /home/ innofidei  lost+found 3,卸载并验证 [root@bogon ~]# umount /dev/mapper/VolGroup00-LogVol01 [root@bogon ~]# ls /home/ 4,resize2fs  卷组先 [root@bogon ~]# resize2fs /dev/mapper/VolGroup00-LogVol01 20G resize2fs 1.39 (29-May-2006) Resizing the filesystem on /dev/mapper/VolGroup00-LogVol01 to 5242880 (4k) blocks. The filesystem on /dev/mapper/VolGroup00-LogVol01 is now 5242880 blocks long.
三杯水Plus
2018/11/14
1.3K0
Linux ext3grep 恢复数据
下载地址 http://code.google.com/p/ext3grep/downloads/list
py3study
2020/01/09
6230
Mysql备份系列(4)--lvm-snapshot备份mysql数据(全量+增量)操作记录
Mysql最常用的三种备份工具分别是mysqldump、Xtrabackup(innobackupex工具)、lvm-snapshot快照。 前面分别介绍了: Mysql备份系列(1)--备份方案总结性梳理 Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录 Mysql备份系列(3)--innobackupex备份mysql大数据(全量+增量)操作记录 lvm-snapshot:基于LVM快照的备份 1.关于快照: 1)事务日志跟数据文件必须在同一个卷上; 2)刚刚创立的快照卷,里
洗尽了浮华
2018/01/23
2.2K0
ext3grep恢复ext3文件系统下误
df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00                        13G 4.7G 7.5G 39% / /dev/hda1 99M 18M 77M 19% /boot tmpfs 107M 0 107M 0% /dev/shm /home/store/file 49M 4.9M 42M 11% /mnt
py3study
2020/01/06
6310
xen虚拟机挂载硬盘
shaonbean
2018/01/02
1.8K0
操作篇:Linux磁盘空间释放解决步骤
IDC里的一台服务器的/分区使用率爆满了!已达到100%!经查看发现有个文件过大(80G),于是在跟有关同事确认后rm -f果断删除该文件。但是发现删除该文件后,/分区的磁盘空间压根没有释放出来,使用率还是100%!这是为什么呢??
小小科
2020/06/29
7.3K0
Python学习之进程和并发
从Python2.4 以后,subprocess模块负责衍生出新的进程,和标准输入,标准输出,标准错误输出交互,并监听返回值。Subprocess模块是用来取代一些老的模块,例如os.system, os.spawn, os.popen和popen2
py3study
2020/01/08
8330
Linux命令(38)——fdisk命令
fdisk命令用于创建和维护磁盘分区表。它采用传统的问答式界面,而非类似DOS fdisk的cfdisk互动式操作界面,因此在使用上较为不便,但功能却丝毫不打折扣。它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。
恋喵大鲤鱼
2018/08/03
3.1K0
Linux NFS 服务部署
此时就可以在客户端/usr2/nfs_map目录下看到服务端/usr2/nfs目录下的文件了,如下:
Alfred Zhao
2019/05/24
2.6K0
解决Linux系统删除文件后空间并没有释放的问题
操作系统:CentOS 6.8 x64   使用 df -h 命令,看见 / 根目录下磁盘空间已满(100%),于是手动清理大日志文件。
星泽V社
2022/03/02
12.9K0
du,df,fdisk,mkfs.ext3命令详解
指令 du 能以指定的目录下的子目录为单位,显示每个目录内所有档案所占用的磁盘空间大小。使用 -h 参数来显示 human-readable 的格式。例如:
阳光岛主
2019/02/19
2K0
彻底解决mysql报错:1030, ‘Got error 28 from storage engine‘
这个问题确实是服务器系统盘满了,mysql指定的临时文件目录满掉,大概就是这个意思.
全栈程序员站长
2022/11/03
2.8K0
Linux学习笔记之Linux系统的swap分区
Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。swap分区是从磁盘空间划分而来,有的是单独使用一个分区,有的是把一个大文件当做swap。
Jetpropelledsnake21
2019/07/15
6.7K0
Linux学习笔记之Linux系统的swap分区
Centos中动态扩容lvm逻辑卷的操作记录
LVM概念: -------------------------------------------------------------------------------------------------------------------------------------------------------- 它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个
洗尽了浮华
2018/01/22
2K0
Centos中动态扩容lvm逻辑卷的操作记录
Linux文件后删除空间未释放问题
当系统空间使用量过大需要清理空间或者清理某个文件时,有时会出现执行了删除命令之后磁盘空间并没有释放的情况。很多人首次遇到该情况时会比较困惑,在考虑是不是像windows系统的回收站一样,删除只是逻辑删除到回收站一样?其实不然,linux的回收站功能想了解的可以与我沟通或查资料了解一下,也是个比较实用的方法,此处我们主要实践文件删除后空间未释放问题。
俊才
2020/05/21
8.2K0
Linux 磁盘管理命令
df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
用户4988085
2021/07/19
2.9K0
Linux 磁盘管理命令:dd磁盘操作
(1)显示所有文件系统对 I-node 节点和磁盘块的使用情况,这时需要一个参数-i。
度假的小鱼
2025/01/16
5050
Linux 磁盘管理命令:dd磁盘操作
kvm虚拟机挂载lvm卷
shaonbean
2018/01/02
1.6K0
完整部署CentOS7.2+OpenStack+kvm 云平台环境(2)--云硬盘等后续配置
继上一篇博客介绍了完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建,本篇继续讲述后续部分的内容  1 虚拟机相关 1.1 虚拟机位置介绍 openstack上创建的虚拟机实例存放位置是/var/lib/nova/instances 如下,可以查看到虚拟机的ID [root@linux-node2 ~]# nova list +--------------------------------------+---------------+--------+--------
洗尽了浮华
2018/01/22
2K0
完整部署CentOS7.2+OpenStack+kvm 云平台环境(2)--云硬盘等后续配置
Centos下部署DRBD+NFS+Keepalived高可用环境记录
使用NFS服务器(比如图片业务),一台为主,一台为备。通常主到备的数据同步是通过rsync来做(可以结合inotify做实时同步)。由于NFS服务是存在单点的,出于对业务在线率和数据安全的保障,可以采用"DRBD+NFS+Keepalived"架构来完成高可用方案部署。之前介绍了DRBD详细解说及配置过程记录,废话不多说了,基于之前的那篇文档的机器配置信息,以下记录部署过程: 思路: 1)在两台机器上安装keepalived,VIP为192.168.1.200 2)将DRBD的挂载目录/data作为NFS的
洗尽了浮华
2018/01/22
3.6K0
推荐阅读
相关推荐
在线收缩和扩展LVM
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档