天天看点

CVPR2020场景文字数据增强(python实现)

参考链接: 

CVPR2020场景文字数据增强(纯python实现) - 知乎CVPR2020论文: Learn to Augment: Joint Data Augmentation and Network Optimization for Text Learn to Augment: Joint Data Augmentation and Network Optimization for Text RecognitionC++版本: Canjie-Luo…

CVPR2020场景文字数据增强(python实现)

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

CVPR2020论文:

《Learn to Augment: Joint Data Augmentation and Network Optimization for Text》

原文链接

https://openaccess.thecvf.com/content_CVPR_2020/papers/Luo_Learn_to_Augment_Joint_Data_Augmentation_and_Network_Optimization_for_CVPR_2020_paper.pdf

CVPR2020场景文字数据增强(python实现)

https://openaccess.thecvf.com/content_CVPR_2020/papers/Luo_Learn_to_Augment_Joint_Data_Augmentation_and_Network_Optimization_for_CVPR_2020_paper.pdf

官方代码实现

GitHub - Canjie-Luo/Text-Image-Augmentation: Geometric Augmentation for Text Image

CVPR2020场景文字数据增强(python实现)

https://github.com/Canjie-Luo/Text-Image-Augmentation

重写Python代码实现(非本人编码)

GitHub - RubanSeven/Text-Image-Augmentation-python: Python implementation of Text-Image-Augmentation

CVPR2020场景文字数据增强(python实现)

https://github.com/RubanSeven/Text-Image-Augmentation-python

输入图片: 

CVPR2020场景文字数据增强(python实现)

 输出图片:

CVPR2020场景文字数据增强(python实现)
CVPR2020场景文字数据增强(python实现)
CVPR2020场景文字数据增强(python实现)

摘要

       手写文本和场景文本存在各种形状和扭曲的图案。因此,训练一个健壮的识别模型需要大量的数据来尽可能地覆盖多样性。与数据收集和注释相比,数据增强是一种低成本的方式。本文提出了一种新的文本图像增强方法。与传统的旋转、缩放和透视变换等增强方法不同,我们提出的增强方法是为了学习适当和高效的数据增强,这对于训练一个健壮的识别器来说更加有效和具体。通过使用一组自定义基准点,所提出的增强方法具有灵活性和可控性。此外,我们还通过联合学习在孤立的数据扩充过程和网络优化过程之间架起了一座桥梁。代理网络从识别网络的输出中学习,并控制基准点来为识别网络生成更合适的训练样本。在包括规则场景文本、不规则场景文本和手写文本在内的各种基准上的大量实验表明,所提出的增强和联合学习方法显著提高了识别网络的性能。提供了用于几何增强的通用工具包。

前言

      场景文字的数据标注是高成本的,因此很多情况下,我们会遇到数据不足的情况。然而,目前最前沿的文字识别算法都是基于深度学习的,数据的数量和质量很大长度上决定了模型的效果,甚至在数据严重不足的情况下,模型都很难收敛或者过拟合。

     本文将介绍一种场景文字的数据增强方法,在一些开源项目和论文中都有使用,原版本代码对环境有很高的要求,现用python重写了该方法,速度稍有下降,但是也达到了实时数据增强的效果。

Python实现

使用开发环境:Python3.7 Pycharm2019

下载代码,运行即可。

安装 NumPy 最简单的方法就是使用 pip 工具:

pip3 install --user numpy scipy matplotlib
           

--user 选项可以设置只安装在当前的用户下,而不是写入到系统目录。

默认情况使用国外线路,国外太慢,我们使用清华的镜像就可以:

pip3 install numpy scipy matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
           

没有找到cv2,应该安装opencv-python

pip install opencv-python scipy matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
           

没有找到imageio,应该安装imageio

pip install imageio scipy matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple