Python人工智能技術(shù)與應(yīng)用課件 12.【課件】4-3 利用圖像分類技術(shù)進行駕駛員狀態(tài)識別_第1頁
Python人工智能技術(shù)與應(yīng)用課件 12.【課件】4-3 利用圖像分類技術(shù)進行駕駛員狀態(tài)識別_第2頁
Python人工智能技術(shù)與應(yīng)用課件 12.【課件】4-3 利用圖像分類技術(shù)進行駕駛員狀態(tài)識別_第3頁
Python人工智能技術(shù)與應(yīng)用課件 12.【課件】4-3 利用圖像分類技術(shù)進行駕駛員狀態(tài)識別_第4頁
Python人工智能技術(shù)與應(yīng)用課件 12.【課件】4-3 利用圖像分類技術(shù)進行駕駛員狀態(tài)識別_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

《Python人工智能技術(shù)與應(yīng)用》能力模塊四

掌握基于深度學(xué)習(xí)的計算機視覺技術(shù)應(yīng)用任務(wù)三利用圖像分類技術(shù)進行駕駛員狀態(tài)識別TaskImport任務(wù)導(dǎo)入為提高駕駛安全性能,現(xiàn)智能交互項目需要實現(xiàn)駕駛員狀態(tài)識別功能,評估駕駛員的注意力、疲勞程度、情緒狀態(tài)、飲酒情況等。你作為公司的計算機視覺算法工程師,在已經(jīng)獲取項目數(shù)據(jù)的情況下,需要你使用圖像分類技術(shù)對駕駛員的一個狀態(tài)進行識別,為該市公交車安全駕駛護航。素養(yǎng)目標(biāo)引導(dǎo)問題的過程中,培養(yǎng)學(xué)生形成勤于思考的能力獲得分析解決問題以及多元化思考解決問題的方法,形成創(chuàng)新意識。TaskObject任務(wù)目標(biāo)知識目標(biāo)了解圖像分類技術(shù)的定義和應(yīng)用。了解人類視覺原理與卷積神經(jīng)網(wǎng)絡(luò)技術(shù)。了解卷積神經(jīng)網(wǎng)絡(luò)的基本原理。了解keras深度學(xué)習(xí)框架了解駕駛員狀態(tài)識別技術(shù)了解使用keras構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)的模型。技能目標(biāo)掌握使用keras框架實現(xiàn)對駕駛員狀態(tài)數(shù)據(jù)進行預(yù)處理和特征表示掌握使用keras框架實現(xiàn)基于卷積神經(jīng)網(wǎng)絡(luò)的駕駛員分心檢測模型的構(gòu)建。掌握使用keras框架實現(xiàn)駕駛員狀態(tài)識別模型的評估。新

授圖像分類技術(shù)的定義與應(yīng)用01CONTENTS目錄人類視覺原理與卷積神經(jīng)網(wǎng)絡(luò)技術(shù)02卷積神經(jīng)網(wǎng)絡(luò)的基本原理03Keras深度學(xué)習(xí)框架基本認(rèn)知04駕駛員狀態(tài)識別技術(shù)05基于圖像分類技術(shù)實現(xiàn)駕駛員狀態(tài)識別06圖像分類技術(shù)的定義與應(yīng)用01識別“貓”的圖片為“cat”定義圖像分類技術(shù),即給定一幅輸入圖像,通過某種分類算法來識別圖像中的物體,或者將圖像分類為某些類別,分類的類別可以包括動物、植物、自然環(huán)境、建筑物、交通工具、食物、人物、娛樂活動、家具和家電等。圖像分類技術(shù)的定義與應(yīng)用用于安防領(lǐng)域的人臉識別與視頻違規(guī)行為分析。交通場景識別是指通過計算機視覺技術(shù),從視頻中識別出交通場景,包括車輛、行人、交通標(biāo)志、交通控制設(shè)備等。在智能分揀領(lǐng)域,圖像分類技術(shù)應(yīng)用廣泛。例如智能水果機識別水果圖像,通過分析水果的大小、形狀、果皮顏色、口感等要素實現(xiàn)水果種類的識別。醫(yī)學(xué)圖像識別是指利用計算機視覺技術(shù)來識別醫(yī)學(xué)圖像中的特征,以及從圖像中提取有用的信息。醫(yī)學(xué)圖像識別可以應(yīng)用于多種醫(yī)學(xué)圖像,如X射線圖像、磁共振圖像、核磁共振圖像等。應(yīng)用智能分揀領(lǐng)域醫(yī)學(xué)領(lǐng)域安防領(lǐng)域交通領(lǐng)域01人類視覺原理與卷積神經(jīng)網(wǎng)絡(luò)技術(shù)人類視覺原理攝入原始信號抽象初步處理進一步抽象瞳孔攝入像素大腦皮層某些細(xì)胞發(fā)現(xiàn)邊緣和方向大腦判定物體形狀大腦進一步判定物體類別02人類視覺原理與卷積神經(jīng)網(wǎng)絡(luò)技術(shù)人類視覺提取圖像特征步驟提取物體的輪子、眼睛、軀干等特征。倒數(shù)第二層不同的高級特征最終組合成相應(yīng)的圖像。最上層特征基本上是類似的,即各種邊緣。由底層往上,所提取的特征越接近所識別物體。最底層人類視覺原理02人類視覺原理與卷積神經(jīng)網(wǎng)絡(luò)技術(shù)傳統(tǒng)人工智能圖像處理困難圖像由像素構(gòu)成,每個像素由顏色構(gòu)成。每個像素都有RGB3個參數(shù)來表示顏色信息。假如我們處理一張1000×1000像素的圖片,我們需要處理3000萬個參數(shù)。圖像、像素和顏色的關(guān)系處理數(shù)據(jù)量大,成本高效率低圖像數(shù)字化原有特征消失,準(zhǔn)確率低02人類視覺原理與卷積神經(jīng)網(wǎng)絡(luò)技術(shù)卷積神經(jīng)網(wǎng)絡(luò)技術(shù)把大量參數(shù)降維成少量參數(shù),再做處理。在大部分場景下,降維不會影響結(jié)果。比如1000像素的圖片縮小成200像素,并不影響肉眼認(rèn)出來圖片中是一只貓還是一只狗,機器也是如此。解決問題模仿人類大腦特點,構(gòu)造多層的神經(jīng)網(wǎng)絡(luò)較低層的識別初級的圖像特征若干底層特征組成更上一層特征最終通過多個層級的組合在頂層做出分類。靈感來源02卷積神經(jīng)網(wǎng)絡(luò)的基本原理卷積神經(jīng)網(wǎng)絡(luò)由卷積層、池化層、全連接層等組成。卷積層:負(fù)責(zé)提取圖像中的局部特征;池化層:用來降維,大幅降低參數(shù)量級;全連接層:類似傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的部分,用來輸出想要的結(jié)果;卷積神經(jīng)網(wǎng)絡(luò)工作流程卷積神經(jīng)網(wǎng)絡(luò)工作流程03卷積神經(jīng)網(wǎng)絡(luò)的基本原理卷積層卷積神經(jīng)網(wǎng)絡(luò)對圖像進行卷積操作在卷積操作中,卷積核在輸入圖像上滑動,對圖像的每個局部區(qū)域進行加權(quán)累加,從而得到對應(yīng)位置的特征圖。卷積核中的參數(shù)矩陣可以學(xué)習(xí)到輸入圖像中的特征,例如邊緣、紋理、顏色等,不同的卷積核可以提取不同的特征。卷積核提取特征原理卷積核是卷積神經(jīng)網(wǎng)絡(luò)中的一種可學(xué)習(xí)參數(shù),通常是一個二維矩陣,用于對輸入圖像進行卷積操作,從而提取圖像中的特征。在卷積神經(jīng)網(wǎng)絡(luò)中,卷積層通過應(yīng)用多個卷積核來提取不同的特征。卷積核定義和作用03卷積神經(jīng)網(wǎng)絡(luò)的基本原理卷積神經(jīng)網(wǎng)絡(luò)對圖像進行卷積操作使用一個卷積核對原始圖像進行掃描,將卷積核所帶數(shù)值和被掃描到的區(qū)域的數(shù)值進行點乘,所得到的值即為卷積操作后的值,依次對原始圖像的所有區(qū)域進行掃描即完成了原始圖像的卷積操作。卷積核的數(shù)值處理卷積核的大小通常是正方形或矩形,通常為3×3、5×5、7×7等大小,較小的卷積核可以提取圖像的細(xì)節(jié)特征,較大的卷積核可以提取更大的圖像特征。卷積核大小的影響卷積層03卷積神經(jīng)網(wǎng)絡(luò)的基本原理

例如2x2最大值池化的意思是將原始數(shù)據(jù)中的每一個2x2框里面取其中的最大值,移動2x2方框,遍歷原始數(shù)據(jù),取盡所有2x2方框里面的最大值,得到最后的矩陣即完成2x2最大值池化。此外還有平均值池化,最小值池化等,原理也是類似的。 池化操作過程池化操作指的是將原始數(shù)據(jù)的維度降低。池化操作定義卷積神經(jīng)網(wǎng)絡(luò)對圖像進行池化操作池化層03卷積神經(jīng)網(wǎng)絡(luò)的基本原理卷積神經(jīng)網(wǎng)絡(luò)的全連接網(wǎng)絡(luò)當(dāng)原始圖像經(jīng)過卷積核池化操作之后,會得到一個最后的NxM的矩陣,我們將這個矩陣?yán)阶兂梢涣袛?shù)字然后將這一列數(shù)字輸入到全連接層。全連接層類似于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),第一層為輸入層,中間若干個隱藏層,最后一個輸出層。輸入層與隱藏層或隱藏層之間的運算為Z=W*X+b的線性運算(W表示權(quán)重向量,b表示偏置向量),隱藏層與輸出層之間的運算為A=f(Z),f為激活函數(shù)。全連接層工作過程全連接層03Keras深度學(xué)習(xí)框架基本認(rèn)知Keras深度學(xué)習(xí)框架Keras深度學(xué)習(xí)框架:Keras是一個高層次的深度學(xué)習(xí)框架,它可以用于搭建和訓(xùn)練各種神經(jīng)網(wǎng)絡(luò)模型。Python框架則是為解決一個(一類)問題而開發(fā)的產(chǎn)品。框架用戶一般只需要使用框架提供的類或函數(shù),即可實現(xiàn)全部功能??蚣苁褂靡?guī)則:框架提供一整套的服務(wù),我們調(diào)用框架的時候,取的是整個框架,必須使用這個框架的全部代碼,且必須按照框架設(shè)定好的使用規(guī)則來使用。框架與庫:在使用深度學(xué)習(xí)框架時,通常需要使用一些深度學(xué)習(xí)庫來提供額外的功能。因此,深度學(xué)習(xí)框架和庫通常是一起使用的。04Keras深度學(xué)習(xí)框架基本認(rèn)知Keras的基本使用方法Keras提供多種API來構(gòu)建神經(jīng)網(wǎng)絡(luò)模型。其中兩種常用的API是Keras的SequentialAPI和FunctionalAPItf.keras.models.Sequential()是TensorflowKeras中用于構(gòu)建序列模型的類。Sequential類提供了一種方便的方式來構(gòu)建和訓(xùn)練序列模型。使用Sequential類,用戶可以輕松地創(chuàng)建各種神經(jīng)網(wǎng)絡(luò)架構(gòu),例如全連接神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò)等等。KerasSequentialAPI序列模型是一種簡單的線性堆疊模型,由多個神經(jīng)網(wǎng)絡(luò)層按順序排列組成。每一層接收上一層的輸出作為輸入,并將其輸出作為下一層的輸入。序列模型04Keras深度學(xué)習(xí)框架基本認(rèn)知序號操作代碼示例1導(dǎo)入Keras框架fromkeras.modelsimportSequential2創(chuàng)建一個序列模型model=Sequential()3添加卷積層model.add(Conv2D(filters,kernel_size,activation,input_shape))4添加池化層model.add(MaxPooling2D(pool_size))5添加全連接層model.add(Dense(units,activation))6編譯模型pile(loss,optimizer,metrics)7訓(xùn)練模型model.fit(x_train,y_train,epochs,batch_size)8預(yù)測結(jié)果model.predict(x_test)Keras的基本使用方法04Keras深度學(xué)習(xí)框架基本認(rèn)知序號模塊名稱對應(yīng)導(dǎo)入庫描述1神經(jīng)網(wǎng)絡(luò)層模塊keras.layers用于定義網(wǎng)絡(luò)層的類和函數(shù),如全連接層、卷積層、池化層、循環(huán)神經(jīng)網(wǎng)絡(luò)層等。2模型模塊keras.models用于定義和訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的類和函數(shù)。3優(yōu)化器模塊keras.optimizers用于配置模型的優(yōu)化器,如隨機梯度下降法、Adam優(yōu)化器等。4損失函數(shù)模塊keras.losses用于配置模型的損失函數(shù),如均方誤差、交叉熵等。5模型評估模塊keras.metrics用于配置模型的評估指標(biāo),如準(zhǔn)確率、精度、召回率等。6回調(diào)函數(shù)模塊keras.callbacks用于在訓(xùn)練過程中監(jiān)控和調(diào)整模型,如EarlyStopping、ReduceLROnPlateau等。7內(nèi)置數(shù)據(jù)集模塊keras.datasets提供一些常見的數(shù)據(jù)集,如MNIST、CIFAR等。8數(shù)據(jù)預(yù)訓(xùn)練模塊keras.preprocessing提供了一些數(shù)據(jù)預(yù)處理工具,如圖像處理、文本處理等。9模型保存與加載模塊keras.utils提供了一些常用的實用工具,如數(shù)據(jù)格式轉(zhuǎn)換、模型保存等。Keras的基本模塊04駕駛員狀態(tài)識別技術(shù)駕駛狀態(tài)識別系統(tǒng)(DriverMonitorSystem,DMS)主要功能是為了檢測駕駛員在行車過程中的狀態(tài)。DMS系統(tǒng)包括faceID(面部識別)、疲勞檢測、分心檢測、表情識別、手勢識別、危險動作識別、視線追蹤等。定義05駕駛員狀態(tài)識別技術(shù)DMS攝像頭能夠檢測駕駛員的疲勞程度,通過語音和儀表提醒駕駛員。它還可以區(qū)分輕度、中度和重度疲勞,并根據(jù)情況提供相應(yīng)的提醒和輔助措施,如開啟駕駛輔助功能或空調(diào)進行降溫。疲勞檢測當(dāng)駕駛員在自己的臉前方或是攝像頭前放置了遮擋物時,DMS攝像頭的人臉識別功能會受到影響,此時DMS功能會提醒駕駛員,DMS的功能會無法正常執(zhí)行,請移除遮擋攝像頭的物件。駕駛員此時將遮擋物移除即可解除相關(guān)的提示。此外,該功能還會將遮擋情況分類為“人臉遮擋”與“攝像頭遮擋”兩種情況,請根據(jù)檢測情況的不同,對應(yīng)進行不同位置的檢查。遮擋檢測應(yīng)用05駕駛員狀態(tài)識別技術(shù)DMS攝像頭能夠檢測駕駛員的疲勞程度,通過語音和儀表提醒駕駛員。它還可以區(qū)分輕度、中度和重度疲勞,并根據(jù)情況提供相應(yīng)的提醒和輔助措施,如開啟駕駛輔助功能或空調(diào)進行降溫。異常行為檢測DMS攝像頭可通過評估駕駛員頭部和眼球的整體角度和時間來判斷其是否分心。然而,觀察后視鏡和車載主機的時間較短不會觸發(fā)分心檢測。在需要使用車身攝像頭的情況下,該功能會暫時關(guān)閉以避免誤判。分心檢測應(yīng)用05基于圖像分類技術(shù)實現(xiàn)駕駛員狀態(tài)識別數(shù)據(jù)的收集與準(zhǔn)備選用駕駛員分心檢測數(shù)據(jù)集(StateFarmDistractedDriverDetection)數(shù)據(jù)集下載導(dǎo)入。數(shù)據(jù)集圖片共分為10個類別。(1)c0:安全駕駛c1:用右手發(fā)短信c2:用右手打電話c3:用左手發(fā)短信c4:用左手打電話c5:操作收音機c6:喝東西c7:伸手到后面c8:整理發(fā)型和妝容c9:與乘客交談06基于圖像分類技術(shù)實現(xiàn)駕駛員狀態(tài)識別(2)數(shù)據(jù)預(yù)處理通過使用Keras中ImageDataGenerator方法進行圖像數(shù)據(jù)的生成和增強.在Keras中使用flow_from_directory方法從文件夾中讀取圖像數(shù)據(jù)并生成批量數(shù)據(jù)(batch),主要用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)時的數(shù)據(jù)輸入。步驟描述1定義ImageDataGenerator對象。2使用.flow_from_directory()方法指定訓(xùn)練/驗證/測試數(shù)據(jù)集的路徑。3設(shè)置ImageDataGenerator對象的參數(shù)。4調(diào)用.fit()方法對ImageDataGenerator對象進行擬合。5調(diào)用.fit_generator()方法訓(xùn)練模型。6在調(diào)用.fit_generator()方法時,設(shè)置steps_per_epoch和validation_steps參數(shù)以指定訓(xùn)練和驗證數(shù)據(jù)集的批次數(shù)量。7在使用.predict()或.evaluate()方法時,設(shè)置steps參數(shù)以指定測試數(shù)據(jù)集的批次數(shù)量。ImageDataGenerator的基本使用流程06基于圖像分類技術(shù)實現(xiàn)駕駛員狀態(tài)識別(3)模型搭建及訓(xùn)練使用ResNet50卷積神經(jīng)網(wǎng)絡(luò)進行模型搭建及訓(xùn)練。步驟描述代碼示例1導(dǎo)入ResNet50模型fromtensorflow.keras.applications.resnet50importResNet502實例化模型并下載預(yù)訓(xùn)練權(quán)重model=ResNet50(weights='imagenet')3創(chuàng)建sequential會話r50_finetune=tf.keras.models.Sequential()4在會話中添加restnet50模型r50_finetune.add(model)5針對特定任務(wù)添加輸出層r50_finetune.add(tf.keras.layers.Dense(num_classes,activation='sigmoid'))ResNet50卷積神經(jīng)網(wǎng)絡(luò)使用流程06基于圖像分類技術(shù)實現(xiàn)駕駛員狀態(tài)識別(4)模型訓(xùn)練及編譯對搭建好的模型進行訓(xùn)練,需要設(shè)置好訓(xùn)練參數(shù),使用訓(xùn)練好的模型,對測試集中的場景圖像進行分析,識別出駕駛員的行為狀態(tài)。在keras中使用pile對模型進行編譯。參數(shù)描述loss指定模型評估過程中使用的損失函數(shù)optimizer指定模型優(yōu)化器metrics指定評估模型的指標(biāo),如準(zhǔn)確率、精確度等sample_weight_mode指定模型訓(xùn)練時如何處理樣本權(quán)重weighted_metrics指定模型訓(xùn)練時如何處理樣本權(quán)重的指標(biāo),如準(zhǔn)確率、精確度等target_tensors指定模型訓(xùn)練時使用的目標(biāo)張量keraspile方法的參數(shù)解釋06基于圖像分類技術(shù)實現(xiàn)駕駛

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論