


摘 要: 針對現有可視化教學演示系統底層代碼已經被封裝好、不適合算法演示等不足,基于VC和Open-CV,引入一種可在效果圖像、算法和關鍵代碼三個層次實現可視化的教學模式,包括PPT圖片或動畫演示、驗證深化演示、引導驗證演示三個子模式,能滿足演示、修改、鉆研等不同層次的需要,可以提高學生對“數字圖像處理”課程知識的學習興趣。
關鍵詞: 數字圖像處理 可視化教學模式 教學有效性
1.引言
2009年,諾貝爾物理學獎頒給了Willard S.Boyle和George E.Smith,他們研究的電荷耦合元件(CCD)推動了數字影像技術的飛速發展,為數字圖像處理技術的進一步發展鋪平了道路,當前,數字圖像處理技術已廣泛應用于軍事、工業、農業及人們的日常生活等各個領域中,“數字圖像處理”課程也因此成為電子信息類專業學生必修的課程之一。數字圖像處理綜合性非常強,涉及光學、計算機科學、電子科學、信息科學、模式識別和人工智能等學科專業知識,使教與學都存在一定難度。“可視化教學”是減輕這種難度的有效方法,張智商[1]對數字圖像處理技術的可視化做了系統的研究,給出了相應的演示系統。賈永紅,李樹濤[2,3]等從不同側面對可視化教學給出了詮釋。這些研究成果極大地豐富了數字圖像處理的教學方法,不過,由于它們基于Matlab,而Matlab底層代碼已經被封裝好不對用戶開放,不適合算法演示,所以,在這種環境下嘗試一些新的算法比較困難。針對這種情況,通過在教學實踐中不斷地摸索,本文基于VC和Open-CV,引入了一種可在效果圖像、算法和關鍵代碼三個層次實現可視化的教學模式。
2.可視化教學模式的構建
此處述及的可視化教學模式構建分為三個基本步驟:教學內容的取舍;教學內容的銜接過渡;可視化教學模式的實現。
第一步,教學內容的取舍。數字圖像處理課程綜合性很強,覆蓋面很寬,且隨著科學技術,尤其是計算機技術日新月異的發展,數字圖像處理領域更有效、更實用的新方法和新手段不斷產生,課程內容有持續增勢。要使可視化教學有更好的效果,就必須先對教學內容進行取舍。我們取舍的原則是:重基礎,兼顧先進,關注實用。以目前數字圖像處理領域的重要內容為課程的基本教學內容,使教學內容具有系統性和適用性,并保持先進性。比如,保留了狹義圖像處理中影像灰度直方圖的有關概念、性質及其應用,圖像的空間域、頻率域增強與復原,廣義圖像處理中邊緣檢測、區域分割、灰度共生矩陣分析法和圖像的模板匹配等內容;增添了比較新穎而實用的方法和前沿知識,如分形特征提取、多分辨率分析法等內容。受學時的限制,有些新穎的、難以理解的理論如小波分析、馬爾科夫隨機場和神經網絡等內容,則作為選學內容供學生自學。在教學過程中,要注重向學生介紹最新的、前沿性的學科知識,尤其是一些實用價值高的新成果,潛移默化地讓學生自動關注,提升學習興趣。
第二步,教學內容的銜接過渡。數字圖像處理課程包含的內容繁多,如圖像增強、圖像分割及邊緣檢測、圖像的幾何變換、頻域變換、數學形態學處理、彩色圖像處理、圖像編碼、圖像恢復等,這些內容之間既有著內在的相關性,又有著相對獨立性。為讓學生能從已知到未知、由淺到深地學好本門課程,需對經過第一步取舍后的內容做出從深入到細節的銜接編排,讓相對獨立的內容系統化,有序化,消除其中的跳躍性。內容編排的總體原則是:從圖像處理到圖像分析;從灰度圖像到彩色圖像。例如,可以從較直觀簡單的灰度圖像幾何變換入手,進入到仍有直觀性的邊緣提取,在學生對圖像處理有些感覺后,再進入到相對抽象一些的頻率變換。
第三步,可視化教學模式的實現。一方面是前期預備,教學是經過教與學雙方努力才會有結果的活動,可視化教學模式的有效實現離不開學生的參與,所以,我們在前期預備課程中就給學生開設了C、C++等課程,讓學生熟悉VC編程環境,同時,在數字圖像處理課程開始前,給學生介紹了Open-CV,讓學生熟悉可視化教學涉及的編程,能從代碼級動手參與。推測或在教學過程中發現學生會出現理解困難的概念點、算法點,強化這些點的可視化教學。另一方面是可視化教學模式的教學形式選擇。鑒于數字圖像處理的綜合性和學生實際知識面相對不足的現狀,在實際教學中我們發現,過長的演示或過長的PPT講解都可能使學生陷入局外人狀態,學生看、聽得熱鬧卻一無所獲。為避免這種情況的出現,我們將講解PPT和基于VC的演示相結合,形成一種三層的、立體式的可視化教學模式,讓學生的思路最大限度地流暢。這三層分別是:效果圖像、相應算法、關鍵代碼。在具體演示中,為讓學生最大限度地參與進來,我們還引入了更改機制,即學生可在課堂內外或實驗中更改代碼或參數,觀察結果,從結果的差異中消化所學知識。此外,在PPT中我們引入了大量的動畫,以減少教學過程中三個可視層面間的切換。整體而言,可視化教學模式的設計目標是:最大限度地實現講解和演示的流暢交互及學生和老師的流暢交互。
3.可視化教學實踐
不同于本文引用的參考文獻中提到的獨立于PPT、內容完全集成的演示系統,可視學習模式沒有獨立的演示系統,而是將知識講解、實例演示等交融在一起。具體做法是:緊貼大綱規定的教學內容,根據概念、算法的理解難度,有針對性地開發相應的課件,然后以課件為線,以各個概念、算法的演示為點,點線相連,形成一個有機的整體。這種形式至少可提供兩種便利,一是內容和演示之間可以切換流暢,二是由于各概念、算法的演示程序是獨立的,代碼量少,有利于學生在課堂內外直接修改、觀察、分析算法。從具體實踐角度看,可視化教學模式可分成三個子模式:PPT圖片或動畫演示子模式;驗證深化演示子模式;引導、驗證演示子模式。
圖1是PPT圖片演示子模式的一個頁面。它的前一個頁面講解了空間分辨率及空間分辨率變化對圖像的影響,本頁面給出了實例。其中圖(a)給出了一幅灰度級分辨率為256,空間分辨率為512×512的圖像。圖(b)、(c)、(d)、(e)及(f)的灰度級分辨率與圖(a)相同(為256),但空間分辨率依次降低為256×256、128×128、64×64、32×32和16×16。此種子模式通常用于不涉及算法或算法極度簡單的場合。
第二種子模式,深化演示子模式。此種子模式用于算法有一定難度但不是很難的場合,實施具體過程是:算法講解;驗證演示;關鍵代碼演示;算法執行過程演示。圖2為用Canny算子提取邊緣的驗證演示示例。課堂內將先講解Canny算子提取邊緣的原理及上下限變化會帶來的影響,接著進行演示,實際給出針對不同上下限得到的邊緣結果。
限于篇幅,圖2僅給出三例,在實際演示中,可給出任意的上下限組合,演示相應的邊緣結果。結果演示完畢后,接下來顯示相應的關鍵代碼,此例的關鍵代碼如下:
cvCanny(gray,edge,LOW,HIGH,3);
其中的參數分別是源圖、目標圖、下限、上限和孔徑,對應前面已講解過的算法。關鍵代碼講透后,控制程序的執行速度,可視化地執行算法,進一步深入分析。在實際教學中,由于時間關系,可視化執行算法可放在課外或實驗時由同學們自行操作。至此,算法結果、算法、關鍵代碼的三層可視化演示完畢。
第三種子模式,引導、驗證演示子模式。此種子模式用于算法難度較高的場合,實施具體過程是:實例演示;算法講解;驗證演示;關鍵代碼演示;算法執行過程演示。相對于第二種子模式,它多出了一個實例演示,這種實例演示一般情況下和后面的驗證演示不同,通常是跟蹤圖像處理的最新發展水平的。在實際教學中我們發現,實例演示能讓學生形成感性認識,讓學生在一定程度上興奮起來,緩解他們聽后續的算法講解時的畏難情緒。圖3是一組演示實例。其中的第一個子圖為人工分割結果,后三個子圖分別是當前流行的三種圖像分割算法的結果。
前述各演示程序均針對具體概念或算法,雖然演示集到了PPT中,但它們對應的源程序均相對獨立,有著良好的開放性,學生在聽完課后,可以隨意修改代碼,記錄算法運行時的各類參數,加深記憶課堂知識。
4.結語
本文以提升學生的關注度為出發點,結合《數字圖像處理》課程的特點,給出了一種三層可視化教學模式。實踐證明,該模式強化了課堂中教與學的交互,滿足了不同基礎層次的學生的要求,通過該模式,學生能知其然且知其所以然,學得有滋有味。
參考文獻:
[1]張智高.數字圖像處理演示系統的設計與實現[D].吉林大學,2012.
[2]賈永紅.“數字圖像處理”課程的建設與教學改革[J].高等理科教育,2007,71(1):96-99.
[3]李樹濤.基于理論—設計—實踐的數字圖像處理研究性教學模式研究[J].高等理科教育,2009,87(5):58-61.
資助項目:邵陽學院教改項目(2013JG28)。