CN111784587B - 一种基于深度学习网络的发票照片位置矫正方法 - Google Patents

一种基于深度学习网络的发票照片位置矫正方法 Download PDF

Info

Publication number
CN111784587B
CN111784587B CN202010620221.4A CN202010620221A CN111784587B CN 111784587 B CN111784587 B CN 111784587B CN 202010620221 A CN202010620221 A CN 202010620221A CN 111784587 B CN111784587 B CN 111784587B
Authority
CN
China
Prior art keywords
invoice
main body
title
body part
coordinate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010620221.4A
Other languages
English (en)
Other versions
CN111784587A (zh
Inventor
刘泽豪
罗天任
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Normal University
Original Assignee
Hangzhou Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Normal University filed Critical Hangzhou Normal University
Priority to CN202010620221.4A priority Critical patent/CN111784587B/zh
Publication of CN111784587A publication Critical patent/CN111784587A/zh
Application granted granted Critical
Publication of CN111784587B publication Critical patent/CN111784587B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/608Rotation of whole images or parts thereof by skew deformation, e.g. two-pass or three-pass rotation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/64Analysis of geometric attributes of convexity or concavity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供一种基于深度学习网络的发票照片位置矫正方法,首先训练FCN网络;然后将待矫正的发票输入训练好的FCN网络中,分割出发票的主体部分、发票标题以及无关背景;将输出灰度图按照灰度值差异生成为两张图,一张包含发票的主体部分和背景,一张包含发票标题和背景;再计算发票主体部分的四个角点的像素值;之后确定发票的方向;最后通过透视变换矫正发票的方向。本发明方法解决了由于拍摄环境影响,发票照片呈现歪曲,倾斜等问题,可以更加有效的识别分割出发票的位置,方向。具有更高的算法鲁棒性,大大加强了后续文字识别的准确性。

Description

一种基于深度学习网络的发票照片位置矫正方法
技术领域
本发明属于图像处理领域,具体涉及一种基于深度学习网络的发票照片位置矫正方法。
背景技术
发票OCR(Optical Character Recognition,光学字符识别) 指的是,将发票照片中特定区域文字和数字用字符识别技术识别为计算机文字的过程。在处理发票OCR的过程中,由于拍摄者习惯,使用设备,拍摄环境,拍摄发票纸张等条件不统一,发票照片呈现歪曲,倾斜,模糊等问题。不利于后续文字识别和处理。并且由于情景多种多样,传统的非深度学习方法很难正确的识别。
发明内容
为了解决现有技术中存在的问题,本发明提出了一种基于深度学习网络的发票照片位置矫正方法。
所述的方法分成三个阶段:发票位置定位阶段首先采用FCN深度学习网络分割出发票主体的位置和标志物位置。目标寻找阶段,通过直线检测和颜色检测的方式找到发票主体位置和发票方向。矫正阶段,通过仿射变换将拍摄歪斜的发票矫正为正向。
本发明采用的技术方案主要包括以下步骤:
步骤一:训练FCN网络;
收集发票并进行标注,标注方式为分割标注,分别标注发票框内的主体部分和发票的标题部分。然后使用FCN网络进行训练,将原图和对应的标注数据放到FCN网络中训练,使FCN网络输出主体部分,发票标题以及无关背景。FCN网络输出大小为448*448的灰度图;输出灰度图之中,标题部分的灰度值为50,主体部分灰度值为100,背景部分灰度值为255。
步骤二:图像分割;
将待矫正的发票输入训练好的FCN网络中,分割出发票的主体部分、发票标题以及无关背景。将输出灰度图按照灰度值差异生成为两张图,一张包含发票的主体部分和背景,一张包含发票标题和背景。
步骤三:计算发票主体部分的四个角点的像素值;
步骤四:确定发票的方向;
遍历包含标题的灰度图,找到发票的标题位置,以发票区域中任意一个点x0作为标题的位置;
根据x0来标注步骤三获得的四个角点。设标题x0所在的位置为发票正相位,以逆时针方向,标记发票的四个角点为别为 p1,p2,p3,p4。
步骤五:通过透视变换矫正发票的方向;
步骤三具体方法如下:
对包含主体部分的灰度图进行处理:
3.1采用opencv中findContours进行轮廓检测,找到图像中可能包含发票主体的部分;
3.2采用opencv中convexHull进行凸包检测;
3.3采用opencv中approxPolyDP找到凸包的顶点;
3.4筛选出有四个顶点的四边形;
3.5计算四边形的面积,其中面积大于阈值的为发票主体部分;
3.6筛选出的四个顶点为所求发票主体的四个角点。
进一步的,步骤三所述的阈值设置为60。
步骤五具体方法如下:
求出四个角点在原图中的坐标。公式如下:
其中,X为原图的宽,Y为原图的长。px,py为点在原图中的x,y 坐标,px′为步骤三中求出的角点的x坐标,py′为角点的y坐标。
根据四个角点在原图中的坐标,找到其中x坐标的最大值设为 Xmax,找到x坐标的最小值设为Xmin;找到其中y坐标的最大值设为Ymax,找到最小值设为Ymin。将变换后的图像长度和宽度分别设置为L=Xmax-Xmin,W=Ymax-Ymin。对应变换之后的四个角点 p1,p2,p3,p4的坐标值(PX,PY)分别为(0,0),(0,L)(W,L),(0,W)。
根据获得的四个角点在原图中的坐标计算图像的变换矩阵,公式如下:
其中,PX,PY为变换后对应点的坐标,采用opencv中 GetPerspectiveTransform求解a矩阵,由于是二维变换w设为1。
根据获得的图像的变换矩阵进行透视变换,公式如下:
其中xn,yn为原图像中每一个像素点n的坐标值,x′n,y′n为透视变换之后像素点n的坐标值。采用上述公式,利用opencv中 warpPerspective将原图每一个像素点乘于变换矩阵就可以得到正向的发票图片。
本发明有益效果如下:
本发明方法解决了由于拍摄环境影响,发票照片呈现歪曲,倾斜等问题。相比传统的直接采用直线检测,颜色检测等方法难以在复杂环境下正常识别分割,容易受到背景环境的影响。本方法采用FCN深度学习网络,可以更加有效的识别分割出发票的位置,方向。具有更高的算法鲁棒性,大大加强了后续文字识别的准确性。
附图说明
图1为本发明流程示意图;
图2为FCN网络产生分割图的示意图。
具体实施方式
以下结合附图与实施例对本发明方法进行进一步描述。
如图1所示,一种基于深度学习网络的发票照片位置矫正方法,包括以下步骤:
步骤一:训练FCN网络;
收集发票并进行标注,标注方式为分割标注,分别标注发票框内的主体部分和发票的标题部分。然后使用FCN网络进行训练,将原图和对应的标注数据放到FCN网络中训练,使FCN网络输出主体部分,发票标题以及无关背景。FCN网络输出大小为448*448的灰度图;输出灰度图之中,标题部分的灰度值为50,主体部分灰度值为100,背景部分灰度值为255。图2为FCN网络产生分割图的示意图。
步骤二:图像分割;
将待矫正的发票输入训练好的FCN网络中,分割出发票的主体部分、发票标题以及无关背景。将输出灰度图按照灰度值差异生成为两张图,一张包含发票的主体部分和背景,一张包含发票标题和背景。
步骤三:计算发票主体部分的四个角点的像素值;
对包含主体部分的灰度图进行处理:
3.1采用opencv中findContours进行轮廓检测,找到图像中可能包含发票主体的部分;
3.2采用opencv中convexHull进行凸包检测;
3.3采用opencv中approxPolyDP找到凸包的顶点;
3.4筛选出有四个顶点的四边形;
3.5计算四边形的面积,其中面积大于阈值的为发票主体部分;
3.6筛选出的四个顶点为所求发票主体的四个角点。
进一步的,步骤三所述的阈值设置为60。
步骤四:确定发票的方向;
遍历包含标题的灰度图,找到发票的标题位置,以发票区域中任意一个点x0作为标题的位置;
根据x0来标注步骤三获得的四个角点。设标题x0所在的位置为发票正相位,以逆时针方向,标记发票的四个角点为别为 p1,p2,p3,p4。
步骤五:通过透视变换矫正发票的方向
求出四个角点在原图中的坐标。公式如下:
其中,X为原图的宽,Y为原图的长。px,py为点在原图中的x,y 坐标,px′为步骤三中求出的角点的x坐标,py′为角点的y坐标。
根据四个角点在原图中的坐标,找到其中x坐标的最大值设为 Xmax,找到x坐标的最小值设为Xmin;找到其中y坐标的最大值设为 Ymax,找到最小值设为Ymin。将变换后的图像长度和宽度分别设置为L=Xmax-Xmin,W=Ymax-Ymin。对应变换之后的四个角点 p1,p2,p3,p4的坐标值(PX,PY)分别为(0,0),(0,L)(W,L),(0,W)。
根据获得的四个角点在原图中的坐标计算图像的变换矩阵,公式如下:
其中,PX,PY为变换后对应点的坐标,采用opencv中 GetPerspectiveTransform求解a矩阵,由于是二维变换w设为1。
根据获得的图像的变换矩阵进行透视变换,公式如下:
其中xn,yn为原图像中每一个像素点n的坐标值,x′n,y′n为透视变换之后像素点n的坐标值。采用上述公式,利用opencv中 warpPerspective将原图每一个像素点乘于变换矩阵就可以得到正向的发票图片。

Claims (4)

1.一种基于深度学习网络的发票照片位置矫正方法,其特征在于,步骤如下:
步骤一:训练FCN网络;
收集发票并进行标注,标注方式为分割标注,分别标注发票框内的主体部分和发票的标题部分;然后使用FCN网络进行训练,将原图和对应的标注数据放到FCN网络中训练,使FCN网络输出主体部分,发票标题以及无关背景;FCN网络输出大小为448*448的灰度图;输出灰度图之中,标题部分的灰度值为50,主体部分灰度值为100,背景部分灰度值为255;
步骤二:图像分割;
将待矫正的发票输入训练好的FCN网络中,分割出发票的主体部分、发票标题以及无关背景;将输出灰度图按照灰度值差异生成为两张图,一张包含发票的主体部分和背景,一张包含发票标题和背景;
步骤三:计算发票主体部分的四个角点的像素值;
步骤四:确定发票的方向;
遍历包含标题的灰度图,找到发票的标题位置,以发票区域中任意一个点x0作为标题的位置;
根据x0来标注步骤三获得的四个角点;设标题x0所在的位置为发票正相位,以逆时针方向,标记发票的四个角点为别为p1,p2,p3,p4;
步骤五:通过透视变换矫正发票的方向。
2.根据权利要求1所述的一种基于深度学习网络的发票照片位置矫正方法,其特征在于,所述的步骤三具体方法如下:
对包含主体部分的灰度图进行处理:
3.1采用opencv中findContours进行轮廓检测,找到图像中可能包含发票主体的部分;
3.2采用opencv中convexHull进行凸包检测;
3.3采用opencv中approxPolyDP找到凸包的顶点;
3.4筛选出有四个顶点的四边形;
3.5计算四边形的面积,其中面积大于阈值的为发票主体部分;
3.6筛选出的四个顶点为所求发票主体的四个角点。
3.根据权利要求2所述的一种基于深度学习网络的发票照片位置矫正方法,其特征在于,进一步的,步骤三所述的阈值设置为60。
4.根据权利要求2所述的一种基于深度学习网络的发票照片位置矫正方法,其特征在于,所述的步骤五具体方法如下:
求出四个角点在原图中的坐标;公式如下:
其中,X为原图的宽,Y为原图的长;px,py为点在原图中的x,y坐标,px′为步骤三中求出的角点的x坐标,py′为角点的y坐标;
根据四个角点在原图中的坐标,找到其中x坐标的最大值设为Xmax,找到x坐标的最小值设为Xmin;找到其中y坐标的最大值设为Ymax,找到最小值设为Ymin;将变换后的图像长度和宽度分别设置为L=Xmax-Xmin,W=Ymax-Ymin;对应变换之后的四个角点p1,p2,p3,p4的坐标值(PX,PY)分别为(0,0),(0,L)(W,L),(0,W);
根据获得的四个角点在原图中的坐标计算图像的变换矩阵,公式如下:
其中,PX,PY为变换后对应点的坐标,采用opencv中GetPerspectiveTransform求解a矩阵,由于是二维变换w设为1;
根据获得的图像的变换矩阵进行透视变换,公式如下:
其中xn,yn为原图像中每一个像素点n的坐标值,x′n,y′n为透视变换之后像素点n的坐标值;采用上述公式,利用opencv中warpPerspective将原图每一个像素点乘于变换矩阵就可以得到正向的发票图片。
CN202010620221.4A 2020-06-30 2020-06-30 一种基于深度学习网络的发票照片位置矫正方法 Active CN111784587B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010620221.4A CN111784587B (zh) 2020-06-30 2020-06-30 一种基于深度学习网络的发票照片位置矫正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010620221.4A CN111784587B (zh) 2020-06-30 2020-06-30 一种基于深度学习网络的发票照片位置矫正方法

Publications (2)

Publication Number Publication Date
CN111784587A CN111784587A (zh) 2020-10-16
CN111784587B true CN111784587B (zh) 2023-08-01

Family

ID=72760042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010620221.4A Active CN111784587B (zh) 2020-06-30 2020-06-30 一种基于深度学习网络的发票照片位置矫正方法

Country Status (1)

Country Link
CN (1) CN111784587B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112287853A (zh) * 2020-11-02 2021-01-29 无锡超维智能科技有限公司 基于对it设备指示灯及设备型号的动态智能图像识别算法
CN112347994B (zh) * 2020-11-30 2022-04-22 四川长虹电器股份有限公司 一种基于深度学习的发票图像目标检测与角度检测方法
CN112926577B (zh) * 2021-02-20 2021-11-26 杭州海量信息技术有限公司 一种医疗票据图像结构化方法和装置、计算机可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108960062A (zh) * 2018-06-01 2018-12-07 平安科技(深圳)有限公司 校正发票图像的方法、装置、计算机设备和存储介质
CN109409366A (zh) * 2018-10-30 2019-03-01 四川长虹电器股份有限公司 基于角点检测的畸变图像校正方法及装置
CN110457973A (zh) * 2018-05-07 2019-11-15 北京中海汇银财税服务有限公司 一种票据识别的方法及系统
GB201918199D0 (en) * 2019-10-14 2020-01-22 Bottomline Tech Limited Partial preceptual image hashing for invoice deconstruction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457973A (zh) * 2018-05-07 2019-11-15 北京中海汇银财税服务有限公司 一种票据识别的方法及系统
CN108960062A (zh) * 2018-06-01 2018-12-07 平安科技(深圳)有限公司 校正发票图像的方法、装置、计算机设备和存储介质
CN109409366A (zh) * 2018-10-30 2019-03-01 四川长虹电器股份有限公司 基于角点检测的畸变图像校正方法及装置
GB201918199D0 (en) * 2019-10-14 2020-01-22 Bottomline Tech Limited Partial preceptual image hashing for invoice deconstruction

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Office OCR组件的文档图象检索研究;范兵;吉立新;于洪涛;;通信技术(第06期);第146-148页 *

Also Published As

Publication number Publication date
CN111784587A (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
CN111784587B (zh) 一种基于深度学习网络的发票照片位置矫正方法
CN109785291B (zh) 一种车道线自适应检测方法
CN109409366B (zh) 基于角点检测的畸变图像校正方法及装置
CN108108746B (zh) 基于Caffe深度学习框架的车牌字符识别方法
CN111127339B (zh) 一种文档图像的梯形畸变矫正方法及装置
US8401333B2 (en) Image processing method and apparatus for multi-resolution feature based image registration
CN111429533B (zh) 一种相机镜头畸变参数估计装置及方法
JP2012243307A (ja) 入力画像における歪を検出する方法、入力画像における歪を検出する装置およびコンピューター読み取り可能な媒体
CN111160291B (zh) 基于深度信息与cnn的人眼检测方法
CN110838086B (zh) 一种基于相关性模板匹配的室外图像拼接方法
CN106407983A (zh) 图像主体的识别、矫正与配准方法
Serna et al. Data fusion of objects using techniques such as laser scanning, structured light and photogrammetry for cultural heritage applications
CN109859137B (zh) 一种广角相机非规则畸变全域校正方法
CN110766024A (zh) 基于深度学习的视觉里程计特征点提取方法及视觉里程计
CN106934806A (zh) 一种基于结构清晰度的无参考图失焦模糊区域分割方法
CN113903024A (zh) 一种手写票据数值信息识别方法、系统、介质及装置
EP4369286A1 (en) Shadow elimination device and method, empty disk recognition device and method
Feng et al. DocScanner: Robust document image rectification with progressive learning
Fang et al. He-slam: A stereo slam system based on histogram equalization and orb features
CN107330856B (zh) 一种基于投影变换和薄板样条的全景成像方法
CN112184533B (zh) 一种基于sift特征点匹配的水印同步方法
CN113012298B (zh) 一种基于区域检测的弯曲mark三维注册增强现实方法
CN114998262A (zh) 一种基于八分教学法的课堂脱机书法教学与评价系统
CN110516667B (zh) 一种基于安卓的文字水平矫正方法
CN112819877A (zh) 一种激光线点云生成方法、装置及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant