自然場景圖像中手寫體數(shù)學公式結構分析與識別方法
【技術領域】
[0001] 本發(fā)明涉及圖像處理與模式識別技術,特別是涉及自然場景圖像中手寫體數(shù)學公 式結構分析與識別的方法。
【背景技術】
[0002] OCR (Optical Character Recognition,光學字符識別)技術有著廣泛的應用,針 對中文和英文的OCR識別技術都比較成熟,但目前對于數(shù)學公式這種有復雜的結構的情 況,目前的OCR技術沒有很好的支持,本發(fā)明著重解決這一有很強應用需求的問題。
【發(fā)明內容】
[0003] 本發(fā)明提供的自然場景圖像中手寫體數(shù)學公式結構分析與識別方法,可以有效地 解決OCR識別中初等數(shù)學公式的表示問題。
[0004] 本發(fā)明的自然場景圖像中手寫體數(shù)學公式結構分析與識別方法,包括:
[0005] 步驟Sl :將自然場景圖像的灰度矩陣轉換為局部對比度矩陣,使用otsu(大津閾 值)法對得到的局部對比度矩陣進行二值劃分,得到二值矩陣;
[0006] 步驟S2 :對步驟Sl中二值矩陣進行連通域分析,剔除非字符連通域,得到字符連 通域;
[0007] 步驟S3 :采用相關系數(shù)法對步驟S2中的字符連通域進行公式特殊結構元素檢測, 并對所有檢測到的特殊結構元素進行單獨標注;
[0008] 步驟S4 :采用水平投影法對步驟Sl中的二值矩陣進行行劃分;
[0009] 步驟S5 :采用卷積神經(jīng)網(wǎng)絡對每個字符連通域進行識別;
[0010] 步驟S6 :定義輸出順序,將識別結果按照對應的順序,以latex (基于T E X的排 版系統(tǒng))排版格式進行輸出。
[0011] 優(yōu)選的,所述局部對比度矩陣中坐標為(i,j)的點的局部對比度Con(i,j)計算公 式為:
[0013] 其中,
[0014] Inax(i,j)和I_(i,j)分別為圖像的灰度矩陣中以坐標為(i,j)的點為中心的鄰 域的最大灰度值和最小灰度值,此處我們設置鄰域的半徑為5 ;
,Std表示灰度矩陣的標準差,γ = 1。
ε為是防止分母為0的無窮小量。
[0017] 優(yōu)選的,使用Otsu法對得到的局部對比度矩陣進行二值劃分的方法為:取局部對 比度矩陣中最大值和最小值,將最大值和最小值之間等分為η份小區(qū)間,將每個元素劃分 到其對應的小區(qū)間中,形成直方圖,在此直方圖基礎上進行Otsu劃分,小于所選閾值的點 為背景點,大于所選閾值的點為字符點。
[0018] 優(yōu)選的,對步驟Sl中二值矩陣進行連通域分析,剔除非字符連通域,得到字符連 通域的方法為::
[0019] 步驟S201 :獲取連通域的最小外包矩形,記錄該最小外包矩形的四個頂點的坐 標,計算出最小外包矩形的長度和高度;
[0020] 步驟202 :統(tǒng)計所有連通域的平均長度和高度;
[0021] 步驟S203 :進行非字符連通域的剔除:
[0022] 如果某個連通域的長度和高度均小于平均長度和高度的1/4,則認為它是噪聲點, 剔除掉該連通域;
[0023] 如果某個連通域的長度和高度均大于平均長度和高度的4倍,則認為它是圖像中 的非字符部分,剔除掉該連通域;
[0024] 步驟S204 :保存剩余連通域作為字符連通域。
[0025] 優(yōu)選的,步驟S3中所述公式特殊結構元素包括大括號、根號、分式線;
[0026] 采用規(guī)則匹配法對分式線連通域進行檢測:選擇連通域的的長度與寬度之比大于 5且連通域的上部和下部需有相鄰連通域的連通域,并將該連通域標識為分式線連通域;
[0027] 采用模板匹配法對于大括號連通域和根號連通域進行檢測:
[0028] 步驟S301 :選擇大括號連通域和根號連通域的標準二值模板;
[0029] 步驟S302 :將當前連通域的大小進行規(guī)范化,使它的大小和標準模板一樣;
[0030] 步驟S303 :將標準二值模板分別與當前連通域進行匹配,
[0031] 匹配的公式為相關系數(shù)公式,表示為:
[0033] 其中,\和y j別表示當前模板和標準模板中第i個元素的值,^和f分別表示 當前模板和標準模板的均值;r e (〇, 1),當r值大于〇. 5時,匹配成功。
[0034] 優(yōu)選的,步驟S4中采用水平投影法對二值矩陣進行行劃分的方法為:
[0035] 對步驟Sl中的二值矩陣進行水平投影后得到波形圖,波形圖橫坐標的值為原圖 像的行數(shù),縱坐標的值為當前行所包含的字符點的個數(shù);
[0036] 從波形圖各個波峰處向其左右擴展,直到數(shù)值小于其波峰值的0. 1倍時,停止擴 展;若相鄰兩個波峰擴展時發(fā)生了重疊,則其對應的兩行合并為一行;
[0037] 記錄每一行的起始和結束位置,波峰左端對應的橫坐標即為當前行的起始行坐 標,波峰右端對應的橫坐標為當前行的結束行坐標。
[0038] 優(yōu)選的,得到每一行的起始和結束位置信息后,將每一個字符連通域與行對應,具 體方法為:
[0039] 計算每一字符連通域中心的水平坐標與各個文本行中心的水平坐標的距離,將字 符連通域劃分到距離最小的那一行中。
[0040] 優(yōu)選的,步驟S4中的卷積神經(jīng)網(wǎng)絡的結構為Lenet-5結構,該卷積神經(jīng)網(wǎng)絡由一 個輸入層、兩個卷積和下采樣層、一個全連接隱層和一個輸出層組成;
[0041] 所述卷積神經(jīng)網(wǎng)絡的訓練數(shù)據(jù)為規(guī)范化后的字符連通域的樣本;
[0042] 將步驟S2中的字符連通域規(guī)范化后輸入卷積神經(jīng)網(wǎng)絡,得到每一個字符連通域 對應的字符。
[0043] 優(yōu)選的,步驟S6定義的輸出順序包括三層:
[0044] 第一層順序關系是行序關系:根據(jù)字符連通域與行的對應關系,按行輸出相應的 字符連通域;
[0045] 第二層順序關系是列序關系:在每一行內,所有字符連通域按照其左端列坐標進 行升序排序;
[0046] 第三層順序關系是公式特殊結構中的序列關系:方程組中元素是按照每一個方程 進行輸出;分式元素是按照先分子、后分母的形式進行輸出。
[0047] 優(yōu)選的,對于公式特殊結構中的序列關系,需要確定每一個公式特殊結構元素包 含的字符塊;
[0048] 對于大括號,代表的是方程組這個特殊結構,需要確定方程組結束的列坐標,從而 確定其包含的所有字符塊;依據(jù)字符塊所處當前行的位置,將其分為"上部、中部、下部"三 個部分,凡是位于上部和下部的字符塊,都認為是方程組中的元素,找出所有這樣的字符 塊,以其中最右端的字符塊的結束列作為整個方程組的結束列;凡是位于大括號和方程組 結束列的所有字符塊,都劃分到當前方程組結構中;對方程組結構內部再次進行行劃分,確 定其內部含有幾個方程,將方程組內部的字符塊按照方程順序進行輸出;
[0049] 對于分式線,需要確定當前分式所有分子和分母元素,凡是起始縱坐標大于分式 線起始縱坐標,且結束縱坐標小于分式線結束縱坐標的字符塊,都被劃分到當前分式結構 中;對分式結構中的字符塊,需要進一步確定其是分子還是分母,確定方式根據(jù)字符塊的橫 坐標決定:若字符塊底部橫坐標若小于分式線中心橫坐標,則其屬于分子;若字符塊頂部 橫坐標大于分式線中心橫坐標,則其屬于分母;
[0050] 對于根號,需要確定位于根號內部的字符塊,凡是起始縱坐標大于根號起始縱坐 標,且結束縱坐標小于根號結束縱坐標的字符塊,都被劃分到當前根號結構中;
[0051] 根據(jù)上述行序關系、列序關系以及公式特殊結構中的序列關系,確定最終公式結 構的輸出,以latex(基于T E X的排版系統(tǒng))排版格式進行輸出。
[0052] 本發(fā)明有效地解決了 OCR識別中初等數(shù)學公式的表示問題,實現(xiàn)了公式的準確識 別。
【附圖說明】
[0053] 圖1為本發(fā)明實施例提供的自然場景中手寫體數(shù)學公式結構分析與識別方法的 流程圖;
[0