




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
摘要自從1929年德國科學家提出OCR的概念,各個國家就開始對此展開研究,OCR全稱OpticalCharacterRecognition,即光學字符識別。一開始專家們并沒有對字母、單詞、文字、字形等進行研究,就像電話還沒有被發(fā)明之前一樣,人們覺得這是天方夜譚,研究要從基礎開始,因此,但是的人們是從最簡單的10個數字(0-9)開始的。由于歷史原因,中文識別起步較晚,并且由于漢字字形與由字母組成的英文、法文等不同,漢字字形各異,組織結構復雜,機器尋求其中的規(guī)律比較困難,常常會因為偏旁部首出現切分錯誤,要精準地識別并不容易,可以說是相當有挑戰(zhàn)性的。隨著信息化水平不斷的提升,圖像時代已經越來越近,這是一件必然的事情,當我們擁有足夠的科技,足夠的能力,印刷文化將會被新的視覺文化所取代,識別技術的發(fā)展勢不可擋,我們能很明顯地感受到身邊相關的技術,百度、谷歌等都有相關應用。在字符識別方面,可選擇的有谷歌Tesseract、百度API、傳統(tǒng)的字符特征提取、模板匹配法以及基于深度學習下的CNN字符識別。本文使用模板匹配法以及基于深度學習下的CNN字符識別相互結合的方法。關鍵詞:OCR中文文本識別卷積神經網絡文本檢測AbstractSince1929,GermanscientistsputforwardtheconceptofOCR,Countriesbegantostudyit,andOCRfullnameopticalcharacterrecognition,Atthebeginning,expertsdidn'tstudyletters,words,characters,glyphs,etc.,justlikebeforethetelephonewasinvented,peoplethoughtitwasafantasy,andtheresearchshouldstartfromthefoundation,so,peoplestartedfromthesimplest10numbers(0-9).Forhistoricalreasons,Chineserecognitionstartedlate,andduetothedifferencesbetweenChinesecharactersandalphabeticEnglish,French,etc,Chinesecharactershavedifferentshapesandcomplicatedorganizationalstructure,soitisdifficultformachinestofindtherulesamongthem,Thereareoftensegmentationerrorsduetotheradicals,itisnoteasytoidentifyaccurately,whichisquitechallenging.Withthecontinuousimprovementofinformationtechnology,theimageagehasbecomemoreandmoreclose,whichisaninevitablething.Whenwehaveenoughtechnologyandability,theprintingculturewillbereplacedbythenewvisualculture,andthedevelopmentofrecognitiontechnologyisunstoppable,wecanclearlyfeeltherelevanttechnologyaroundus,Baidu,Googleandotherrelevantapplications.Intheaspectofcharacterrecognition,wecanchooseGoogleTesseract,baiduAPI,traditionalcharacterfeatureextraction,templatematchingandCNNcharacterrecognitionbasedondeeplearning.Inthispaper,templatematchingandCNNcharacterrecognitionbasedondeeplearningareused.Keywords:OCRChinesetextrecognitionCNNTextdetection廣東東軟學院本科生畢業(yè)設計(論文)目錄第一章緒論 11.1研究背景及意義 11.2國內外研究歷史以及現狀 2第二章基礎理論及相關技術 32.1卷積神經網絡概述 32.2OCR與卷積神經網絡技術 52.3OCR流程 62.3.1預處理 72.3.2計算輪廓和切割 82.3.3字符識別 9第三章系統(tǒng)設計與實驗分析 103.1建立中文字體庫 103.1.1生成漢字映射表 113.1.2收集字體文件 113.1.3文字圖像生成 123.2圖像處理 133.3文字識別 13第四章實驗研究總結 164.1實驗研究總結 134.2研究現狀 13參考文獻 17致謝 18第一章緒論1.1研究背景及意義生活中常常有一些時候,需要將手上的圖像資料重新整理一遍,或者要把紙質材料輸入計算機存儲,每當這個時候,我們會覺得如果能夠把手上的圖像資料或者紙質材料通過某種手段、媒介,一下子就能由電子產品輸出,而不是逐字逐句地手抄或者手動輸出打印,那么就會方便很多,節(jié)省了大量地時間,也能減輕眼睛的負擔,省心省力。隨著科學技術的不斷進步,人們的生活質量也而穩(wěn)步上升,多媒體信息成為信息傳遞重中之重,圖像信息更是因為豐富的信息內容和直觀的展現方式而具有高度可研究價值。隨著科技進步,我們能很明顯地感受到身邊相關的技術,百度、谷歌等都有相關應用。我們如今離圖像時代已經越來越近,這是一件必然的事情,當我們擁有足夠的科技,足夠的能力,印刷文化將會被新的視覺文化所取代??萍际菫榱巳祟惙盏?,從這方面出發(fā),這就對識別技術提出了更高的要求。舉個例子,如果我們高速路的收費站采用全自動收費,那就意味著掃描識別的結果要清晰,處理速度要快,識別率要非常高,否則就會出錯,會由于速度不夠快而引起用戶不滿。因此,OCR技術在我們的生活具有重要的意義?,F如今OCR技術已經有了顯著的成果,在多個領域都有其用武之地,包括郵政編碼的自動識別,政府交通部門的駕駛證自動檢測,公民身份證的只能輸入識別檢測以及現如今的5G技術融入汽車自動駕駛,醫(yī)療上對X射線結果的自動診斷,學校的自動評卷,由此可見文本識別的在生活中無處不在且相當重要,然而在同時,因為漢字數量大,字體擁有形態(tài)種類多樣,尤其筆畫眾多,字形結構極端復雜多變,這些使得對漢字圖像文的識別更加困難??茖W技術在發(fā)展,生產力在提高,人的需求也在增加,如今評判一個OCR產品的優(yōu)劣也不僅僅是識別精準度,更包括識別速度、拒識率、用戶界面的友好性以及產品的易用程度、穩(wěn)定程度等等。通過結合深度學習技術,對模糊不清的低質量圖像的識別是可以實現的。1.2國內外研究歷史自從1929年OCR概念被提出以后,印刷體字體識別是首先被研究的,60年代IBM公司公開了OCR產品——IBMl287,即首款OCR技術產品問世以后,經過不斷的技術革新,算法變換,傳統(tǒng)的基于圖像處理和統(tǒng)計機器學習的方法分辨率和識別率也大大提升。初期的OCR技術主要研究數字和字母,且被運用于郵政編碼、票據、身份證、駕駛證等簡單的印刷文本場景識別。目前,隨著技術的快步革新,以及掃描媒介的多樣化和推廣,手寫字體的識別也取得了令人矚目的成就。文本檢測框架DetectingTextinNaturalImagewithConnectionistTextProposalNetwork結合CNN和LSTM,用于復雜場景的文本檢測,效果良好,是目前比較熱門的、成熟的檢測框架,美中不足的是效率不高。Pixel-Anchor是結合anchor-based和pixel-based的優(yōu)點提出的框架,雖然框架創(chuàng)新性不高,但是想法新穎,并且能夠良好檢測長行的中文。RARE由空間變形網絡和序列識別網絡組成,適合低質量的圖像文本檢測,例如文字扭曲,紙張變形。FOTS是端到端的集成檢測,計算速度是其顯著優(yōu)點,同時學習效率也更高。中文識別起步較晚,并且由于漢字字形與由字母組成的英文、法文等不同,漢字字形各異,組織結構復雜,機器尋求其中的規(guī)律比較困難,常常會因為偏旁部首出現切分錯誤,要精準地識別并不容易,可以說是相當有挑戰(zhàn)性的。隨著信息化水平不斷的提升,以圖像為主的多媒體信息迅速成為重要的信息傳遞媒介,圖像中的文字數據包含豐富的語義信息與分析價值。1986年,國家863計劃信息領域課題組織了清華大學、北京信息工程學院、沈陽自動化所三家單位聯合進行中文OCR軟件的開發(fā)工作。至1989年,清華大學率先推出了國內第一套中文OCR軟件--清華文通TH-OCR1.0版,至此中文OCR正式從實驗室走向了市場。而在接下來的三年,我國的漢字識別技術成果呈井噴式爆發(fā),多個單位對印刷體漢字進行了多次檢測識別,這些漢字字體包括了fangzheng_fangsong,fangzheng_heti,fangzheng_kaiti,其中包括3至5號字體,識別速度很快,識別精準度高。20世紀90年代初期,TH-OCR94系統(tǒng)被推出,這個包含了眾多人心血的系統(tǒng)被認為是具有創(chuàng)新型、代表性的,它擁有超前的技術,領先當時的世界水準。我國高校開始對漢字識別的綜合研究發(fā)生于20個世紀90年代中后期,在這之后,漢字識別檢測技術在各個領域全面地取得成績。其中TH-OCR97是佼佼者,它不僅可以完成印刷圖像多文種多字體混合的識別輸入,還能完成手寫識別。幾年來,中文OCR技術不斷更新,市場擴大,全球各地都有用戶使用相干產品。第二章基礎理論及相關技術2.1卷積和人工神經網絡在泛函分析中,卷積、旋積或摺積是通過兩個函數f和g生成第三個函數的一種數學算子,表征函數f與g經過翻轉和平移的重疊部分函數值乘積對重疊長度的積分。卷積運算是卷積神經網絡中的核心,相當于圖像處理中的“濾波器運算”。對于一個mxn大小的卷積核W=w11w12…w1nw21其對某一原圖像進行卷積運算的過程為:卷積核中的每一個權值w分別和覆蓋的原圖像中所對應的像素x相乘,然后再求和。計算公式為:z=W1X1+W2X2+…+WmnXmn=k=1mnWkXk=事實上卷積就是一種加權求和,如下公式:cx,y把函數所有的s值和t值遍歷一遍,然后函數f的值和函數g的值相乘再相加,得到c值。根據上面的式子,我們可以發(fā)現實際上卷積是一種以(x,y)為中心的加權求和。人工神經網絡是一種模擬自然界的神經細胞的計算模型,我們類比兩者之間的關系,就能很快明白人工神經網絡是怎么工作的。輸入層相當于自然界神經元的樹突,它的作用就是輸入信息,另外,就像樹突有多個一樣,輸入的信息也可以是來自前一層的神經元;線性計算和激活函數相當于胞體,他是一種計算機制,決定是否激活從輸入層輸入的信息;顯而易見的,輸出層相當于神經元的軸突,他負責傳遞上一層的信息給下一層。單個的神經元只能做簡單的數學運算,異運算和或運算是無法進行的,而大量的神經元組成的人工神經網絡就能解決這個問題。我們假設對輸入神經元p1,p2,p3,…,pn加權求和,對以上操作后的式子施加函數,就能夠得到下面的公式,a是神經元的輸出,b是偏置值:A=f(n)=fi=inpiwi+b=fw1,w2,…,wnp1p2由多個這樣的神經元連接而成的人工神經網絡就可以擁有各種各樣的拓撲結構,inputlayer輸入的數據要鏈接到hidinglayer1的每一個節(jié)點,hidinglayer1的每一個節(jié)點的輸出數據又要連接到hidinglayer2的每一個節(jié)點,然后再輸出,以此類推,可以有hidinglayer3、hidinglayer4等等,最后一層outputlayer的輸出就是整個神經網絡的輸出。值得注意的是,并不是說卷積層的層數越多越好,這取決于數據的復雜程度。圖(1-1)是神經網絡結構圖:圖(1-1)2.2OCR與卷積神經網絡技術卷積神經網絡是把卷積和人工神經網絡的思想結合在一起的網絡。它是一類包含卷積計算且具有深度結構的前饋神經網絡,對處理大型圖像有優(yōu)秀的能力,在計算機視覺領域有廣泛應用。如場景識別,圖像特征提取。卷積神經網絡根據動物地視覺系統(tǒng)研究的,如S層對應感受野,C則對應就接收和回應。卷積神經網絡一開始被應用于語音識別,當平移不變人工神經網絡出現后,開始在醫(yī)學領域應用,同時嘗試著結合計算機視覺問題以期得到更廣泛的應用。1998年,LeNet-5在手寫數字識別中取得成功,卷積神經網關注度上升。由于其表征學習能力強,卷積神經網絡在深度學習的概念被提出以后,得到空前的關注度。圖(2-1)神經網絡輸入層(inputlayer)會對圖像做一個簡單預處理,首先式去均值化,去均值能夠把數據樣本貼合坐標,圍繞坐標原點分布,避免了過擬。為了提高數據提取簡便度,可以進行把數據變成(0,1)之間的小數。卷積層(hiddenlayer)可由多個卷積核組成,有多少圖像輸入通道就有多少卷積核,對他們進行點積累加可以得到一張功能圖。舉個例子,我們把通過三個通道得到的三張功能圖的對應的位置相加,就能得到一張新卷積操作的功能圖。一般來說,圖片有紅、綠、藍三個通道。卷積層的計算是圖像矩陣與卷積核點積的過程,即濾波。圖(2-2)圖(2-3)激活函數可以解決線性不可分的問題,如圖(2-2),要用一條直線分開圓形和三角形,明顯是做不到的,用激活函數加入非線性因素,這時候就可以使用激活函數來使數據可分,如圖(2-3)。激活函數再神經網絡中尤其重要,如果沒有激活函數,那么線性不管經過多少層都仍然是線性。圖(2-4)池化就是取區(qū)域平均或最大,假設4x4的數據表,分成4個2x2的區(qū)域,分別取其中的最大數,得到的新的2x2數據表,這個過程就是池化。如上圖圖(2-4),取左邊圖表左上的最大數6,左下的最大數3,右上的最大數8和右下的最大數4,組合在一起即右邊圖表。所謂的池化層特征不變性就是尺度不變性,當一張動物的圖像被進行壓縮時,我們仍然能看得出那是什么,這是因為圖像壓縮不會刪除重要的特征,而我們判斷物體是什么就只根據其重要特征進行的。一張圖像可以包含非常豐富的信息,有繁多的特征,但是有一些信息是不重要的,或者重復的去除這一類信息就是池化層特征降維。全連接層的作用是實現分類,全連接層之前是在做特征提取,而這一層就是把被找到圖像的各個特征組合在一起,然后尋找最符合要求的類,這就是全連接層。值得一提的是這一層的參數很多,可占整個網絡的80%。什么是CNN把握圖像局部特征?我們假設一個神經網絡,它接受mxm個輸入,有兩個hiddenlayer,每一層都有mxm個神經元,第一層hiddenlayer有mxm個整數值輸入,實際上就是神經網絡的圖像輸入。第二層的每個神經元連接3x3范圍內的值,把第二層hiddenlayer每個神經元的輸入值和權重相乘,然后全部相加,產出mxm個輸出。到這里我們就可以發(fā)現,這個神經網絡并不是全連接的,第二層hiddenlayer的每一個節(jié)點只連接前一層的局部圖像輸入。把握局部特征會減少權值,運算時間。這個時候其實整個神經網絡只有9個權值,因為他們實際上是共享的,如此這個網絡的計算就很少了。cl2.get_weights()卷積第二層len(w)=1權值列表的長度是1w[].shape元素的維度權值列表的長度是1。唯一的元素的維度是(32,32,3,3)。第一個32對應著32個濾波器。后面的32*3*3是一個三維離散濾波器,取一個3*3區(qū)域,區(qū)域來自輸入的32個通道,把它們放在一起濾,得到的通道是28*28,因此第二層hiddenlayer仍然輸出32個通道,濾波器把輸入的32個通道放一起過濾出每一個通道。1.計算卷積:convolve()2.調整像素:np.uint8()3.保存濾波后的圖像:Image.fromarray().save()4.建立模型:model=Sequential()5.添加卷積層,有濾波器:model.add(Convolution2D())2.3OCR流程簡單來說,OCR就是把圖像輸入電子產品通過掃描后,由計算機輸出圖像內容。計算機處理信息的方式不像自然界那么靈活,它只有0和1,圖像文本信息也不例外,他的數據一樣通過0、1進行記錄識別。關于識別方法,OCR識別檢測圖像文本上的信息,主要有特征提取法和模式匹配法兩種。特征提取識別法流程可以分為:1.對樣本生成特征向量矩陣2.計算每一列的特征的平均值,和每一維度進行相應的減法運算3.特征用數據表示,計算他們的協方差矩陣4.針對協方差矩陣進行特征值和特征向量的計算5.對特征值排序6.取出前n個特征向量和特征值并回退。因此OCR特征提取就是將每個字符分解成組成字符的特征,接著將字符和分解而來的特征進行匹配。這種方法可以滿足漢字字體多樣性的需求。模式匹配識別法原理很簡單,是一種暴力易用的方法,遍歷母串,一旦發(fā)現有和字串完全符合的片段即匹配成功。在OCR文本識別中,則將每一個字符比較匹配。向系統(tǒng)輸入一張文本頁圖像,系統(tǒng)會對頁面上的文本朝向進行判斷識別。假如圖像是直接從電子儀器上截屏,那么識別很容易就能確定行線坐標,劃分區(qū)域,這是因為截屏圖像水平投影和垂直投影的情況都很理想。但是實際生活中我們可以發(fā)現所需要識別的圖像并不是理想的,它可能是傾斜的,可能會明暗度差,甚至可能還有污漬,因此進行圖像預處理是首先要做的事,預處理包括圖像去噪和角度矯正。在進行角度矯正的工作中,首先要檢測出圖像的文本范圍,這一步利用Sobel算子進行邊緣檢測。Sobel算子是計算機常用的視覺領域處理方法,圖像中每個像素的都有四個灰度值,求它們的加權差。邊緣檢測之后用霍夫變換進行平空間到極坐標空間的轉換,圖像上的點會被分為不同的,屬于孤立的點、連續(xù)的曲線或者連續(xù)的區(qū)域的子集,這一步稱為特征檢測。最后利用數學模型仿射變換旋轉圖像。模式匹配識別法原理很簡單,是一種暴力易用的方法,遍歷母串,一旦發(fā)現有和字串完全符合的片段即匹配成功。在OCR文本識別中,則將每一個字符比較匹配。傳統(tǒng)文字識別技術就是在這個基礎上進行的,但是對于長行文本,沒有辦法一下子就識別出來,只能切分文本行成數個單字,再對它們進行逐個識別。流程如下圖圖(1-2.1)圖(1-2.1)2.3.1預處理我們向系統(tǒng)輸入的圖像如果是直接從電子儀器上截屏,那么識別很容易就能確定行線坐標,劃分區(qū)域并標定各部分屬性,這是因為截屏圖像水平投影和垂直投影的情況都很理想。但假如我們拍攝下來的圖像角度傾斜,那么完成行列劃分就需要先將圖片角度矯正。不僅如此,因為紙張的厚薄程度、顏色、透光度、反光度、平滑度和和字跡的清晰程度等等因素,都會造成識別的精準率。因此我們要先對這些因素進行排除處理,即去噪,然后再開始識別檢測。上訴的內容都要在圖像文本識別之前進行。預處理的工作有灰度化,二值化,版面矯正等等?;叶然菫榱颂幚韴D像的亮度,它不包含其他信息。舉個例子,把輸入的圖像進行灰度化處理,那么計算機會把圖像的三個顏色通道的值設為相等,不管你的圖像是蒙娜麗莎還是乘法口訣表,計算機都不會處理。彩色的圖像一定要經過二值化,它能夠大大減少圖像的數據量,在圖片文本識別中,二值化能夠凸顯輪廓,從而更好識別輪廓。用霍夫變換進行平空間到極坐標空間的轉換,從而進行傾斜矯正。輸入:圖片路徑過程:讀取圖像:cv2.imread(圖片)非局部平均去噪:cv2.fastNlMeansDenoisingColored()轉灰度圖:cv2.cvtColor(img_c,cv2.COLOR_BGR2GRAY)二值化:cv2.threshold(()cv2.THRESH_OTSU+cv2.THRESH_BINARY)邊緣檢測:cv2.Sobel(gray,cv2.CV_8U,1,0,ksize=3)求直線斜率:hufu=binary.astype(np.uint8旋轉圖像:cv2.warpAffine輸出圖像:cv2.imwrite圖(1-3.1)圖(1-3.2)2.3.2計算輪廓和切割漢字字符切割是OCR的一大難題,主要原因是漢字的字形結構復雜多變,左右結合的漢字容易一個字被切成兩個,排列密集的漢字則容易切割失敗,值得一提的是自從有字符識別技術到現在,都沒有一個能得到所有人認可的解決方案。以下是本次實驗計算輪廓和切割漢字用到的部分函數:Non-LocalMeans():處理自然場景中圖片信息冗雜的問題,能夠較好地去噪cv2.findContours():接受兩個參數,對輪廓進行檢測,保留終點坐標。cv2.drawContours():是輪廓填充函數,里面可以有多個函數,能夠指明要繪制輪廓地圖像,輪廓個數,畫第幾個,輪廓顏色等信息cv2.RETR_EXTERNAL:表示只檢測外輪廓cv2.CHAIN_APPROX_SIMPLE:壓縮各個方向的元素,只保留終點坐標圖(1-3.3)圖(1-3.4)圖(1-3.5)2.3.3字符識別文本識別讓計算機“認字”的關鍵,我們都知道模式匹配識別法原理很簡單,是一種暴力易用的方法,遍歷母串,一旦發(fā)現有和字串完全符合的片段即匹配成功。在OCR文本識別中,則將每一個字符比較匹配。傳統(tǒng)文字識別技術就是在這個基礎上進行的,但是對于長行文本,沒有辦法一下子就識別出來,只能切分文本行成數個單字,再對它們進行逐個識別。由于漢字字形與由字母組成的英文、法文等不同,漢字字形各異,組織結構復雜,機器尋求其中的規(guī)律比較困難,常常會因為偏旁部首出現切分錯誤,要精準地識別并不容易。舉個例子,我們要識別“好”字,但是實際結果出來,發(fā)現被切成“女”字和“子”字,為了解決這一問題,我們需要設計一個損失函數。第三章系統(tǒng)設計與實驗分析3.1建立中文字體庫在本文中,我們只需要對印刷體的中文進行識別,我們選用模板匹配的方法,因此需要生成一個有足夠量的中文字體圖片庫,其中包括常用漢字、常見字體的圖片。字體庫的圖片內容自己決定,可以選擇多種字體,可以選擇字體的旋轉角度。但是并不是說圖片庫越大越好,圖片數據大固然可以提高識別率,但同時也會增加匹配時間。3.1.1生成漢字映射表首先確定所需要的漢字,這里選用了常見的漢字,寫入空白的txt文件中,建立字典,每一個漢字對應相應的ID,生成映射表利用pickle.dump讀入內存,下面附上部分代碼:輸入:收集的漢字建立字典:d1=dict(zip('',range()))將字典寫入文本:withopen("my.txt","wb")asmy:讀入內存:pickle.dump()讀入label:for()inlabel_dict.items()得到漢字映射表:label_dict圖(1-1)圖(1-2)圖(1-1)是漢字對應label映射表,圖(1-2)是我們收集的部分常用漢字。3.1.2收集字體文件字體文件選擇適用于中文的字體,例如DroidSansFallback.ttf,考慮到字體多樣性,此次設計選用了九種字體,作為中文字體數據集所需的字體:DroidSansFallbackmingliuSourceHanSansCN-Lightfangzheng_fangsongfangzheng_kaitiSourceHanSansCN-BoldSourceHanSansCN-Heavyfangzheng_hetiSourceHanSansCN-Normal3.1.3文字圖像生成圖像生成使用PIL工具,利用其中的漢字生成工具結合字體文件,生成漢字圖片,此時可以設定我們想要的圖片尺寸以及圖片顏色。接下來寫兩個循環(huán),內層循環(huán)是函子列表,外層循環(huán)是字體列表,按比例分開訓練集和測試集。在讀取漢字文件txt之后,我們定義好輸入參數,定義用argparse包,源碼如下(部分):1.漢字圖像存儲目錄:parser.add_argument('--out_dir',…)2.字體文件路徑:parser.add_argument('--font_dir',…)3.圖像寬度:parser.add_argument('--width',…)4.圖像高度:parser.add_argument('--height',…)5.字體與邊緣的間隔:parser.add_argument('--margin',…)6.生成字體圖像:classFont2Image(object):7.定義背景和字體顏色:font=ImageFont.truetype8.劃分訓練集和測試集:parser.add_argument('--test_ratio',…)9.打亂圖像列表:random.shuffle代碼運行之后會生成一個訓練集,一個測試集。圖(1-1.1)圖(1-1.2)圖(1-1.1)和圖(1-1.2)分別是生成的mingliu字體圖片和仿宋楷體圖片。接下來我們可以對圖片進行一些處理,對圖像增強,比如說增加圖片尺寸,適當膨脹,適當腐蝕,圖像的膨脹和腐蝕都是建立在黑白像素地基礎上的,能夠把圖片中極小的白色括大,把圖片中極大的白色縮小,使圖像更加合理。3.2圖像處理要識別的圖像首先要經過處理,不然可能會因為清晰度、反光、角度不正、磨損污漬等原因造成文本切割不成,文字提取失敗。獲得文本行后,需要進行單個字符的切割,將每個字符切割出來后以便于后續(xù)字符識別。輸入:圖片路徑1.讀取圖像:cv2.imread(圖片)2.灰度化轉換:cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)3.二值化:cv2.threshold(()cv2.THRESH_OTSU+cv2.THRESH_BINARY)4.邊緣檢測:cv2.Sobel(gray,cv2.CV_8U,1,0,ksize=3)5.求直線斜率:hufu=binary.astype(np.uint86.6.旋轉圖像:cv2.warpAffine得到字符后,我們首先要對圖像進行預處理,包括圖像去噪、二值化、圖像邊緣檢測和切割、圖像角度矯正和統(tǒng)一分辨率。減弱或者去除不需要的信息,在進行角度矯正的工作中,首先要檢測出圖像的文本范圍,邊緣檢測之后用霍夫變換進行平空間到極坐標空間的轉換,最后利用數學模型仿射變換旋轉圖像。3.3文字識別像神經網絡輸入圖片樣本之后,經過卷積層的處理后,輸出一個大于0小于1的數,如果輸出的數值離1越近,那就證明和字符越接近。本次實驗所使用的深度學習框架是Tensorflow,我們建立一個基本的網絡做文字識別。導入keras相關庫:fromkeras.modelsimportSequential…模型初始化:model=Sequential()創(chuàng)建第一個卷積層:model.add(Convolution2D()…)創(chuàng)建全連接層:model.add(Flatten())創(chuàng)建輸出層:model.add(Dense()…)設置損失函數和優(yōu)化算法:pile(…,metrics=[])訓練:model.fit()圖(1-3.1)圖(1-3.2)圖(1-3.1)是損失函數,圖(1-3.2)是準確率,我們可以看到準確率隨著損失函數的下降而上升,數值接近1訓練好模型之后就可以進行漢字識別,當然在此之前還要對每張圖片尺寸進行標準化和歸一化。我們把要識別的圖片按照順序進行編號,依次放入文件夾中,識別時只需要讀取文件夾路徑,對里面內容逐一識別。圖(1-3.3)圖(1-3.4)圖(1-3.3)是單字切分,圖(1-3.4)是測試結果。廣東東軟學院本科生畢業(yè)設計(論文)第四章實驗研究總結4.1實驗研究總結自從1929年德國科學家提出OCR的概念,各個國家就開始對此展開研究,OCR全稱OpticalCharacterRecognition,即光學字符識別。一開始專家們并沒有對字母、單詞、文字、字形等進行研究,就像電話還沒有被發(fā)明之前一樣,人們覺得這是天方夜譚,研究要從基礎開始,因此,但是的人們是從最簡單的10個數字(0-9)開始的。圖片在被檢測之前要經過版面分析和預處理,處理過的圖片會被切成大小一樣的單字,然后再開始匹配,識別使用的是基于Tensorflow的模板匹配法,結合卷積神經網絡,完成實驗。在本次實驗中,一開始就在漢字字體圖片庫上遇到難題。起初我使用的是python庫中的pygame,生成由Unicode的0x4E00到0x9FA5的圖片庫,生成的結果當然是有兩萬多張漢字圖片,并且只是一種字體的。這不是我想要的結果,我只需要我們常用到的漢字就可以了,畢竟生僻字太多而且出現的機率極低,會大大減低處理速度并且造成空間浪費。后來把事先找好的所需要的漢字寫入txt并存入內存,利用font方法,解決了難題。接下來是圖像預處理的問題,在灰度化、二值化等沒有差錯,但是匹配不成功,檢查后發(fā)現是沒有對圖像進行標準化,會因為大小等因素造成失敗。4.2研究現狀初期的OCR技術主要研究數字和字母,且被運用于郵政編碼、票據、身份證、駕駛證等簡單的印刷文本場景識別。隨著技術的快步革新,以及掃描媒介的多樣化和推廣,手寫字體的識別也取得了令人矚目的成就。文本檢測框架DetectingTextinNaturalImagewithConnectionistTextProposalNetwork結合CNN和LSTM,用于復雜場景的文本檢測,效果良好,是目前比較熱門的、成熟的檢測框架,美中不足的是效率不高。Pixel-Anchor是結合anchor-based和pixel-based的優(yōu)點提出的框架,雖然框架創(chuàng)新性不高,但是想法新穎,并且能夠良好檢測長行的中文。RARE由空間變形網絡和序列識別網絡組成,適合低質量的圖像文本檢測,例如文字扭曲,紙張變形。FOTS是端到端的集成檢測,計算速度是其顯著優(yōu)點,同時學習效率也更高。如今漢字識別檢測技術在各個領域全面地取得成績。其中TH-OCR97是佼佼者,它不僅可以完成印刷圖像多文種多字體混合的識別輸入,還能完成手寫識別。幾年來,中文OCR技術不斷更新,市場擴大,全球各地都有用戶使用相干產品?,F在OCR在我們生活中可以說是無處不在了,二維碼的掃描,無人超市,高鐵站的人臉識別,醫(yī)療領域的病理自動檢測,包括郵政編碼的自動識別,政府交通部門的駕駛證自動檢測,公民身份證的只能輸入識別檢測以及現如今的5G技術融入汽車自動駕駛,等都可以發(fā)現OCR的存在。參考文獻[1]王學梅.OCR文字識別系統(tǒng)的應用[A].山東文宇工學院,2019.[2]李國強,周賀,馬鍇,張露.特征分組提取融合深度網絡手寫漢字識別[J/OL].計算機工程與應用.2019[3]夏昌新,莫浩泓,王成鑫,王瑤,閆仕宇.基于深度學習的圖像文字識別技術研究與應用[A]南華大學計算機學院.2019[4]王來兵.基于貝葉斯與生成式對抗網絡的手寫字文本識別算法[A].滁州職業(yè)技術學院.2019[5]徐華鵬.基于多模態(tài)表征的細粒度圖像分類方法的研究[A].東南大學,2018[6]周一楓.基于圖像識別的敏感文件檢測技術研究[A].浙江理工大學.2019[7]唐結玲.基于視頻流的文本識別研究與實現[A].電子科技大學.2019[8]劉藝.基于深度學習的低質量中文圖像ORC識別算法研究[A].電子科技大學.2019[9]裴宸平.基于深度學習的場景圖像文本檢測技術:[A]河南大學.20187[10]薛玉磊.圖像識別云服務自動[J].清遠職業(yè)技術學院測試系統(tǒng)設計玉實現[A]北京郵電大學.2019[11]汪一文.深度卷積神經網絡在OCR問題中的應用研究[A],電子科技大學,2018.[12]于玉梅.面向醫(yī)學文獻的圖像模式識別關鍵技術研究[A],大連理工大學,2018.[13]姜毅,彭清暢,徐娟.基于圖元識別的PCR文本圖像矯正算法分析[A],中車青島四方機車車輛股份有限公司,2019.致謝大學四年走過,這篇論文將是我大學生涯中最后一筆,也是最重要一筆。自從開始寫我的畢業(yè)設計兩個月以來,我遇到了非常多的困難,有的是軟件安裝的問題,有的是計算機本身硬件故障,有的是環(huán)境配置不成功,系統(tǒng)設計過程中我也想過要更換題目,因為我對OCR的技術以及實現流程知之不多,相當于學習一個全新的領域,因此實現過程非常困難,幸運的是如今的網絡發(fā)達,有技術的網友也很熱心,加上同學之間的互相交流討論,互相幫助,這些問題都逐一得到解決。今年的畢業(yè)設計以及答辯可能是最特殊的,由于世界范圍的疫情,一切問題只能網上解決,在此期間,特別感謝我的父母給予的關心愛護。在本文的撰寫過程中,我要特別感謝我的指導老師。從本文選題開始,我的知道老師一直都非常關心論題的合理性以及可實現性,老師幫我們收集資料,提供學習道具,指導論文的格式、內容以及指出不合理的地方。對我來說,在最后階段老師對我的指導是最重要的,因為當時我的計算機除了一些問題,給了我不小的壓力,但是我的指導老師對我的關心使我振作信心,完成我的畢業(yè)實際。因此我要在這里由衷地對我的老師說一聲謝謝!畢業(yè)之際,感慨萬千。寫完這一筆,意味著我要和我四年的同窗好友說再見,要對培育我的老師們說再見,要對我親愛的母校說再見,即使再舍不得,我們也要互相道別,因為此后可能就沒有機會了。再見以及謝謝你們!
電腦不啟動故障診治了解電腦啟動的過程在諸多電腦故障中,無法正常啟動是最令用戶頭痛的事了。筆者長期從事維護電腦的工作,在這個方面積累了一些經驗,現在就將這些經驗整理歸納出來與朋友們分享。本文將以家用電腦和windows98操作系統(tǒng)為基礎,介紹電腦無法正常啟動故障的診治。要想準確地診斷電腦不啟動故障,首先要了解的起動過程,當我們按下電源開關時,電源就開始向主板和其它設備供電,此時電壓還沒有完全穩(wěn)定,主板控制芯片組會根據CMOS中的CPU主頻設置向CPU發(fā)出一個Reset(重置)信號,讓CPU初始化,電壓完全穩(wěn)定后,芯片組會撤去Reset信號,CPU馬上從地址FFFF0H處執(zhí)行一條跳轉指令,跳到系統(tǒng)BIOS中真正的啟動代碼處。系統(tǒng)BIOS首先要做的事情就是進行POST(PowerOnSelfTest,加電自檢)。POST的主要任務是檢測系統(tǒng)中的一些關鍵設備(電源、CPU芯片、BIOS芯片、定時器芯片、數據收發(fā)邏輯電路、DMA控制器、中斷控制器以及基本的64K內存和內存刷新電路等)是否存在和能否正常工作,如內存和顯卡等。自檢通過后,系統(tǒng)BIOS將查找顯示卡的BIOS,由顯卡BIOS來完成顯示卡的初始化,顯示器開始有顯示,自此,系統(tǒng)就具備了最基本的運行條件,可以對主板上的其它部分進行診斷和測試,再發(fā)現故障時,屏幕上會有提示,但一般不死機,接著系統(tǒng)BIOS將檢測CPU的類型和工作頻率,然后開始測試主機所有的內存容量,內存測試通過之后,系統(tǒng)BIOS將開始檢測系統(tǒng)中安裝的一些標準硬件設備,這些設備包括:硬盤、CD-ROM、軟驅、串行接口和并行接口等連接的設備,大多數新版本的系統(tǒng)BIOS在這一過程中還要自動檢測和設置內存的相關參數、硬盤參數和訪問模式等。標準設備檢測完畢后,系統(tǒng)BIOS內部的支持即插即用的代碼將開始檢測和配置系統(tǒng)中已安裝的即插即用設備。每找到一個設備之后,系統(tǒng)BIOS都會在屏幕上顯示出設備的名稱和型號等信息,同時為該設備分配中斷、DMA通道和I/O端口等資源。最后系統(tǒng)BIOS將更新ESCD(ExtendedSystemConfigurationData,擴展系統(tǒng)配置數據)。ESCD數據更新完畢后,系統(tǒng)BIOS的啟動代碼將進行它的最后一項工作,即根據用戶指定的啟動順序從軟盤、硬盤或光驅啟動。以從C盤啟動為例,系統(tǒng)BIOS將讀取并執(zhí)行硬盤上的主引導記錄,主引導記錄接著從分區(qū)表中找到第一個活動分區(qū),然后讀取并執(zhí)行這個活動分區(qū)的分區(qū)引導記錄,而分區(qū)引導記錄將負責讀取并執(zhí)行IO.SYS,這是Windows最基本的系統(tǒng)文件。IO.SYS首先要初始化一些重要的系統(tǒng)數據,然后就顯示出我們熟悉的藍天白云,在這幅畫面之下,Windows將繼續(xù)進行DOS部分和GUI(圖形用戶界面)部分的引導和初始化工作,一切順利結束,電腦正常啟動。根據故障現象診治了解電腦啟動的過程,故障就好判斷了,下面我們就根據故障現象開始診治了:現象一:系統(tǒng)完全不能啟動,見不到電源指示燈亮,也聽不到冷卻風扇的聲音。這時,基本可以認定是電源部分故障,檢查:電源線和插座是否有電、主板電源插頭是否連好,UPS是否正常供電,再確認電源是否有故障,最簡單的就是替換法,但一般用戶家中不可能備有電源等備件,這時可以嘗試使用下面的方法(注意:要慎重):先把硬盤,CPU風扇,或者CDROM連好,然后把ATX主板電源插頭用一根導線連接兩個插腳(把插頭的一側突起對著自己,上層插腳從左數第4個和下層插腳從右數第3個,方向一定要正確),然后把ATX電源的開關打開,如果電源風扇轉動,說明電源正常,否則電源損壞。如果電源沒問題直接短接主板上電源開關的跳線,如果正常,說明機箱面板的電源開關損壞?,F象二:電源批示燈亮,風扇轉,但沒有明顯的系統(tǒng)動作。這種情況如果出現在新組裝電腦上應該首先檢查CPU是否插牢或更換CPU,而正在使用的電腦的CPU損壞的情況比較少見(人為損壞除外),損壞時一般多帶有焦糊味,如果剛剛升級了BIOS或者遭遇了CIH病毒攻擊,這要考慮BIOS損壞問題(BIOS莫名其妙的損壞也是有的),修復BIOS的方法很多雜志都介紹過就不重復了;確認CPU和BIOS沒問題后,就要考慮CMOS設置問題,如果CPU主頻設置不正確也會出現這種故障,解決方法就是將CMOS信息清除,既要將CMOS放電,一般主板上都有一個CMOS放電的跳線,如果找不到這個跳線可以將CMOS電池取下來,放電時間不要低于5分鐘,然后將跳線恢復原狀或重新安裝好電池即可;如果CPU、BIOS和CMOS都沒問題還要考慮電源問題:PC機電源有一個特殊的輸出信號,稱為POWERGOOD(PG)信號,如果PG信號的低電平持續(xù)時間不夠或沒有低電平時間,PC機將無法啟動。如果PG信號一直為低電平,則PC機系統(tǒng)始終處于復位狀態(tài)。這時PC機也出現黑屏、無聲響等死機現象。但這需要專業(yè)的維修工具外加一些維修經驗,因此,建議采用替換法;電源沒有問題就要檢查是否有短路,確保主板表面不和金屬(特別是機箱的安裝固定點)接觸。把主板和電源拿出機箱,放在絕緣體表面,如果能啟動,說明主板有短路現象;如果還是不能啟動則要考慮主板問題,主板故障較為復雜,可以使用替換法確認,然后更換主板?,F象三:電源指示燈亮,系統(tǒng)能啟動,但系統(tǒng)在初始化時停住了,而且可以聽到嗽叭的鳴叫聲(沒有視頻):根據峰鳴代碼可以判斷出故障的部位。ccid_page/AwardBIOS1短聲:說明系統(tǒng)正常啟動。表明機器沒有問題。2短聲:說明CMOS設置錯誤,重新設置不正確選項。1長1短:說明內存或主板出錯,換一個內存條試試。1長2短:說明顯示器或顯示卡存在錯誤。檢查顯卡和顯示器插頭等部位是否接觸良好或用替換法確定顯卡和顯示器是否損壞。1長3短:說明鍵盤控制器錯誤,應檢查主板。1長9短:說明主板FlashRAM、EPROM錯誤或BIOS損壞,更換FlashRAM。重復短響:說明主板電源有問題。不間斷的長聲:說明系統(tǒng)檢測到內存條有問題,重新安裝內存條或更換新內存條重試。AMIBIOS1短:說明內存刷新失敗。更換內存條。2短:說明內存ECC較驗錯誤。在CMOS中將內存ECC校驗的選項設為Disabled或更換內存。3短:說明系統(tǒng)基本內存檢查失敗。換內存。4短:說明系統(tǒng)時鐘出錯。更換芯片或CMOS電池。5短:說明CPU出現錯誤。檢查CPU是否插好。6短:說明鍵盤控制器錯誤。應檢查主板。7短:說明系統(tǒng)實模式錯誤,不能切換到保護模式。8短:說明顯示內存錯誤。顯示內存有問題,更換顯卡試試。9短:說明BIOS芯片檢驗和錯誤。1長3短:說明內存錯誤。內存損壞,更換。1長8短:說明顯示測試錯誤。顯示器數據線沒插好或顯示卡沒插牢。現象四:系統(tǒng)能啟動,有視頻,出現故障提示,這時可以根據提示來判斷故障部位。下面就是一些常見的故障提示的判斷:一、提示“CMOSBatteryStateLow”原因:CMOS參數丟失,有時可以啟動,使用一段時間后死機,這種現象大多是CMOS供電不足引起的。對于不同的CMOS供電方式,采取不同的措施:1.焊接式電池:用電烙鐵重新焊上一顆新電池即可;2.鈕扣式電池:直接更換;3.芯片式:更換此芯片,最好采用相同型號芯片替換。如果更換電池后時間不長又出現同樣現象的話,很可能是主板漏電,可檢查主板上的二極管或電容是否損壞,也可以跳線使用外接電池,不過這些都需要有一定的硬件維修基礎才能完成。二、提示“CMOSChecksumFailure”CMOS中的BIOS檢驗和讀出錯;提示“CMOSSystemOptionNotSet”,CMOS系統(tǒng)未設置;提示“CMOSDisplayTypeMismatch”,CMOS中顯示類型的設置與實測不一致;提示“CMOSMemorySizeMismatch”,主板上的主存儲器與CMOS中設置的不一樣;提示“CMOSTime&DateNotSet”,CMOS中的時間和日期沒有設置。這些都需要對CMOS重新設置。三、提示“KeyboardInterfaceError”后死機原因:主板上鍵盤接口不能使用,拔下鍵盤,重新插入后又能正常啟動系統(tǒng),使用一段時間后鍵盤無反應,這種現象主要是多次拔插鍵盤引起主板鍵盤接口松動,拆下主板用電烙鐵重新焊接好即可;也可能是帶電拔插鍵盤,引起主板上一個保險電阻斷了(在主板上標記為Fn的東西),換上一個1歐姆/0.5瓦的電阻即可。四、自檢過程中斷在xxxKCache處這表示主板上Cache損壞,可以在CMOS設置中將“ExternalCache”項設為“Disable”故障即可排除。同理,在自檢主板部件時出現中斷,則可以認為該部件損壞,解決方法一般可以在CMOS中將其屏蔽,如果不能屏蔽該部件最好更換主板。五、提示“FDDControllerFailure”BIOS不能與軟盤驅動器交換信息;提示“HDDControllerFailure”,BIOS不能與硬盤驅動器交換信息。應檢查FDD(HDD)控制卡及電纜。六、提示“8042GateA20Error”8042芯片壞;提示“DMAError”,DMA控制器壞。這種故障需要更換。七、提示“DisplaySwitchNotProper”主板上的顯示模式跳線設置錯誤,重新跳線。八、提示“KeyboardisLock...Unlockit”鍵盤被鎖住,打開鎖后重新引導系統(tǒng)。九、IDE接口設備檢測信息為:“DetectingPrimary(或Secondary)Master(或Slave)...None”表示該IDE接口都沒有找到硬盤,如果該IDE口確實接有硬盤的話,則說明硬盤沒接上或硬盤有故障,可以從以下幾方面檢查:1、硬盤電源線和數據線是否接觸不良,或換一根線試試;2、CMOS設置有無錯誤,進入CMOS將“PrimaryMaster”、“PrimarySlave”、“SecondaryMaster”三項的的“TYPE”都設置成“Auto”;3、替換法確認硬盤本身有故障。十、IDE接口設備檢測信息下面顯示“Floppydisk(s)fail(40)”出錯信息表示CMOS所指定的軟盤驅動器有問題。判斷和解決的方法與硬盤相似?,F象五:系統(tǒng)不能引導。這種故障一般都不是嚴重問題,只是系統(tǒng)在找到的用于引導的驅動器中找不到引導文件,比如:BIOS的引導驅動器設置中將軟驅排在了硬盤驅動的前面,而軟驅中又放有沒有引導系統(tǒng)的軟盤或者BIOS的引導驅動器設置中將光驅排在了硬盤驅動的前面,而光驅中又放有沒有引導系統(tǒng)的光盤,這個都很簡單,將光盤或軟盤取出就可以了,實際應用中遇到“DiskBootFailure,InsertSystemDiskAndPressEnter”的提示,多數都是這個原因。如果是硬盤不能引導的話一般有兩種情況:一種是硬盤數據線沒有插好,另一種就是硬盤數據損壞。前者一般多會出現硬盤容量檢測不正確和引導時出現死機的現象;后者則是干脆找不到引導文件或提示文件損壞。前者只需重新連接好數據線即可;后者則需要用win98的啟動軟盤或啟動光盤啟動,根據實際情況來定:一、提示“Invalidpartitiontable”或“NotFoundany[activepartition]inHDDDiskBootFailure,InsertSystemDiskAndPressEnter”,這說明找不到硬盤活動分區(qū),需要對硬盤重新分區(qū)。二、提示“Missoperationsyste”,說明硬盤活動分區(qū)需要重新格式化(formatc:/s)。三、提示“InvalidsystemdiskReplacethedisk,andthenpressanykey”或顯示“StartingWindows98…”時出現死機,說明硬盤上的系統(tǒng)文件丟失了或損壞,使用“sysc:”,命令傳遞系統(tǒng)文件給c盤,再將C拷貝給c盤?,F象六:硬盤可以引導,但Windows不能正常啟動,也不能進入安全模式。這種情況表明Windows98出現了嚴重的錯誤,首先,用殺毒軟件查殺病毒,看是不是病毒造成的,如果沒有發(fā)現病毒可以用以下方法試一試。一、直接將接口卡與各個外設都撥去,再插回去,并調整接口卡上的設置(如果可以的話)來檢查是否是硬件沖突造成,開機看看是否可正常進入Windows。二、檢查CMOS中的設置是否有不正確的地方,若不清楚,可選擇LoadBiosDefault項目,然后重開機,開機看是否可正常進入Windows。三、在啟動時按下F8鍵,一般會出現6個選項(如果安裝了DOS6.22則出現7個選項)選
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學校樓層長管理制度
- 學校防恐怖管理制度
- 學生封閉化管理制度
- 學院服裝間管理制度
- 安全生產個管理制度
- 安委會工作管理制度
- 安裝部進度管理制度
- 完善請休假管理制度
- 實木床倉庫管理制度
- 客戶滿意度管理制度
- 人文英語4-005-國開機考復習資料
- 公司安全事故隱患內部舉報、報告獎勵制度
- 中國玉石及玉文化鑒賞智慧樹知到期末考試答案章節(jié)答案2024年同濟大學
- 網絡集成實踐報告
- 小學思政課《愛國主義教育》
- 有趣的行為金融學知到章節(jié)答案智慧樹2023年上海海洋大學
- 民辦學校辦學章程(營利性)
- 機關婦委會換屆選舉工作基本程序
- 零件加工檢驗標準
- UML網上購物系統(tǒng)課程設計DOC
- 懷化職業(yè)技術學院就業(yè)工作管理制度匯編 (一)
評論
0/150
提交評論