摘要:為了實(shí)現(xiàn)激光筆與大屏幕的互動(dòng),基于常用的OV9650攝像頭模塊和315 MHz無(wú)線收發(fā)模塊,采用了一種FPGA架構(gòu)實(shí)現(xiàn)激光筆與大屏幕互動(dòng)的設(shè)計(jì)方案。OV9650攝像頭模塊的采集信號(hào)由FPGA進(jìn)行緩存和處理,由它計(jì)算出激光點(diǎn)的坐標(biāo),之后計(jì)算機(jī)接收激光點(diǎn)的坐標(biāo)及激光筆發(fā)出的無(wú)線控制信號(hào),通過(guò)授課主機(jī)端的軟件實(shí)現(xiàn)激光筆與大屏幕的互動(dòng)。目前該系統(tǒng)已應(yīng)用于上海交通大學(xué)部分智能教室中,效果明顯。
關(guān)鍵詞:激光筆互動(dòng);亮點(diǎn)識(shí)別;FPGA;OV9650;無(wú)線收發(fā)
0 引言
在多媒體教學(xué)的普及過(guò)程中,普遍存在如何引進(jìn)現(xiàn)代化教學(xué)設(shè)備與教師課堂教學(xué)習(xí)慣有機(jī)結(jié)合的問(wèn)題。目前教師在做教學(xué)演示的過(guò)程中,往往需要守在計(jì)算機(jī)旁邊,一邊操作計(jì)算機(jī)一邊進(jìn)行講解,需要重點(diǎn)強(qiáng)調(diào)的地方,還要不時(shí)地站起身來(lái),指指點(diǎn)點(diǎn),本來(lái)提供方便的多媒體演示設(shè)備,卻把教師豐富的課堂語(yǔ)言都束縛了。為了解決這個(gè)問(wèn)題,本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于FPGA的激光筆輔助教學(xué)系統(tǒng),以便讓教師可以通過(guò)激光筆在遠(yuǎn)處與計(jì)算機(jī)系統(tǒng)進(jìn)行交互。
基于FPGA的激光筆互動(dòng)教學(xué)系統(tǒng)的實(shí)現(xiàn)原理是:首先通過(guò)OV9650攝像頭模塊拍攝到投影屏,并在攝像頭捕捉圖中檢測(cè)到激光點(diǎn)的位置信息后,通過(guò)跟蹤來(lái)分析和識(shí)別激光點(diǎn)的軌跡,同時(shí)通過(guò)激光筆上的按鍵信息來(lái)共同實(shí)現(xiàn)激光筆與遠(yuǎn)程計(jì)算機(jī)的交互。在激光點(diǎn)的檢測(cè)方法中,用到了不同的線索,如激光點(diǎn)的運(yùn)動(dòng)特征和模式特征以及顏色特征等。由于激光點(diǎn)的區(qū)域很小,模式特征不是很明顯,易受到噪聲的干擾,而激光點(diǎn)顏色特征不同的使用環(huán)境中可以有較大的變化,因此單純使用顏色特征也不是很好的辦法。文獻(xiàn)提出將激光點(diǎn)的顏色特征、運(yùn)動(dòng)信息和形狀特征這幾種線索融合起來(lái)進(jìn)行激光點(diǎn)的檢測(cè),可使準(zhǔn)確率得到一定的提升,但是仍然存在漏檢和誤判的情況。
該系統(tǒng)通過(guò)濾光片的使用,基本排除了噪聲的干擾,使系統(tǒng)的準(zhǔn)確率得到大大的提升。文獻(xiàn)公開(kāi)了一種激光筆指示與光點(diǎn)識(shí)別方法,利用亮度信息從顯示屏圖像提取紅色激光點(diǎn),亮點(diǎn)識(shí)別原理與本文一致,但是由于使用的是固定槍式攝像頭,故安裝調(diào)試不方便。Cavens等通過(guò)改變硬件方法實(shí)現(xiàn)點(diǎn)擊功能,在普通激光筆上增加了按鍵,接收器根據(jù)按鈕發(fā)射頻段的不同判斷操作類(lèi)型,但是使用起來(lái)效果比較單一。文獻(xiàn)分別使用了不同方法來(lái)實(shí)現(xiàn)激光筆的互動(dòng),但都比較單一,不夠完善。然而在對(duì)激光點(diǎn)的行為進(jìn)行描述上,文獻(xiàn)提到的激光筆互動(dòng)系統(tǒng)使用起來(lái)非常復(fù)雜。本文提出的系統(tǒng)通過(guò)FPGA將攝像頭模塊、亮點(diǎn)識(shí)別算法模塊以及無(wú)線收發(fā)模塊集成在一起,使得系統(tǒng)部署方便,使用更為靈活。
1 系統(tǒng)整體設(shè)計(jì)方案
基于FPGA的激光筆互動(dòng)教學(xué)系統(tǒng)主要是為在智能自然教學(xué)空間中授課的教師提供一種輔助工具,幫助他們?cè)谡n程講義上進(jìn)行各種指示動(dòng)作或軌跡繪制,以及遠(yuǎn)距離進(jìn)行各種操作,從而使教學(xué)過(guò)程更生動(dòng),教師的行動(dòng)更自由。為完成提供交互式教學(xué)場(chǎng)景的任務(wù),系統(tǒng)的總體設(shè)計(jì)遵循方便、實(shí)用、效率的原則,使教師和學(xué)生都感到自然,“黑板”更具有特色。圖1是基于FPGA的激光筆互動(dòng)系統(tǒng)的總體結(jié)構(gòu)框圖,它主要由嵌入式模塊、激光筆、授課主機(jī)和投影屏幕4大部分組成。
教師通過(guò)激光筆這一交互工具,在顯示屏幕上留下光點(diǎn),通過(guò)紅光濾光片及OV9650攝像頭獲取顯示屏幕的信息,并通過(guò)FPGA模塊中的亮點(diǎn)識(shí)別算法獲取視頻圖像每一幀中的光點(diǎn)位置,這樣的坐標(biāo)信息送至授課主機(jī),通過(guò)坐標(biāo)變換將亮點(diǎn)位置變換為自身的屏幕坐標(biāo)位置,并進(jìn)行軌跡繪制、放大鏡操作或鼠標(biāo)操作,結(jié)果通過(guò)投影或VGA線纜連接在顯示屏幕上展示出來(lái)。除此以外,激光筆本身和FPGA模塊通過(guò)無(wú)線連接,F(xiàn)PGA模塊與授課主機(jī)通過(guò)USB線纜連接,利用筆上的按鈕控制整個(gè)系統(tǒng)的啟動(dòng)和中止,以及軌跡繪制、放大鏡操作和鼠標(biāo)操作之間的功能切換。系統(tǒng)邏輯流程如圖2所示。
2 系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)
2.1 無(wú)線發(fā)射激先筆設(shè)計(jì)
無(wú)線發(fā)射激光筆可以產(chǎn)生穩(wěn)定可靠的激光光點(diǎn),另外有5個(gè)功能按鍵分別發(fā)射不同的控制信息。根據(jù)設(shè)計(jì)要求,將激光頭分為按鍵編碼模塊和無(wú)線發(fā)射模塊。設(shè)計(jì)框圖如圖3所示。在此,采用了PT2262/PT2272編解碼芯片,其中PT2262為編碼芯片;PT2272為解碼芯片。基于PT2262的工作方式,設(shè)計(jì)了6按鍵的編碼電路方案,如圖4所示。K0~K5為6個(gè)按鍵,分別對(duì)應(yīng)數(shù)據(jù)位D0~D5。當(dāng)所有按鍵都斷開(kāi)時(shí),晶體管Q1截止,電路中沒(méi)有電流,芯片不工作。當(dāng)6個(gè)按鍵中任意一個(gè)被按下時(shí),R1和按鍵的下拉電阻分壓使得Q1的基極電壓下降,Q1導(dǎo)通,PT2262芯片開(kāi)始工作,指示燈D1工作。此時(shí),除了閉合的按鍵所對(duì)應(yīng)的數(shù)據(jù)位為邏輯高電平之外,其他位為低電平。
無(wú)線發(fā)射模塊的功能是將按鍵信息編碼調(diào)制到高頻載波上并發(fā)送。載波頻率為315 MHz,調(diào)制方式為幅度調(diào)制。發(fā)射后的信號(hào)可由系統(tǒng)的無(wú)線接收模塊進(jìn)行接收并解碼。
2.2 無(wú)線接收模塊
無(wú)線接收模塊用以接收激光筆發(fā)射端的控制信號(hào),它主要包括接收解調(diào)和信號(hào)解碼兩個(gè)部分。為了達(dá)到較高靈敏度的目的,選擇超再生接收作為接收端的接收解調(diào)方案,其電路原理如圖5所示。信號(hào)通過(guò)天線接收,首先經(jīng)過(guò)L2和C23濾出315 MHz附近的頻段信號(hào)。Q1為第一極放大,放大特性通過(guò)R18和R17施加偏置電壓控制;Q2為超再生混頻管,其本身通過(guò)C15,C16和L1構(gòu)成的選頻網(wǎng)絡(luò)產(chǎn)生315 MHz附近的本征振蕩,然后與前級(jí)放大后的信號(hào)進(jìn)行混頻。如果本征頻率與315 MHz足夠接近,混頻后將產(chǎn)生低頻分量,該分量即為調(diào)制到載波上的編碼信號(hào)。
解碼芯片采用PT2272,與PT2262配套使用。PT2272有多種型號(hào),后綴可以為L(zhǎng)4,M4,L6,M6等,后綴中的L表示鎖存數(shù)據(jù)輸出,M表示瞬態(tài)輸出。這采用PT2272-M6,解碼后的控制信號(hào)經(jīng)FPGA處理后輸出。
2.3 FPGA采集處理及數(shù)據(jù)傳輸
在系統(tǒng)的總體設(shè)計(jì)上,采用Altera公司的EP2C8Q208C8 FPGA芯片作為系統(tǒng)的主控芯片,配合OMNIVISION公司的OV9650數(shù)字CMOS圖像傳感器和ISSI公司的IS42S16160B片外SDRAM存儲(chǔ)芯片來(lái)構(gòu)建攝像頭激光點(diǎn)采集處理系統(tǒng),采集到的圖像可由VGA模塊顯示。激光點(diǎn)可利用其較高的亮度信息與背景色進(jìn)行分辨區(qū)分,計(jì)算出的激光點(diǎn)坐標(biāo)以及無(wú)線接收的控制信息以串口數(shù)據(jù)的方式發(fā)送,經(jīng)片外CP2102串口轉(zhuǎn)USB模塊,可使數(shù)據(jù)通過(guò)USB口發(fā)送到授課主機(jī)。該系統(tǒng)的總體結(jié)構(gòu)方框圖如圖6所示。
FPGA模塊是該系統(tǒng)的核心模塊,它將數(shù)據(jù)采集、圖像處理、圖像存儲(chǔ)控制、圖像顯示控制、坐標(biāo)計(jì)算及串口傳輸控制等功能集成到一片芯片上。該系統(tǒng)采用Altera公司的EP2C8Q208C8 FPGA芯片,它擁有5 256個(gè)邏輯單元(LE)、36個(gè)M4K、2個(gè)PLL和18個(gè)嵌入式乘法器,還擁有最多138個(gè)通用I/O口,它能提供足夠多的擴(kuò)展口,以滿足系統(tǒng)的所有要求。另外,OV9650攝像頭基于CMOS圖像傳感器技術(shù),最大輸出圖像分辨率為SxGA(1 280×1 024)。OV9650支持多種圖像格式,包括10位或者8位的原始RGB,RGB565,RGB555,GBR[4:2:2],YUV等多種格式,且具備自動(dòng)圖像控制功能,包括自動(dòng)曝光控制AEC、自動(dòng)增益控制AGC、自動(dòng)白平衡AWB以及自動(dòng)濾波ABF等。以上各個(gè)參數(shù)都可以通過(guò)芯片的SCCB接口進(jìn)行設(shè)置。SCCB是OMNWISION公司定義的串行相機(jī)控制總線,主要用于對(duì)該公司研發(fā)的系列圖像芯片寄存器進(jìn)行設(shè)置。OV9650有多個(gè)寄存器,這些寄存器主要用于對(duì)圖像格式和圖像質(zhì)量的控制,用戶可以通過(guò)SCCB總線對(duì)這些寄存器進(jìn)行讀/寫(xiě)操作。
3 系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)
該教學(xué)系統(tǒng)的軟件部分可以分為屏幕校準(zhǔn)模塊和屏幕顯示模塊。
3.1 屏幕校準(zhǔn)模塊
由于在OV9650攝像頭所采集到的圖像信息中無(wú)法準(zhǔn)確地只包含顯示屏幕的信息而不含其他成分,且顯示屏幕在視頻圖像中往往不是規(guī)則的四邊形,而是帶有較小曲率的類(lèi)似四邊形,因此需要進(jìn)行屏幕校準(zhǔn)步驟,使圖像信息中的坐標(biāo)轉(zhuǎn)換為顯示屏幕對(duì)應(yīng)的坐標(biāo)。這種轉(zhuǎn)換采用線性代數(shù)的方法,公式如下:
式中:為轉(zhuǎn)換后坐標(biāo);為轉(zhuǎn)換前坐標(biāo);A,d為轉(zhuǎn)換參數(shù),通過(guò)計(jì)算初始采集圖像中屏幕的4個(gè)頂點(diǎn)坐標(biāo)值得到。
該系統(tǒng)中的這種轉(zhuǎn)換及需要的定位位置要在系統(tǒng)啟動(dòng)時(shí)期以獲取,并將轉(zhuǎn)換矩陣固定,這樣對(duì)每個(gè)坐標(biāo)值的轉(zhuǎn)換可在常數(shù)時(shí)間內(nèi)完成。
3.2 屏幕顯示模塊
屏幕顯示模塊主要完成軌跡繪制、鼠標(biāo)操作和放大鏡操作的實(shí)現(xiàn)。該模塊的邏輯流程如圖7所示。
圖7中屏幕顯示模塊的輸入來(lái)自屏幕校準(zhǔn)模塊校準(zhǔn)后的激光點(diǎn)坐標(biāo)信息,輸出為軌跡繪制的顯示、鼠標(biāo)操作的響應(yīng)或放大鏡操作的響應(yīng)。具體來(lái)說(shuō),這三種輸出是該系統(tǒng)功能模式的實(shí)現(xiàn),分別為:
繪圖模式 使用激光筆在屏幕上描繪,屏幕上出現(xiàn)對(duì)應(yīng)的軌跡,同時(shí)可以通過(guò)激光筆上的按鍵實(shí)現(xiàn)幻燈片的上下翻頁(yè)及擦除屏幕軌跡的操作。
鼠標(biāo)模式 使用激光筆在屏幕上的指示位置,屏幕上的鼠標(biāo)發(fā)生移動(dòng),并可通過(guò)激光筆上的按鍵實(shí)現(xiàn)鼠標(biāo)左擊及右擊的操作。
放大鏡模式 使用激光筆在屏幕上的指示位置,屏幕上對(duì)應(yīng)的區(qū)域會(huì)進(jìn)行局部放大,并且屏幕上的放大區(qū)域會(huì)隨著光點(diǎn)發(fā)生移動(dòng)。為了防止操作激光筆時(shí)由于手的輕微抖動(dòng)使屏幕產(chǎn)生輸出,本系統(tǒng)采用了閾值的方法對(duì)這一情況進(jìn)行了限制,具體算法如圖8所示。
4 系統(tǒng)的整體實(shí)施結(jié)果
基于FPGA的激光筆互動(dòng)教學(xué)系統(tǒng)功能測(cè)試效果如圖9所示。從圖中可以看出,基于FPGA的激光筆互動(dòng)教學(xué)系統(tǒng)完全實(shí)現(xiàn)了預(yù)先設(shè)定的邏輯功能,在實(shí)際使用中能大大方便智能教室的教學(xué),提高教學(xué)質(zhì)量。
5 結(jié)語(yǔ)
激光筆互動(dòng)教學(xué)具有如下有益效果;能夠豐富教學(xué)環(huán)境,提供給教師一種更新的教學(xué)模式,可使教師的教學(xué)工作更加連貫和自由;在其他環(huán)境中,通過(guò)遠(yuǎn)程指示特性,各種人機(jī)交互設(shè)備可被修改為遠(yuǎn)程指示性設(shè)備,避免人力直接接觸屏幕,提高設(shè)備的可靠性。同時(shí)該系統(tǒng)采用FPGA將攝像頭模塊、光點(diǎn)識(shí)別算法模塊及無(wú)線接收模塊集成在一起,使得FPGA模塊成為惟一的外設(shè),方便安裝部署,從而使得系統(tǒng)不僅僅局限于教室這一場(chǎng)景,大大提高了這套系統(tǒng)的實(shí)用性。未來(lái)的工作主要是將FPGA模塊與授課主機(jī)的通信方式由USB線纜通信升級(jí)為藍(lán)牙通信,進(jìn)一步增加系統(tǒng)的靈活性及實(shí)用性。