CN111784587B - 一种基于深度学习网络的发票照片位置矫正方法 - Google Patents
一种基于深度学习网络的发票照片位置矫正方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000013135 deep learning Methods 0.000 title claims abstract description 13
- 238000012937 correction Methods 0.000 title claims abstract description 7
- 230000009466 transformation Effects 0.000 claims abstract description 28
- 238000010586 diagram Methods 0.000 claims abstract description 19
- 238000012549 training Methods 0.000 claims abstract description 10
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000002372 labelling Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 3
- 238000012015 optical character recognition Methods 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
- G06T3/608—Rotation of whole images or parts thereof by skew deformation, e.g. two-pass or three-pass rotation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/78—Arrangements 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/02—Affine transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/64—Analysis of geometric attributes of convexity or concavity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination 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将原图每一个像素点乘于变换矩阵就可以得到正向的发票图片。
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)
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)
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 |
-
2020
- 2020-06-30 CN CN202010620221.4A patent/CN111784587B/zh active Active
Patent Citations (4)
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)
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 |