天天看點

Matlab和Python環境下的深度學習小項目(第三篇)

MATLAB環境下利用單目攝像頭和語義分割建立占位栅格(occupancy grid)

算法程式主要講解如何使用深度學習語義分割估計車輛可行駛區域(free space)并建立占位栅格(occupancy grid),然後使用此占位栅格建立車輛代價圖(vehicle costmap)。

可行駛區域估計

可行駛區域估計:識别環境中車輛在不撞到任何障礙物(如行人、路緣或其他車輛)的情況下行駛的區域。車輛可以使用各種傳感器來估計可行駛區域,例如雷達、雷射雷達或攝像頭。本例重點介紹如何使用語義分割來估計可行駛區域。

在該代碼中,可以學到

1.使用語義圖像分割來估計可行駛區域。

2.使用可行駛區域估計值建立占位栅格。

3.在鳥瞰圖上可視化占位栅格。

4.使用占位栅格建立車輛代價圖vehicle costmap。

5.檢查位置是否被占用。

Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)

基于深層小波散射網絡的圖像識别

算法程式主要講解如何使用深層小波散射網絡進行圖像分類。對于分類問題,将資料映射到某個“表示域”中通常很有用,該“表示域”弱化不相關的資訊,同時保留每個類别的區分屬性。而小波散射方法構造了對平移和微小形變不敏感的圖像的低方差表示。由于圖像中的平移和小變形并不會影響其類别,是以小波散射變換系數提供了可以建構穩健分類模型的特征。小波散射的工作原理是對圖像進行一系列小波變換、非線性和平均等級聯操作。這種深度特征提取的結果是:在小波散射變換表示中,同一類别的圖像彼此靠得更近,而不同類别的圖像則相距更遠。雖然小波散射變換與深度卷積神經網絡在架構上有許多相似之處,包括卷積算子、非線性和平均,但小波散射變換中的濾波器是預先定義且固定的。

數字圖像

本文使用的資料集包含10000張從0到9的數字合成圖像,當然其他自然圖像同樣可以,每個數字圖像為 28×28 像素。資料集的每個類别包含相同數量的圖像。

Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)

此外,訓練一個簡單的卷積神經網絡進行對比。建構的CNN包含一個卷積層,卷積層包括20 個5×5濾波器,步幅為 1×1,其後緊接、Relu激活函數層和最大池化層。最後使用全連接配接層,并使用softmax 将全連接配接層的輸出歸一化為機率。 損失函數使用交叉熵損失函數。

Matlab和Python環境下的深度學習小項目(第三篇)

訓練結束時,CNN在訓練集上的表現接近100%,然後對測試集進行測試。

看一下混淆矩陣

Matlab和Python環境下的深度學習小項目(第三篇)

小波散射網絡在很多小資料集是表現的都很好。接下來将進一步研究基于小波散射網絡的EEG信号識别和軸承故障診斷。

MATLAB環境下基于深度學習的多光譜圖像語義分割

算法程式主要講解如何訓練U-Net卷積神經網絡對7個通道的多光譜圖像進行語義分割,7個通道包括3個顔色通道、3個近紅外通道和一個掩模通道。需要使用具有計算能力3.0或更高版本的支援CUDA的NVIDIA™GPU(需要并行計算工具箱)。

Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)

MATLAB環境下基于深度學習的語義分割

算法程式主要講解如何使用深度學習網絡進行語義分割。語義分割網絡對圖像中的每個像素進行分類,進而生成按類别分割的圖像,該例子将語義分割應用于自動駕駛的道路分割。

為了說明訓練過程,該程式訓練一個SegNet網絡,這是一種用于圖像語義分割的卷積神經網絡 (CNN)。其他類型的語義分割網絡包括全卷積網絡(FCN)和U-Net等等。

該程式使用劍橋大學的CamVid 資料集進行訓練,資料集包括駕駛時獲得的街道視圖圖像,為32個語義類(包括汽車、行人和道路)提供像素級标簽。

同時還使用VGG-16網絡的權重初始化SegNet 網絡,是以需要安裝 VGG-16 網絡模型。

Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
ans=11×3 table
                  Accuracy      IoU      MeanBFScore
                  ________    _______    ___________

    Sky           0.93493     0.89244      0.88152  
    Building      0.79776     0.75263      0.59707  
    Pole          0.72635     0.18662      0.52252  
    Road          0.93676     0.90672      0.71043  
    Pavement      0.90674     0.72865      0.70362  
    Tree          0.86657     0.73747      0.66421  
    SignSymbol     0.7559     0.34519      0.43401  
    Fence         0.82807     0.50592       0.5083  
    Car           0.91187     0.75001      0.64352  
    Pedestrian    0.84866     0.35046      0.45551  
    Bicyclist     0.84705     0.54208      0.46818  
           

Python環境下基于機器學習(決策樹,随機森林)和深度學習(1D-CNN)的汽車變速箱軸承故障診斷

算法程式使用機器學習(決策樹,随機森林)和深度學習(1D-CNN)的汽車變速箱軸承進行故障診斷

注意:該程式隻有軸承故障資料,沒有試驗台資訊(保密)

故障資料資訊如下:label0: 汽車變速箱正常軸承,label1: 汽車變速箱輸入軸減速器端軸承内滾道故障 2000rpm,label2: 輸入軸電機端軸承内滾道故障 2000rpm,label3: 中間軸減速器端軸承滾子故障 2000rpm,label4: 輸入軸減速器端軸承保持架故障 2000rpm

所使用的子產品如下

from scipy.io import loadmat
import matplotlib.pyplot as plt
from sklearn.preprocessing import MinMaxScaler
import numpy as np
from collections import Counter
#pip install pyemd
from PyEMD import EEMD, EMD
import math
import pandas as pd

from tensorflow import keras
from tensorflow.keras import layers, models
           

資料集如下

Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)

MATLAB環境下深度學習可解釋性(圖像局部遮擋敏感性分析,Grad-CAM可解釋性分析等)

圖像局部遮擋敏感性分析

Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)

(Local Interpretable Model-agnostic Explanations,LIME)可解釋性分析

Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)

(class activation mapping,CAM)可解釋性分析

Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)

Grad-CAM可解釋性分析

Matlab和Python環境下的深度學習小項目(第三篇)
Matlab和Python環境下的深度學習小項目(第三篇)

面包多代碼

https://mbd.pub/o/GeBENHAGEN

繼續閱讀