當前位置:網站首頁>基於卷積神經網絡的交通標志識別

基於卷積神經網絡的交通標志識別

2022-01-27 05:07:31 newlw

此項目來自優達學城-自動駕駛車輛課程項目,實現方法通過卷積神經網絡(LeNet)算法。

整個項目分為以下幾部分:

  • 1.數據導入與分析
  • 2.搭建卷積神經網絡模型實現
  • 3.測試集上驗證識別效果
  • 4.可視化顯示不同卷積層結果

1.數據導入與分析

本項目用到的交通標圖片來源於網站:German Traffic Sign Benchmarks

項目中用到的圖片壓縮包文件下載地址為,需要下載並解壓:

  • https://sid.erda.dk/public/archives/daaeac0d7ce1152aea9b61d9f1e19370/GTSRB_Final_Training_Images.zip
  • https://sid.erda.dk/public/archives/daaeac0d7ce1152aea9b61d9f1e19370/GTSRB_Final_Test_Images.zip
  • https://sid.erda.dk/public/archives/daaeac0d7ce1152aea9b61d9f1e19370/GTSRB_Final_Test_GT.zip

訓練集數據文件夾結構

解壓 GTSRB_Final_Training_Images.zip 文件到指定比特置。得到文件夾結構:…\GTSRB\Final_Training\Images…
訓練集(Training)中圖片總共有 43 種交通標志,對應解壓後的…\Images 文件夾下的 43 個子文件夾。每一個文件夾內的圖片(.ppm 格式)對應一種類型的交通標志(例如 stop single),同時每一個文件夾內有一個.CSV 問價存儲記錄了圖片文件的相關信息。文件夾結構如下:

Training_Images
    + GTSRB
     + Final_Training
        + Images
            + 00000
                + 00000_00000.ppm
                + 00000_00001.ppm
                ...    
                + GT-00000.csv
            + 00001
                + 00000_00000.ppm
                + 00000_00001.ppm
                ...    
                + GT-00001.csv
            ...

注意:所有的圖片格式為 PPM 格式。需要借助 Python 的 matplotlibpillow 庫進行圖片處理。如果想直接打開查看圖片可能需要借助其他軟件

2.模型實現

LeNet-5 模型架構

這裏用到的時是 LeNet-5 模型。它是第一個成功應用於數字識別問題的卷積神經網絡。LeNet-5 模型結構圖如下:

來源: http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdf

針對本項目,這裏用到的模型在在原始 LeNet 模型基礎上有調整:

輸入

輸入為 32x32x3(RGB - 3 通道)圖片

架構

第一層:

  • 卷積,輸出節點矩陣為 28x28x6;
  • 激活函數:ReLU;
  • 池化,過濾器大小為 2x2,長寬步長為 2,輸出矩陣大小為 14x14x6

第二層:

  • 卷積,輸出節點矩陣為 10x10x16;
  • 激活函數:ReLU;
  • 池化,過濾器大小為 2x2,長寬步長為 2,輸出矩陣大小為 5x5x16
  • Flatten

第三層:

  • 全連接(Fully Connected),輸出節點個數為 120;
  • 激活函數:ReLU;

第四層:

  • 全連接(Fully Connected),輸出節點個數為 84;
  • 激活函數:ReLU;

第五層:

  • 全連接(Fully Connected).輸出節點個數為 43

輸出

第二次全連接之後的 43 種交通標志分類

Layer Shape
Input 32x32x3
Convolution (valid, 5x5x6) 28x28x6
Max Pooling (valid, 2x2) 14x14x6
Activation (ReLU) 14x14x6
Convolution (valid, 5x5x16) 10x10x16
Max Pooling (valid, 2x2) 5x5x16
Activation (ReLU) 5x5x16
Flatten 400
Dense 120
Activation (ReLU) 120
Dense 43
Activation (Softmax) 43

3.實現效果驗證分析

導入測試數據集之外新的圖片驗證識別准確率

測試集數據

測試圖片比特於文件夾 Test_Images/GTSRB/Final_Test 內

Test_Images
    +GTSRB
         + Final_Test
            + Images
                + 00000.ppm
                + 00001.ppm
                + ...
                + GT-final_test.csv      # 擴展的注釋,包括圖片分類id
                + GT-final_test.test.csv

GT-final_test.csv 文件是單獨下載,包含測試集圖片 label 信息

4.可視化

可視化顯示 CNN 神經網絡不同層的輸出

第一層:

第二層:

版權聲明
本文為[newlw]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201270507308959.html

隨機推薦