【论文速读】Scene Text Telescope: Text-Focused Scene Image Super-Resolution

news2024/9/30 1:31:21

前言

在阅读这篇文章的时候,我花费了近一周的时间在将其基本消化理解,至于为什么花费如此长的时间,我发现主要原因是我对transformer一知半解,所以在transformer中提出的名词,例如:Postion-Wise Feed-Forward、PE编码等都不了解,最终导致论文看起来比较吃力,如果你也想理解这篇论文的话,你最好对transformer有一个比较全面的了解
论文地址
代码地址

文章目录

  • 前言
    • @[TOC](文章目录)
  • 一、本论文解决了什么
  • 二、Scene Text Telescope (SST)模型框架
  • 三、Pixel-Wise Supervision Module 像素级超分辨率模块
  • 四、Position-Aware Module位置感知模块
  • 五、Content-Aware Module内容感知模块
  • 六、源码测试

一、本论文解决了什么

在本论文提出之前,所用到解决文本超分辨率的方法均是使用通用的超分辨率框架来处理场景文本图像,忽略了文本特定的属性。
本论文考虑了文本特定的属性设计了一个用于改善低焦距拍摄造成的文本图像模糊的超分辨率框架 Scene Text Telescope (STT),其主要的作用是将低分辨率(low-resolution)的文本图像,转化为超分辨率的图像(super-resolution)。如下图文本中的“Service”的最后一个单词“e”,在LR的情况下很容易被识别成“o”,经过SST的恢复,将模糊的文本变的很清晰。
在这里插入图片描述

二、Scene Text Telescope (SST)模型框架

SST的总体框架如下图所示,主要由像素级超分辨率模块(Pixel-Wise Supervision Module)、位置感知模块(Position-Aware Module)、内容感知模块(Content-Aware Module)三部分组成,下面对这三部分模块进行分析
在这里插入图片描述

三、Pixel-Wise Supervision Module 像素级超分辨率模块

Pixel-Wise Supervision Module是SST的核心部分。其处理文本的流程为:文本首先让一张低分辨率的文本图像首先放入Spatial Transformer Network(STN)中进行矫正,来增加模型对于空间变化的鲁棒性,简单来说就是,STN可以将倾斜、移位等出现空间几何变换的图像矫正,示意图如下:
在这里插入图片描述
紧接着将矫正后的图片,放入基于transformer的超分辨率网络(Transformer-Based Super-Resolution Network )(TBSRNT)
该TBSRN网络主要使用了Self-attention模块和一个Position-Wise Feed-forward模块,模型图如下:
在这里插入图片描述
TBSRNT首先是将图W×H×C的三维图像矩阵通过两个连续的CNN来提取特征,然后通过二维PE编码,生成位置信息,并将位置信息矩阵和图像矩阵加在一起,之后做了一个Flatten操作,将三维矩阵转化为二维后,通过自注意力使其更专注文本区域,然后将自注意力生成的序列通过Postion-Wise Feed-Forward进行语义转化后,通过Reshape得到一张feature map。
之后通过pixel shuffle的上采样方式,得到超分辨率图像

四、Position-Aware Module位置感知模块

本质上提前将识别模型进行预训练,从而使其能更好的感知图像的文本位置信息。作者通过Syn90k和SynthText两个数据集进行预训练attention maps模型

五、Content-Aware Module内容感知模块

与Position-Aware Module相同,也是利用一个文本数据集EMNIST,来预训练Transformer模型,首先使用EMNIST训练一个变分自动编码器VAE,获得每个字符的位置编码,这里的VAE可以理解为训练26个英文字母和10个数字放在一个二维的表格中,外表越像的,例如“0”和“o”、“c”和“e”,之间的距离就会越近。
然后,作者采用了交叉熵损失函数,使模型更关注外表相近的字母
在这里插入图片描述

这里Cij=1/欧氏距离,也就是说,当两个文字在上面的二维表中,距离越近时,aj就越大
在这里插入图片描述
紧接着作者设置了损失函数,这样的话,训练模型就会更加关注长得接近的文字
blog.csdnimg.cn/d25c5f1ba1d54b7f9835af4f67e09963.png)

六、源码测试

我将作者给的源码和训练好的模型下载出来跑了一下,本以为代码是效果图,代码跑通后只显示了测试集的精度,如果想将测试图片可视化,需要修改代码。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/55238.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

365天深度学习训练营-第P3周:天气识别

🍨 本文为🔗365天深度学习训练营 内部限免文章(版权归 K同学啊 所有)🍦 参考文章地址: 🔗第P3周:天气识别 | 365天深度学习训练营🍖 作者:K同学啊 | 接辅导、…

视频转文字怎么操作?这三种转换方法你该学会

如今短视频让各种知识传播变得生动形象,但是视频学习对于后期的整理复习不是很便捷,现在教大家一种好用的视频知识整理方法,那就是视频转文字,可以将视频内容轻松转换为文字形式。那么就有人问了,怎样转换才更简单呢&a…

WeakHashMap 和 HashMap 的区别是什么,何时使用?

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 前言 大家好,我是小彭。 在之前的文章里,我们聊到了 Java 标准库中 HashMap 与 LinkedHashMap 的实现原理。HashMap 是一个标准的散列表数据结构&…

eval()方法字符串转对象; 分别取对象属性名和属性的方法

字符串转对象 ⬇️ A是字符串 转对象: let B eval(‘ (‘ A ‘) ‘) B就是A转成的对象 取对象属性名(for ... in ... ) ⬇️ let C []; for(let key in B) { C.push(key); console.log(key); // 打印所有属性名 console.log(B[key]); // 打印所有属性值…

“元宇宙”虚拟世界的营销法则 “品牌元宇宙空间”算什么?

虚拟世界从来不缺吃螃蟹的品牌。 “元宇宙”依旧是当下品牌创新营销的重要形式,从时趣的行业观察来看,大量品牌方都有着元宇宙的营销意向,但在营销落地上存在不同的进度。一个显而易见的事实是,元宇宙不仅仅是一个虚拟的游戏空间…

RabbitMQ之负载均衡-HAProxy

将客户端的连接和操作的压力分散到集群中的不同节点,防止单个或几台服务器压力过大成为访问的瓶颈,甚至宕机。HAProxy是一款开源免费,并提供高可用性、负载均衡以及基于TCP和HTTP协议的代理软件,可以支持四层、七层负载均衡&#…

虚拟列表渲染-前端性能优化

目录 1 使用场景 2 小插曲 3 虚拟列表渲染实现原理 4 代码实现 1 使用场景 在做EMBP项目时,有个模板新建的需求,需要点击获取子任务时获取所有的子任务,当时有的数据比较大,会有几百条的情况,此时接口请求变得很慢…

高可用网站架构云化

高可用网站架构云化 一、背景 早期互联网产品用户量少,并发量低,数据量小,多数只需要单个应用服务器可以满足需要,而数据库和文件服务部署在外部单个服务器上。随着业务在线化、互联网化的高速发展,企业对核心业务系统…

微信云开发AI短视频一键换脸小程序源码

简介: 微信云开发AI一键视频换脸小程序源码是由极客二改后发布的,小程序增加了广告控制, 插屏广告,激励广告和原生广告,由于采用了微信云开发没有后台, 所以不需要域名和服务器也可以正常搭建使用&#xf…

【论文精读6】MVSNet系列论文详解-CIDER

CIDER全名:Learning Inverse Depth Regression for Multi-View Stereo with Correlation Cost Volume,AAAI 2020(CCF A) 本文是MVSNet系列的第6篇,建议看过【论文精读1】MVSNet系列论文详解-MVSNet之后再看便于理解。 一、问题引入 针对问题&#xff1a…

理解 CNN

理解 CNN 注意:下面提到的图像指位图 目录理解 CNNCNN人类的视觉原理几个关键层卷积层(fliter、kernel)池化层 (pooling)激活层(activate)全连接层(Linear)pytorch实现TextCNN卷积传播图解不同视角看CNN参考CNN 卷积神经网络-CNN 最擅长的就是图片的处理。它受到人…

[附源码]JAVA毕业设计机房预约系统(系统+LW)

[附源码]JAVA毕业设计机房预约系统(系统LW) 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&…

Spring Data JPA 中的分页和排序

让我们学习如何使用 在 Spring 数据 JPA 中使用分页和排序有效地处理大量记录。 什么是分页和排序? 大多数情况下,来自数据库的结果集可能会让人不知所措。它可能会让人不知所措,以至于系统崩溃,因为它们无法在一次传递中处理那…

2019-10《信息资源管理 02378》真卷(独家文字版),圈定章节考点+统计真题分布

本系列博客合计 21 篇,每篇都将解析一张《信息资源管理》真卷,并附带答案解析与背诵技巧。 搜索 梦想橡皮擦,擦姐整理 全国 2019 年 10 月自学考试信息资源管理试题(02378) 单选题 1,信息技术是应用信息科学的原理和…

Linux基本工具——yum

Linux基本工具软件包管理器yum什么是软件包Linux的软件包yum的三板斧yum的扩展软件包管理器yum 工具的本质就是指令 什么是软件包 我们平时用手机与电脑的时候,如果想安装一个软件就需要去下载它的安装包(软件包),下载安装包的…

前端怎么才能找到项目做?

前言 一般找项目最常用的就是在Github上,题主已经具备了html、css、js和vue的知识体系,那么在github或者找一些项目教程视频来实践是锻炼的最好途径,下面我整理了一些在github和B站上找了一些前端的经典项目,希望对你有所帮助~ …

Kotlin 开发Android app(十六):ContentProvider的使用

android的四大组件,已经介绍了两个,这一节介绍ContentProvider。前面的广播可以进行 app内的通讯,如果需要进行app之间的通讯,在android 中使用的是ContentProvider。ContentProvider 也分为三种,一,作为数…

物通博联持续参与京东方(BOE)工厂数字化项目

创新引领 数字驱动 京东方科技集团股份有限公司(BOE)创立于1993年,是全球领先的半导体显示技术、产品与服务提供商,核心业务包括显示器件、智慧系统和健康服务。产品广泛应用于手机、平板电脑、笔记本电脑、显示器、电视、车载、…

php万年历源代码!源代码![上一年、上一月、下一月、下一年、附加当天日期加背景颜色]-私聊源码

//当前年 $year isset($_GET[year])?$_GET[year]:date(Y); //echo $year; //制作当前月的变量 $monthisset($_GET[month])?$_GET[month]:date(n); //本月有多少天 $day date(t,mktime(0,0,0,$month,1,$year)); //本月从1号开始是星期几 $w date(w,mktime(0,0,0,$month,1…

python处理csv文件

如何使用python处理csv文件 素材准备 ​ csv⽂件其实就是⽂本⽂件,遵循了⼀定的格式,常⻅的csv⽂件⼀般是⽤逗号来隔开列,⽤换⾏符隔开不同的⾏,注意这⾥的符号都是英⽂符号。我们可以直接⽤open函数来打开csv⽂件; …