戴建浜 福建省莆田第二中學(xué)
在學(xué)習(xí)的過程中,準備好一個錯題集,是一個好習(xí)慣。但如何才能隨時記錄和整理在平時學(xué)習(xí)過程中做過的錯題呢?傳統(tǒng)的方法有兩種:一種就是把錯題逐字抄下來,這種方法在記錄大型應(yīng)用題時浪費時間;另外一種方法就是把試卷剪貼下來,再粘貼到錯題本里,這樣做雖然會節(jié)省一點時間,但破壞了原始材料,在試卷雙面都有錯題時會變得很麻煩。由于當(dāng)前這兩種方法存在種種問題,所以尋找一種高效、能夠自動掃描分類記錄錯題的方法是必要的。
近年來,基于樹莓派的人工智能技術(shù)應(yīng)用日趨廣泛。本研究以樹莓派[1]為硬件平臺,結(jié)合Python解釋型編程語言以及OpenCV機器視覺庫[2],實現(xiàn)錯題掃描全過程語音識別,通過攝像頭獲取錯題圖像,自動分析切片處理,保存在錯題圖片庫中,整個過程高效、便捷,有效節(jié)省整理錯題時間。
錯題是學(xué)習(xí)的必然產(chǎn)物,本研究不僅可以讓學(xué)生高效率地收集錯題,還可以讓教師巧妙地利用“錯誤”資源,使“錯題資源”的利用更加切合實際,符合學(xué)生的特點和要求,有利于教學(xué)資源的開發(fā)和有效利用,為提高教學(xué)質(zhì)量服務(wù)。
本研究的核心組件是樹莓派第四代[3],即Raspberry Pi 4。樹莓派是一款基于ARM的微型電腦主板,有4個USB接口可連接鍵盤、網(wǎng)線和攝像頭等外部設(shè)備,主板上有以太網(wǎng)口、WI-FI和藍牙芯片,可無線連接互聯(lián)網(wǎng)充當(dāng)小型服務(wù)器使用。最新發(fā)行的Raspberry Pi 4中央處理器采用全新架構(gòu),28nm工藝,四個內(nèi)核,時鐘頻率達到1.5 GHz,較原來三代的產(chǎn)品速度有4倍的提升。樹莓派小巧的體積、良好的擴展性能(外接USB設(shè)備)以及高速的計算能力是本研究實現(xiàn)語音識別、圖像識別的前提條件。
本研究先通過WI-FI模塊連接上互聯(lián)網(wǎng)后,再用Python的多線程技術(shù)讓USB麥克風(fēng)實時識別語音指令,當(dāng)識別到“拍照”命令時,系統(tǒng)將通過高清攝像頭拍取錯題的照片,加工處理后把結(jié)果輸出到高清顯示屏顯示出來。如果操作有錯誤可通過語音“刪除”返回到上一步,也可以通過語音“合并”來合并被分開的兩張圖片。具體原理如圖1所示。
圖1
Python是一種面向?qū)ο蟮慕忉屝陀嬎銠C程序設(shè)計語言,具有豐富和強大的庫。OpenCV是一個基于BSD許可發(fā)行的跨平臺計算機視覺庫,軟件完全開源,可以運行在Linux、Windows和Mac OS操作系統(tǒng)上。它輕量級而且高效——由一系列C函數(shù)和少量C++類構(gòu)成,同時提供了Python語言的接口,實現(xiàn)了圖像處理和計算機視覺方面的很多通用算法。snowboy是一款開源的、輕量級語音喚醒引擎,通過它可以很輕松地創(chuàng)建屬于自己的喚醒詞。本研究的智能識別分析功能主要是通過Python的多個處理圖像的OpenCV庫和識別聲音的snowboy庫來完成。
學(xué)生在使用時要先把印有代表個人身份的二維碼的卡片(IC卡)放在記錄儀的刷卡處,系統(tǒng)識別讀取卡號后,生成對應(yīng)卡號信息和目錄,這時學(xué)生要說出錯題的學(xué)科,可從語文、數(shù)學(xué)、英語、物理、化學(xué)、生物、政治、地理、歷史九大學(xué)科中選擇,系統(tǒng)確認后進入等待識讀階段,這時說出“拍照”,系統(tǒng)就會自動識別分割題目并保存在系統(tǒng)中,說出“刪除”系統(tǒng)就會刪除前一次識別的內(nèi)容,說出“合并”,就與前一次識別的圖片合并,生成一張圖片,高清的液晶屏上會顯示每次操作的結(jié)果。另外,學(xué)生可以通過校園網(wǎng)絡(luò)登錄樹莓派服務(wù)器,訪問所有錯題資源,并實現(xiàn)打印、標(biāo)注分享等功能。
本研究硬件部分主要由樹莓派、話筒、高清攝像頭、7寸屏、小音箱及一個掃描支架組成。話筒、高清攝像頭通過USB接口與樹莓派連接,高清攝像頭獲取到的圖像經(jīng)算法處理后通過樹莓派mini HDMI接口輸出結(jié)果至7寸顯示器。系統(tǒng)總體硬件架構(gòu)如圖2所示。
圖2
為了提高聲音識別的準確性,話筒采用USB接口的全向拾音麥,內(nèi)含高品質(zhì)電容咪頭,有效抑制低噪產(chǎn)生,傳遞清晰的聲音,提高識別準確率,實現(xiàn)遠距離拾音。在圖像處理方面,為了排除圖像受外界環(huán)境的干擾,高清攝像頭采用兩側(cè)帶有LED燈的高拍儀。硬件模型如圖3所示。
圖3
樹莓派上安裝有Ubuntu操作系統(tǒng)軟件[4],系統(tǒng)通過有線千兆網(wǎng)口或無線5G高速接入班班通網(wǎng)絡(luò),系統(tǒng)已集成Python編程語言,但OpenCV視覺識別庫需人工安裝,這些環(huán)境的搭建是保證硬件正常運行的必要條件。程序軟件分為二維碼識別模塊、語音識別模塊、攝像頭拍照模塊、OpenCV視覺處理分析模塊四個模塊,各模塊具體設(shè)計如下:
①二維碼識別模塊。在本研究中,筆者讓學(xué)生用自己的學(xué)號通過草料二維碼在線生成一個二維碼圖片,打印出來并貼在卡片上,再通過Python的pyzbar庫的decode方法來輕松地讀取圖片里面的二維碼信息。
②語音識別模塊。樹莓派原生的音頻設(shè)備是不支持語音輸入的(無法錄音),所以本模塊通過USB口外接一個麥克風(fēng)實現(xiàn)聲音的拾取,采用snowboy實現(xiàn)語音喚醒和識別功能。[5]snowboy可離線使用,無需聯(lián)網(wǎng),精確度高,低延遲,耗費資源非常低(單核700MHz樹莓派只占用10%CPU),所以適合在樹莓派上運行。當(dāng)安裝完需要的依賴項后,在snowboy自定義生成訓(xùn)練詞。接著編寫程序,通過回調(diào)函數(shù)調(diào)用執(zhí)行相應(yīng)動作。
③攝像頭拍照模塊。為了保證圖片的清晰度,筆者選用了一個800W像素的高清USB攝像頭,通過OpenCV可以輕松地讀取到攝像頭,當(dāng)語音識別到“拍照”一詞時,樹莓派會保存一張或多張圖片在SD卡中,以學(xué)生學(xué)號為文件名的文件夾下。
④視覺處理分析模塊。在獲取到清晰的圖像后,通過OpenCV先把圖像轉(zhuǎn)化成HSV格式,然后去除顏色范圍外的其余顏色,再對圖像進行二值化和膨脹操作,最后通過圖像輪廓查找與繪制方法findContours獲取所有矩形的坐標(biāo),再對圖片進行切片處理,保存在相應(yīng)目錄中。
⑤錯題網(wǎng)頁共享模塊。掃描好的錯題被按學(xué)科分類保存在樹莓派的SD卡上,筆者利用Djiango開發(fā)網(wǎng)頁端程序,讓樹莓派成為一臺小型的WEB服務(wù)器。Djiango是一個開放源代碼的Web應(yīng)用框架,使用Python開發(fā)。運行Djiango的Web服務(wù),學(xué)生可以使用手機、平板或個人電腦通過網(wǎng)頁訪問自己的錯題本。
①單個紅色框測試。圖4中左邊是加了紅色邊框的試卷,右邊是使用系統(tǒng)處理后生成的圖形,從圖中可以看到,系統(tǒng)成功截取到紅色框,系統(tǒng)獲取到紅色矩形框的坐標(biāo)后,在紅色邊框上加上藍色框。
圖4
②兩個紅色框測試。圖5中左邊標(biāo)注了兩個紅色框,系統(tǒng)通過OpenCV進行二值化和膨脹操作后成功獲取到兩個矩形框的坐標(biāo)。
圖5
③測試用紅色橫豎“井”字條框出錯題。圖6中使用四條紅色條型紙條構(gòu)成一個“井”字,系統(tǒng)通過OpenCV轉(zhuǎn)化HSV格式,然后通過cv.inRange去除顏色范圍外的其余顏色,然后用藍色矩形框標(biāo)注出內(nèi)部矩形框的邊界。
圖6
本研究通過人工智能技術(shù)實現(xiàn)錯題智能提取,分類保存,整個過程操作簡單,識別率高,極大地提高錯題整理速度。數(shù)字化后的錯題保存在樹莓派SD中,檢索方便,可通過手機或平板瀏覽或分享,對提高學(xué)生學(xué)習(xí)成績具有一定的促進作用。