邱奕盛 謝作如



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