計算機視覺對掃描文件分類 OCR

通過計算機視覺對掃描文件分類

一種解決掃描文檔分類問題的深度學習方法

在數字經濟時代, 銀行、保險、治理、醫療、法律等部門仍在處理各種手寫票據和掃描文件。在業務生命周期的后期, 手動維護和分類這些文檔變得非常繁瑣。

對這些非機密文檔進行簡單而有意義的自動化處理,將使維護和利用信息變得容易的多,并顯著減少手工工作。
在這里插入圖片描述

本案例研究的目的是開發一個基于深度學習的解決方案,可以自動分類的文件

Data:
在這個案例研究中,我們將使用RVL-CDIP (Ryerson Vision Lab Complex Document Information Processing)數據集,該數據集包含16個類中的400,000張灰度圖像,每個類包含25,000張圖像。有32萬張訓練圖像、4萬張驗證圖像和4萬張測試圖像。圖像的大小,使他們的最大尺寸不超過1000像素。這個數據集的大小超過200 GB。

Business-ML問題映射:
我們可以將業務問題映射為一個多類分類問題。當前的數據集中有16個類,我們需要根據被掃描文檔的像素值來預測文檔的類,這使得問題更加困難。但是等等,**為什么我們不能使用OCR來提取文本并應用NLP技術呢?**是的,我們對這個想法也很興奮,但是低質量的掃描導致了文本提取的低質量。在實際的業務場景中,我們也無法控制掃描的質量,因此依賴OCR的模型可能會在適當的預處理后泛化能力較差。

KPI和業務約束:
數據集相當平衡。因此,我們選擇準確性作為主要指標,微平均F1分數作為次要指標來懲罰分類錯誤的數據點。我們還使用了混淆度量來驗證模型的性能。有一個中等的延遲需求,沒有特定的可解釋性需求。

我們能從文檔的像素強度和大小中得到任何信息嗎?

讓我們嘗試使用箱形圖來可視化文檔的平均像素強度和大小
在這里插入圖片描述
從box plot中我們可以觀察到,某些類型的掃描文檔的大小與其他類型的非常不同,但是也存在重疊。例如,類13和類9的文件大小差別很大,但是類9的大小與類4和類6、類7重疊。
在這里插入圖片描述
我們可以觀察到75%的案例中,class 4的平均像素強度在160-230像素之間。但是對于大約50%的情況,它也與類6的平均像素值重疊。對于其他類,平均像素值重疊。

分析方法

為了解決這個問題,我們對擴充數據進行卷積神經網絡(CNN)訓練。我們嘗試在有和沒有數據擴充的情況下訓練模型,兩種結果進行比較。

在這里插入圖片描述
太棒了!但是如何確定網絡架構呢?你是如何訓練網絡的,因為數據不能一次放入內存?

從零開始訓練神經網絡需要大量的時間和集中計算資源,為了避免這種情況,我們采用了轉移學習。我們從在ImageNet數據集上訓練的預訓練網絡的權值開始,然后在我們的數據集上重新訓練。針對這類問題的當前SOTA模型使用域內和域內轉移學習,其中圖像被分成四個部分:頁眉、頁腳、左身體和右身體。首先利用預先訓練好的VGG16模型對整個圖像(域內)進行訓練,然后利用該模型對部分圖像(域內)進行訓練。

在這個實驗中,我們采用了一種稍微不同的方法。我們沒有使用VGG16進行域內轉移學習,而是訓練了兩個并行模型VGG16和InceptionResNetV2,并使用它們的堆棧作為我們的最終模型。我們的假設是,由于這兩種模型的架構不同,它們會學習圖像的不同方面,將它們疊加起來會得到很好的泛化效果。但是我們如何選擇這些模型呢?這基本上來自交叉驗證的結果。我們嘗試了各種網絡架構,如VGG16、VGG19、DenseNet、ResNet、InceptionNet,并選出了最好的兩個。

我們使用keras的ImageDataGenerator類對訓練數據進行預處理和加載,而不是在內存中加載整個數據。

在這里插入圖片描述
好的, 但是如何處理超參數呢?

對于任何CNN,超參數是:學習率,池大小,網絡大小,批量大小,優化器的選擇,正則化,輸入大小等。

學習率對神經網絡的收斂性有重要影響。在深度學習問題中使用的損失函數是非凸的,這意味著在存在多個局部極小值和鞍點的情況下,尋找全局極小值不是一件容易的事情。如果學習率太低,它會慢慢收斂;如果學習率太高,它會開始振蕩。在這個案例研究中,我們使用了一種叫做“循環學習速率”的技術,其目的是訓練神經網絡,使每個訓練批次的學習速率以循環方式變化。

在這里插入圖片描述
但為什么會這樣呢? 在CLR中,我們在一個閾值內改變學習率。周期性的高學習率有助于克服它的鞍點或局部極小值。

對于其他超參數,我們開發了自定義實用程序函數來檢查哪種配置工作得更好。假設10個epoch之后,準確率是47%我們將使用此模型作為測試基線,并使用實用工具函數檢查哪個配置集(即batch_size/optimizer/learning_rate)將在以后的epochs帶來更高的準確性

結果

我們使用VGG16模型獲得了90.7%的準確率,使用InceptionResNetV2獲得了88%的準確率。上述兩種模型的比例疊加模型訓練正確率為97%,測試正確率為91.45%。

confusion matrix
precision matrix

you can find the full implementation here.

Citation:

  1. A. W. Harley, A. Ufkes, K. G. Derpanis, “Evaluation of Deep Convolutional Nets for Document Image Classification and Retrieval,” in ICDAR, 2015.
  2. https://arxiv.org/abs/1506.01186
  3. https://www.researchgate.net/publication/332948719_Segmentation_of_Scanned_Documents_Using_Deep-Learning_Approach

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/389025.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/389025.shtml
英文地址,請注明出處:http://en.pswp.cn/news/389025.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從錢龍數據中讀取股票權息信息導入到數據庫

從錢龍數據中讀取股票權息信息導入到數據庫 前面寫了如果讀股票代碼和日線數據,下面是如何讀股票的權息信息。 錢龍中權息數據存儲在QLDATA/history/shase/weight和QLDATA/history/sznse/weight目錄下,每個文件對應一只股票。 與前文一樣,只貼…

笑話生成器_爸爸笑話發生器

笑話生成器(If you’re just here for the generated jokes, scroll down to the bottom!)(如果您只是在這里生成笑話,請向下滾動到底部!) I thought: what is super easy to build, yet would still get an approving chuckle if someone found it on …

AWS Amplify Console:賦予應用程序快速部署的能力

AWS re:Invent 2018大會發布了很多新功能和服務,包括新的AWS Amplify Console,一種針對移動Web應用程序的持續部署服務。 AWS Amplify Console承諾可以支持快速發布新功能,避免在部署應用程序時停機,并降低同時更新應用程序客戶端…

機器學習實踐二 -多分類和神經網絡

本次練習的任務是使用邏輯歸回和神經網絡進行識別手寫數字(form 0 to 9, 自動手寫數字問題已經應用非常廣泛,比如郵編識別。 使用邏輯回歸進行多分類分類 練習2 中的logistic 回歸實現了二分類分類問題,現在將進行多分類,one vs…

Hadoop 倒排索引

倒排索引是文檔檢索系統中最常用的數據結構,被廣泛地應用于全文搜索引擎。它主要是用來存儲某個單詞(或詞組)在一個文檔或一組文檔中存儲位置的映射,即提供了一種根據內容來查找文檔的方式。由于不是根據文檔來確定文檔所包含的內…

koa2異常處理_讀 koa2 源碼后的一些思考與實踐

koa2的特點優勢什么是 koa2Nodejs官方api支持的都是callback形式的異步編程模型。問題:callback嵌套問題koa2 是由 Express原班人馬打造的,是現在比較流行的基于Node.js平臺的web開發框架,Koa 把 Express 中內置的 router、view 等功能都移除…

Bind9的dns解析服務

前言隨著原中國電信集團按南北地域分家,新的中國電信和網通集團隨即成立,互聯網的骨干網也被一分為二了,北有網通、南有電信。從此,細心的網民可以發現,有些經常訪問的網站速度一下子慢了下來,有時候還有訪…

上凸包和下凸包_使用凸包聚類

上凸包和下凸包I recently came across the article titled High-dimensional data clustering by using local affine/convex hulls by HakanCevikalp in Pattern Recognition Letters. It proposes a novel algorithm to cluster high-dimensional data using local affine/c…

sqlmap手冊

sqlmap用戶手冊 | by WooYun知識庫 sqlmap用戶手冊 當給sqlmap這么一個url (http://192.168.136.131/sqlmap/mysql/get_int.php?id1) 的時候,它會: 1、判斷可注入的參數 2、判斷可以用那種SQL注入技術來注入 3、識別出哪種數據庫 4、根據用戶選擇&…

幸運三角形 南陽acm491(dfs)

幸運三角形 時間限制:1000 ms | 內存限制:65535 KB 難度:3描述話說有這么一個圖形,只有兩種符號組成(‘’或者‘-’),圖形的最上層有n個符號,往下個數依次減一,形成倒置…

jsforim

var isMouseDownfalse;var isFirsttrue;var centerdivObj;var ndiv1;var ndiv2;var ndiv3;var kjX;var kjY; window.οnerrοrfunction(){ return true;}; var thurlhttp://qq.jutoo.net/;var wzId12345; function createDiv(){ var sWscreen.width; var sHscree…

決策樹有框架嗎_決策框架

決策樹有框架嗎In a previous post, I mentioned that thinking exhaustively is exhausting! Volatility and uncertainty are ever present and must be factored into our decision making — yet, we often don’t have the time or data to properly account for it.在上一…

湊個熱鬧-LayoutInflater相關分析

前言 最近給組內同學做了一次“動態換膚和換文案”的主題分享,其中的核心就是LayoutInflater類,所以把LayoutInflater源碼梳理了一遍。巧了,這周掘金新榜和部分公眾號都發布了LayoutInflater或者換膚主題之類的文章。那只好站在各位大佬的肩膀…

ASP.NET Core文件上傳、下載與刪除

首先我們需要創建一個form表單如下: <form method"post" enctype"multipart/form-data" asp-controller"UpLoadFile" asp-action"FileSave"> <div> <div> <p>Form表單多個上傳文件:</p> <input type…

8 一點就消失_消失的莉莉安(26)

文|明鳶Hi&#xff0c;中午好&#xff0c;我是暖叔今天是免費連載《消失的莉莉安》第26章消失的莉莉安??往期鏈接&#xff1a;▼ 向下滑動閱讀1&#xff1a;“消失的莉莉安(1)”2&#xff1a; 消失的莉莉安(2)3&#xff1a;“消失的莉莉安(3)”4&#xff1a;“消失的莉莉安…

透明的WinForm窗體

this.Location new System.Drawing.Point(100, 100); this.Cursor System.Windows.Forms.Cursors.Hand; // 定義在窗體上&#xff0c;光標顯示為手形 this.Text "透明的WinForm窗體&#xff01;"; // 定義窗體的標題…

mysql那本書適合初學者_3本書適合初學者

mysql那本書適合初學者為什么要書籍&#xff1f; (Why Books?) The internet is a treasure-trove of information on a variety of topics. Whether you want to learn guitar through Youtube videos or how to change a tire when you are stuck on the side of the road, …

junit與spring-data-redis 版本對應成功的

spring-data-redis 版本:1.7.2.RELEASE junit 版本:4.12 轉載于:https://www.cnblogs.com/austinspark-jessylu/p/9366863.html

語音對話系統的設計要點與多輪對話的重要性

這是阿拉燈神丁Vicky的第 008 篇文章就從最近短視頻平臺的大媽與機器人快寶的聊天說起吧。某銀行內&#xff0c;一位阿姨因等待辦理業務的時間太長&#xff0c;與快寶機器人展開了一場來自靈魂的對話。對于銀行工作人員的不滿&#xff0c;大媽向快寶說道&#xff1a;“你們的工…

c讀取txt文件內容并建立一個鏈表_C++鏈表實現學生信息管理系統

可以增刪查改&#xff0c;使用鏈表存儲&#xff0c;支持排序以及文件存儲及數據讀取&#xff0c;基本可以應付期末大作業&#xff08;狗頭&#xff09; 界面為源代碼為一個main.cpp和三個頭文件&#xff0c;具體為 main.cpp#include <iostream> #include <fstream>…