趙俊紅
(華南理工大學(xué) 自動化科學(xué)與工程學(xué)院,廣州 510641)
2017年,教育部復(fù)旦共識強調(diào)新工科建設(shè)需要加強研究和實踐[1],實驗教學(xué)是培養(yǎng)學(xué)生實踐能力的重要環(huán)節(jié)。在新工科建設(shè)背景下,實驗教學(xué)內(nèi)容應(yīng)包含更多的綜合性實驗,要在實驗教學(xué)過程中加深對理論知識的理解和掌握,切實提高實踐能力。
數(shù)字圖像處理是迅猛發(fā)展的新興學(xué)科,是自動化學(xué)科的重要應(yīng)用領(lǐng)域,強調(diào)實踐性。數(shù)字圖像處理課程有相應(yīng)配套的實驗課程,而現(xiàn)有實驗課程往往偏重于講解各種圖像處理工具包的使用方法,利用工具包進行驗證性實驗,缺少綜合性實驗,導(dǎo)致部分學(xué)生做完實驗后只記得工具包中的函數(shù),而對具體理論并沒有加深理解,實踐能力提高有限,設(shè)計出既能深化理論知識又能提高實踐能力的綜合性實驗非常有必要[2-3]。
現(xiàn)有一些圖像處理軟件能對照片中的折痕、殘缺、斑點等瑕疵進行一定程度的自動修復(fù),能達到較好效果,如Photoshop Elements 2020能將圖像中較大物體消除而不會出現(xiàn)明顯的視覺痕跡??稍O(shè)計一個綜合性實驗來模擬Photoshop Elements 2020軟件,以實現(xiàn)數(shù)字圖像的修復(fù)功能,學(xué)生需綜合運用理論知識來進行實踐活動。
圖像修復(fù)技術(shù)在文物修繕、圖片美化等方面發(fā)揮著重要作用。現(xiàn)有修復(fù)算法很多,其中Criminisi的修復(fù)算法效果相對較好,于是選擇該算法進行實驗教學(xué)設(shè)計。
矩形圖像1為待修復(fù)圖像I,待修復(fù)區(qū)域為Ω,源區(qū)域為Φ(Φ=I-Ω),其待修復(fù)區(qū)域邊界定義為δΩ,Criminisi算法先計算δΩ上所有像素點的優(yōu)先權(quán)P(p),優(yōu)先權(quán)最大的點p所在區(qū)域塊選為待修復(fù)區(qū)域塊ψp。然后,在源區(qū)域Φ中選擇與待修復(fù)區(qū)域塊ψp中所有像素的誤差平方和(SSD,Sum of Squared Difference)最小的最佳匹配塊ψq,將對應(yīng)像素填充到待修復(fù)區(qū)域塊ψp中并更新δΩ,循環(huán)往復(fù)至Ω為空。
圖1 圖像修復(fù)Criminisi算法
優(yōu)先權(quán)公式為
P(p)=C(p)·D(p)
(1)
其中,C(p)為置信度項,D(p)為數(shù)據(jù)項,其定義分別為
(2)
|ψp|是ψp的面積,np是點p的單位法向量,α是歸一化因子,通常取α為255。對于C(q),有:
(3)
⊥表示垂直化操作,Ix和Iy表示p點在x,y方向的偏差分。?Ip⊥表示源圖像中p點所在的等位線方向。
(4)
圖2 圖像修復(fù)效果示意
本實驗是綜合設(shè)計型實驗,通過實驗教學(xué)能加深對理論知識的理解,能有效提高學(xué)生的文獻檢索能力、動手實踐能力和自主學(xué)習(xí)能力。
學(xué)生已經(jīng)可以利用現(xiàn)有的圖像處理工具包進行一些簡單的驗證性實驗,基本無科技文獻專業(yè)數(shù)據(jù)庫檢索經(jīng)驗,無圖像處理綜合設(shè)計型實驗經(jīng)驗,這些都使得進行綜合性實驗具有必要性。
學(xué)生具有基本的數(shù)字圖像處理理論知識,已經(jīng)學(xué)習(xí)C++語言和MATLAB語言,部分學(xué)生自學(xué)了PYTHON語言。圖像修復(fù)實驗中所需要的基本理論知識已在理論課程中學(xué)習(xí)過,但和課本知識相比,實操難度增大,高于一般的驗證性實驗,具有一定的障礙性[5],可通過查閱資料、加深理解和深化算法來完成[6-7],以保證綜合性實驗的可行性。
步驟1:激發(fā)并保持學(xué)生的學(xué)習(xí)興趣[8-9]。興趣是最好的老師,學(xué)生對有興趣的事情能保持較好的專注力,能進行自主學(xué)習(xí)[10]。首先,教師通過Photoshop Elements 2020直觀演示自動修復(fù)圖像效果。其次,演示其他修復(fù)應(yīng)用軟件并與Photoshop Elements 2020進行對比,通過不斷調(diào)整需修復(fù)的折痕、殘缺、斑點的面積大小來直觀觀察不同軟件的自動修復(fù)能力,可觀察到Photoshop Elements 2020對大面積的修復(fù)能力要優(yōu)于其他軟件。最后,引導(dǎo)出能進行大面積修復(fù)的基于樣本的Criminisi算法。
步驟2:訓(xùn)練文獻檢索能力。文獻檢索能力關(guān)系到本實驗?zāi)芊裾_完成,因為實驗中要理解Criminisi算法的原理并實現(xiàn),還需閱讀大量的文獻來完成算法改進。而學(xué)生幾乎沒有專業(yè)的數(shù)據(jù)庫搜索經(jīng)驗,所以需首先訓(xùn)練文獻檢索能力。
課前,利用微課向?qū)W生簡單介紹中國知網(wǎng)、IEEE庫、web of Science、OSA美國光學(xué)會、ACM期刊和會議庫、EI-village2等,布置一個符合學(xué)生現(xiàn)有知識水平的文獻檢索任務(wù),如圖像分割方法綜述,學(xué)生通過該任務(wù)能迅速掌握相關(guān)數(shù)據(jù)庫的使用和檢索項的提煉。
步驟3:訓(xùn)練科技文獻閱讀能力。通過數(shù)據(jù)庫找到合適的科技文獻后,需要閱讀科技文獻找到自己需要的內(nèi)容。學(xué)生幾乎沒有科技期刊文獻閱讀經(jīng)驗,需利用微課講解如何閱讀科技文獻。以一篇圖像分割的科技文獻為例,通過講解讓學(xué)生掌握科技文獻的基本結(jié)構(gòu),學(xué)會如何快速閱讀科技文獻并獲取相關(guān)知識,還要學(xué)會如何對文獻進行精讀和泛讀。
步驟4:閱讀并實現(xiàn)圖像修復(fù)原型算法。A.Criminisi的論文Region Filling and Object Removal by Exemplar-based Image Inpainting發(fā)表在IEEE transactions on image processing上,篇幅較長,共13頁,大部分學(xué)生由于第一次接觸英文長文文獻難免有畏難情緒,此時可采取小組學(xué)習(xí)法來完成課外閱讀任務(wù),4~5人組成讀書小組進行探討,形成讀書筆記。正確理解該算法才能正確編程,為了保證理解認識未出現(xiàn)偏差或錯誤,課堂教學(xué)上,各小組要展示讀書筆記,教師參與討論,確保每個學(xué)生都能正確理解原型算法。經(jīng)過兩年教學(xué),證明該方法行之有效,學(xué)生通過課后閱讀、課堂展示和探討能夠較好地掌握該算法原理。至此,就完成了實驗預(yù)習(xí),有效避免了學(xué)生照抄實驗指導(dǎo)書和預(yù)習(xí)報告流于形式的情況。
實現(xiàn)算法過程中會涉及理論課中已學(xué)過的圖像輸入輸出、彩色模型轉(zhuǎn)換、梯度運算等操作,在深刻理解相關(guān)理論的同時提高了學(xué)生的編程能力和實踐能力。此環(huán)節(jié)是在課后完成。
步驟5:鼓勵學(xué)生對原型算法進行改進。理解和實現(xiàn)原型算法后,為了培養(yǎng)學(xué)生的創(chuàng)新能力,鼓勵學(xué)生對原算法進行改進。鑒于學(xué)生現(xiàn)有知識水平,教師指導(dǎo)學(xué)生可在以下四方面進行改進:①改進原算法中的優(yōu)先權(quán)計算公式。②樣本塊大小的改進。③相似性度量的改進。④樣本塊搜索策略的改進。
對①而言,可引導(dǎo)學(xué)生分析原型算法中的P(p)=C(p)·D(p)。由于置信度和數(shù)據(jù)項之間是相乘關(guān)系,會使得如C(P)太小,即使數(shù)據(jù)項D(p)有較大值也會迅速拉低P(p)接近零,這就使得不同D(p)之間的差異被削弱,使得修復(fù)點p的選擇隨機性增強,因此要改進優(yōu)先權(quán)計算公式。對②而言較為簡單,學(xué)生可對修復(fù)的時間代價進行比較來選擇合適的樣本塊大小。對③而言,原算法采用的是待修復(fù)塊和樣本塊之間的SSD來作為刻畫二者之間相似性的特征量,但此特征量對圖像旋轉(zhuǎn)、亮度變化的魯棒性較差。理論課程由于課時緊張的原因,對特征量的選取只做了一般性了解。但圖像特征量的設(shè)計是圖像識別中非常重要的環(huán)節(jié),要鼓勵學(xué)生多做探究。教學(xué)顯示,學(xué)生能通過查閱資料得到更優(yōu)的特征量。對④而言,難度最大,原型算法中樣本塊的搜索是全局遍歷的,為了縮短搜索時間,需采用一些優(yōu)化的搜索算法。而這部分內(nèi)容在理論課程中沒有講授,學(xué)生需要自主學(xué)習(xí)相關(guān)的優(yōu)化搜索算法。教學(xué)結(jié)果顯示,小部分學(xué)有余力的學(xué)生能夠完成。改進中的①②③要求所有學(xué)生必須完成,④可以選做。
在此步驟中,教師起指導(dǎo)作用,指引實驗進行的方向,具體的改進方案、實施方法都需要學(xué)生自行完成。學(xué)生是在教師主導(dǎo)下進行自主學(xué)習(xí),能夠培養(yǎng)學(xué)生的創(chuàng)新能力和實踐能力。教師指導(dǎo)部分在課堂完成,學(xué)生實現(xiàn)部分在課后完成。
步驟6:撰寫實驗報告。完成上述實踐步驟后,學(xué)生需按照科技論文格式撰寫實驗報告,提高科研素養(yǎng)。此步驟在課后完成。
步驟7:考核方式。采用小組答辯的方式,教師和其他組別人員進行提問,此種方式能有效避免抄襲或同組組員的依賴思想,能夠較真實反映出學(xué)生的知識水平。原型算法改進部分允許學(xué)生失敗,應(yīng)重點考查算法的改進思路[11-12]。
兩年的教學(xué)實踐表明,學(xué)生能夠通過課前微課教學(xué)掌握科技文獻的檢索方法和閱讀方法,能夠理解并實現(xiàn)圖像修復(fù)原型算法,能在課后通過查閱資料、討論來完成對算法的改進分析。評教結(jié)果顯示,學(xué)生對此種實驗教學(xué)過程的認可度較高。
該綜合性實驗教學(xué)以切實提高學(xué)生的實踐能力為設(shè)計原則,面向具備相關(guān)知識的高年級本科生開設(shè)。教學(xué)內(nèi)容和步驟與理論課程緊密聯(lián)系,又有一定拔高,能培養(yǎng)學(xué)生的文獻檢索能力、理論聯(lián)系實踐的能力和自主學(xué)習(xí)能力。