亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        動物識別大轉(zhuǎn)盤:玩轉(zhuǎn)圖像分類模型

        2023-05-30 16:09:17劉梅
        中國信息技術(shù)教育 2023年9期

        劉梅

        摘要:本項目以野生保護動物圖像分類為主題,共包括數(shù)據(jù)采集及處理、模型訓練、模型封裝、模型部署四個階段,利用6個課時帶領(lǐng)學生體驗完整的人工智能作品開發(fā)流程,以期為高中階段人工智能教學提供參考。

        關(guān)鍵詞:模型訓練;Arduino;MobileNet;百度飛槳;圖像識別

        中圖分類號:G434? 文獻標識碼:A? 論文編號:1674-2117(2023)09-0079-04

        目前,在計算機視覺領(lǐng)域有多種圖像分類模型,如ResNet、MobileNet、LeNet等,這些模型在不同的圖像識別場景下發(fā)揮不同的作用。那么,不同網(wǎng)絡模型在結(jié)構(gòu)上有什么差異?哪些模型識別速度更快準確率更高?哪些模型更輕量更適合部署在移動端?為了弄清這些問題,筆者在實際教學過程中進行了一系列探索并發(fā)現(xiàn),如果只是講解理論,對于初次接觸深度學習的高中生來說是枯燥且晦澀的。因此,筆者開發(fā)了可以實踐的趣味項目,讓學生自己動手,親歷完整的問題解決過程,在實踐中理解人工智能模型算法原理。在項目實踐中,筆者也遇到并解決了一些新的問題,如如何實現(xiàn)本地局域網(wǎng)環(huán)境下的模型API調(diào)用,以解決機房網(wǎng)絡不佳、學生注冊調(diào)用網(wǎng)絡平臺API費時費力等問題?有什么硬件是價格低廉、配置簡單且適合機房環(huán)境下大班教學的?下面,筆者以完整的“動物識別分類”項目為例對上述問題進行闡述,以期為高中階段人工智能教學提供參考。

        項目介紹

        1.項目背景

        本項目主題:打造AI野生保護動物識別系統(tǒng)。近幾年,販賣野生保護動物的情況屢見不鮮,許多人在不知情的情況下出于好奇而購買,從而觸犯了法律,究其根本原因還是缺乏對野生保護動物的認識。我們可以借助人工智能的圖像識別技術(shù)來解決這一問題。

        2.項目時長

        該項目分四部分,共6課時,分別為:數(shù)據(jù)采集及處理(2課時)、 模型訓練(1課時)、模型封裝(1課時)、模型部署(2課時)。

        3.項目流程

        首先,學生2人一組,從網(wǎng)絡上收集8到10種不常見的野生保護動物圖片,并進行預處理。然后,分組調(diào)用MobileNetV2、resnet50預訓練模型,在訓練過程中對比兩種圖像分類模型的差異。接著,利用教師提供的module.py半成品文件,將自己訓練出的模型進行封裝,實現(xiàn)本地調(diào)用。最后,利用Arduino板完成硬件部署。

        項目實施

        1.數(shù)據(jù)采集及處理

        (1)數(shù)據(jù)采集

        數(shù)據(jù)集的獲取處理是一個非常復雜的過程,既需要大量高質(zhì)量的圖片數(shù)據(jù),又要保證數(shù)據(jù)集的圖片具有足夠的多樣性,這樣才能提高訓練模型在實際應用中的泛化水平。由于野生保護動物在生活中并不常見,采用手機或相機拍攝是不可行的,所以教師可以指導學生應用高一學習的Python爬蟲知識爬取需要的數(shù)據(jù)集圖片,即根據(jù)關(guān)鍵詞從百度上爬取8到10種野生保護動物圖片,每種500張左右,核心代碼如圖1所示。

        將下載好的數(shù)據(jù)集圖片分類放在10個文件夾中,需要按照飛槳平臺的數(shù)據(jù)集格式規(guī)則提前制作好一個label.text文檔,在后期模型訓練中作為數(shù)據(jù)索引。教師可以提前制作一份模型文檔給學生作為參考。格式如圖2所示。

        (2)數(shù)據(jù)預處理

        數(shù)據(jù)處理中重要的一步是將處理好的數(shù)據(jù)劃分訓練驗證集,使用sklearn.model_selection模塊,只需要如下兩行代碼就可以劃分出訓練驗證集:

        from sklearn.model_selection import train_test_split

        train_img, val_img, train_label, val_label = train_test_split(data, label, test_size=0.2)

        接下來按照飛槳官網(wǎng)[1]提供的代碼進行數(shù)據(jù)預處理。

        2.模型訓練

        (1)神經(jīng)網(wǎng)絡的搭建

        直接調(diào)用飛槳平臺的內(nèi)置模型,調(diào)用代碼如圖3所示。

        使用paddle.summary語句查看網(wǎng)絡結(jié)構(gòu),如圖4所示。學生從中可以理解MobileNetV2與resnet50在模型結(jié)構(gòu)上的異同,比教師講解理論要直觀清晰許多。

        (2)模型訓練

        可以選擇不同的訓練方式進行訓練,機房CPU環(huán)境下訓練時間較長,250個epoch,約需要一個小時左右(如下頁圖5)。

        (3)模型評估

        在模型訓練好后,使用下頁圖6所示的代碼繪制變化曲線來查看兩種訓練模型對應的準確率的區(qū)別,MobileNetV2約為65%,resnet50約為70%,差距不大,后續(xù)還需要繼續(xù)調(diào)優(yōu)以提高其識別精度。還可以用同樣的方法繪制loss曲線,幫助學生理解訓練過程中損失函數(shù)的變化(如下頁圖7)。

        (4)模型預測

        加載模型啟動模型預測,選擇圖片對訓練出的模型進行預測,代碼如第82頁圖8所示。指導學生選擇圖片進行多次測試,以體驗訓練模型的識別精度。

        3.模型封裝

        訓練出的模型權(quán)重文件經(jīng)過封裝,便可以實現(xiàn)本地部署。在機房局域網(wǎng)內(nèi),教師啟動部署命令,其他學生也可以調(diào)用該hub模型進行圖像識別。封裝的核心步驟是要編寫module.py文件,這是比較煩瑣的一步,其中包括配置模型信息、編寫推理方法、測試推理等,代碼較長,具體可參考官網(wǎng)使用指南。[2]

        在這個過程中,教師的任務則是要提前為學生準備好module.py的框架代碼,這樣學生只需更改與自己訓練模型相關(guān)的少量關(guān)鍵代碼行即可,這樣可以節(jié)省課堂時間與學生的操作難度。在配置好module.py文件后,學生開始制作自己的paddlehub:新建一個文件夾mobilenet_meimei,與module.py文件中模型的名稱一致,在文件夾中加入一個__init__.py空文件,以及剛剛編輯好的module.py文件、assets文件夾。其中,assets文件夾中包含的是前期訓練好的模型及參數(shù)文件,如下頁圖9所示。之后啟動以下兩條命令:

        hub install mobilenet_meimei

        hub serving start -m mobilenet_meimei

        在本地部署封裝好的模型,利用飛槳提供的測試代碼,就可以在本地對模型進行識別調(diào)用了。

        4.模型部署

        模型部署階段是整個項目環(huán)節(jié)中趣味性、交互性最強的階段。在這一部分,教師帶領(lǐng)學生利用封裝好的動物識別模型,結(jié)合Arduino制作“動物識別大轉(zhuǎn)盤”,將自己的訓練成果真正應用起來。Arduino板無法實現(xiàn)邊緣部署,計算推理等工作還是要在計算機端完成,但因其配置步驟簡單、價格低廉、功能強大,更適合沒有硬件基礎(chǔ)的學生以及機房環(huán)境下的大班教學。

        (1)所需材料

        硬件:Arduino*1、舵機*2、yeelight LED燈*1、杜邦線*6、小音箱或語音播報模塊。

        軟件:jupyter或idle。

        (2)實現(xiàn)功能

        調(diào)用封裝好的動物識別模型,在成功識別出相應動物名稱后,組裝驅(qū)動硬件部分實現(xiàn)如下功能:①利用pyttsx3模塊,實現(xiàn)語音播報識別出的保護動物名稱。

        ②利用Pinpong模塊,實現(xiàn)Arduino控制舵機轉(zhuǎn)動,在轉(zhuǎn)盤中指向識別出的動物名稱。③利用yeelight模塊,結(jié)合小彩燈,當識別到不同動物時,彩燈會顯示與之相對應的不同顏色,如檢測到金絲猴亮起黃燈,檢測到耳廓狐亮起綠燈。如果遷移在水果分類項目中,還可以使亮起的燈顯示為識別出的相應水果的顏色,如火龍果顯示紅色、香蕉顯示黃色。

        (3)實現(xiàn)方式

        核心代碼如圖10所示。

        結(jié)語

        在本項目中,教師帶領(lǐng)學生體驗了完整的圖像分類識別流程,理解了resnet50、MobileNetV2兩種圖像分類模型在結(jié)構(gòu)、訓練速度、訓練模型識別精度等方面的差異,實現(xiàn)了利用Arduino部署自訓練模型,解決了機房局域網(wǎng)環(huán)境下API調(diào)用本地化等問題。

        參考文獻:

        [1]飛槳官網(wǎng)[EB/OL].https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/beginner/data_preprocessing_cn.html.

        [2]飛槳官網(wǎng)[EB/OL].https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/nn/Sequential_cn.html#sequential.

        小12箩利洗澡无码视频网站| 91精品啪在线观九色| 日韩激情av不卡在线| 综合人妻久久一区二区精品| 国产又色又爽的视频在线观看91 | 日韩av一区二区蜜桃| 精品国产一区二区三区性色 | 国产极品美女高潮抽搐免费网站| 黄色三级视频中文字幕| 国产在线看不卡一区二区| 免费在线亚洲视频观看| 午夜一区二区视频在线观看| 婷婷久久香蕉五月综合加勒比 | 国产精品视频一区二区噜噜| 中文字幕欧美一区| 亚洲24小时在线免费视频网站| 日本伦理视频一区二区| 国产精品亚洲第一区二区三区 | 久久人妻AV无码一区二区| 熟女人妻一区二区中文字幕| 亚洲夫妻性生活免费视频| 免费看黄色电影| 中日av乱码一区二区三区乱码| 中文字幕av无码一区二区三区电影| av毛片一区二区少妇颜射| 激情五月六月婷婷俺来也| 亚洲视频高清一区二区| 综合色就爱涩涩涩综合婷婷| a级毛片免费完整视频| 88国产精品视频一区二区三区| 亚洲色四在线视频观看| 亚洲综合伊人久久综合| 国产精品一区二区av不卡| 精品福利一区二区三区免费视频| 久久99精品国产麻豆不卡| 欧美日韩不卡视频合集| 中文字幕精品久久天堂一区| 欧美在线Aⅴ性色| 中文字幕av人妻少妇一区二区| 亚洲情综合五月天| 国产女精品视频网站免费|