邱奕盛 謝作如
問題提出
學(xué)習(xí)人工智能要從體驗開始,青少年只有體驗過人工智能,才可能產(chǎn)生興趣。為此,學(xué)校人工智能學(xué)習(xí)空間(實驗室、功能教室等)的展示區(qū)域或科普走廊,應(yīng)部署一些有趣的人工智能體驗產(chǎn)品,不僅讓學(xué)習(xí)空間充滿人工智能味,也讓學(xué)生在交互中感受人工智能的魅麗。有條件的學(xué)校還可選擇采購和訂制企業(yè)開發(fā)的人工智能體驗作品,以追求更好的展示效果。
中小學(xué)生能否與教師一起設(shè)計這類交互性強的人工智能體驗作品呢?設(shè)計作品的過程就是學(xué)習(xí)的過程,也是解決真實問題的過程。仔細觀察企業(yè)開發(fā)的人工智能體驗作品,會發(fā)現(xiàn)背后的技術(shù)并不復(fù)雜,一般都是輸入的信息經(jīng)過模型推理,再通過屏幕輸出。常見的人工智能技術(shù),比如目標(biāo)檢測、物體分類、關(guān)鍵點檢測等,學(xué)生也能做到。
工具推薦:XEduHub
XEduHub 是上海人工智能實驗室浦育團隊開發(fā)的一個通用人工智能模型推理工具,既是XEdu 項目的核心組成部分,又是一個可以獨立安裝的Python 庫(庫名為XEdu-python)。XEduHub 不僅支持XEdu 系列工具訓(xùn)練得到的模型,還內(nèi)置了常見的人工智能模型,比如人體關(guān)鍵點檢查、80 種物體目標(biāo)檢測、文字識別(OCR)等,只要選擇某一任務(wù),即可自動從云端下載相應(yīng)的模型。
XEduHub 設(shè)計了“工作流”(Workflow)的方式實現(xiàn)模型推理。每一次應(yīng)用人工智能模型推理,數(shù)據(jù)都經(jīng)歷了輸入模型—預(yù)測推理—輸出結(jié)果3 個階段,就像物料(數(shù)據(jù))經(jīng)過生產(chǎn)流水線加工后產(chǎn)出半成品一樣。在XEduHub中,一次推理流只需要2 行代碼,第1 行代碼通過指定task 名稱確定使用哪種模型構(gòu)建工作流,第2 行代碼為輸入數(shù)據(jù)并得到推理結(jié)果輸出。如果要處理多組數(shù)據(jù),只需靈活使用第2 行代碼即可。
Python
body = wf(task='pose_body')
keypoints,img_keypoints = body.inference(data='data/body.jpg',img_type='pil')
在使用XEduHub 處理較為復(fù)雜的問題時,通常需要多個模型聯(lián)動,工作流可以視為不同模型之間的數(shù)據(jù)流動。比如,當(dāng)畫面中有多個人像時,應(yīng)先進行多人的目標(biāo)檢測,以確定每個人所在的位置,然后將檢測到的數(shù)據(jù)傳入關(guān)鍵點識別模型,對每個人像進行關(guān)鍵點識別,最終得到每個人的關(guān)鍵點坐標(biāo)數(shù)據(jù)。
XEduHub 就像一個裝滿人工智能玩具的箱子,里面有很多已經(jīng)集成好的人工智能模型,可以直接被用于完成不同的任務(wù),或根據(jù)自身需求,組建屬于自己的人工智能體驗作品。
項目設(shè)計:經(jīng)典人工智能體驗作品的組成
經(jīng)典的人工智能體驗作品,都會有交互效果的呈現(xiàn)。這類作品往往會實時采集現(xiàn)場數(shù)據(jù),經(jīng)過人工智能推理后,再輸出呈現(xiàn)在終端上。作品的組成可以分為感知輸入、人工智能推理、輸出呈現(xiàn)3 部分。感知輸入的常用設(shè)備包括鼠標(biāo)、鍵盤、攝像頭、麥克風(fēng)、雷達掃描儀,以及各類傳感器,人工智能推理可以用XEduHub 實現(xiàn),而輸出呈現(xiàn)可以借助顯示器、揚聲器等實現(xiàn),還可以用開源硬件的LED、蜂鳴器、舵機等執(zhí)行器實現(xiàn)。
本項目以攝像頭作為數(shù)據(jù)采集設(shè)備,大屏幕顯示器作為輸出設(shè)備,展示一個經(jīng)典人工智能體驗作品“馬賽克風(fēng)格的世界”的設(shè)計和實現(xiàn)。當(dāng)人站在一個大屏幕前,即可看到變化(馬賽克)后的畫面(圖1)。
設(shè)計中,通過指定攝像頭確定從何處作為數(shù)據(jù)輸入源,接著聲明一個推理流任務(wù)為“圖像風(fēng)格遷移”(gen_style),并指定風(fēng)格為“馬賽克風(fēng)”(mosaic)。在循環(huán)中讀取采集到的每一幀圖像,對其進行風(fēng)格遷移處理,并將結(jié)果顯示在窗口中。
作品展示:軟硬融合支持無限創(chuàng)意
了解XEdu 的功能后,結(jié)合學(xué)生天馬行空的想法,將感知輸入、人工智能推理、輸出呈現(xiàn)三大環(huán)節(jié)靈活組合,就能設(shè)計出各式各樣的創(chuàng)意人工智能體驗作品。
創(chuàng)意 1. 智行小車
身邊總能看到搭載智能輔助駕駛系統(tǒng)的汽車,我們也能做一款小車模擬無人駕駛。由于智能駕駛涉及的技術(shù)很多,圖2 僅列出了交通指示識別和自動跟隨兩項技術(shù)進行模擬。交通指示識別利用了文字識別識別出多種語言的文字,通過字符串比對決定駕駛策略;自動跟隨則選擇讓小車跟隨手的移動而移動,定位檢測和關(guān)鍵點識別支持多個類型,比如全身檢測、臉部檢測、手部檢測等,可以通過指定不同的任務(wù)名稱進行切換。核心代碼如圖3 所示。
創(chuàng)意 2.坐姿檢測
坐姿不良會導(dǎo)致腰酸背痛,可以設(shè)計一個坐姿檢測算法實現(xiàn)及時提醒功能。首先,使用攝像頭采集坐姿畫面,然后提取人像關(guān)鍵點信息,并將這些信息傳入一個訓(xùn)練好的二分類神經(jīng)網(wǎng)絡(luò)模型進行判斷,根據(jù)坐姿良好或坐姿異常的推理結(jié)果作出相應(yīng)的提醒。這個作品使用了多個模型,首先是使用人體關(guān)鍵點檢測(pose_body)對人體關(guān)鍵點進行提?。▓D4),然后使用一個經(jīng)過個性化訓(xùn)練的全連接神經(jīng)網(wǎng)絡(luò)模型(basenn)進行坐姿分類,由于模型是自己訓(xùn)練的,還需要特別說明模型存放的位置。核心代碼如圖5 所示。
創(chuàng)意 3.文本問答
此外,也可以用簡單的自然語言處理(NLP)模型進行基于文本匹配的問答(nlp_qa)。只需構(gòu)建一個文本問答的模型推理流,將長文本信息和問題都輸入模型,模型就能夠給出特定的回答。
總結(jié)與反思
借助XEduHub,用簡潔的語法、相同的代碼,快速調(diào)用多種模型,經(jīng)過創(chuàng)意的疊加,就能自由組合出各種好玩的項目。相比于采購企業(yè)開發(fā)的人工智能體驗項目,自行設(shè)計更有挑戰(zhàn)性,而且學(xué)生還能參與到項目制作過程。教師也可將設(shè)計交互作品作為人工智能課程的大作業(yè),并將優(yōu)秀作品直接展示出來。此外,如果學(xué)生能使用常見任務(wù)模型結(jié)合自己訓(xùn)練的模型,組建更復(fù)雜的人工智能項目,也能加深學(xué)生對人工智能的認(rèn)識,特別是感知深度學(xué)習(xí)中模型訓(xùn)練的重要性。
本文系2022 年度上海市自然科學(xué)基金面上項目“基于多模態(tài)數(shù)據(jù)融合的在線學(xué)習(xí)認(rèn)知模型及優(yōu)化研究”(編號:22ZR1421300)階段性研究成果