微信AI设计了一种超分辨率技术,让扫二维码更方便

2020 年 12 月 23 日 微信AI

导语


对于微信扫码识别中分辨率低、质量差的图像,我们设计了高效的超分辨率网络,并针对扫码图像的特点进行了一系列定制化的改进,提高了识别成功率。

一、引言


微信扫码引擎功能强大,但同时也面临着越来越多的挑战。在长按识别场景中,许多码图像经过截图、朋友圈和聊天多次压缩转发,质量严重受损,分辨率下降,边缘变得模糊不清,这给识别带来了很大的困难。具体来说,这主要体现在以下两个方面:

   图像分辨率小。例如一些嵌入在海报(如图1)或远距离拍摄的码,其分辨率远小于通常情况下的码图像。

图1.海报中的二维码占比很小

    图像质量较低。长按识别的码图像,有很多是经过了多次的压缩和转发,存在严重的人工效应(如振铃效应)干扰。

图2. 经过多次转发压缩的二维码图像质量严重下降

这严重影响了传统的识别算法。一旦遇到这些低质量的码图像,传统算法往往很难给出令人满意的结果。

针对这些问题,我们在识别流程中引入了超分辨率策略,在提高扫码图像分辨率的同时,改善图像质量,以提高识别率。作为QBarAI扫码引擎的一部分,该算法精简高效,支持二维码、小程序码、一维码、PDF417等多种主流码格式。在真实场景下的测试表明,这一策略大大提高了扫码引擎对低质量图像的鲁棒性和识别成功率,使其能够适用于更加广泛和复杂的场景。由于实际应用中二维码占了非常大的比例,下面我们就以二维码为例介绍一下这个码图超分技术。

二、算法简介


通常情况下,相比于低分辨率图像,高分辨率图像能够提供更丰富的细节,呈现出良好的视觉效果,对于二维码识别这种以图像作为输入的后续流程,也有助于提高系统的整体表现。然而,受成像设备、存储空间和网络资源的限制,我们常常只能获得较低分辨率的图像。于是,超分辨率技术便派上了用场。

超分辨率技术以低分辨率图像作为输入,重建高分辨率输出,是计算机视觉领域的一个经典问题。传统的基于像素插值的超分算法以其计算简单、速度快的优势,被广泛采用,如最近邻(nearest)插值,双线性(bilinear)插值以及双三次(bicubic)插值等。但它们无法适应多样的图像内容,感知能力较差,难以重建出图像的高频信息,输出图像过于模糊,应用于压缩图像时,甚至会放大人工效应干扰。

图3. 模型结构

近年来,计算机视觉技术和深度学习飞速发展,学术界开始关注利用深度学习解决图像重建问题。我们根据扫码图像的特点,设计了适用于移动端的超分网络,实现了快速高效的码图像重建,并改善图像质量,大大提高了扫码算法的识别成功率。网络结构如图3所示。图4展示了我们的算法的重建效果。

图4. 超分还原效果展示

我们主要实现了以下效果:

扫码图像的的超分还原对分辨率较小的码图像进行超分还原,得到高分辨率输出,保证编码区域边缘锐利,清晰可辨。


图像质量增强。对于多次压缩转发后的码进行图像质量增强,减小人工效应对后续识别流程造成的干扰。


模型体积小,计算速度快。经过量化压缩后的网络模型仅有13K,远小于当前学术界常用的主流超分模型。


表1. 与不同的算法对比

表1对比了不同算法的效果,其中运行时间是在iPhone7上基于ncnn框架使用双线程实际测试得出的。可以看到,我们的算法在识别率和效率上均具有很大优势。

三、相关工作


SRCNN[3]将传统的基于稀疏编码的超分方法视为一个卷积神经网络,首次将深度学习应用于超分辨率重建问题中,实现了高低分辨率图像间端到端的映射,图5展示了SRCNN的网络结构。随后又涌现出了FSRCNN[2]、ESPCN[4]、VDSR[5]、EDSR[1]、IDN[6]等许多后继的研究,网络深度和模型复杂度不断增加,旨在提高重建的准确率,得到更高的峰值信噪比(PSNR),并提出了一系列措施在保持网络训练稳定性的同时加快收敛。此处不做赘述,感兴趣的读者可以参阅相关文献。

图5. SRCNN网络结构

然而,直接将这些算法应用于二维码图像超分存在一些问题,主要集中在以下两点:

上述模型为了得到更高的重建准确率,体积较大,处理速度慢,不适合在移动端部署。


这些算法针对自然图像的通用超分问题而设计,没有关注到二维码图像本身所具有的特点。


因此,有必要探索尝试新的精简高效的方法。

四、二维码超分算法


我们基于深度学习设计的超分算法,对特征图进行了充分的重利用,在减小计算量的同时保持良好的重建效果。同时,根据二维码图像的特点,采用了专门的损失函数,以提高后续识别的成功率。

4.1网络结构


为了精简模型体积,加快运算速度,就要压缩神经网络的深度和宽度,这样会带来精度的损失。为了减小这种损失,我们参考DenseNet[7]的做法,在网络中利用密集连接的方式,将网络浅层特征与深层特征连接,来保证层与层之间最大程度的信息传输。

图6. 与原始DenseNet的对比

与原始的DenseNet不同的是,我们采用了更精简的瓶颈结构,使3 x 3卷积在低于增长率的特征维度下进行,进一步减小了模型的体积和计算量。上图展示了二者的区别(为了简洁,忽略了激活函数和左图的BN)。根据NTIRE2017 Super-Resolution Challenge冠军队伍[1]的做法,我们去掉了BN层。另外,针对参数量和运算量均较大的3 x 3卷积,我们将其改为depthwise卷积[8],最后增加了一个1 x 1卷积用于特征通道的组合与升维。对于激活函数,相比于ReLU,采用Leaky ReLU可以获得0.6%的识别率提升。

在网络的上采样与重建模块,我们发现,较多的通道数对图像重建的帮助很大,同时,使用额外的重建层对上采样结果进一步增强,也可提升效果。为了兼顾准确率与效率,我们采用了类似的基于depthwise的瓶颈结构实现上采样与重建。

4.2残差学习


我们使用原始的低分辨率图像作为输入,在网络最后的重建层使用反卷积上采样到目标分辨率,这样整个计算过程在低分辨率空间中进行,减小了运算量。

图7. 残差学习

在超分辨率问题中,主要的任务是估计出图像的高频信息,而输入图像包含了主要的低频信息。如果直接预测高分辨率图像,那么我们可以将网络的学习任务作如下分解[5]:

1)将低频输入信息传递至输出端(auto-encoder的作用);

2)预测图像高频细节。而实际上,低频输入无需网络重建,学习auto-encoder造成了训练时间的浪费。

为了加快收敛速度,我们将这两个任务显式地分离,使用计算量很小的最邻近插值直接将输入图像放大至目标尺寸,作为低频信息与网络输出相加,得到最终输出。通过这种方式,网络只需学习高频残差,从而加快收敛。实验证明,残差学习不仅可以加快收敛,也提高了重建准确度, 识别率提高了0.5%

4.3目标函数


与通用超分不同,二维码图像是二值图像,而超分目的是提高后续的识别成功率。因此,最终的衡量标准不再是常用的PSNR,而是识别成功率。下图展示了二维码的基本结构:

图8. 二维码的基本结构

相比于自然图像,二维码的纹理模式比较单一,边界分明。识别流程的第一步是将图像二值化,然后根据扫描像素行/列匹配对应比例来寻找定位点。根据这些特点,我们尝试了以下损失函数:

    L1/L2 损失。超分重建是个回归问题,可以直接使用L1或L2 loss,经过验证,二者相差不大,L2 loss略优于L1 loss;

    边界损失[10]。对于定位图形的检测,边缘清晰与否是一个至关重要的因素。为了使模型能够尽可能准确地重建出清晰的边缘,我们使用sobel算子提取出图像的边缘信息,作为损失函数的权重,以加大这些位置预测偏差的代价。实验表明,这样的目标函数将识别准确率提升了0.8%。

    二值模式限制(Binary Pattern Constraint)损失[9]。二维码图像是二值图像,仅有黑白两种颜色组成。但退化后的图像可能会产生介于黑白之间的灰色像素。为此,我们采用二值模式限制损失函数加大对错误计算的灰色像素的惩罚。在L2 Loss的基础上,使用Sigmoid函数的一阶导数作为权重:


该函数图像如下图:

图9. 二值模式限制的权值函数

该函数对落在中间灰色区间的灰度值施以更大的惩罚,从而促使网络输出更符合二维码特性的重建结果,与普通的L2 Loss相比, 识别率提高了1%

此外,我们还对训练数据做了额外的处理。比如,二维码中心区域的logo信息对识别没有帮助,我们直接将其擦除。为了在超分放大的同时提高图像质量,我们还在训练数据集中引入了多种图像退化类型,以增强模型的鲁棒性和泛化能力。

4.4模型蒸馏


在深度网络的应用中,人们常常倾向于设计更为庞大复杂的网络模型以获取更好的效果,但随之而来的是空间与时间消耗的急剧上升。显然,为了能成功地将我们的算法部署在移动端,就要严格控制资源的消耗。有研究表明深度模型具有较大的信息参数冗余,这就为模型的蒸馏提供了可能。所谓模型蒸馏就是将训练好的复杂模型的“知识”迁移到一个结构更为简单的网络中,或者通过简单的网络去学习复杂模型中“知识”。代表工作可参考文献[11]。

在我们的实验尝试中,大模型识别率高但消耗资源多,小模型与之相反。为了进一步提升小模型的效果,我们使用不经压缩的大模型来引导小模型的训练。我们实验了两种蒸馏策略:1)特征层蒸馏,即额外加入大模型的中间特征层作为监督信号;2)直接令小模型拟合大模型的预测结果。实验中,第一种策略没有帮助反而会降低识别效果,而第二种策略则在不同的设定下都可取得0.1%~0.3%不等的提升。模型蒸馏在测试过程中不会带来额外开销,对速度和模型体积均不会产生影响。

经过一系列的精心设计, 最终我们的模型量化后体积仅有13K。在困难验证集上的实验测试中,与普通的bicubic插值相比, 我们的超分算法的将识别率由39.69%提高到了60.31%,在iPhone7上真机单帧耗时仅6.39ms(100x100),完全可以满足移动端的需求

五、总结与展望


我们针对小分辨率低质量的码图像,综合考虑性能与效率,设计了适用于移动端的超分算法,在保证速度的同时提高了扫码算法的识别成功率。后续我们会结合实际中遇到的问题,继续优化算法,不断完善。

六、参考文献


[1]Lim B, Son S, Kim H, et al. Enhanced Deep Residual Networks for Single Image Super-Resolution[C]. Computer Vision and Pattern Recognition Workshops, 2017: 1132-1140.



[2]Dong C, Loy C C, Tang X. Accelerating the super-resolution convolutional neural network[C]. European Conference on Computer Vision, 2016: 391-407.



[3]Dong C, Loy C C, He K, et al. Image super-resolution using deep convolutional networks[J]. IEEE transactions on pattern analysis and machine intelligence, 2016, 38(2): 295-307.



[4]Shi W, Caballero J, Huszár F, et al. Real-time single image and video super-resolution using an efficient sub-pixel convolutional neural network[C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016: 1874-1883.



[5]Kim J, Kwon Lee J, Mu Lee K. Accurate image super-resolution using very deep convolutional networks[C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016: 1646-1654.



[6]Hui Z, Wang X, Gao X. Fast and Accurate Single Image Super-Resolution via Information Distillation Network[J], 2018.



[7]Huang G, Liu Z, Weinberger K Q, et al. Densely connected convolutional networks[J]. arXiv preprint arXiv:1608.06993, 2016.



[8]Howard A G, Zhu M, Chen B, et al. Mobilenets: Efficient convolutional neural networks for mobile vision applications[J]. arXiv preprint arXiv:1704.04861, 2017.



[9]Kato Y, Deguchi D, Takahashi T, et al. Low Resolution QR-Code Recognition by Applying Super-Resolution Using the Property of QR-Codes[C]. International Conference on Document Analysis and Recognition, 2011: 992-996.



[10]Svoboda P, Hradis M, Barina D, et al. Compression Artifacts Removal Using Convolutional Neural Networks[J]. Journal of Wscg, 2016, 24(2): 63-72.



[11]Hinton G, Vinyals O, Dean J. Distilling the Knowledge in a Neural Network[J]. Computer Science, 2015, 14(7): 38-39.


 微信AI 

不描摹技术的酷炫,不依赖拟人的形态,微信AI是什么?是悄无声息却无处不在,是用技术创造更高效率,是更懂你。


微信AI关注语音识别与合成、自然语言处理、计算机视觉、工业级推荐系统等领域,成果对内应用于微信翻译、微信视频号、微信看一看等业务,对外服务王者荣耀、QQ音乐等产品。


登录查看更多
2

相关内容

【CVPR2022】基于渐进自蒸馏的鲁棒跨模态表示学习
专知会员服务
18+阅读 · 2022年4月13日
[ICCV2021]自适应多模态选取框架用于视频理解
专知会员服务
17+阅读 · 2021年10月30日
专知会员服务
7+阅读 · 2021年10月4日
专知会员服务
21+阅读 · 2021年7月31日
【CVPR2021】通道注意力的高效移动网络设计
专知会员服务
18+阅读 · 2021年4月27日
专知会员服务
17+阅读 · 2021年3月16日
专知会员服务
21+阅读 · 2021年3月9日
【CVPR2020】时序分组注意力视频超分
专知会员服务
30+阅读 · 2020年7月1日
1.5K star量,上古老番变4K,B站开源超分辨率算法
极市平台
0+阅读 · 2022年2月15日
基于深度学习的超分辨率图像技术一览
极市平台
17+阅读 · 2019年8月24日
低清视频也能快速转高清:超分辨率算法TecoGAN
机器之心
13+阅读 · 2019年4月16日
基于深度学习的图像超分辨率最新进展与趋势【附PDF】
人工智能前沿讲习班
15+阅读 · 2019年2月27日
爱奇艺基于AI的移动端自动化测试框架的设计
前端之巅
18+阅读 · 2019年2月27日
深度学习图像超分辨率最新综述:从模型到应用
炼数成金订阅号
65+阅读 · 2019年2月20日
深度学习之图像超分辨重建技术
机器学习研究会
12+阅读 · 2018年3月24日
国家自然科学基金
5+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
Arxiv
0+阅读 · 2022年4月17日
Arxiv
14+阅读 · 2020年1月27日
Meta-Learning to Cluster
Arxiv
17+阅读 · 2019年10月30日
VIP会员
相关VIP内容
【CVPR2022】基于渐进自蒸馏的鲁棒跨模态表示学习
专知会员服务
18+阅读 · 2022年4月13日
[ICCV2021]自适应多模态选取框架用于视频理解
专知会员服务
17+阅读 · 2021年10月30日
专知会员服务
7+阅读 · 2021年10月4日
专知会员服务
21+阅读 · 2021年7月31日
【CVPR2021】通道注意力的高效移动网络设计
专知会员服务
18+阅读 · 2021年4月27日
专知会员服务
17+阅读 · 2021年3月16日
专知会员服务
21+阅读 · 2021年3月9日
【CVPR2020】时序分组注意力视频超分
专知会员服务
30+阅读 · 2020年7月1日
相关资讯
1.5K star量,上古老番变4K,B站开源超分辨率算法
极市平台
0+阅读 · 2022年2月15日
基于深度学习的超分辨率图像技术一览
极市平台
17+阅读 · 2019年8月24日
低清视频也能快速转高清:超分辨率算法TecoGAN
机器之心
13+阅读 · 2019年4月16日
基于深度学习的图像超分辨率最新进展与趋势【附PDF】
人工智能前沿讲习班
15+阅读 · 2019年2月27日
爱奇艺基于AI的移动端自动化测试框架的设计
前端之巅
18+阅读 · 2019年2月27日
深度学习图像超分辨率最新综述:从模型到应用
炼数成金订阅号
65+阅读 · 2019年2月20日
深度学习之图像超分辨重建技术
机器学习研究会
12+阅读 · 2018年3月24日
相关基金
国家自然科学基金
5+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
Top
微信扫码咨询专知VIP会员