李 宏,宋喬喬,孔德超,牛麗娜
(中南大學(xué)信息科學(xué)與工程學(xué)院,湖南長沙410083)
隨著自主學(xué)習(xí)教育理念的深入,大學(xué)越來越注重實踐教育。綜合性實驗教學(xué)體系正在逐步形成。目前,很多高校都開設(shè)了融合多課程的綜合性實踐課程[1,2]。
我校自08年啟用新的教學(xué)培養(yǎng)方案,增設(shè)課外自主選修學(xué)分,學(xué)生可通過發(fā)表論文、參加競賽和選修課外研修課程等方式獲得學(xué)分,以此培養(yǎng)學(xué)生自主學(xué)習(xí)和實踐的能力。為此,我們開設(shè)了一門課外的研修綜合性實驗課程,為部分學(xué)生提供鍛煉和個性化培養(yǎng)的平臺。實驗課程將DSP、數(shù)字圖像處理和模式識別3門課程相結(jié)合[3],面向工程實例,以車牌識別系統(tǒng)LPR(License Plate Recongnition)的開發(fā)作為整個實驗的內(nèi)容。在整個實驗課程結(jié)束后,學(xué)生要運用數(shù)字圖像處理和模式識別知識,完成一個基于DSP的車牌識別原型系統(tǒng)。與傳統(tǒng)的綜合性實驗相比,這種面向?qū)嶋H應(yīng)用的教學(xué)方法,不但增加了學(xué)生對課程的興趣,而且使學(xué)生能夠應(yīng)用DSP進(jìn)行人工智能領(lǐng)域的綜合應(yīng)用開發(fā),提高學(xué)生從事實際工作的能力,真正達(dá)到學(xué)以致用的教學(xué)效果[4]。
車牌識別系統(tǒng)的工作方式是:攝像機獲取視頻信號,在得到一幀視頻圖像數(shù)據(jù)并存入SDRAM后,DSP開始對數(shù)據(jù)進(jìn)行處理。當(dāng)檢測到車牌位置后,從車牌圖像中提取字符并進(jìn)行識別,結(jié)果通過RS232傳給PC機。
車牌識別系統(tǒng)一般可順序分為車輛圖像獲取、車牌定位和字符識別三大部分。其中車牌定位又分為圖像預(yù)處理、車牌定位、車牌校正和車牌字符分割等步驟;字符識別又包括特征提取和字符識別等。其流程如圖1所示。
圖1 車牌識別系統(tǒng)流程圖
車牌識別系統(tǒng)的工作原理是通過攝像頭采集車牌圖像,經(jīng)過平滑、二值化、邊緣檢測和中值濾波完成圖像預(yù)處理;通過定位算法確定車牌在整幅圖像中的位置,若車牌圖像傾斜,則進(jìn)行校正;然后是字符分割和歸一化處理;分割完成后,提取字符的特征值,通過神經(jīng)網(wǎng)絡(luò)等方法進(jìn)行識別,最后把識別結(jié)果通過串口發(fā)給PC機。
實驗課程的設(shè)計就是以上述車牌識別系統(tǒng)的原理和流程為基礎(chǔ)的。
我校DSP實驗課程采用基于DM642芯片的試驗箱作為硬件平臺。該試驗箱具有出色的對外接口能力,布局合理,實用性強,提供了豐富的教學(xué)實驗和底層硬件測試程序和算法例程,兼顧了教學(xué)和科研。其結(jié)構(gòu)如圖2所示。
在此平臺中,車牌識別系統(tǒng)實驗分為采集與顯示、車牌定位與分割和字符識別等三個部分。其中,采集與顯示部分要求學(xué)生掌握VP口的開關(guān)設(shè)置、IIC總線的控制以及EDMA模塊的編程控制;車牌定位與分割部分促進(jìn)學(xué)生對DSP的外部存儲器接口EMIF模塊編程和軟件移植的理解;字符識別部分考察學(xué)生程序優(yōu)化和UART模塊編程的能力。通過此組實驗,學(xué)生不但能夠掌握DSP各模塊實際的開發(fā)方法,而且能夠?qū)⒏髂K結(jié)合,系統(tǒng)地完成一個具有實際意義的工程項目。
圖2 試驗箱結(jié)構(gòu)框圖
圖像的采集與顯示實驗[5]難度較大。首先,需要使用芯片支持庫CSL(Chip Support Library)提供的控制外設(shè)的C語言接口和所有模塊函數(shù),完成對DSP系統(tǒng)的硬件資源管理,包括硬件設(shè)備靜態(tài)初始化及動態(tài)應(yīng)用,達(dá)到對各模塊控制的目的;圖像采集由VP口實現(xiàn),通過將DM642上的VP1口配置成單通道視頻輸入口,使8位的IT U-R BT.656數(shù)據(jù)流進(jìn)入VP1口,經(jīng)BT.656捕獲通道進(jìn)入視頻緩沖區(qū);當(dāng)圖像經(jīng)過攝像頭進(jìn)入VP口后,通過IIC總線來配置視頻解碼器讀寫操作的初始化,將模擬信號轉(zhuǎn)換為數(shù)字信號;然后,為了實現(xiàn)片內(nèi)存儲器、片內(nèi)外設(shè)以及外部存儲空間之間的數(shù)據(jù)傳遞,將采集的圖像暫時存放,用于對EDMA進(jìn)行配置和初始化等,實現(xiàn)視頻緩沖區(qū)和片內(nèi)存儲器之間的數(shù)據(jù)傳遞;最后,將VP2配置成單通道視頻輸出口,編程控制顯示功能的開關(guān),并將VP2作為Vout口與液晶顯示屏相連,才能在顯示屏上直觀地看到圖像采集、車牌定位和字符分割的效果。
如此眾多模塊合作才能實現(xiàn)視頻采集與回放的功能,難度較大。因此,我們把這部分實驗設(shè)計成糾錯與改錯的形式,為學(xué)生提供完整的圖像采集與回放源代碼。我們在各模塊程序的關(guān)鍵語句上有意設(shè)置參數(shù)錯誤,學(xué)生可以通過自學(xué),發(fā)現(xiàn)和修改這些錯誤,并調(diào)試程序,最終實現(xiàn)實時采集與回放。這樣的設(shè)計有助于學(xué)生有選擇性地掌握重點,更快地進(jìn)入角色。例如IIC總線的設(shè)置中,我們將下段程序提供給學(xué)生,但各別語句的參數(shù)設(shè)置是錯誤的,學(xué)生可通過學(xué)習(xí)CSL進(jìn)行修改,快速掌握DSP中CSL的使用。
在采集與顯示功能實現(xiàn)的基礎(chǔ)上,車牌定位和分割實驗的重點放在軟件移植和編程方法上。圖像預(yù)處理、車牌定位、字符分割和字符識別等眾多的源代碼涉及了程序和海量數(shù)據(jù)的存儲問題,這里用到了EMIF內(nèi)存擴展模塊。EMIF在內(nèi)存中的地址映射分為4個可獨立尋址空間CE[3:0],通過初始化將CE0空間配置成64位用于SDRAM內(nèi)存的映射,將CE1空間配置成8位用于Flash和UART的映射。其中,SDRAM用來存儲海量數(shù)據(jù),并通過SDRAM控制命令對存儲器進(jìn)行讀寫控制,使用Flash存儲器保存程序代碼和一些掉電后仍需保存的數(shù)據(jù),并通過對CPLD編程實現(xiàn)對Flash各頁的操作。
這部分實驗通過一個基于DSP的圖像閾值分割原型系統(tǒng)的實例來進(jìn)行。我們首先給出詳細(xì)的實驗步驟、調(diào)試方法和算法源代碼,學(xué)生運用上述的采集與顯示實驗成果,為其添加其它功能和實現(xiàn)。然后,基于VC的平滑處理、邊緣檢測和中值濾波等數(shù)字圖像處理方法的源代碼,學(xué)生可以根據(jù)DSP的C語言編程方法,完成程序從VC到DSP的移植,有能力的學(xué)生還可對算法進(jìn)行添加、刪減和改進(jìn),以提高車牌識別的正確率;最后要求學(xué)生實現(xiàn)車牌定位功能,即能夠在液晶屏上看到定位效果,效果的好壞將成為成績評定的標(biāo)準(zhǔn)。
學(xué)生在這部分實驗中首先添加特征提取和識別的程序,完成UART模塊的傳輸功能;接著利用圖像視頻處理庫對整個原型系統(tǒng)的程序進(jìn)行優(yōu)化,提高程序的運行速度和整個工程的效率。
UART作為DM642與PC機的通信接口部分,與DM642之間通過8位總線傳輸數(shù)據(jù),通過編程將UART配置成RS232標(biāo)準(zhǔn),實現(xiàn)將識別結(jié)果發(fā)送給PC機的功能。實驗提供UART的硬件調(diào)試程序和串口通信軟件,學(xué)生可以通過例程添加UART配置程序,學(xué)會使用串口通信軟件,最終將識別結(jié)果傳送到PC機上,并在串口通信軟件中顯示識別結(jié)果,完成整個基于DSP的車牌識別原型系統(tǒng);實驗還提供100個測試樣本,學(xué)生對完成的系統(tǒng)進(jìn)行測試,并以識別的正確率作為成績的評定標(biāo)準(zhǔn)。
TI公司提供了一系列針對DM642芯片進(jìn)行過優(yōu)化的圖像視頻處理庫IMGLIB,庫函數(shù)都是一些常用的圖像視頻處理算法,可以在C代碼中直接調(diào)用,我們可以借用這些函數(shù),得到比用標(biāo)準(zhǔn)C寫成的相同算法代碼更快的速度。學(xué)生可根據(jù)自身條件選擇完成程序優(yōu)化,并將此作為成績評定的標(biāo)準(zhǔn)。
本實驗課程設(shè)置2學(xué)分32學(xué)時,采用開放式教學(xué)方法[6],網(wǎng)絡(luò)化管理模式,實現(xiàn)網(wǎng)絡(luò)選課、預(yù)約與評分。進(jìn)入實驗室前,學(xué)生必須參加資格考核,對10個基本實驗進(jìn)行調(diào)試,完成6個以上者才能開始參加車牌識別系統(tǒng)的開發(fā)。學(xué)生在修完實驗課程后,經(jīng)由網(wǎng)絡(luò)提交審核申請和實驗報告,成績評定合格后將得到學(xué)分。
課程的成績評定的標(biāo)準(zhǔn)是量化的,即按照學(xué)生是否完成對應(yīng)的實驗項目、是否達(dá)到要求的識別率來評判學(xué)生成績的等級,這種利用量化的標(biāo)準(zhǔn)給學(xué)生打分的方法更加客觀,更好操作。
我校部分05級本科生已經(jīng)通過選修此門綜合性實驗課程獲得了課外研修學(xué)分。實踐證明,該實驗課程取得了良好的教學(xué)效果,得到了學(xué)生的肯定。課外研修綜合實驗課程是目前教學(xué)改革的重要課題,本文提出的課題為高校實驗教學(xué)改革的實施提供了一條途徑。這項大膽嘗試,對學(xué)生自主學(xué)習(xí)能力的提高有推進(jìn)作用。
[1] 莊乾起.開發(fā)多課程綜合實驗設(shè)備加強創(chuàng)新能力培養(yǎng)[J].南京:電氣電子教學(xué)學(xué)報,2002,24(2)
[2] 黃雪梅.機電設(shè)備及自動化系統(tǒng)綜合性實踐課程研究[J].武漢:理工高教研究,2008,27(4)
[3] 于復(fù)生,高翔,李凡,冰江濤.基于單片機的機電綜合實驗系統(tǒng)的研究與實現(xiàn)[J].南京:電氣電子教學(xué)學(xué)報,2003,25(6)
[4] 全吉男.通過改造實驗室設(shè)備培養(yǎng)學(xué)生綜合能力[J].上海:實驗室研究與探索,1998,17(5)
[5] 張煒,胡云龍,吳鎮(zhèn)揚.DM 642的性能及其在視頻處理實驗中的應(yīng)用[J].南京:電氣電子教學(xué)學(xué)報,2005,27(5)
[6] 許建華.應(yīng)將單片機引入開放性實驗[J].南京:電氣電子教學(xué)學(xué)報,2001,23(6)