張慶豐
[摘要]數字圖像處理是一門重要的專業課程,該課程涉及較多的數學知識,如何面向數學基礎不足的學生教好這門課是一個重要的問題。作者提出適當減少教學中使用的數學、使用課堂定制的演示軟件、增強項目開發環節的教學等措施,來提高數字圖像處理課程的教學效果。實踐表明這些措施確實有效。
[關鍵詞]教學方法數字圖像處理數學基礎項目教學
[中圖分類號]G642.423[文獻標識碼]A[文章編號]2095-3437(2014)02-0075-03
數字圖像處理課程是一門重要的計算機專業選修課,和數學的聯系非常緊密,要求也比較高,從傳統的教材中就可以看到這一點。但是選修該課程的學生很多,有相當一部分學生來自于非計算機專業。另外作者所在學校有不少的外招生,他們對這個課程也比較感興趣,愿意選修。從整體看,一班學生中數學基礎不夠好的人數超過一半。
課程之初的調查還發現七成以上的學生不愿意涉及深入的數學公式,同時,多數學生愿意在這個課程中學習關于圖像處理的程序開發技術。基于這樣的基礎背景和興趣取向,作者在該課程的教學中除了采用一些常規教學方法之外,還注意了以下三個方面的工作:第一,課程中減少數學的使用,盡量不用高深的數學知識,使用簡單的數學來解釋數字圖像處理中的問題。第二,在教學中定制開發了一些演示軟件,增強學生對算法的理解和感性認識。第三,增強項目開發環節的教學,培養學生的動手能力。
下面詳細談談如何在這三個方面加強教學引導,促進學生對知識的學習。
一、課程中盡量減少復雜數學公式的使用
眾所周知,數字圖像處理和數學關系密切,需要用到不少高深的數學知識。如果將涉及深入數學知識的內容全部刪減,則大大減少了數字圖像處理課程的內容,降低了課程的專業價值。如何使用較簡單的數學知識來講授課程,同時保持課程的專業價值,這是一個需要認真考慮的問題。
首先,要對講授的知識內容進行認真規劃,原則是減少數學知識的使用,同時也讓同學領略數字圖像處理的專業含義。規劃后的主要教學內容包括:數字圖像處理中的一些基本概念、灰度變換、圖像的頻域變換、空域濾波、頻域濾波、腐蝕與膨脹、圖像恢復、圖像編碼、邊緣檢測、色彩表達等知識點。應該說上面的內容和一般的數字圖像處理課程內容并無很大的不同。主要的不同在于減少了一些需要較多數學基礎的內容,如:KL變換、小波變換、維納濾波的原理、信息熵的原理等內容。一般來說,這些內容的數學推導是困難的,因此,課程進行了削減。但是對于傅里葉變換、離散余弦變換、逆濾波、Hough變換、算術編碼等內容,還是保留了下來,這些內容雖然數學偏難,但是專業意味濃厚,因此,需要講授。
其次,則是很重要的一點:在教學中減少高深數學知識的使用,用簡單直觀的方法來說明數學算式的原因和含義。下面以傅里葉變換和邊緣檢測為例子來說明如何減少數學知識的使用。
(一)利用少量的數學來解釋傅里葉變換
在數字圖像處理中,傅里葉變換是數學公式較多,學起來最難的內容之一。考慮到傅里葉變換的重要性,課程必須講解。針對此內容,作者按照下面的教學順序來進行。
1.簡單的傅里葉變換的背景知識介紹,以引起學生的興趣。傅里葉是一位法國數學家和物理學家(1768-1830),他對熱傳遞很感興趣,于1807年在法國科學學會上發表了一篇論文,應用正弦曲線來描述溫度分布,論文里有個在當時有爭議的說法:任何連續周期信號可以由一組適當的正弦曲線組合而成。當時論文審查者中有兩位著名的數學家拉格朗日(1736-1813)和拉普拉斯(1749-1827),當拉普拉斯和其他審查者投票通過,并要發表這個論文時,拉格朗日堅決反對,他認為傅里葉的方法無法表示帶有棱角的信號。法國科學學會屈服于拉格朗日的威望,拒絕了傅里葉的工作。直到拉格朗日死后15年這個論文才被發表出來。
2.寫出一維傅里葉級數。即明確告訴學生,任何周期函數可以被一系列三角函數表達出來,給出相關公式,并給出一個簡單的例子。
3.這個思想被直接擴展到兩維。也就是說,一個圖像可以被認為是一個二維函數,它應該可以用一系列褶皺函數來表達出來,例如類似圖1的一系列褶皺函數。
■
圖1一個二維褶皺函數的例子
4.每個褶皺函數可以用三個參數來定義:每個褶皺水平方向的距離、垂直方向的距離以及褶皺的高度。
5.如果規定每個皺褶之間的水平距離和垂直距離是1/i和1/j。也就是說褶皺隨著i和j的變化而變化,i、j越大,褶皺越窄。這樣褶皺的類型和數目都是固定的,只要給出這些褶皺的高度,就完全固定了這些褶皺。
6.所有這些褶皺疊加在一起可以逼近一個真實的圖像的灰度,當然疊加褶皺的參數應適當地給出。
通過這種類比,我們直接給出圖像的傅里葉變換表達,以及逆變換的表達式。
上面的講解,沒有從數學的角度嚴謹地證明或者說明傅里葉變換,但是形象地給出了傅里葉變換的一種解釋。這種解釋學生容易接受、理解,同時沒有大的偏差。避開了繁瑣的數學推導和證明。
當然對于數學基礎較好的同學,我們也給出了詳盡的資料,讓同學們課下研讀。
(二)邊緣檢測中用直觀替代數學,逐步引導學生創新思考
在邊緣檢測中少不了要用到一階偏微分、二階偏微分這樣的表達,并以此來講授像素點和邊緣關系的判斷,有些學生覺得不直觀。在講課中,作者直接用直觀的例子來講述如何判斷邊緣的像素點,避開了數學表達。
圖2介紹邊緣檢測方法的例子。(a)表達了某一行圖像在x方向的灰度變化情況,(b)反映了像素灰度在該方向的一階差分值,(c)表達了像素灰度在該方向的二階差分值。
為了介紹邊緣檢測的方法是怎么樣的,作者使用了如圖2所示的例子。如圖2(a)所示,某一行圖像在x方向的一些像素點,它們的灰度分別是30、30、30、30、30、30、120、210、210、210、210。作者利用這張圖首先給學生介紹了差分的概念,其計算非常簡單,就是像素灰度之間的差值。
這樣對每個像素點在x方向做一階差分,就可以得到0、0、0、0、0、90、90、0、0、0、0,即如圖2(b)所示。然后在此基礎之上,再做一階差分,可以得到各個像素的二階差分值為:0、0、0、0、90、0、90、0、0、0,即如圖2(c)所示。
從圖2(b)中可以看邊緣處的像素在一階差分處取極值。在非邊緣處趨向于0。因此,可以直觀得到一個簡單的結論:一階差分為極值的像素點就是邊緣的點,或者接近邊緣的點。
從圖2(c)中也可以看出圈起來的圓點對應的就是邊緣像素。因此,直觀得到結果,二階差分的零點就是圖像的邊緣,同時兩邊的像素的差分符號有改變。
利用上面的圖2(b)和圖2(c)很容易理解如何通過一階差分或者二階差分來判斷邊界像素。
實際計算中可能是兩方面的差分都要進行計算,這種計算一般使用線性濾波器來實現,由此可以給學生引出梯度算子的濾波模板。
事實上,在這里還可以讓學生注意觀察圖2(b),引導學生得出一階差分能起到增強邊緣顯示的效應,而其它區域的圖像像素的一階差分趨向于0,這些像素被弱化。
基于這個結論,可以讓學生進一步討論,能否利用這種特點對圖像進行灰度增強處理?該如何做才合適?
學生比較容易想到將邊緣增強的效果疊加到原圖上就有可能在原圖效果的基礎上突出邊緣顯示。經過討論和完善,可以得到下面的圖像增強方法。如果原圖是F,邊緣圖是E,那么增強的圖則為:F+E/k。其中k是標量系數,適當選取則可以增強圖像效果。
通過上面的例子,一方面直觀介紹邊緣像素的檢測方法,還啟發了學生進一步思考圖像增強的方法。
二、借助定制軟件增強學生理論的掌握
在數字圖像處理的教學中,通過定制的教學軟件能夠增強學生對理論的把握和處理效果的理解。這一點為不少教師認同。本課程教學中作者也開發了一些定制軟件來動態地展示圖像處理的效果。
以頻域濾波為例,課堂上使用了如圖3所示的一個演示軟件。這個軟件演示幾種主要的低通濾波、高通濾波和帶通濾波的圖像處理效果。這種演示軟件相比于靜態圖像展示更有利于學生的直觀體驗和動態對比處理效果。
比如:在講巴特沃斯帶通濾波的時候,學生可以任意選擇要處理的圖像,然后拖動圖3中的滑動條來動態調整帶通濾波的上下截止頻率以及巴特沃斯濾波的階數,處理后的圖像也同時跟隨變化,動態顯示出來。這樣學生對參數如何影響處理結果就有了動態的對比和感受。這一點是靜止圖像的展示所無法達到的,這也是定制軟件演示所具有的優勢。另外需要說明的是,因為定制軟件是利用Matlab開發的,所以其過程并不很復雜,相對容易。
■
圖3 頻域濾波算法的演示軟件
該軟件提供了各種常用頻域濾波的效果演示,同時對各算法的參數可以進行動態調整,及時顯示調整的效果。給學生帶來動態對比的效果體驗。
三、增加項目開發的教學環節
數字圖像處理課程是一個實踐性很強的課程,不少教師對項目開發在教學中的使用進行了有益的探索。本課程中也引入了項目開發的教學環節,讓學生在Matlab環境中對給定的項目進行了開發。在整個項目開發的實施中,除了常見的措施外,我們還注意了以下兩點:
(一)項目題目的精選和設計
首先,項目的設計要有綜合性,能覆蓋大多數的教學內容;其次,項目不能太多,否則學生時間不足。因此,在整個學期中只設計了了兩個項目讓學生來完成。一個是車牌識別系統的開發,一個是圖像壓縮系統的開發。之所以使用這兩個項目由同學來練習,是因為這兩個項目基本覆蓋了圖像處理課程中的所有技術,同時它們的規模適中,學生可以不用太多的時間完成。
(二)加強項目開發中的檢查和督促
傳統的小組項目開發模式有許多優點,但是也存在一個問題:部分同學不積極參與,工作由小組內他人代勞。為了調動同學積極性,對每個項目進行一次課堂上的書面考查,這種考查非常簡短,只要20分鐘。考查內容主要包括項目計劃、進展情況、相關技術、完成情況、個人所發揮的作用等。這種考查可以督促每個同學在項目中發揮作用。
以上兩個方面的細致處理,增強了項目開發教學環節的效能,促進了學生動手能力的培養,收到了良好的效果。
四、總結
數字圖像處理是一門數學要求較高,實踐要求較強的課程,面對弱數學基礎的學生,數學上需要降低難度,編程上需要著重鍛煉。作者在教學中采用了用直觀替代數學,用動態演示增強直觀體驗,用項目開發引領學生編程實踐的培養等措施,這些方法和措施的使用確實為弱基礎的同學帶來較好的教學效果。我們采用這些措施已有四年的歷史,教學實踐表明,這種措施是合理有效的,增強了同學們的興趣和信心,提高了同學的圖像處理編程能力,同時較好地掌握了圖像處理知識。
[參考文獻]
[1] 章毓晉.圖像工程(上冊):圖像處理[M].北京:清華大學出版社,2005.
[2] Gonzalez.R.C.,Woods.R.E..數字圖像處理(第二版)(英文版)[M].北京:電子工業出版社,2007.
[3]姚錦繡,鄭勝林,潘寶昌.MATLAB應用在圖像處理教學中的探討[J].廣東工業大學學報(社會科學版),2004,(4).
[4]張國琴,吳周橋.MATLAB在數字圖像處理教學中的應用[J].武漢科技學院學報,2005,18(10).
[5]吳娛,平子良.獨立學院的數字圖像處理教學改革的探索[J].大學教育,2013,(2).
[6]金煒,周亞訓.“數字圖像處理”課程項目驅動教學模式的實踐[J].中國電力教育,2010,(7).
[7]郭艷光,趙希武.在高等計算機基礎教學中實施項目教學法的探索[J].計算機教育,2008,(6).
[責任編輯:左蕓]