MATLAB環境下利用單目攝像頭和語義分割建立占位栅格(occupancy grid)
算法程式主要講解如何使用深度學習語義分割估計車輛可行駛區域(free space)并建立占位栅格(occupancy grid),然後使用此占位栅格建立車輛代價圖(vehicle costmap)。
可行駛區域估計
可行駛區域估計:識别環境中車輛在不撞到任何障礙物(如行人、路緣或其他車輛)的情況下行駛的區域。車輛可以使用各種傳感器來估計可行駛區域,例如雷達、雷射雷達或攝像頭。本例重點介紹如何使用語義分割來估計可行駛區域。
在該代碼中,可以學到
1.使用語義圖像分割來估計可行駛區域。
2.使用可行駛區域估計值建立占位栅格。
3.在鳥瞰圖上可視化占位栅格。
4.使用占位栅格建立車輛代價圖vehicle costmap。
5.檢查位置是否被占用。
基于深層小波散射網絡的圖像識别
算法程式主要講解如何使用深層小波散射網絡進行圖像分類。對于分類問題,将資料映射到某個“表示域”中通常很有用,該“表示域”弱化不相關的資訊,同時保留每個類别的區分屬性。而小波散射方法構造了對平移和微小形變不敏感的圖像的低方差表示。由于圖像中的平移和小變形并不會影響其類别,是以小波散射變換系數提供了可以建構穩健分類模型的特征。小波散射的工作原理是對圖像進行一系列小波變換、非線性和平均等級聯操作。這種深度特征提取的結果是:在小波散射變換表示中,同一類别的圖像彼此靠得更近,而不同類别的圖像則相距更遠。雖然小波散射變換與深度卷積神經網絡在架構上有許多相似之處,包括卷積算子、非線性和平均,但小波散射變換中的濾波器是預先定義且固定的。
數字圖像
本文使用的資料集包含10000張從0到9的數字合成圖像,當然其他自然圖像同樣可以,每個數字圖像為 28×28 像素。資料集的每個類别包含相同數量的圖像。
此外,訓練一個簡單的卷積神經網絡進行對比。建構的CNN包含一個卷積層,卷積層包括20 個5×5濾波器,步幅為 1×1,其後緊接、Relu激活函數層和最大池化層。最後使用全連接配接層,并使用softmax 将全連接配接層的輸出歸一化為機率。 損失函數使用交叉熵損失函數。
訓練結束時,CNN在訓練集上的表現接近100%,然後對測試集進行測試。
看一下混淆矩陣
小波散射網絡在很多小資料集是表現的都很好。接下來将進一步研究基于小波散射網絡的EEG信号識别和軸承故障診斷。
MATLAB環境下基于深度學習的多光譜圖像語義分割
算法程式主要講解如何訓練U-Net卷積神經網絡對7個通道的多光譜圖像進行語義分割,7個通道包括3個顔色通道、3個近紅外通道和一個掩模通道。需要使用具有計算能力3.0或更高版本的支援CUDA的NVIDIA™GPU(需要并行計算工具箱)。
MATLAB環境下基于深度學習的語義分割
算法程式主要講解如何使用深度學習網絡進行語義分割。語義分割網絡對圖像中的每個像素進行分類,進而生成按類别分割的圖像,該例子将語義分割應用于自動駕駛的道路分割。
為了說明訓練過程,該程式訓練一個SegNet網絡,這是一種用于圖像語義分割的卷積神經網絡 (CNN)。其他類型的語義分割網絡包括全卷積網絡(FCN)和U-Net等等。
該程式使用劍橋大學的CamVid 資料集進行訓練,資料集包括駕駛時獲得的街道視圖圖像,為32個語義類(包括汽車、行人和道路)提供像素級标簽。
同時還使用VGG-16網絡的權重初始化SegNet 網絡,是以需要安裝 VGG-16 網絡模型。
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環境下深度學習可解釋性(圖像局部遮擋敏感性分析,Grad-CAM可解釋性分析等)
圖像局部遮擋敏感性分析
(Local Interpretable Model-agnostic Explanations,LIME)可解釋性分析
(class activation mapping,CAM)可解釋性分析
Grad-CAM可解釋性分析
面包多代碼
https://mbd.pub/o/GeBENHAGEN