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