羅維
【摘 要】利用計(jì)算機(jī)技術(shù)提高傳統(tǒng)紙質(zhì)投票的計(jì)票效率,避免計(jì)算機(jī)圖像識(shí)別產(chǎn)生的拒識(shí)和誤識(shí)對(duì)整個(gè)計(jì)票過(guò)程的干擾,開(kāi)發(fā)出一套高效可視可控的通用計(jì)票系統(tǒng)。文章利用高速掃描儀進(jìn)行紙質(zhì)選票的圖像數(shù)據(jù)采集,結(jié)合準(zhǔn)確度較高的印刷體數(shù)字和手寫體符號(hào)OCR識(shí)別技術(shù),配合能適應(yīng)各種投票規(guī)則過(guò)程的通用性數(shù)據(jù)庫(kù)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)一種通用計(jì)票系統(tǒng)。該系統(tǒng)既能保存紙質(zhì)投票的優(yōu)點(diǎn),又能高效地完成數(shù)據(jù)采集及結(jié)果輸出,對(duì)實(shí)際投票特別是會(huì)議投票具有一定的實(shí)用價(jià)值。
【關(guān)鍵詞】計(jì)票;投票;掃描;識(shí)別
【中圖分類號(hào)】TP391.41 【文獻(xiàn)標(biāo)識(shí)碼】A 【文章編號(hào)】1674-0688(2018)09-0063-03
傳統(tǒng)的紙質(zhì)投票選舉過(guò)程耗時(shí)費(fèi)力,且不能保證計(jì)票過(guò)程公平、公正,普遍存在計(jì)票效率低下、統(tǒng)計(jì)人為誤差大等問(wèn)題,最為突出的問(wèn)題是對(duì)于流程復(fù)雜的過(guò)程難以高效完成。隨著計(jì)算機(jī)技術(shù)的普及,出現(xiàn)了利用計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行投票的系統(tǒng),但是系統(tǒng)透明度不高,容易引起爭(zhēng)議。傳統(tǒng)的紙質(zhì)投票能很好地保留投票憑據(jù),避免計(jì)票結(jié)果出來(lái)后無(wú)法查證選票的麻煩。如何利用計(jì)算機(jī)技術(shù)保留紙質(zhì)投票的優(yōu)點(diǎn),高效完成復(fù)雜的投票工作,對(duì)于選舉活動(dòng)具有一定的社會(huì)價(jià)值。2002年,王慶生等[1]發(fā)表了題為《利用OMR自動(dòng)讀票的計(jì)算機(jī)選舉系統(tǒng)》的論文,文中指出采用光標(biāo)閱讀機(jī)專業(yè)設(shè)備進(jìn)行讀票。2011年,張站[2]發(fā)表了《基于符號(hào)識(shí)別技術(shù)的選舉計(jì)票系統(tǒng)研究》的學(xué)位論文,文章指出“系統(tǒng)離實(shí)際應(yīng)用還有一段距離”。國(guó)內(nèi)也出現(xiàn)了一些同類電子投票箱產(chǎn)品,例如2010年張婷[3]等提出的基于機(jī)器識(shí)別的智能票箱,但是適用范圍窄,設(shè)備專一。同時(shí)還有一些智能票箱采用的是紅、藍(lán)、綠、黃等底色的特殊紙張或填涂卡。2014年,昝麗紅[4]提出的系統(tǒng)依然存在一定誤差。本文研究的系統(tǒng)是基于常用的黑白激光打印機(jī)和高速掃描儀,配合數(shù)據(jù)庫(kù)開(kāi)發(fā)一套穩(wěn)定、實(shí)用性強(qiáng)的計(jì)票系統(tǒng),計(jì)票過(guò)程公開(kāi)、透明、公平、公正,實(shí)現(xiàn)計(jì)票結(jié)果無(wú)誤差,具有一定的實(shí)用性。
1 系統(tǒng)設(shè)計(jì)
本系統(tǒng)將傳統(tǒng)的投票計(jì)票過(guò)程與計(jì)算機(jī)技術(shù)相結(jié)合,提高投票統(tǒng)計(jì)效率,避免投票者對(duì)結(jié)果的猜疑,做到結(jié)果完全正確無(wú)誤差,計(jì)票過(guò)程可視,真正做到公平、公正、公開(kāi)。設(shè)計(jì)原則為使用過(guò)程高效,結(jié)果無(wú)誤差,適用各類選舉投票活動(dòng)。系統(tǒng)運(yùn)行所需主要設(shè)備為普通A4黑白激光打印機(jī)、滾筒高速掃描儀和普通筆記本電腦,輔助設(shè)備可選投影儀。掃描儀接口和識(shí)別部分采用C++進(jìn)行程序編寫,主程序采用Delphi進(jìn)行編程,操作要求簡(jiǎn)單快捷。投票系統(tǒng)需要滿足各種投票流程和規(guī)則,將各種規(guī)則設(shè)置記錄到數(shù)據(jù)庫(kù)中,在投票時(shí)對(duì)規(guī)則進(jìn)行判斷。
2 主要功能模塊
2.1 選票設(shè)計(jì)打印模塊
選票設(shè)計(jì)首先要考慮選票版面設(shè)計(jì)。選票版面設(shè)計(jì)是計(jì)算機(jī)計(jì)票系統(tǒng)構(gòu)建的第一步,其設(shè)計(jì)直接關(guān)系到OCR過(guò)程的復(fù)雜度。選票版面設(shè)計(jì)要考慮投票項(xiàng)目的可增長(zhǎng)性、選票版面高效處理性和選票的信息量。結(jié)合這3點(diǎn)并考慮打印出的選票是黑白二值單色紙張,最終定為以行列為主的間隔表格,如圖1所示。
采取圖1選票版面的目的:①可以在選票上顯示足夠的信息,保證字體大小適中,方便選舉人填選,中間的區(qū)域?yàn)橥镀表?xiàng)目的信息顯示區(qū),不需要進(jìn)行識(shí)別。②高速進(jìn)行切分定位(表格線在保證識(shí)別的情況下要足夠粗,避免出現(xiàn)無(wú)法識(shí)別水平線的問(wèn)題)。③能夠統(tǒng)計(jì)出投票人數(shù)信息,避免漏掃(未收或者掃描儀多頁(yè)進(jìn)紙當(dāng)1頁(yè)掃描),拒絕多次采集(掃描過(guò)的頁(yè)無(wú)法進(jìn)行二次采集輸入)。④方便監(jiān)票人在掃描過(guò)程對(duì)數(shù)據(jù)進(jìn)行核對(duì),確保采集準(zhǔn)確性(項(xiàng)目行1頁(yè)最多15項(xiàng),方便核對(duì)采集的走勢(shì))。
本系統(tǒng)設(shè)計(jì)了選票設(shè)計(jì)窗口,方便顯示中間區(qū)域的投票內(nèi)容和排版,以及確定本輪次投票的表態(tài)欄個(gè)數(shù)。
2.2 選票高速掃描模塊
市面上的高速滾筒掃描儀基本是A4幅面,支持TWAIN協(xié)議和二值黑白掃描。由于后期需要OCR識(shí)別隨機(jī)碼數(shù)字和手寫體“√”“×”“○”識(shí)別,為保證準(zhǔn)確性將掃描儀的分辨率設(shè)為300 dpi。激光黑白打印機(jī)打印出來(lái)的圖像是黑白圖像,并且掃描儀進(jìn)行黑白二值掃描比相同分辨率的彩色掃描速度要快,所以采用黑白二值掃描圖像。高速掃描模塊采用C++進(jìn)行開(kāi)發(fā),利用通用TWAIN協(xié)議即可方便連接掃描儀采集圖像。
本模塊需要考慮以下功能:①枚舉系統(tǒng)連接或者安裝的掃描儀,供操作人員選擇。②能設(shè)定掃描儀的相關(guān)掃描參數(shù)。③控制掃描儀能逐頁(yè)進(jìn)紙掃描。為了方便對(duì)掃描過(guò)程進(jìn)行監(jiān)控,不能采用預(yù)掃描(掃描儀都有一個(gè)緩存掃描的模式,這個(gè)模式下掃描儀會(huì)連續(xù)將進(jìn)紙器上的紙質(zhì)全部掃描緩存,本系統(tǒng)不推薦這種模式。原因是本系統(tǒng)必須保證掃描統(tǒng)計(jì)結(jié)果無(wú)誤差,每掃描一頁(yè),這一頁(yè)的采集數(shù)據(jù)必須完全正確,監(jiān)票人在每掃描一頁(yè)需要核對(duì)該頁(yè)的數(shù)據(jù))。④將原始圖像以bitmap格式傳給選票版面快速識(shí)別模塊。
2.3 選票版面快速識(shí)別模塊
從掃描儀采集到的圖像必須經(jīng)過(guò)預(yù)處理,才能進(jìn)行后續(xù)的圖像處理和分析。預(yù)處理的主要步驟是圖像糾偏。糾偏的目的是使圖像在一較小的歪斜角度內(nèi)。由于打印機(jī)進(jìn)紙機(jī)構(gòu)、掃描儀放紙和滾筒進(jìn)紙都會(huì)因機(jī)械運(yùn)行產(chǎn)生偏角,使得本應(yīng)該垂直的直線變歪了。這個(gè)歪角必須在一個(gè)合適的范圍內(nèi),太大可能會(huì)導(dǎo)致線條拒識(shí)。由于選票模板采用線條,因此本系統(tǒng)采用hough變換獲取角度。在獲取偏角后糾正圖片,利用線條獲取每行坐標(biāo),并通過(guò)線條的經(jīng)驗(yàn)值像素大小逐步縮小范圍,最終獲取每個(gè)識(shí)別字符的最小識(shí)別區(qū)域。
2.4 高速OCR識(shí)別模塊
本模塊負(fù)責(zé)數(shù)字印刷體和手寫“√”“×”“○”的識(shí)別。左下角的識(shí)別碼和頁(yè)碼,以及序號(hào)列都是印刷體數(shù)字。本系統(tǒng)采用KNN算法對(duì)選定字體的數(shù)字進(jìn)行識(shí)別。5位隨機(jī)碼是特定不連續(xù)且具備一定算法,錯(cuò)一位都可以判斷出識(shí)別錯(cuò)誤的計(jì)算方法,可靠性比較好。頁(yè)碼識(shí)別需要配合左側(cè)序號(hào)列進(jìn)行雙重判斷,錯(cuò)誤率比較低。
對(duì)于填涂區(qū)“√”“×”“○”的手寫體識(shí)別,先進(jìn)行一次簡(jiǎn)單的縮放后,直接使用最簡(jiǎn)單的垂直交點(diǎn)個(gè)數(shù)的分布進(jìn)行分類識(shí)別,每個(gè)識(shí)別框的結(jié)果可能為空、勾、叉、圈、涂改、無(wú)法識(shí)別6種結(jié)果。手寫體的書寫可能出現(xiàn)不規(guī)范和涂改的情況。本系統(tǒng)規(guī)定每一個(gè)投票項(xiàng)目都必須表態(tài),如果項(xiàng)目的表態(tài)個(gè)數(shù)(框內(nèi)黑色像素點(diǎn)個(gè)數(shù)超過(guò)一個(gè)筆頭印的像素個(gè)數(shù),即算該格進(jìn)行了表態(tài)),多余一個(gè)表態(tài)的項(xiàng)目控制模塊會(huì)轉(zhuǎn)由人工判斷。
經(jīng)過(guò)大量測(cè)試發(fā)現(xiàn),本系統(tǒng)進(jìn)行實(shí)際手寫體符號(hào)“√”“×”“○”的識(shí)別中,“√”的識(shí)別結(jié)果最好,“×”“○”的誤識(shí)率較高,主要原因是書寫不規(guī)范,圈的封閉性沒(méi)有寫規(guī)范(可能出現(xiàn)寫成“U”的情況,容易和“√”混淆,發(fā)生錯(cuò)識(shí)),并且“×”的書寫由于兩筆的連寫容易寫成封閉的圈和小“×”共存的情況(這種情況容易和“○”混淆,發(fā)生錯(cuò)識(shí))。由于標(biāo)準(zhǔn)“√”基本上一筆完成,左邊低右邊高,書寫過(guò)程簡(jiǎn)單,所以書寫相對(duì)比較規(guī)范。本系統(tǒng)實(shí)際使用時(shí),為保證足夠的進(jìn)度,建議使用“√”為填寫符號(hào)。但是“√”寫錯(cuò)的情況經(jīng)常出現(xiàn)在“√”上多打一筆成為差的情況,但是由于本系統(tǒng)的版面是最少兩列的情況,也就是同意和不同意分兩列同時(shí)出現(xiàn),這樣即使填寫錯(cuò),書寫為“√”打點(diǎn)的情況,也需要在另外一個(gè)表態(tài)欄進(jìn)行續(xù)寫。這樣同一個(gè)項(xiàng)目的表態(tài)就識(shí)別出兩個(gè)表態(tài)區(qū)都有表態(tài),交由控制模塊彈出人工確定窗口,交由監(jiān)票員進(jìn)行確定。
2.5 投票控制模塊
本模塊負(fù)責(zé)控制每個(gè)輪次的進(jìn)紙,識(shí)別及出現(xiàn)識(shí)別錯(cuò)誤等情況進(jìn)行數(shù)據(jù)糾正輸入,也負(fù)責(zé)根據(jù)打印排序等要求對(duì)每輪結(jié)果進(jìn)行打印,并依據(jù)輪次規(guī)則,將本輪結(jié)果中符合下一輪次的項(xiàng)目導(dǎo)入下一輪次項(xiàng)目中??刂颇K的相關(guān)參數(shù)需要在投票前配置完畢,配置參數(shù)保存在數(shù)據(jù)庫(kù)中。
3 程序界面設(shè)計(jì)
考慮到同屏投影和實(shí)時(shí)監(jiān)票的需求,本系統(tǒng)選票以單頁(yè)進(jìn)行顯示,每掃描一頁(yè)顯示一頁(yè)的項(xiàng)目填選情況,同時(shí)以數(shù)字進(jìn)行累計(jì)得票顯示,程序主界面如圖2所示。實(shí)際監(jiān)票過(guò)程需要人工將剛過(guò)掃描儀的選票放置電腦顯示器前,供監(jiān)票人進(jìn)行頁(yè)信息和得票走勢(shì)核對(duì)。系統(tǒng)在I5 5200CPU筆記本搭配高速掃描的情況下,大約3秒完成一頁(yè)進(jìn)紙和信息采集顯示,剛好滿足監(jiān)票人員核對(duì)票面信息和采集信息。
界面部分必須考慮手工輸入部分,以免會(huì)議上出現(xiàn)掃描儀故障等情況影響投票過(guò)程。所以主界面上“√”選手動(dòng)輸入時(shí),輸入正確的已經(jīng)打印出的驗(yàn)證碼,則可以在界面表態(tài)區(qū)點(diǎn)擊進(jìn)行標(biāo)紅預(yù)選,在本頁(yè)全部填寫后,根據(jù)標(biāo)紅格對(duì)本頁(yè)投票項(xiàng)目的數(shù)據(jù)進(jìn)行票數(shù)加1。
為加快手動(dòng)輸入多個(gè)表態(tài)區(qū)數(shù)據(jù),如圖3所示,動(dòng)態(tài)列出對(duì)應(yīng)表態(tài)框的4個(gè)按鈕,方便點(diǎn)擊確認(rèn)輸入。其他相應(yīng)的界面都以方便查看和操作為設(shè)計(jì)方向,力求人性化操作。
4 結(jié)語(yǔ)
本文介紹了一種結(jié)合傳統(tǒng)紙質(zhì)投票的電子投票計(jì)票系統(tǒng),該系統(tǒng)利用高速掃描識(shí)別計(jì)票代替人工統(tǒng)計(jì),體現(xiàn)了監(jiān)票人的重要性。本系統(tǒng)靈活方便,已經(jīng)投入各類會(huì)議進(jìn)行計(jì)票統(tǒng)計(jì),節(jié)省會(huì)議時(shí)間,得到了一些專家的好評(píng)。同時(shí),系統(tǒng)也存在以下不足:①本系統(tǒng)僅適用于中小型投票計(jì)票,對(duì)于大型投票還是比較耗時(shí)。②投票過(guò)程采用通用掃描儀,監(jiān)票人員查票得由操作人員對(duì)選票進(jìn)行手工翻頁(yè)放到電腦屏幕前,才能實(shí)時(shí)看清表態(tài)的走勢(shì)。③識(shí)別過(guò)程中,版面分析是系統(tǒng)的關(guān)鍵,如果能結(jié)合條碼識(shí)別會(huì)提高版面識(shí)別效率。④本系統(tǒng)不支持?jǐn)?shù)字手寫體識(shí)別,所以不支持排序輸入(手寫體數(shù)字)進(jìn)行選票排序投票。
參 考 文 獻(xiàn)
[1]王慶生,張劍.利用OMR自動(dòng)讀票的計(jì)算機(jī)選舉系統(tǒng)[J].計(jì)算機(jī)應(yīng)用研究,2002,19(12):88-89.
[2]張站.基于符號(hào)識(shí)別技術(shù)的選舉計(jì)票系統(tǒng)研究[D].合肥:安徽大學(xué),2011.
[3]張婷,舒敬榮.基于圖像識(shí)別技術(shù)的OMR在選舉計(jì)票系統(tǒng)中的應(yīng)用[J].傳感器世界,2010,16(5):30-32.
[4]昝麗紅.選舉計(jì)票系統(tǒng)設(shè)計(jì)分析[D].合肥:安徽大學(xué),2014.
[責(zé)任編輯:鐘聲賢]