期刊VIP學術指導 符合學術規范和道德
保障品質 保證專業,沒有后顧之憂
摘要:本文運用圖像識別技術來對答題卡進行識別,旨在解決對書寫工具約束、要特制答題卡等問題,實現了答題卡的計算機自動識別。答題時可采用打鉤的方法,方便快速。實驗結果表明,本文所提出的算法具有100%的識別率。
關鍵字:圖像識別,答題卡,小波變換,區域連通
The Design for Auto Grading System Based on Image Recognition Technology
Abstract:Comprehensive usage the theory of image processing and pattern recognition to set up the recognition system of a card of answer.Carried out the computer recognition of a card of answer, adopt the method answer of beat the hook, convenience, fast. The experimental result shows , this algorithms put forward have 100% recognition capability.
Keyword:image recognition,card of answer,wavelet transforms,region to connect
中圖分類號:S611 文獻標識碼:A 文章編號:
引言
目前英語四六級考試大多采用光標閱讀機來進行自動閱卷。光標閱讀機通過光電頭對填涂的答題信息進行識別,并通過閱讀機專用軟件進行判卷。光標閱讀機只對黑色敏感,答題卡上原本印有黑色的條塊,來幫助光標閱讀機確認答題卡的方向與位置,鉛筆在答題卡上的填涂的黑塊和印好的黑塊共同組成了一個只有黑與白的圖像。其原理與二進制"0""1"近似,光標閱讀機掃描后與預先存儲的答案生成的圖像進行比較,相符的部分就是得分,不符的就是錯誤。光標閱讀機對考試的填題方式限制較多,對考試用筆、填涂的范圍與輕重要求較高,拖慢了考生的填題速度,甚至由于考試填題方式的錯誤,對考生成績造成影響。
1、問題分析
若考生在答題時通過在答題卡中的選項上打“√”來答題,可極大的提高考試的答題速度。通過對英語四六級考試的答題卡進行分析,答題卡的大小及各題選項中的位置都是固定的,若是將答題卡掃描出計算機圖像,并利用圖像識別技術進行分析,很容易根據答題卡選項的分布情況來確定各選項在答題卡圖像中的位置。又因答題卡的選項區域中,未勾選答案時與勾選答案后該區域顏色值的分布情況有很大的差別,因此可以通過這個特征來判別該區域是否被考生所勾選。
基于圖像識別的自動閱卷系統的開發主要要解決兩個問題,一個是對答題框中的“√”進行識別,另一個是提高答題卡圖像有干擾情況下識別的正確率[1-3]。
系統的具體識別過程:軟件讀取答題卡圖像,對圖像進行閾值分割并二值化圖像,找到答題卡的水平與垂直投影線后再對圖像投影,利用小波變換求其答案框的中間坐標,根據中間坐標,利用求最大概率值算法求其上下前后間距,結合中間坐標得到答案框的坐標。得到各區域坐標后,利用該區域顏色特征值的變化,判定該選項是否被勾選。
2、閾值確定算法
圖象的二值化需要一個閾值,先對圖象進行縱向掃描,利用雙峰算法找到圖象中線條部分與空白部分的一系列中心坐標,對各自的一系列中心坐標點的灰度進行最大概率值計算,取各自概率最大的值的平均值,以此值作為閾值,二值化圖象[4]。設B2為100時為紅線水平中點的象素灰度相對值,B2為102時為白色部分的中點象素灰度相對值,算法如下:
for(y=y1+3;y
再令z=1; L=1; H=0;
for(y=y1+4;y
switch(z) {//先從線外一點進入case1,if不成立跳轉到case-1,L=y-1,
case 1;
若w[y-1]>=w[y],此時找到正峰點,紅的灰度低,白的高,且y-1
若w[y-1]>TD,則y-1為淺色點,即紅線下邊緣點并令H=y-1,否則L=0
若L>0 ,B2[(L+H+1)/2][x]=100,否則z=-1;
case -1;
若if(w[y-1]<=w[y]),此時找到負峰點
若w[y-1]<-TD,則 y-1為紅線上邊緣外一點,并令L=y-1,否則H=0
若H>0 ),則B2[(H+L+1)/2][x]=102,否則z=1;
3、求水平和垂直投影線算法
用兩條間距較小的水平夾線平移至線條兩端,橫向掃描兩條直線間的象素點,記錄每水平行象素點的個數,如果大于一定的值,則其為一直線,取其中一條象素點最多的作為水平投影線。
找垂直投影線的夾線法算法如下:
for(x=x1;x
for(y=y1;y
for(i=0;i<=3;i++)
若B2[y][x-i]==101,則w[x]++;
若B2[y][x+i]==101,則 w[x]++
令xo=x1;
for(x=x1+1;x
若w[x1]<=w[x],則xo=x; w[x1]=w[x];
找水平投影線的雙夾線法算法如下
for(y=y1;y<=y2;y++),令w[y]=0;
for(x=x1;x
for(i=0;i<=2;i++) //允許線條存在不水平,鄰域即可
若B2[y-i][x]==101),則 w[y]++;
若B2[y+i][x]==101),則w[y]++;
令yo=y1;
for(y=y1+1;y<=y2;y++) //找到W[y]最大,即水平方向101點最多的線
若w[y1]
4、小波變換算法
小波變換是對一個信號與該小波基進行卷積運算,它把信號分解成位于不同頻帶和時段內的各個成分,是一種時頻分析方法。采用連續小波函數Marr小波,就可以根據連續小波變換的卷積定義對信號進行運算。計算機采集實際波形信號時必須以一定的時間間隔采樣數據,只要這個時間間隔滿足先農采樣定理,就可以完全反映連續信號的全部信息。鑒于計算機離散采樣的特點,在算法實現上必須考慮這一特點,即要按照數字信號處理的方法實現連續信號的處理,采用連續小波變換的離散化形式進行計算[5]。 系統采用的小波變換算法如下:
令a=2.0/sqrt(3.0*PI);
for(n=0;n<=D;n++),令b=n*4.0f/D,wave[n]=a*(b*b-1)*exp(-0.5*b*b);
for(x=0;x
for(n=1;n
若x-n>0,則b+=f[x-n]*wave[n];
若x+n
g[x]=-(short)b;
5、區域連通算法
區域填充指先將區域的一點賦予指定的顏色,然后將該顏色擴展到整個區域的過程。區域填充算法要求區域是連通的,因為只有在連通區域中,才可能將種子點的顏色擴展到區域內的其它點。區域可分為4向連通區域和8向連通區域。4向連通區域指的是從區域上一點出發,可通過四個方向,即上、下、左、右移動的組合,在不越出區域的前提下,到達區域內的任意象素;8向連通區域指的是從區域內每一象素出發,可通過八個方向,即上、下、左、右、左上、右上、左下、右下這八個方向的移動的組合來到達[6]。系統采用的小波變換算法如下:
for(x=x1+1;x
for(y=y1+1;y
令n=150;
for(yo=y1+2;yo
for(xo=x1+2;xo
若B2[yo][xo]==101,則令s=0, sp=0,Stk[0].x=xo,Stk[0].x=yo
while(1)時,B2[y][x]=n,s++,y--
若B2[y][x]==101,則B2[y][x]=n, Stk[sp].x=x,Stk[sp].y=y,sp++,
若sp<=0且s<10時
for(x=x1;x
for(y=y1;y
若B2[y][x]==n,則B2[y][x]=103,n++;
sp--,x=Stk[sp].x; y=Stk[sp].y,s=0;
for(yo=y1+1;yo
for(xo=x1+1;xo
若B2[yo][xo]>=150,則B2[yo][xo]=101; s++;
6、鉤子識別算法
可用勾選答案后該區域顏色值的特征來進行識別,算法如下:
for(n=0;n<6;n++)
memset(L,0,sizeof(L));
memset(H,0,sizeof(H));
x1=ABCD[n*5][0].x1; x2=ABCD[n*5+4][0].x2;
for(x=x1;x<=x2;x++){
for(y=ABCD[0][0].y1;y
若B2[y][x]==100,則L[pix[y][x]]++;
否則若B2[y][x]==102,則H[pix[y][x]]++;
令Ymax=Ymin=0;
for(x=1;x<256;x++)
若L[x]>L[0]) ,則 L[0]=L[x]; Ymin=x; }
若H[x]>H[0],則 H[0]=H[x]; Ymax=x; }
令t=(Ymax+Ymin)/2;
for(x=x1;x<=x2;x++)
for(y=ABCD[0][0].y1;y
若pix[y][x]
for(m=0;m<30;m++)
for(n=0;n<4;n++)
令ABCD[m][n].Mark=IsMark(ABCD[m][n].x1,ABCD[m][n].y1,ABCD[m][n].x2,ABCD[m][n].y2);
7、實驗及結論
本文對答題卡的自動識別進行了初步研究,提出了基于圖像識別的答題卡識別方法。在實驗中,以英語四級答題卡計算圖像研究對象進行實驗。實驗結果如圖所示。
實驗結果表明,本文提出的方法具有和好的識別能力,圖像針對旋轉或縮放后的圖像可以達到100%的識別率。
參考文獻
1鄧煒,王軍安,楊永生.計算機圖像識別系統的設計與實現[J].計算機應用研究,2000,17(6);79~80
2張量,詹國華.開放式、智能化計算機考核閱卷系統的設計與實現[J].計算機工程與應用,2001(10)
3楊俊,陳明,張曉平.基于視覺檢測技術的微文字識別系統設計[J].測控技術,2003(09)
4周軍,彭培欣,范永法.圖像處理和識別技術在自動磁粉探傷系統中的應用[J].工礦自動化,2003(6);12~14
5李開宇,張煥春,經亞枝.基于FPGA的高速高質量圖像旋轉[J].中國圖象圖形學報,2004(03)
6孫羽菲.低質量文本圖像OCR技術的研究[D].中國科學院研究生院,2005