朱文博 杜鋒



摘? 要:為了減輕制圖教師批改尺規作業的工作量,提出一種基于圖像處理的匹配算法。首先將紙質版作業拍照為圖像;然后對圖像進行灰度化,利用OTSU方法二值化,對有效區域進行裁剪,調節標準答案與學生作業像素尺寸大小,采用幀差法進行標準答案和學生作業的匹配,將標準答案與學生作業相減得出不同之處;最后在學生作業中將不同之處標記出來,從而實現尺規作業的自動批改。通過實驗驗證,該方法能快速準確地批改尺規作圖。對于采用AutoCAD等軟件繪圖的作業只需另存為圖片格式,同樣適用于本文所述方法。
關鍵詞:圖像處理;圖像匹配;幀差法;工程制圖作業;自動批改
中圖分類號:TP391.4? ? ?文獻標識碼:A
Research on the Correcting Method of Engineering Drawing
Homework based on Image Processing
ZHU Wenbo, DU Feng
(School of Mechanical Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China)
teacherzwb@163.com; 1002054400@qq.com
Abstract: In order to reduce the workload of drawing teachers in correcting ruler-and-compass construction assignments, this paper proposes a matching algorithm based on image processing. Firstly, the paper homework is photographed as an image that is then grayed and binarized by OTSU method. The effective area is clipped, and the pixel size of the standard answer and the students' homework are adjusted. The frame difference method is used to match the standard answer and students' homework. The standard answer and the students' homework are subtracted to get their differences, which are finally marked in students' homework. Therefore, the automatic correction of students' homework is realized. The experimental results show that the method can correct ruler-and-compass construction homework quickly and accurately. The proposed method also applies to drawing homework with software such as AutoCAD, which only needs to be saved as an image format.
Keywords: image processing; image matching; frame difference method; engineering drawing homework; automatic
correction
1? ?引言(Introduction)
工程制圖是工科學生必修的一門專業基礎課程,是培養學生繪制與閱讀各類機械圖樣能力的課程。要掌握此課程的知識,練習習題是必不可少的。練習習題可以分為兩類,一類是計算機軟件繪圖;另一類是最為廣泛的尺規繪圖。目前已有一些針對計算機軟件繪圖自動批改的研究[1]。然而在尺規繪圖方面,仍然是教師手動批改,這使得教師需要花費大量的精力批改習題,導致教師的科研效率大大降低。繁重的工作量使基于圖像處理的自動批改系統得到較好的應用,其核心包括圖像采集、圖像處理、分析模塊以及人機交互模塊等。采用圖像處理的方法如何自動批改大量的制圖作業,減輕制圖教師的工作量,是一個值得研究的課題。
2? ?研究現狀(Research status)
在現有的自動批改制圖作業的方法中,絕大部分需要學生首先使用繪圖軟件做作業,之后再進行軟件的二次開發完成作業批改任務。沈培玉等[2]利用ObjectARX反應器編寫程序進行圖元整理及分類;劉小婷[3]基于立體重構,使用AutoCAD的二次開發完成作業批改。楊萬理等[4]自主研發了矢量圖形平臺ATVGP完成作業以及進行作業的批改,此研究突破了CAD平臺繪圖的限制,但仍需要在固定平臺中完成作業。目前來看,剛進入大學的學生還是以尺規畫圖為主,軟件作圖為輔,然而針對尺規畫圖作業的自動批改卻鮮有研究。本文將學生的紙質尺規作業進行拍照,將軟件作圖作業進行截圖,基于圖像處理來進行圖像匹配,從而完成作業的批改。
目前應用廣泛的圖像匹配方法主要有兩大類:一是基于灰度化相關的圖像匹配,此方法算法簡單,但計算量大;另一種是基于特征進行圖像匹配,主要的算法有:SURF算法、Harris算法、SIFT算法等,計算量小,但精確度不高。這兩種方法只能找到兩幅圖像相同像素的對應位置,而制圖作業批改需要找到標準答案與學生作業(均拍攝為圖像)這兩幅圖像之間的不同之處,使用這兩種方法均不能得到所需結果。本文將采用幀差法對標準答案與學生作業進行圖像匹配,找出不同之處并做出標記。
3 基于圖像處理的工程制圖作業批改方法(Correcting method of engineering drawing based on image processing)
3.1? ?圖像灰度處理及二值化
標準答案與學生作業的圖像匹配與圖像顏色無關,因此將彩色圖像灰度化后其傳輸數據由三維矩陣降至一維矩陣,即可加快后期對圖像處理的速度,故本文將所采集的彩色圖像一律采用加權平均算法進行圖像灰度處理。
二值化處理是對灰度化圖像進行閾值操作,去除灰度圖像中的噪聲。本文采用最大類間方差法[5]。該方法是日本學者大津(Nobuyuki Otsu)于1979 年提出的用于二值化的一種閾值確定方法,又稱為大津法(OTSU)。此方法計算速度較快,可根據灰度圖像自行確定閾值,因此可以較好地適應不同場景的圖像。
3.2? ?有效區域截取及旋轉
標準答案與學生作業在拍照或截圖時會出現無效區域,為了節省計算時間,對標準答案與學生作業提取有效區域。本文采用基于輪廓最小正外接矩形的方法截取所需的有效區域。遍歷整張圖像,尋找最小正外接矩形所需最大坐標與最小坐標,原始圖像如圖1(a)所示。根據最大坐標與最小坐標,利用最小正外接矩形截取有效區域后的圖像如圖1(b)所示。由于學生拍攝的圖像可能是歪的,截取出來的圖片在矩形框中也是歪的,因此需要對其進行旋轉校正。從圖1(b)中獲取矩形框的四個頂點的坐標,的角度以及圖像中心點,以中心點為旋轉中心利用圖像仿射旋轉變換原理[6]對圖像進行旋轉校正,如圖1(c)所示。
3.3? ?有效區域圖像的像素矩陣調節
無論標準答案還是學生作業的有效區域圖像均是以像素矩陣的形式存儲的。為了便于后續使用幀差法匹配標準答案與學生作業圖像,需使兩幅圖的像素矩陣行列數一致。對于一道制圖題目,標準答案是固定的,學生作業卻各式各樣,標準答案只需處理一次,故將學生作業行列數調整為標準答案的行列數。
設學生作業像素矩陣為,標準答案像素矩陣為。若且,則不需要更改像素矩陣。若或,則需利用雙線性插值算法[7]將作業原圖像素矩陣變為作業新圖像素矩陣。表示作業原圖圖像的像素值;表示作業新圖圖像的像素值,如圖2所示。
(1)若求得作業原圖中的行、列數值均為整數,直接將賦予到作業新圖。
(2)若求得作業原圖中的行、列數值均為非整數,需利用雙線性插值的方法得到。對行、列數值取整,找到、、、像素值,如圖3所示。用式(2)求出。
(3)若行、列數值一個為整數,另一個為非整數。假設行為非整數,列為整數,利用式(3)求得像素值;若列為非整數,行為整數,則利用式(4)求得。
式(2)、式(3)、式(4)求出的數值若為小數,四舍五入為整數。通過式(1)—(4)求出作業新圖像素矩陣。
3.4? ?圖像匹配
采用幀差法將標準答案與學生作業進行匹配,此方法廣泛應用于對運動目標的檢測[8]。將像素矩陣大小一致的標準答案與學生作業進行灰度處理。設學生作業灰度圖像為,標準答案灰度圖像為,根據幀差法的運算過程將對應像素點相減,并取絕對值,如式(5)所示,得到最終的差分結果圖像為。
設定閾值將差分圖二值化處理。經過大量實驗對比,設定閾值為225比較合理。隨后繼續處理該二值化圖像,若差分圖像中的像素值大于225,則為圖像目標;若小于225,則為背景。采用自適應中值濾波[9]進行濾波降噪,并采用形態學梯度算子[10]中的膨脹腐蝕性算子進行邊緣處理,通過膨脹連接目標邊緣、填充黑洞,腐蝕二值化圖像背景中的噪聲點。
3.5? ?批改結果顯示
采用輪廓查找的方法將處理后的二值化圖像中所有像素點檢測出來并保存。之后,在學生作業中,將保存的所有像素點用輪廓繪制的方法使用紅色線條繪制出學生作業錯誤之處,最終完成作業批改。
4? 實驗步驟與結果(Experimental procedures and results)
4.1? ?實驗條件的構建
實驗平臺的搭建包括計算機一臺,本實驗采用VS2015+OpenCV進行實驗軟件系統的開發。實驗設備還包括用于拍攝尺規作業的設備,使用普通手機即可,為了拍照清晰,手機安裝在支架上,避免拍照時人為晃動手機;作業放置在載物臺上;采用成本低、光亮穩定的條形LED燈光源照明,如圖4所示。
由于本文所提算法是針對一個具有外輪廓的圖進行匹配,如果是一個不加外框的三視圖,則會匹配出單獨的三個圖,因此對于三視圖的作業,需要將三視圖加一個邊框,即作為一個整體圖像來解決這一問題。如圖5所示,原習題集格式為圖5(a),需修改為如圖5(b)所示格式。
4.2? ?實驗步驟
以圖6(a)為標準答案,圖6(b)為學生作業為例,對兩幅圖進行圖像處理,找出該學生作業錯誤之處,并對錯誤之處進行標注。用手機拍照紙質版作業,并用手機里安裝的全能掃描王APP處理后得到的JPG圖像如圖6所示。
實驗過程如下:
(1)圖像預處理——灰度化、二值化
將掃描的原圖采用OpenCV[11]中的CV_BGR2GRAY函數進行灰度化處理,得到標準答案與學生作業的灰度化圖像。灰度化后做二值化處理,采用OTSU的方法,利用threshold函數分割目標與背景兩部分,得到標準答案二值化圖像,如圖7(a)所示;得到學生作業二值化圖像,如圖7(b)所示。
(2)按輪廓剪切有效區域圖像
由于學生拍攝的圖或大或小,而圖像處理只需要矩形框內的圖形,需裁剪矩形框外面的空白處,得到有效矩形框及內部圖形。利用OpenCV中的findContours函數獲取矩形的輪廓,利用boundRect函數中的正外接矩形存儲上面所獲取的輪廓,然后用仿射變換進行旋轉校正并裁剪掉輪廓外的區域。兩幅生成的有效區域圖像保存到本地文件夾,方便后續步驟所用。
(3)調整標準答案與學生作業像素矩陣大小
調整學生作業像素矩陣大小與標準答案一致。調用OpenCV庫中的resize函數,用雙線性插值算法調整學生作業像素矩陣。
(4)幀差法進行圖形匹配
截取有效區域以及統一像素矩陣大小后,對標準答案與學生作業進行灰度處理,利用subtract函數對標準答案與學生作業進行差分運算,得到兩幅圖的差分圖像,如圖8(a)所示。對差分圖像選用225的閾值進行二值化處理得到二值化圖像,之后進行自適應中值濾波去除噪聲,然后采用形態學中的閉運算處理,選取矩形結構,先膨脹后腐蝕,連接目標邊緣,填充黑洞,使得邊緣更加清晰,得到的二值化圖像如圖8(b)所示。
(5)顯示批改結果
得到標準答案與學生作業的不同之處之后,用上述的findcontours函數找尋二值化圖像中的輪廓,然后用drawcontours函數調節為紅色線條(本文顯示為粗線條處)在學生作業中繪制出來,即可得到最終的批改效果。批改結果如圖8(c)所示。
4.3? ?實驗驗證及數據分析
為了驗證本文方法的準確性,對學生紙質尺規作圖作業進行大量測試,部分作業、批改結果以及耗時如表1所示。
基于某一圖形,對不同學生的作業、批改結果進行了測試,如表2所示(僅列出兩位學生)。
從表1和表2可以看出,無論是圓形、弧形、直線、虛線,還是漏線、多線的地方都是可以標出的。經過500 張標準答案與學生作業實驗的對比,經檢測有487 張批改結果是正確的。此方法準確率高達97.4%。同時經測試,一個矩形框內的作業匹配程序運行大約為0.01 μs,運行速度快,節省了教師大量的批改作業時間。
本文所提方法對于采用AutoCAD等軟件繪制的圖形,只要將文件保存為JPG或其他圖片格式,同樣適用。部分實驗結果如表3所示。
5? ?結論(Conclusion)
本文基于圖像處理實現了制圖作業的自動批改,對作業圖像進行灰度化、二值化,并提取有效區域,隨后利用幀差法對比標準答案與學生作業,在學生作業中標注錯誤地方,最終獲得批改結果。該方法減輕了制圖教師批改作業的負擔。相對于采用CAD二次開發作業批改系統,本文方法既可以處理計算機軟件繪圖的作業,更能處理尺規作圖的作業,處理作業的形式更廣泛,并且運行準確且速度快。實驗測試準確率為97.4%,每個圖形批改運行時間約為0.01 μs,大大節省了制圖教師批改作業時間。
參考文獻(References)
[1] 陳振興.一種簡單的《工程制圖》作業自動評判系統的實現[J].科技創新與應用,2020(12):44-45.
[2] 沈培玉,周洪軍.基于反應器的制圖作業批改CAI系統研究[J].工程圖學學報,2010,31(04):179-182.
[3] 劉小婷.基于立體重構的工程制圖作業智能批改技術的研究與實踐[D].鎮江:江蘇科技大學,2016.
[4] 楊萬理,王寧,王廣俊.土木工程制圖作業批改系統的研究與實現[J].圖學學報,2014,35(04):613-618.
[5] 袁小翠,吳祿慎,陳華偉.基于Otsu方法的鋼軌圖像分割[J].光學精密工程,2016,24(07):1772-1781.
[6] 李海彥,徐汀榮,張立曉,等.基于仿射變換的多姿態人臉矯正和識別[J].計算機應用研究,2014,31(04):1215-1219,1228.
[7] SURESH C, SINGH S, SAINI R, et al. A comparative analysis of image scaling algorithms[J] Image, Graphics and Signal Processing, 2013, 5(5):55-62.
[8] RAMYA P, RAJESWARI R. A modified frame difference method using correlation coefficient for background subtraction[J]. Procedia Computer Science, 2016, 93:478-485.
[9] 劉鵬宇,哈睿,賈克斌.改進的自適應中值濾波算法及其應用[J].北京工業大學學報,2017,43(04):581-586.
[10] 徐國靖.基于形態學梯度的圖像邊緣檢測算法[D].西安:西安電子科技大學,2013.
[11] 張廣淵.數字圖像處理:OpenCV3實現[M].北京:中國水利水電出版社,2019:110-153.
作者簡介:
朱文博(1973-),女,博士,副教授.研究領域:數字化設計及制造.
杜? 鋒(1996-),男,碩士生.研究領域:機器視覺,圖像處理.