張 瑞,張希厚,曹嘉玲,羅彬杰,萬永菁
(華東理工大學(xué),上海 200237)
由于學(xué)業(yè)競爭壓力大,如今的中小學(xué)生往往需要通過大量做題來提升解題能力,因此會積累大量批改過的試卷。做過的試卷中含有許多典型題目以及重要知識點(diǎn),對隨后階段的查漏補(bǔ)缺、知識點(diǎn)鞏固作用巨大。同時,對試卷中錯題種類及數(shù)量的統(tǒng)計(jì)還有利于學(xué)生監(jiān)測自身學(xué)習(xí)動態(tài)和學(xué)科弱點(diǎn)。靠學(xué)生手動收集整理錯題往往要耗費(fèi)大量時間精力,效率過低。因此,如何將舊試卷變廢為寶,并結(jié)合時下流行的智能科學(xué)技術(shù),方便快捷地對其進(jìn)行整理、提取以重新利用,是非常值得探究的課題。
目前已有相關(guān)學(xué)者對試卷題目處理的方法進(jìn)行了研究[1-3],這些研究的共同特點(diǎn)是基于一張專用試卷,該試卷經(jīng)過特殊排版,并印刷有識別標(biāo)記,能夠準(zhǔn)確定位題目位置,精確切割。部分研究還運(yùn)用光學(xué)字符識別(optical character recognition,OCR)技術(shù)[4]對圖片上的文字進(jìn)行識別,生成文檔。但由于OCR技術(shù)尚不完全成熟,加上試卷題目類型復(fù)雜,公式、圖片種類繁多,造成識別結(jié)果出現(xiàn)差錯。同時,專用試卷的特殊性也使得其缺乏廣泛適用性。因此,該文探討通過圖像處理技術(shù),對批改后試卷中的題目以及批改痕跡進(jìn)行自動識別切割,并運(yùn)用ResNet深度殘差網(wǎng)絡(luò)[5]判斷題目的正誤,從而進(jìn)行分類整理。
HSV顏色空間由A.R.Smith在1978年提出,是計(jì)算機(jī)視覺中常用的一種顏色空間,其三個參數(shù)分別是色相H、飽和度S和明度V。其中,色相是顏色的基本屬性,由光線波長決定;飽和度描述顏色的純度,S越高顏色越深,S越低顏色越淺;明度描述顏色的明暗[6]。
HSV顏色空間是一種基于人的感受的顏色空間,與RGB色彩空間使用紅綠藍(lán)三個分量相加表示顏色相比,HSV顏色空間在顏色表示上更為直觀,因此顏色識別時一般使用HSV顏色空間[7]。由于試卷批改痕跡多為紅色,故此處以紅色為例說明顏色識別的流程,如圖1所示。

圖1 顏色識別流程
首先將圖片由RGB顏色空間轉(zhuǎn)換為HSV顏色空間,轉(zhuǎn)換公式為式(1)~式(3),式中R、G、B分別是像素點(diǎn)的紅色、綠色和藍(lán)色分量值。
V=max(R,G,B)
(1)
(2)
(3)
然后遍歷所有像素點(diǎn),判斷每個像素點(diǎn)的HSV三個分量的值是否在紅色的HSV區(qū)間內(nèi)。表1顯示了常見顏色的HSV區(qū)間,可以看出紅橙黃綠等顏色的HSV值主要區(qū)別在H分量的范圍,數(shù)值上容易區(qū)分,這也是選擇HSV顏色空間做顏色識別的原因之一。根據(jù)表1中所示紅色的HSV三分量值,得到判斷條件為:
0 43 表1 HSV顏色值對照 最后,將符合條件的像素點(diǎn)保留,令不符合條件的像素點(diǎn)灰度為255,就能夠?qū)⒓t色的批改痕跡從試卷中提取出來。 圖像膨脹是一種常用的圖像形態(tài)學(xué)處理方法,經(jīng)常和圖像腐蝕一起用于處理二值化圖像,其主要作用是消除圖像內(nèi)部不連續(xù)的點(diǎn)、連接鄰近物體、使圖像邊緣更為平滑等。膨脹的數(shù)學(xué)定義如下: (4) 霍夫變換由Paul Hough于1962年提出,是一種常用的從圖像中檢測出物體形狀的方法?;舴蜃儞Q的基本原理是建立了圖像空間與霍夫參數(shù)空間中點(diǎn)與線的對偶性。圖像空間中的直線y=kx+b映射成為霍夫參數(shù)空間中的點(diǎn)(k,b),而圖像空間中的點(diǎn)則是參數(shù)空間中的一條直線?;舴蛑本€檢測的優(yōu)點(diǎn)在于抗干擾能力強(qiáng),對直線的殘缺部分不敏感,同時對光照引起的噪點(diǎn)等具有魯棒性。該文采用霍夫直線檢測將試卷與背景分離出來,并對傾斜的試卷進(jìn)行校正。 文中系統(tǒng)框架如圖2所示。為了便于圖像處理,由學(xué)生在試卷題號處用紅筆畫圈作為標(biāo)記。將有標(biāo)記和紅筆批改痕跡的試卷作為系統(tǒng)的輸入,為了便于進(jìn)一步處理,首先通過霍夫直線檢測切割出試卷的卷面部分,去除拍照的背景,并進(jìn)行直線校正,將傾斜的試卷旋轉(zhuǎn)至水平。 圖2 系統(tǒng)設(shè)計(jì)框架 之后通過在HSV顏色空間識別顏色,從原始圖像中獲得圖層一紅色字跡層。之后切割得到圖層二題號標(biāo)簽層和圖層三批改痕跡層。在圖層二題號標(biāo)簽層檢測出題號標(biāo)記的上界,并依此切割圖層二和圖層三,得到每道題的批改痕跡和題目[9]。 然后通過深度學(xué)習(xí)判斷批改痕跡的類型,并將批改痕跡對應(yīng)題目分類至對、錯、半對三個文件夾。至此,系統(tǒng)完成了自動識別、切割試卷題目并智能分類將其保存為三個題庫的任務(wù)。 題目切割是該系統(tǒng)的關(guān)鍵部分,是后續(xù)判斷批改痕跡、生成題庫的基礎(chǔ),其具體流程如圖3所示。 圖3 題目切割流程 首先,對圖像進(jìn)行預(yù)處理。通過霍夫直線檢測,將試卷的卷面部分與背景部分分離,獲得待處理的試卷卷面部分,并對傾斜的試卷進(jìn)行直線校正。 具體流程如圖4所示。首先用Sobel算子對圖片進(jìn)行邊緣提取并二值化,然后將每一條經(jīng)過邊緣點(diǎn)的直線映射至霍夫參數(shù)空間,并對其進(jìn)行統(tǒng)計(jì)學(xué)投票,設(shè)定閾值并去除干擾直線后得到最可能的參數(shù)點(diǎn),將其反變換至圖像空間即可得到物體的輪廓直線。之后獲得輪廓直線的交點(diǎn),并以此將圖片切割,從整張照片中去除了拍照背景,得到試卷卷面。 圖4 卷面切割流程 由于傾斜試卷會影響之后的圖像處理算法有效性,所以要對試卷做直線校正。在得到了試卷卷面后,通過霍夫直線檢測返回的傾斜角度得到仿射變換矩陣,將原始圖像乘以變換矩陣得到變換后圖像。由于數(shù)字圖像像素點(diǎn)的坐標(biāo)均為整數(shù),在經(jīng)過變換后卻有可能得到不是整數(shù)的點(diǎn),因此要對圖像進(jìn)行插值重采樣。插值方法主要有:最近鄰插值、雙線性插值、立方插值法等,綜合實(shí)時性與準(zhǔn)確性考慮,該文選用雙線性插值法,在x、y方向分別進(jìn)行兩次插值,由周圍四個近鄰像素點(diǎn)得到待采樣點(diǎn)的灰度值。經(jīng)過仿射變換后得到的試卷已經(jīng)被校正為水平。 之后,在HSV色彩空間中得到紅色字跡圖層,如1.1節(jié)所述,遍歷試卷中每一個像素點(diǎn),判斷其HSV的值是否在紅色的區(qū)間內(nèi),保留符合區(qū)間條件的像素點(diǎn),令其他不符合條件的點(diǎn)灰度值為255,得到紅色字跡:包括題號標(biāo)記和批改痕跡[10],對該圖層進(jìn)行一系列預(yù)處理,包括:二值化、取反、降噪[11]、膨脹[12]。 二值化處理是圖像處理中一種常見的處理方法。二值化圖像中,一個像素點(diǎn)的灰度值要么是0,要么是255。通過二值化可以將圖像中像素接近白色的批改痕跡從背景中取出來。文中選定閾值為110,對圖像進(jìn)行二值化處理,處理過程如式(5)所示,即(i,j)點(diǎn)處像素的灰度值為I(i,j),當(dāng)I(i,j)>110時,令I(lǐng)(i,j)=255;當(dāng)I(i,j)<110時,令I(lǐng)(i,j)=0。 (5) 去噪采用中值濾波的方法。中值濾波是一種非線性的濾波方法,其原理是將某一點(diǎn)的灰度值用其某鄰域的中值代替,從而去除圖像中灰度極值點(diǎn)。與均值濾波比較而言,中值濾波既能很好地保留試卷中的細(xì)節(jié),對椒鹽噪聲的抑制效果也較好。 膨脹操作對改善圖片的質(zhì)量具有顯著作用[13]。由圖5可以看到,未經(jīng)膨脹操作的批改痕跡有許多斷點(diǎn),并且批改痕跡特征不明顯,十分不利于進(jìn)一步的處理,而經(jīng)過膨脹處理的批改痕跡內(nèi)部已經(jīng)消除了斷點(diǎn),并且特征變得顯著,便于對批改痕跡進(jìn)行識別分類。 圖5 膨脹前后對比 對提取出的經(jīng)過二值化和取反的題號標(biāo)記層進(jìn)行處理,逐行掃描圖像,得到第i行像素的灰度和S(i): S(i)=I(i,1)+I(i,2)+…+I(i,cols) (6) rows和cols分別為圖像行數(shù)和列數(shù),I(i,j)是(i,j)點(diǎn)的灰度值,認(rèn)為在滿足如下條件時表示第i行開始試題號的標(biāo)記,也即得到了一道題目的上界。 S(i)=0;S(i+1)>0 S(i+2)>0 通過上述處理檢測到每一道題目的上界,作為切割的依據(jù),每兩個題號上界之間為完整的題目區(qū)域,同時也是切割每道題目對應(yīng)的批改痕跡的標(biāo)志。其中,最后一道題的題號標(biāo)記的上界到試卷底部進(jìn)行切割得到最后一道題對應(yīng)的題目區(qū)域與批改痕跡。 獲得切割后的批改痕跡后,運(yùn)用深度學(xué)習(xí)網(wǎng)絡(luò)自動提取圖片的抽象特征和語義特征,對批改痕跡進(jìn)行分類。該文搭建了批改痕跡的數(shù)據(jù)集對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,數(shù)據(jù)集由true、half、wrong三類共2 592張手寫批改痕跡組成,并對圖片標(biāo)記相應(yīng)的類別標(biāo)簽。圖像均通過resize函數(shù)統(tǒng)一大小,隨后將這些統(tǒng)一大小的圖片送入深度殘差網(wǎng)絡(luò)進(jìn)行訓(xùn)練,網(wǎng)絡(luò)通過給圖片分類,并在分類的同時進(jìn)行反饋修正,以逐漸減小分類錯誤率。 2.2.1 數(shù)據(jù)集搭建 首先搭建一個批改痕跡數(shù)據(jù)集,數(shù)據(jù)集由true、half、wrong三類共864張手寫批改痕跡組成,并標(biāo)記相應(yīng)的類別標(biāo)簽使用resize函數(shù)對圖片進(jìn)行處理,將圖片統(tǒng)一為224*224的尺寸。對這864張圖片做圖像增強(qiáng),循環(huán)隨機(jī)讀取數(shù)據(jù)集中的數(shù)據(jù),使用random_flip_left_right()函數(shù)隨機(jī)左右翻轉(zhuǎn)、random_flip_up_down()函數(shù)隨機(jī)上下翻轉(zhuǎn)、random_brightness()函數(shù)隨機(jī)調(diào)節(jié)亮度,再將所得圖片輸入到原數(shù)據(jù)集中,將數(shù)據(jù)集增大3倍,總計(jì)2 592張圖片。 2.2.2 深度殘差網(wǎng)絡(luò)(ResNet) 深度殘差網(wǎng)絡(luò)(ResNet)由何凱明于2015年提出[14],以152層的網(wǎng)絡(luò)結(jié)構(gòu)模型在素有國際“計(jì)算機(jī)視覺奧林匹克”之稱的ImageNet2015上獲得第一名,將錯誤率降低到了3.75%。ResNet網(wǎng)絡(luò)參考了VGG19[15-16]網(wǎng)絡(luò),它在普通網(wǎng)絡(luò)的基礎(chǔ)上,每兩層增加一個短路機(jī)制,插入捷徑連接,形成殘差學(xué)習(xí),利用更深層次的網(wǎng)絡(luò)解決了網(wǎng)絡(luò)性能隨著深度的增加而退化的問題。當(dāng)輸入和輸出的尺寸相同時,可以直接利用式(7)實(shí)現(xiàn)恒等捷徑連接。 H(x)=F(x,wi)+x (7) 其中,F(x)為殘差映射,令H(x)=F(x)+x為理想映射。通過將理想的原始函數(shù)H(x)轉(zhuǎn)變?yōu)閿M合殘差函數(shù)F(x),把輸出變?yōu)閿M合和輸入的疊加。 該文利用Caffe框架構(gòu)建網(wǎng)絡(luò)模型,在網(wǎng)絡(luò)層數(shù)和訓(xùn)練參數(shù)上都有明顯的優(yōu)勢?;赗esNet34設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)的輸入是224*224大小的圖片,第一個卷積層conv1的參數(shù)是7*7的卷積核,步長設(shè)置為2,余下卷積層為三個3*3,channel為64的conv_2、4個3*3,channel為128的conv_3、6個3*3,channel為256的conv_4和3個3*3,channel為512的conv_5,與最后的平均池化層和全連接層,共34層組成。其中每層的輸入輸出信道長度均相同,而且每一個卷積層之后都需要設(shè)置一個BatchNorm層,可以增加模型的容納能力。由于每次輸入的圖片具有相同的尺寸,所以在每層采用時都使用相同數(shù)量的濾波器,選用Relu函數(shù)作為模型的激活函數(shù),在步幅為2的卷積層直接執(zhí)行下采樣。最終的輸出結(jié)果為3類,所以將最后全連接層的個數(shù)設(shè)置為3,回歸輸出的結(jié)果為圖片的類別。 2.2.3 獲取分類結(jié)果 將通過圖像處理獲得的批改痕跡圖像統(tǒng)一大小送入ResNet網(wǎng)絡(luò),然后結(jié)合閾值來劃分為不同的種類,獲取分類結(jié)果。為了測試ResNet對批改痕跡分類的準(zhǔn)確性,該文對238個隨機(jī)樣本進(jìn)行分類,將結(jié)果進(jìn)行統(tǒng)計(jì),如圖6所示??梢钥闯?,分類的正確率達(dá)到了99.16%,較為準(zhǔn)確,分類錯誤的可能原因是半對的批改痕跡中叉號太小,與正確的勾號過于接近,因此分類錯誤。 圖6 樣本測試結(jié)果 為了驗(yàn)證整個系統(tǒng)的有效性,選取數(shù)學(xué)試卷作為樣本,首先通過圖像處理實(shí)現(xiàn)題目切割,得到每一題的批改痕跡,將批改痕跡送入ResNet網(wǎng)絡(luò),通過ResNet網(wǎng)絡(luò)判斷其批改痕跡類型,依此將對應(yīng)的題目分類至正確、錯誤、半對三個文件夾中。圖7展示了圖像處理及切割效果,可以看出切割出的圖像準(zhǔn)確清晰,批改痕跡的分類結(jié)果也是正確的,題目成功進(jìn)入三個不同的文件夾,從而完成此題目智能分類系統(tǒng)。 圖7 處理及切割效果 實(shí)驗(yàn)結(jié)果證明了該算法的有效性,可以準(zhǔn)確快速地切割題目、提取批改痕跡、判斷批改痕跡正誤、分類保存題目,可以幫助學(xué)生快速整理做過的試卷。 研究并實(shí)現(xiàn)了一個基于圖像處理與深度學(xué)習(xí)的智能試卷整理系統(tǒng)。通過圖像處理切割出題目和批改痕跡,用ResNet網(wǎng)絡(luò)判斷批改痕跡類別,并最終獲得正確、錯誤、半對三個題庫。實(shí)驗(yàn)結(jié)果表明,與現(xiàn)存的手動框選題目以及專用試卷等方法相比,該系統(tǒng)能夠方便學(xué)生整理試卷錯題,效率更高,具有很高的實(shí)用價值。文中所采用的算法有效易行,處理時間短。下一步工作是開發(fā)更具魯棒性、適用于多種學(xué)科試卷處理的算法與試卷整理系統(tǒng)。
1.2 圖像膨脹


1.3 霍夫直線檢測
2 系統(tǒng)實(shí)現(xiàn)

2.1 題目切割




2.2 基于ResNet的批改痕跡圖像分類

3 實(shí)驗(yàn)結(jié)果



4 結(jié)束語