999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

用深度學習和物聯網技術設計“AI魔法棒”

2022-05-19 10:56:20謝作如邱奕盛
中國信息技術教育 2022年9期
關鍵詞:深度模型

謝作如 邱奕盛

涉及學科:物理、技術、藝術

在《哈利·波特》系列電影中有各種各樣的魔法棒,配合著不同角度的揮動,就可以實現奇特的效果,如點燃火把、拉開窗簾等。從物理學的角度分析,揮動魔法棒其實是改變魔法棒的運動速度,而衡量運動速度變化的物理量是加速度。從理論上講,只要給魔法棒安裝一個加速度傳感器,就能感知所有的速度變化。

恰好,掌控板上自帶三軸加速度傳感器,那么,能否利用掌控板來準確判斷魔法棒的手勢呢?實際上很多人都嘗試過用掌控板的加速度傳感器來識別手勢,但都因為編程太復雜、難度太大而放棄。目前,加速度傳感器僅僅應用在“搖一搖”的判斷和x、y軸的角度識別上,有大材小用的感覺。

● 用加速度識別手勢的難度分析

為什么用加速度傳感器識別手勢很困難呢?因為在魔法棒揮動的過程中,加速度是不斷變化的。因此,識別手勢需要得到揮動過程中所有的數據變化,需要在手勢軌跡中連續采樣加速度數值,在得到的一組數據中尋找數據變化的規律。但是,每次人工繪制的手勢數據不可能完全相同,總會因為快慢、形狀的偏差而產生相近但不相同的數據,這就給編程帶來了很大的難度。

在2018年,筆者曾經在本欄目寫過《用掌控板體驗機器學習》一文,介紹用曼哈頓距離公式來計算兩組數據的偏差,即先繪制一次樣本數據,作為手勢的特征,當新采集的數據與樣本數據的手勢特征相近,誤差小于某個閾值時,就可以識別為正確的手勢。然而,這種方式需要人為計算均方根誤差,并且不斷調整閾值以達到較好的效果,識別算法設計難度高。再加上掌控板的存儲和計算資源有限,也很難通過保存多次數據取均值改進識別效果,或者部署AI算法進行識別。

● 換一種思路來識別手勢

1.深度學習

在學習人工智能的時候,大家都知道用機器學習的方式來尋找數據中的關系,是一種非常有效的方式。假設已經擁有一系列不同手勢的加速度傳感器數據(簡稱加速度數據集),那么搭建一個BP(Back Propagation)神經網絡(如圖1),不斷將數據“喂給”這個網絡模型,就能訓練出一個能夠識別手勢的AI模型。借助于BP神經網絡的機器學習,因為擁有神經網絡分為多層,屬于深度學習中的一種。

深度學習主要分為數據收集、模型訓練和模型推理這三個環節。數據收集也就是制作數據集,類似于人類的學習經驗知識庫,每條數據包含連續的加速度信息x和手勢類別信息y。通過收集大量手勢數據,并給數據正確標注類別信息,就可以讓機器學習這些數據了。模型訓練是讓深度學習模型通過不斷學習數據集信息,達到手勢識別的能力。當模型訓練好后,只要輸入一組數據,就能輸出識別的結果了(如圖2)。

2.物聯網技術

雖然我們沒有辦法在掌控板上部署一個深度學習的計算框架,但是可以借助物聯網技術,將數據傳輸到PC機上處理。例如,我們可以通過發送MQTT消息將每條數據傳輸到物聯網平臺數據庫保存,完成手勢數據的收集,也可以將需要識別的手勢數據,通過MQTT消息傳入PC上的深度學習系統中進行推理(手勢識別),然后得到結果(如圖3)。

● 手勢數據的收集

為了手勢識別更加準確,筆者規定每一個手勢在1秒鐘內完成,在這個過程中平均采集128個加速度傳感器的數據。采集的程序比較簡單,用mPython就能編寫。如圖4所示,每次按下A鍵開始采集數據,聽到“滴”的一聲采集完成,如果確認采集無誤,按B鍵發送到SIoT服務器(消息主題為“shoushi/caiji”)。

重復多次揮動手中的掌控板,在空中畫出相同的路徑,如畫三角形,這樣就可以采集多條數據。當數據達到一定數量(筆者分別收集了100條)時,登錄SIoT找到對應主題,可以導出數據到本地。然后更換一個手勢,如“×”號,重復以上操作。筆者采集的手勢分別是三角形、對號、錯號、五角星和圓形。

接下來整理數據,為保存到本地的各種手勢數據添加標簽,保存為csv文件。文件中每行是一條數據,第一個數據是標簽名,第二個數據是標簽序號,后面的128個數值是一次完整手勢軌跡的加速度值序列。

● 手勢模型的訓練

1.安裝MMEdu

深度學習框架有很多,如Keras、TensorFlow、PyTorch等。MMEdu開發團隊基于Pytorch和OpenMMLab,簡化了神經網絡模型搭建和訓練的參數,降低了編程的難度,因此筆者以它為例介紹神經網絡模型訓練環境的搭建。

通過地址gitee.com/openxlab-edu/OpenMMLab-Edu可以下載項目文件。解壓后即可使用,在Demo文件夾中能夠找到范例代碼。MMEdu內置了Pyzo,但筆者推薦使用jupyter作為IDE。

2.訓練數據模型

根據數據格式,筆者將第二列作為類別信息y,后面的128個數組成的序列作為加速度數據x,以圖5所示的方式讀入。

接下來,搭建一個BP神經網絡模型進行機器學習,神經網絡模型的輸入層為128個神經元,因為每條數據有128個特征,輸出層為5,所以手勢共有5類。中間有3個隱藏層,神經元個數分別為64、32、16,隱藏層的作用是增加模型特征提取的效果。隱藏層層數和神經元個數可以自行調整。每個隱藏層后面緊跟一個激活層,用于增強模型的非線性擬合能力,代碼如圖6所示。

然后將數據載入到網絡中,進行訓練。這里的lr指的是學習率,epochs是訓練輪數,可以根據實際情況修改(如圖7)。每訓練一輪,會輸出一次訓練情況,其中Loss越小,表明學習的效果越好。

如果想在此基礎上再繼續訓練,可以重復執行model.train,也可以修改其中的參數lr和epochs繼續訓練,以達到較好的效果(如圖8)。

當效果滿意時,也就是當Loss數字不再明顯下降時,就可以停止訓練,執行model.save("mynet.pkl")來保存模型。

● AI魔法棒的部署和測試

筆者將訓練好的模型部署在計算機上,將從SIoT的主題shoushi/caiji收到的信息傳入神經網絡進行推理,根據推理結果決定是否發送消息給SIoT的主題shoushi/jieguo。代碼編寫如圖9所示。

在掌控板原來代碼的基礎上,添加一段代碼,使得在掌控板上也能查看識別的結果(如第108頁圖10)。

經過上述步驟的操作,基本已經完成了部署。接下來,就可以測試一下“AI魔法棒”的效果了。識別率還不錯,大部分情況能夠正確分辨出所做的手勢(如圖11)。

● 小結

當實現了對魔法棒的“手勢”識別后,下一步就是要實現一些有趣的創意功能了,如識別出手勢后點亮不同的LED或者在屏幕上顯示相應的圖案。當然,這樣還太簡單,因為筆者的實驗室部署了智能家居系統,并且部署了HASS(具體請參考前幾期的文章),那么這個魔法棒就能和智能家居結合了。例如,畫個圓形燈光就點亮,畫個心形燈光就變成粉色,畫個“×”號燈就關閉等,是不是很有魔法的感覺?

有了深度學習和物聯網技術的加持,學生各種天馬行空的想象都更有可能成為現實。那么,還等什么,當人工智能遇上物聯網,精彩的世界正拉開帷幕。

猜你喜歡
深度模型
一半模型
深度理解一元一次方程
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
深度觀察
深度觀察
深度觀察
深度觀察
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
主站蜘蛛池模板: 青青草a国产免费观看| 欧美第九页| 强奷白丝美女在线观看| 日本免费福利视频| a级毛片网| 欧美亚洲一二三区| 播五月综合| 国产精品私拍在线爆乳| 小蝌蚪亚洲精品国产| 香蕉视频在线精品| 色网站免费在线观看| 在线视频精品一区| 波多野结衣无码视频在线观看| 国产免费黄| 国产一区二区三区在线观看视频| 国产欧美日韩另类精彩视频| 九九热这里只有国产精品| 永久在线播放| 伊人成人在线| 亚洲精品无码人妻无码| 欧美一道本| 色一情一乱一伦一区二区三区小说| 亚洲妓女综合网995久久| 中文无码精品a∨在线观看| 噜噜噜久久| 六月婷婷激情综合| 九九热在线视频| 亚洲不卡影院| 国产精品精品视频| 成色7777精品在线| 国产精品内射视频| 成人一级黄色毛片| 欧美午夜一区| 国产va在线| 视频一本大道香蕉久在线播放| 国产精品嫩草影院av| 伊人久久大香线蕉成人综合网| 国产在线观看91精品亚瑟| 2022国产无码在线| 日本人妻丰满熟妇区| 国产h视频免费观看| 91九色视频网| 最新亚洲人成无码网站欣赏网| 高清久久精品亚洲日韩Av| 精品少妇人妻一区二区| 超碰免费91| 国产精品片在线观看手机版| AV片亚洲国产男人的天堂| 自慰高潮喷白浆在线观看| AV不卡在线永久免费观看| 亚洲精品男人天堂| 亚洲 欧美 偷自乱 图片| 亚洲精品天堂在线观看| 国产精品污视频| 亚洲久悠悠色悠在线播放| 538国产视频| 亚洲天堂日本| 国产欧美日韩视频一区二区三区| 亚洲AV无码乱码在线观看代蜜桃 | 午夜免费视频网站| 亚洲成人播放| 再看日本中文字幕在线观看| 日本午夜网站| 成人国产小视频| 一区二区三区国产精品视频| 日韩无码黄色| 91po国产在线精品免费观看| 97综合久久| 国产女人在线视频| 日本成人不卡视频| 四虎永久在线精品影院| 婷婷午夜影院| 欧美精品啪啪一区二区三区| 久久夜色精品| 亚洲第一成人在线| 人人看人人鲁狠狠高清| 57pao国产成视频免费播放 | 免费无码在线观看| 久久亚洲精少妇毛片午夜无码| 99精品免费在线| 成人精品在线观看| 国产拍揄自揄精品视频网站|