資源簡介 (共51張PPT)第2單元 第3課用深度學習實現(xiàn)圖像分類(清華大學版)八年級下1核心素養(yǎng)目標3新知講解5拓展延伸7板書設計2新知導入4課堂練習6課堂總結課后作業(yè)801核心素養(yǎng)目標信息意識計算思維數(shù)字化學習與創(chuàng)新信息社會責任在圖像分類過程中遵循法律法規(guī),尊重他人的隱私和知識產(chǎn)權,思考圖像分類技術可能帶來的社會影響。鼓勵運用數(shù)字化工具(如編程軟件、深度學習框架)進行圖像分類的實踐操作,提高他們的數(shù)字化學習能力。引導理解深度學習算法(如卷積神經(jīng)網(wǎng)絡)背后的邏輯和計算流程,學會用算法思維解決圖像分類問題。理解圖像數(shù)據(jù)作為一種重要信息資源的價值,通過深度學習進行圖像分類是提取和利用圖像信息的有效方式。02新知導入本課中你將學習:如何制作圖像數(shù)據(jù)集如何對圖像分類模型進行訓練如何應用圖像分類模型02新知導入深度學習是機器學習最重要的組成部分。用深度學習解決問題,同樣要參考機器學習的一般流程,從采集、整理和清洗數(shù)據(jù)開始,再搭建模型進行訓練與評估,最后結合其他編程工具或者模塊,以模型推理為核心功能,形成一個完整的人工智能項目。本節(jié)課,我們將用深度學習的方法實現(xiàn)圖像分類并解決昆蟲識別的問題。02新知導入03新知講解一、準備圖像數(shù)據(jù)集合適的數(shù)據(jù)集是機器學習任務成功的關鍵,數(shù)據(jù)集的質(zhì)量會直接影響模型的性能。針對圖像分類模型訓練,我們需要準備好一個圖像數(shù)據(jù)集。03新知講解許多人關心的問題是“需要多少張圖片?”以及“圖片的尺寸應該為多大?”,答案取決于所期望的模型識別精度。一般來說,數(shù)據(jù)越豐富、越多樣,訓練出來的模型的表現(xiàn)就會越好。只有數(shù)量還不夠,還需要確保數(shù)據(jù)的多樣性,這意味著需要考慮光線、拍攝角度、背景等變化條件。采集數(shù)據(jù)前還需要明確讓模型識別和學習的圖像類型,考慮模型最終的應用場景及采集的圖像數(shù)據(jù)與要進行推理的圖像是否一致。例如,昆蟲識別模型的應用場景是校園花圃,最好也用攝像頭去采集校園花圃里的昆蟲的圖像。03新知講解1. 圖像分類數(shù)據(jù)集的規(guī)范不同的 AI開發(fā)工具或框架對數(shù)據(jù)集格式有特定的要求。比較常用的用于圖像分類的數(shù)據(jù)集格式是ImageNet格式。ImageNet大規(guī)模視覺識別挑戰(zhàn)賽是著名的計算機視覺競賽,其機制是提供統(tǒng)一的數(shù)據(jù)集,讓不同算法進行比較。ImageNet 提供的數(shù)據(jù)集擁有超過1500萬張圖片,約2.2萬個類別,其格式逐步發(fā)展為一種通用的圖像分類數(shù)據(jù)集標準。03新知講解ImageNet格式的數(shù)據(jù)集一般包含三個文件夾和三個文本文件。如圖 2.3.1所示,不同類別圖片按照文件夾分類,通過training_set、val_set、test_set 區(qū)分訓練集、驗證集和測試集。文本文件classes.txt說明類別名稱與序號的對應關系,val.txt說明驗證集圖片路徑與類別序號的對應關系,test.txt說明測試集圖片路徑與類別序號的對應關系。03新知講解2.圖像分類數(shù)據(jù)集的制作第1單元使用過的BaseDT庫,不僅能完成CSV格式數(shù)據(jù)集的拆分還可以用于制作ImageNet格式的圖像分類數(shù)據(jù)集。首先,將收集的數(shù)據(jù)進行初步整理,整理規(guī)范如圖2.3.2所示,將所有圖片按照類別存放(存放至以各類別名稱命名的文件夾內(nèi)),再將所有圖片文件夾放入images文件夾同時新建一個 classes.txt,按次序逐行寫上所有類別的名稱,如圖 2.3.3 所示。03新知講解然后,使用 BaseDT對整理完畢的images文件夾進行格式轉換,數(shù)據(jù)集格式轉換的代碼如下所示。需要在代碼中指定生成數(shù)據(jù)集的路徑、原始數(shù)據(jù)集的路徑、原始數(shù)據(jù)集格式、劃分比例 (如不設置,則默認比例為訓練集 : 測試集 : 驗證集 =7 : 1∶2)。數(shù)據(jù)集劃分代碼運行結果如圖 2.3.4 所示。03新知講解二、圖像分類模型的訓練MMEdu 是一個為青少年設計的計算機視覺算法包,其簡化了神經(jīng)網(wǎng)絡模型搭建和訓練參數(shù),讓初學者通過簡潔的代碼即可完成各種模型訓練借助EasyTrain,使用者還可以用無代碼的方式調(diào)用 MMEdu 訓練模型。MMEdu 內(nèi)置了大量優(yōu)秀的算法 ( 如SOTA模型等 ),支持圖像分類和檢測任務。03新知講解1.圖像分類 SOTA 模型SOTA(state-of-the-art)是指在某個研究任務中目前表現(xiàn)最好、最先進的模型。不同的 SOTA 模型適合解決不同的問題,要根據(jù)具體的任務進行合理選擇。比如,LeNet模型在灰度數(shù)字手寫體字符識別任務上表現(xiàn)非常優(yōu)秀,也適合用于簡單的灰度圖像分類任務。除此之外,MMEdu在圖像分類方面還內(nèi)置了MobileNet、ResNet系列的模型。03新知講解(1) MobileNetMobileNet 系列模型的設計初衷是“for mobile vision applications”(為移動設備的視覺應用而開發(fā)),即提出一個輕量化的卷積網(wǎng)絡模型,在顯著減少計算量和參數(shù)量的同時,保持較高的準確率以提升計算效率,能用在手機、機頂盒等算力較弱的移動終端(也稱邊緣設備)上。MobileNet最大的優(yōu)點就是網(wǎng)絡的輕量化。如果昆蟲識別任務要采用移動終端部署,那么MobileNet 是一個很不錯的選擇。03新知講解(2) ResNet我們已經(jīng)知道,隨著網(wǎng)絡層數(shù)的增加,獲得的信息會更加豐富,但過多的網(wǎng)絡層數(shù)可能導致模型性能下降,甚至難以訓練。而何明、孫劍和湯曉鷗等提出的深度殘差網(wǎng)絡(deep residual network,ResNet),有效地解決了這個問題。ResNet的提出是計算機視覺領域的一個里程碑事件,用ResNet訓練出來的模型在當年ImageNet的圖像分類和目標檢測任務中都獲得了冠軍。ResNet有很多版本,常見有ResNet18、ResNet34、ResNet50、ResNet101、ResNet152等。迄今為止,ResNet仍是難以替代的主流模型,被廣泛應用于分類、檢測、分割等領域。03新知講解2.圖像分類模型的訓練過程MMEdu 的 MMClassification 模塊的主要功能是對圖像進行分類。以下是使用 MMEdu 訓練圖像分類模型的核心代碼,其設計思路旨在保持代碼的簡潔性和高效性。用 EasyTrain 訓練模型時,會自動生成類似的訓練代碼。03新知講解以上代碼體現(xiàn)了圖像分類模型訓練的五個主要步驟。①模型實例化:選擇一個適合任務的SOTA 模型作為模型的骨干網(wǎng)絡(backbone )。②配置類別數(shù)量:根據(jù)實際數(shù)據(jù)集中的類別數(shù)量配置模型,確保模型輸出與數(shù)據(jù)集相匹配。03新知講解③加載數(shù)據(jù)集:明確指定數(shù)據(jù)集的路徑,讓模型知道從哪里獲取訓練所需的數(shù)據(jù)。④設置模型保存路徑:指定一個路徑來保存訓練好的模型,便于后續(xù)的使用或部署。⑤開始訓練:指定訓練的輪數(shù)并選擇是否在訓練過程中進行驗證,以確保模型的泛化能力。03新知講解運行結果如圖 2.3.5 所示。03新知講解從圖2.3.5中可以看出,每輪訓練結束后出現(xiàn)accuracy_top-1表示模型在驗證集上驗證得到的準確率。MMEdu訓練模型的過程中不僅會保存每一輪的模型權重文件,還會將最佳準確率的模型進行重命名保存,并呈現(xiàn)在訓練結果中。如果對當前模型不夠滿意,MMEdu支持加載之前訓練過的模型繼續(xù)訓練,在 train 函數(shù)中增加checkpoint參數(shù),并指定模型權重路徑即可。下面的代碼是繼續(xù)訓練的核心代碼。03新知講解閱讀通常,從頭開始訓練一個深度學習模型需要大量的數(shù)據(jù)和計算資源,既費時又費力。但如果將一個已經(jīng)在類似任務上訓練好的模型作為起點,那么就可以直接利用這個預訓練模型已經(jīng)學到的知識,包括特征提取、模式識別等能力。這就是遷移學習(transferlearning)的魅力所在。在 MMEdu 中選擇之前的模型“繼續(xù)學習”,其實就是遷移學習。03新知講解閱讀遷移學習允許我們利用一個任務上的知識加速另一個相關任務的學習過程。如果選擇在貓狗分類模型的基礎上訓練牛羊分類模型,那么訓練速度也會快很多。這就像已經(jīng)學會了騎自行車,現(xiàn)在想學習騎摩托車,由于兩者在平衡和控制方面有相似之處,那么騎摩托車的學習過程會比從零開始學習要快得多。03新知講解三、圖像分類模型的應用完成了模型的訓練,接下來便要思考模型應用的問題。比如,可以將模型應用在校園農(nóng)場里,對害蟲進行監(jiān)控。再如,可以將模型應用在某個生態(tài)區(qū)域,對昆蟲類型進行分類并記錄。不管是哪一種應用場景,都需要借助攝像頭拍攝圖像,調(diào)用模型對圖像進行實時推理。03新知講解1.深度學習模型的類型和推理工具在深度學習領域中,幾乎每一種深度學習開發(fā)框架都有自己特定類型的模型,如 PyTorch 的模型格式為“.pth”,TensorFlow的模型格式為“h5等。為了讓深度學習模型更容易轉化為應用軟件,不同的企業(yè)和機構相繼推出了它們自己的推理工具(也稱推理框架、部署工具),如微軟、亞馬遜、Facebook和IBM等公司推出了ONNX Runtime,騰訊推出了NCNN,Intel推出了 OpenVino,英偉達推出了 TensorRT 等。03新知講解目前,ONNX Runtime得到的企業(yè)支持較多,是一個應用較為廣泛的推理框架。ONNX Runtime支持的模型格式為 ONNX (open neural network即開放神經(jīng)網(wǎng)絡交換),旨在實現(xiàn)不同深度學習框架之間的模型互操作,便于模型的共享和部署。ONNX Runtime支持多種硬件平臺,包括CPU和 GPU。03新知講解2.深度學習模型的轉換為提高模型推理的速度,很多硬件廠商設計了專用的推理加速芯片如TPU (張量處理器)、NPU (神經(jīng)網(wǎng)絡處理器)等,而不同的芯片可以針對某些類型的模型進行優(yōu)化。模型轉換可以使開發(fā)者充分利用硬件資源,提升模型性能,實現(xiàn)數(shù)據(jù)的快速推理。例如,一個在 PyTorch 中訓練的模型(pth格式)可以通過轉換工具轉換為ONNX格式,然后進一步部署到支持 ONNX Runtime 的環(huán)境中,實現(xiàn)高效的模型推理。03新知講解MMEdu 內(nèi)置 convert 函數(shù),針對用 MMEdu 訓練的模型,可直接完成一鍵式模型轉換。下面的代碼實現(xiàn)了將訓練的 pth 格式模型轉換為 ONNX 格式。03新知講解3.從模型推理到人工智能應用開發(fā)當一個深度學習模型訓練完成后,最終的任務是要結合其他編程工具編寫一個人工智能應用。一般來說,規(guī)模較小的模型往往運行在一些邊緣設備(指性能較弱的移動端和嵌入式設備)上。以昆蟲分類模型為例,一般會將模型和代碼放在邊緣設備上,然后安裝在校園農(nóng)場里,結合攝像頭進行畫面采集,其應用流程如圖 2.3.6所示。03新知講解(1)借助 XEduHub 實現(xiàn)ONNX模型推理XEdu工具集中的 XEduHub 也支持 ONNX 模型的推理,如下是MMEdu 模型轉換后推理的示例代碼。03新知講解運行結果如圖 2.3.7 所示。03新知講解(2) 用 Gradio 搭建人工智能應用Gradio 是一個開源 Python 庫,用于設計和部署機器學習模型的交互式界面。它提供了簡單易用的接口,讓用戶能夠輕松地創(chuàng)建和展示機器學習模型,并與其交互。下面是一段 Gradio 的示例代碼,主要作用是創(chuàng)建一個用戶界面,用戶可以上傳一張圖片,并直接顯示這張圖片(不對圖片進行任何處理)。03新知講解在以上代碼的基礎上,結合模型推理代碼即可搭建一個用戶上傳一張圖片就顯示推理結果的人工智能應用,如圖 2.3.8 所示。03新知講解閱讀OpenCV (open source computer vision library)是一個開源的計算機視覺和機器學習軟件庫。借助 OpenCV 可以輕松完成圖像和視頻處理。而人工智能結合物聯(lián)網(wǎng)技術,就形成了智聯(lián)網(wǎng)應用。借助pinpong庫,我們就能利用人工智能模型的推理結果驅動相應的硬件,比如發(fā)現(xiàn)害蟲就保存照片并告知農(nóng)民,發(fā)現(xiàn)偷食的小鳥就發(fā)出聲音驅趕,發(fā)現(xiàn)雜草則啟動激光設備“清除”等。下面的代碼實現(xiàn)的功能是使用攝像頭拍攝照片,若識別出照片中是害蟲,則點亮警示燈(D13端口接LED)。03新知講解閱讀03新知講解閱讀03新知講解閱讀結合 〇penCV 和 pinpong 庫,可以創(chuàng)建出既能通過攝像頭“看”到環(huán)境,又能通過硬件反饋進行“動作”的AI科創(chuàng)作品。這種結合使得項目不僅僅限于軟件層面的交互,還能與物理世界進行互動,極大地拓寬了創(chuàng)作的可能性。03新知講解“兵馬未動,糧草先行。”沒有好的數(shù)據(jù)集,就訓練不出好的模型MMEdu 自帶的昆蟲數(shù)據(jù)集的規(guī)模并不大,來源也比較單一。請使用各種方式對昆蟲數(shù)據(jù)集進行補充,如在科學老師的指導下現(xiàn)場拍攝或者從網(wǎng)絡上搜索。然后編寫模型轉換代碼,制作一個ImageNet格式的昆蟲數(shù)據(jù)集。核心實踐內(nèi)容包括:(1) 數(shù)據(jù)集擴充。對 MMEdu 自帶的昆蟲數(shù)據(jù)集進行擴容,增加類別或者增加現(xiàn)有類別的圖像數(shù)量。挑戰(zhàn)03新知講解(2) 數(shù)據(jù)集轉換。完善代碼,輸入數(shù)據(jù)路徑進行格式轉換,并檢查格式是否正確。(3) 進一步思考:如果因為誤操作把數(shù)據(jù)分類弄錯了,有什么辦法可以快速修正?挑戰(zhàn)答:若誤操作致數(shù)據(jù)分類錯誤,可從三層面解決。數(shù)據(jù)層面,量小則手動修正,有規(guī)律錯誤編寫腳本批量改;模型層面,數(shù)據(jù)量大或難手動修正就重新訓練,部分錯誤且原模型性能好時用正確數(shù)據(jù)微調(diào);數(shù)據(jù)管理層面,建立審核流程避免再誤操作,利用版本控制工具以便回滾重新操作。04課堂練習一、選擇題1、在深度學習圖像分類中,以下哪種神經(jīng)網(wǎng)絡結構常用于處理圖像數(shù)據(jù)?A. 循環(huán)神經(jīng)網(wǎng)絡(RNN) B. 長短期記憶網(wǎng)絡(LSTM)C. 卷積神經(jīng)網(wǎng)絡(CNN) D. 全連接神經(jīng)網(wǎng)絡(FCN)2、圖像分類任務中,數(shù)據(jù)增強的目的是什么?A. 減少訓練數(shù)據(jù)量 B. 增加數(shù)據(jù)的多樣性,提高模型泛化能力C. 使圖像變得更簡單 D. 只用于測試數(shù)據(jù)3、在深度學習模型訓練過程中,以下哪個參數(shù)用于控制模型學習的速度?A. 批次大小(Batch Size) B. 學習率(Learning Rate)C. 迭代次數(shù)(Epochs) D. 隱藏層數(shù)量CBB04課堂練習4、對于圖像分類任務,如果有10個不同的類別,模型的輸出層通常有多少個神經(jīng)元?A. 1 B. 5C. 10 D. 20二、判斷題1、深度學習圖像分類模型在訓練數(shù)據(jù)量較少時也能取得非常好的效果。( )2、在卷積神經(jīng)網(wǎng)絡中,池化層的作用是增加特征圖的尺寸。( )3、交叉熵損失函數(shù)常用于多分類的圖像分類任務中。( )4、深度學習圖像分類模型訓練完成后不需要進行評估。( )CXX√X04課堂練習三、操作題使用公開的圖像數(shù)據(jù)集(如CIFAR - 10),構建一個簡單的卷積神經(jīng)網(wǎng)絡模型來進行圖像分類任務。05拓展延伸應用場景拓展多模態(tài)圖像分類是指結合不同類型的圖像數(shù)據(jù),如可見光圖像與紅外圖像進行分類。這需要對不同模態(tài)的數(shù)據(jù)進行融合處理,例如在網(wǎng)絡的早期層或者晚期層進行特征融合,以提高對復雜場景的分類能力。小樣本圖像分類在醫(yī)療圖像分類中,某些疾病的圖像數(shù)據(jù)可能非常少。可以采用遷移學習的方法,利用在大規(guī)模圖像數(shù)據(jù)集(如ImageNet)上預訓練好的模型,然后在小樣本的醫(yī)療圖像數(shù)據(jù)集上進行微調(diào),提高小樣本圖像分類的準確率。05拓展延伸遷移學習背景:隨著機器學習應用場景的不斷拓展,傳統(tǒng)的監(jiān)督學習方法在面對新任務時,往往需要大量的標注數(shù)據(jù)進行重新訓練,這既耗時又費力。遷移學習的出現(xiàn)就是為了充分利用已有的數(shù)據(jù)和知識,提高模型在新任務上的性能和效率。05拓展延伸遷移學習定義:遷移學習是指將在源領域(Source Domain)和源任務(Source Task)中學習到的知識,應用到目標領域(Target Domain)和目標任務(Target Task)中,以提升目標任務的學習效果。05拓展延伸數(shù)據(jù)分類糾正如果因誤操作弄錯數(shù)據(jù)分類,可從數(shù)據(jù)、模型和數(shù)據(jù)管理層面解決。數(shù)據(jù)層面上,數(shù)據(jù)量小可手動修正,有規(guī)律錯誤能編寫腳本批量修改;模型層面,數(shù)據(jù)量較大或難手動修正時可重新訓練模型,也可在部分數(shù)據(jù)分類錯誤且原模型性能較好時用正確數(shù)據(jù)微調(diào)模型;數(shù)據(jù)管理層面,要建立數(shù)據(jù)審核流程避免再次誤操作,同時利用數(shù)據(jù)版本控制工具,發(fā)現(xiàn)錯誤時方便回滾到正確版本重新操作。06課堂總結1引入新知內(nèi)容用深度學習實現(xiàn)圖像分類2進行準備工作和模型訓練3了解圖像分類模型應用4完成課堂練習5進行知識拓展1234507板書設計用深度學習實現(xiàn)圖像分類1、進行新知引入2、進行準備工作和模型訓練3、了解圖像分類模型應用4、完成課堂練習5、進行知識拓展課后作業(yè)。1、深度學習板塊的錯誤糾正。2、學習總結。08課后作業(yè)1、假設你正在參與一個植物圖像分類項目,在對1000張植物圖像進行分類(分為花卉類、草本植物類、木本植物類)時,由于疏忽,有200張圖像的分類出現(xiàn)了錯誤。請根據(jù)所學的關于修正數(shù)據(jù)分類錯誤的知識,闡述你將如何快速修正這些錯誤,并簡要描述如何避免類似錯誤再次發(fā)生。要求字數(shù)在200 - 300字之間。2、總結本課所學內(nèi)容。https://www.21cnjy.com/recruitment/home/fine 展開更多...... 收起↑ 資源列表 【清華大學版】《信息科技》八年級下冊第2單元第3課《用深度學習實現(xiàn)圖像分類》.pptx 引入視頻.mp4 縮略圖、資源來源于二一教育資源庫