邱治涵 王嘉豪 李文煒 王東燦



摘要:信息化教育方式的多樣化應用是教育教學創新的重要體現,而文字識別技術在電子信息教學方面起著不可忽視的作用。針對傳統的紙質試卷保存方式存在的易丟失、易損壞等弊端問題,設計實現了基于Tesseract-OCR引擎的將紙質型試題轉化電子型試題的智能文字識別移動智能終端軟件。本軟件在擁有支持對常見題型的智能轉換功能外,還提供試題網絡共享、在線試題批閱等功能。
關鍵詞:灰度處理; 雙峰法; Tesseract-OCR; 試題生成;文字識別
中圖分類號:TP391? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)26-0047-03
開放科學(資源服務)標識碼(OSID):
1 引言
隨著文字識別技術的迅速發展,其相關領域的應用在人們日常生活中得到了極大的認可。將紙質型的試題通過拍照轉化成電子型試題的應用方式,可以有效地解決用戶在長時間學習的過程中將試卷損壞或遺落,造成后期對應試題的復習、總結練習不便的問題。同時隨著智能移動設備的普及,電子信息化成為主要的教育發展趨勢本文綜合國內各考試試卷的試題題型,設計與實現了基于Tesseract-OCR引擎的線下試卷拍照轉化為線上試卷的移動智能端軟件。
2 Tesseract概述
在當前主流文字識別技術中,Tesseract作為主要被使用的開源引擎之一,是20世紀80年代中期由惠普實驗室開發、谷歌公司維護的開源OCR(Optical Character Recognition , 光學字符識別)引擎[1]。在這些年Tesseract引擎更新了3.0的版本之后,其與Microsoft Office Document Imaging(MODI)相比,開始支持長短時記憶神經網絡(LSTM),可以通過不斷的數據集進行訓練訓練,將文字識別的準確率不斷提高,現已經支持對一百多門語言的文字進行識別處理。
3 軟件總體設計
3.1 功能需求
本軟件主要實現的功能是用戶通過拍照上傳試題圖片的方式,在本地生成對應文字識別后的電子型試題,同時包括對試題內容的修改、共享功能等實現,主要功能模塊如下。
1) 注冊模塊:新用戶在軟件的賬戶注冊頁面,填寫相關用戶信息,向系統進行提交并反饋對應注冊號狀態。
2) 登錄模塊:用戶在軟件登錄頁面填寫賬戶名和密碼,向系統提交請求后,自動進行身份校驗,如果賬戶名與密碼匹配成功則進入軟件首頁,否則提示登錄失敗的原因和重新填寫信息的語句。
3) 圖片上傳模塊:用戶在移動端首頁點擊相機形狀的按鈕,通過拍照的方式將紙質試題的內容上傳,在上傳過程中用戶可以調用圖片剪切功能,對需要上傳的圖片大小進行調整,然后向系統發出請求。
4) 試題共享模塊:用戶在“個人試題中心”可以選擇試題將其添加入共享區;已添加至共享區的試卷可被其他用戶查看與使用。如果用戶在本地共享后的試題發生了修改,共享區對應的試題內容也發生改變。
5) 試題內容修改功能:用戶在試卷上傳完成后,可以在試卷對應的修改功能區對其進行修改。
6) 試題文字識別模板:該模板作為此軟件的核心模板,它需要根據用戶上傳的圖片進行文字的提取,并按照圖片對應的題型轉化成電子試題。為保證試題文字識別的準確率,系統將會優先從已有的試題庫中進行文字匹配,將其反饋給用戶,用戶可以拒絕選擇試題庫識別的試題,選擇當前拍照所轉化的電子試題。圖1為試題生成軟件的功能模板。
3.2 非功能需求
1) 實時性:用戶對試題修改完成后,共享區中對應分享的試卷同步修改,保證其他用戶在使用時的實時性與準確性。
2) 可靠性:針對具體模塊的數據庫,指定備份與恢復機制。建立多級系統日志功能,將對應產生的事件或錯誤信息進行記錄。保證用戶上傳試卷的完整性與軟件的使用可靠度。
3) 獨立性:每個用戶正在使用的試卷都獨立的保存在本地,無網絡請求,保證了用戶使用的穩定性的需求,同時減輕了服務器被頻繁訪問帶來的壓力。
3.3 用戶需求
用戶在登錄成功后將出現一個氣泡導航欄,其包括三個部分,首頁部分主要使用的功能是拍照上傳并生成對應的試題,第二個部分為所有用戶共享部分,可以拉取個人所需要的試題至本地保存,最后一部分為個人試題部分,包含有個人上傳的信息和生成、拉取的電子試題。
3.4 試題生成流程設計
用戶在使用試題拍照功能模塊的時候,將首先對其的身份進行校驗,判斷其是否成功登錄,如果未登錄將會跳轉至登錄頁面。校驗成功后調用相機的拍照功能,同時可以對所拍的圖片進行大小截取。然后將圖片向系統進行提交后,開始文字識別,生成對應的電子試題,用戶可以選擇除軟件智能轉化的試題外,還可以選擇從試題數據庫中匹配的相關試題。圖2為試題生成流程圖。
4 文字識別
服務器對用戶上傳的圖片進行文字識別試題生成的過程:
1) 服務器在接收到用戶的發出的照片請求后,首先對圖片進行灰度轉化,將彩色的圖像進行灰度處理,對每個像素點進行顏色的RGB值(0~255之間)的轉換,同時對轉化后的RGB值的三個分量進行YUV顏色模型求解,再全部儲存在對應的矩陣中,繼而建立灰度圖,其中YUV顏色模型為:Y=0.3R+0.58G+0.11B[2]。圖3為上傳的測試試題原圖片。
2) 完成灰度圖的轉化后,將轉化后的灰度圖進行二值化處理:對灰度圖對應的矩陣中的值進行處理,將像素值小于K值的點設為0轉化為黑色,將像素點大于等于K值的點設為255轉化為白色,其中闕值K采用雙峰法進行計算[3],并根據數組中數值大小進行間距分割。圖4為二值化處理并間隔計算后的結果圖。