高婷婷 劉佳 陸佳楠 許偉 陳傳杰 宋法根

摘要:人工智能的迅猛發(fā)展給人類生產(chǎn)和生活帶來了較為深遠的影響,成為新一輪科技產(chǎn)業(yè)革命的前沿和熱點,而將人工智能教育融入中小學課堂已經(jīng)成為國家新戰(zhàn)略。然而,人工智能設(shè)備成本較高且配套教育資源較少,這給遠離城市的中小學帶來了很多困難。為了推動中國青少年人工智能教育的普及,減輕鄉(xiāng)鎮(zhèn)中小學校的經(jīng)費負擔,該文提出了一種基于K210人工智能芯片的圖像識別系統(tǒng)。通過訓練集圖片收集標注、模型訓練、硬件模塊連接、模型部署和調(diào)試等流程,完成了一個簡易的具有實時性的目標圖像識別檢測系統(tǒng)。該系統(tǒng)以YOLO算法為基礎(chǔ),通過獲取實時圖像并進行特征提取,實現(xiàn)分類和識別。經(jīng)實驗測試,該系統(tǒng)不僅識別迅速和操作便捷,而且具有較高的準確性、良好的系統(tǒng)穩(wěn)定性和較低的制作成本。
關(guān)鍵詞:人工智能教育;中小學;YOLO;目標檢測
中圖分類號:G642? ?文獻標識碼:A
文章編號:1009-3044(2022)07-0078-03
1 概述
面對人工智能新興產(chǎn)業(yè)的迅猛發(fā)展,以人工智能為基礎(chǔ)的新工科專業(yè)已經(jīng)成為當下各高校的熱門專業(yè),如智能制造工程、智能醫(yī)學工程等專業(yè)。對于中小學生而言,人工智能相關(guān)教育早在2001年的第一屆全國青少年機器人競賽中已經(jīng)開始萌芽,然而大部分活動只是以課外活動、興趣班等形式開展。當今世界正處于百年未有之大變局,為積極應(yīng)對新一輪科技和產(chǎn)業(yè)革命,中小學也必須加快普及人工智能教育。2017年國務(wù)院出臺了《新一代人工智能發(fā)展規(guī)劃》,文件指出要推動人工智能在教學等方面的全流程應(yīng)用。2019年國家教育部明確指出將積極推動中小學階段設(shè)置人工智能相關(guān)課程。人工智能不僅是教師教育改革的新工具,而且是學生課程學習的新內(nèi)容[1]。
2021年國務(wù)院辦公廳、國家教育部相繼出臺了雙減政策文件,其目的在于提高現(xiàn)有中小學育人水平。通過減少作業(yè)數(shù)量和嚴格規(guī)范校外培訓,糾正過往教育中只重視考試成績的極端現(xiàn)象,將青少年學生從大量作業(yè)和學科補習班中“解放”出來,使他們能夠擁有更多的時間參加興趣活動。在物理教學中,我們發(fā)現(xiàn)學生對教材中前沿科技內(nèi)容十分感興趣,例如智能機器人。然而,智能機器人設(shè)備造價一般都比較昂貴,這在很大程度上限制了部分非城鎮(zhèn)中小學校生接觸人工智能教育的機會。目前,只有部分一線城市的重點中小學校開展了相關(guān)的人工智能教育探索,而很多三四線城市尤其是鄉(xiāng)鎮(zhèn)中小學卻舉步維艱[2]。自研設(shè)備不僅能夠很好地控制成本,而且能夠在科技制作過程中對中小學教師進行培訓,獲得相關(guān)教學素材。人工智能是當今新一代信息技術(shù)前沿,而中小學教師在技術(shù)積累和研發(fā)經(jīng)驗方面都非常欠缺。委托人工智能相關(guān)教育公司可以解決問題,但是極大地增加了學校的經(jīng)費預算,實際可操作性并不理想。為了克服中小學師資力量在技術(shù)方面的不足,綜合各方因素,鹽城環(huán)保科技城實驗中學教學組聯(lián)合地方理工院校(鹽城工學院)共同開展了人工智能教育設(shè)備的相關(guān)研制工作。鹽城工學院于2019年獲教育部批準設(shè)立了人工智能本科專業(yè),并與鹽南高新區(qū)共建有西伏河人工智能學院,在人工智能軟件和硬件條件方面(尤其是師資力量)具有充足的研發(fā)實力。
我們通過采用調(diào)查問卷和隨機提問等方式,結(jié)果發(fā)現(xiàn)學生對車牌識別、人臉打卡和驗證等技術(shù)的興趣十分濃厚。近些年,這種計算機視覺技術(shù)已經(jīng)成為人工智能領(lǐng)域的最熱門研究領(lǐng)域之一,其中包括基于深度學習的圖像識別技術(shù)。圖像識別技術(shù)已經(jīng)在眾多領(lǐng)域有著廣泛的實際應(yīng)用,例如無人駕駛技術(shù)、人臉識別技術(shù)、生物醫(yī)學診斷等。圖像識別經(jīng)歷了文字識別、數(shù)字圖像處理識別、物體識別三個重要階段,其中物體識別集成了人工智能、深度學習等多個技術(shù)[3]。
2 系統(tǒng)整體設(shè)計
本系統(tǒng)主要由人工智能芯片及電源模塊、語音播報模塊、液晶顯示模塊和圖像采集模塊等四個模塊部分組成,如圖1所示。本系統(tǒng)的基本流程是通過圖像采集模塊獲取外界圖像信息,并將數(shù)據(jù)傳送給AI芯片進行圖像處理和分類,最后將圖像信息及識別結(jié)果顯示在顯示模塊上,同時根據(jù)結(jié)果判斷播報對應(yīng)的提醒語音。由于本系統(tǒng)針對教學教具目的,需要滿足待機時間長和離線工作,本項目采用嘉楠科技的K210芯片為主控,其主要特點是功耗低(0.3W)、算力強(1TOPS)、具備自帶SRAM和離線數(shù)據(jù)庫,從而可以將訓練集植入到芯片內(nèi)部[4]。針對人臉檢測、圖像識別與分類等機器視覺應(yīng)用場景,K210芯片提供有專用的人工卷積神經(jīng)網(wǎng)絡(luò)加速器(KPU)、硬件傅里葉變換加速模塊(FFT)、獨立的高性能浮點運算處理單元(FPU)、音頻處理器(APU)以及各類外設(shè)接口(GPIO、SPI、I2C等),這些硬件資源極大地拓展了系統(tǒng)的應(yīng)用范圍。圖像采集模塊采用一款高質(zhì)量、低噪聲的攝像頭(GC0328),它具有640 × 480分辨率和10位模數(shù)轉(zhuǎn)化器。語音模塊是根據(jù)AI芯片識別檢測出的物體進行語音提醒,包括喇叭和TF卡,后者用于存儲語音播放的具體內(nèi)容。顯示模塊是一塊2.8英寸的LCD顯示屏,它主要用于調(diào)試過程中圖像的顯示識別。
3 主要硬件設(shè)計
3.1 K210芯片核心板
本系統(tǒng)采用技術(shù)成熟的基于K210的核心板,封裝方式為BGA144,正方形的每邊提供12個引腳(共144個),具體引腳功能描述參考說明書。電源域的IO引腳分配有14個。復位電路在上電、斷電和欠電條件下實現(xiàn)復位。通過在RST引腳配置開關(guān)復位電路即可實現(xiàn)。圖像采集模塊GC0328攝像頭采用24針接口連接到K210主開發(fā)板上。
KPU通用神經(jīng)網(wǎng)絡(luò)處理器主要用于對數(shù)據(jù)單元的內(nèi)置卷積、批歸一化、激活、池化運算單元,實現(xiàn)對人臉或物體進行實時檢測。K210芯片能夠支持當下主流訓練體系和框架,并按照特定規(guī)則訓練得到定點化的模型。它對網(wǎng)絡(luò)層的數(shù)量無直接限制,支持每層卷積神經(jīng)網(wǎng)絡(luò)參數(shù)的獨立配置,其中包括對輸入輸出(IO)通道數(shù)目和行寬、列高的設(shè)置,支持兩種類型的卷積內(nèi)核(1 × 1或3 × 3),實時工作狀態(tài)時最大支持神經(jīng)網(wǎng)絡(luò)參數(shù)文件的大小為 5.5~5.9MiB,而在非實時情況下的容量大小取決于閃存大小。經(jīng)過上述分析,該芯片完全滿足我們作為教學用具使用的基本要求。
3.2 語音模塊
為縮短項目周期,節(jié)省開發(fā)成本以及減少對K210芯片資源占用,語音提示模塊特別選用了已量產(chǎn)的成熟的工程模塊,該模塊具有供電方便,驅(qū)動簡單,方案成熟,語音清晰,自帶硬件反饋等優(yōu)點,極大加快了項目的開發(fā)進度精簡了驅(qū)動的編寫。
語音模塊有外接和內(nèi)接兩種方式。為了減少外部電源資源負擔,采用內(nèi)接法由核心板給語音模塊供電。語音模塊的觸發(fā)方式有單鍵觸發(fā)和編碼觸發(fā)模式。本系統(tǒng)采用編碼觸發(fā)模式,如表1所示。與之對應(yīng)的是A1~A5觸發(fā)信號線與K210芯片的IO9~IO14鏈接,如圖2所示。另外,語音模塊的SPEAKER1和SPEAKER2連接到揚聲器兩端。
3.3 各模塊系統(tǒng)集成
按照圖1中各模塊設(shè)計要求連接、焊接完成實物,如圖3。為了便于后期的模型訓練和實際應(yīng)用,我們將LCD顯示屏和攝像頭分別置于面包板的兩端,同時將喇叭音響放置在攝像頭一側(cè)。圖3是整個硬件系統(tǒng)的布局,各模塊在圖中的位置已經(jīng)詳細標注。
4 主要軟件設(shè)計
目前主流的勘智K210單片機軟件設(shè)計的語言有基于官方SDK的C語言和Micropython語言兩種,本次設(shè)計的軟件程序選用Micropython語言進行編寫。Micropython語言優(yōu)點很多,我們編譯環(huán)境角度來看:在一般嵌入式開發(fā)的過程中,C語言、匯編語言都需要提前安裝編譯環(huán)境,但是Micropython不需要。因為只要將程序文件main.py或者boot.py存入本系統(tǒng)中的Flash或者TF卡,燒錄在開發(fā)板的固件便會將程序進行編譯運行。只有將開發(fā)板上的USB口插入電腦或者將開發(fā)板上的TF卡接入電腦,電腦上便會顯示出可移動磁盤,只需要通過記事本編輯可移動磁盤里的main.py或者boot.py文件,因此MicroPython不需要安裝編譯工具和配置環(huán)境,十分方便簡潔,甚至開發(fā)工具只需要一個記事本程序就行。
另外,在匯編語言的環(huán)境下實現(xiàn)對底層硬件的操作比較簡單,但是若要編寫復雜功能的程序?qū)W生和教師就比較困難,代碼量巨大,Debug復雜。C語言相對于匯編編程具備有了庫的支持而不用重復開發(fā)底層驅(qū)動,MicroPython有比C語言有更加豐富的庫函數(shù),這對教師和學生都是非常有用。
4.1 模型訓練
本系統(tǒng)采用開源的目標檢測算法YOLOv2,具有實時檢測多種不同對象類別的優(yōu)勢,滿足了日常大部分的需求[5]。YOLO是卷積神經(jīng)網(wǎng)絡(luò)在機器視覺上的運用,屬于單階段目標檢測算法,通過網(wǎng)格劃分實現(xiàn)快速的檢測速度,v2版本在Faster R-CNN算法的基礎(chǔ)上引入anchor機制。Faster-RCNN屬于雙階段目標檢測算法,相較于單階段算法,檢測精度更高,但是運算功耗和所需時間更長。YOLOv2采用了新的特征提取網(wǎng)絡(luò),通過結(jié)合network in network構(gòu)想,通過在3 × 3的卷積核中插入1 × 1卷積核來進行特征圖的壓縮。詳細的YOLO算法的討論和改進可以查閱大量的文獻。
從MaixHub平臺下載19種常見的人物圖片,其中包括汽車、狗、沙發(fā)、行人等,共計約236幅圖片。由于YOLO算法要求圖片大小為224 × 224,所以需要對待訓練的不同物體模型的圖片進行預處理,使其大小統(tǒng)一,以便于能夠批量進行模型訓練。借助于微軟的VOTT工具對訓練集中的目標進行標注,完成標注后導出項目。標注內(nèi)容包括目標位置的框定和標識種類。訓練集制作完成后,對YOLOv2模型進行訓練,loss函數(shù)變化曲線如圖4所示。從圖4中可知,當?shù)螖?shù)達到5次時,模型基本收斂,訓練集loss約為0.5左右,驗證集損失在1.3左右。
4.2 模型配置
K210是一款支持片上系統(tǒng)(SOC)的人工智能芯片,能夠搭載預設(shè)的神經(jīng)網(wǎng)絡(luò)模型。系統(tǒng)支持Maixpy IDE開發(fā)環(huán)境,支持串口調(diào)試實時圖像等功能。通過該軟件完成訓練集的制作,然后將程序調(diào)試完成后的主函數(shù)“main.py”植入到K210核心板中的TF卡中。然而,為了解決無法讀取外存儲器中模型的問題,利用官方提供的KFLASH軟件將已經(jīng)訓練好的神經(jīng)網(wǎng)絡(luò)模型“m.kmodel”燒錄到K210芯片內(nèi)存儲(flash)0x500000位置處。
5 實驗測試與分析
在完成上述硬件連接和軟件程序燒錄后,利用移動電源給K210核心板提供5V電壓,系統(tǒng)將按照圖5流程運行。首先,系統(tǒng)對各外設(shè)接口進行初始化,包括FPIO的注冊與映射。然后,對顯示屏和攝像頭等外設(shè)進行配置。系統(tǒng)將訓練好的神經(jīng)網(wǎng)絡(luò)模型加載到KPU模塊中,同時對YOLOv2的網(wǎng)格進行初始化。最后,將采集到的圖像實時傳輸?shù)終PU進行計算,得到目標類型、位置坐標、置信度。根據(jù)目標檢測結(jié)果在屏幕上顯示相應(yīng)的字符,同時進行語音播報提醒。
圖6為實驗室內(nèi)對攝像頭等設(shè)備功能的預測試效果。可以看到,在攝像頭采集到圖像RGB信息后,可以在上位機中實時顯示出圖像3個通道的像素值,處理速度穩(wěn)定在10FPS。
圖7是在學校實際場景中不連接上位機的部分測試結(jié)果,分別是在單個目標和多個目標情況下的識別結(jié)果。結(jié)果表明,在單個目標情況下,物體的識別概率可以高達95%以上,多目標檢測也有較好的準確性。因此,本系統(tǒng)已經(jīng)基本達到滿足日常教學的需求。在實際使用過程中,本系統(tǒng)K210芯片長時間工作溫度上升較快,導致響應(yīng)延遲時間增大。外置電源接口容易引發(fā)接觸不良等問題,機器容易死機。后續(xù)需要針對性解決散熱問題,同時將外置電源整合進樣機系統(tǒng)內(nèi)部,增設(shè)開關(guān)控制操作按鈕。
6 結(jié)束語
為了推動人工智能教育在鄉(xiāng)鎮(zhèn)中小學的普及,本文提出了
一種基于AI芯片的圖像識別系統(tǒng),極大地控制了教具制作成本,積累了一定的教學素材和經(jīng)驗。從硬件設(shè)備選取和設(shè)計連接、神經(jīng)網(wǎng)絡(luò)模型的建立、配置等方面詳細說明了系統(tǒng)的制作過程。系統(tǒng)采用自帶KPU模塊的K210作為主控芯片,以YOLO v2算法為目標檢測算法。結(jié)果表明,本系統(tǒng)具有良好的檢出率、可靠的系統(tǒng)穩(wěn)定性。下一步將在本系統(tǒng)基礎(chǔ)上,根據(jù)學生的興趣愛好并從實踐應(yīng)用方面對系統(tǒng)進行升級改造,充分激發(fā)學生學習人工智能的熱情,收集更多優(yōu)秀作品作為今后的教學素材。
為了推動人工智能教育在鄉(xiāng)鎮(zhèn)中小學的普及,本文提出了一種基于AI芯片的圖像識別系統(tǒng),極大地控制了教具制作成本,積累了一定的教學素材和經(jīng)驗。從硬件設(shè)備選取和設(shè)計連接、神經(jīng)網(wǎng)絡(luò)模型的建立、配置等方面詳細說明了系統(tǒng)的制作過程。系統(tǒng)采用自帶KPU模塊的K210作為主控芯片,以YOLO v2算法為目標檢測算法。結(jié)果表明,本系統(tǒng)具有良好的檢出率、可靠的系統(tǒng)穩(wěn)定性。下一步將在本系統(tǒng)基礎(chǔ)上,根據(jù)學生的興趣愛好并從實踐應(yīng)用方面對系統(tǒng)進行升級改造,充分激發(fā)學生學習人工智能的熱情,收集更多優(yōu)秀作品作為今后的教學素材。
參考文獻:
[1] 李丁鈺,錢小龍.英國中小學人工智能基礎(chǔ)教育的經(jīng)驗與啟示——以蘇格蘭中學和巴頓西格雷夫小學為例[J].教育探索,2021(9):88-93.
[2] 藍子君.中小學實施人工智能課程的意義、挑戰(zhàn)與對策[J].電腦知識與技術(shù),2020,16(18):182-183.
[3] 劉艷華.基于MATLAB的車牌圖像的計算機識別系統(tǒng)設(shè)計[J].科技視界,2021(21):78-79.
[4] Redmon J,Divvala S,Girshick R,et al.You only look once:unified,real-time object detection[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition.June 27-30,2016,Las Vegas,NV,USA.IEEE,2016:779-788.
【通聯(lián)編輯:朱寶貴】
收稿日期:2021-11-25
基金項目:江蘇省高等學校自然科學研究面上項目(20KJB140025),鹽城工學院“課程思政”示范課程建設(shè)項目(202159)
作者簡介:高婷婷(1990—),女,遼寧大連人,中級職稱,主要研究方向為初中物理教育研究等。