• 沒有找到結果。

問題定義與研究方法

3.2 訓練與辨識流程

本研究主要目的為使用 YOLO V2 實作交通標誌辨識系統,使用該架構我們 必須先訓練自己的模型,透過此模型將辨識的結果以及座標位置取出再針對我們 要的辨識結果加以處理這些資訊。目前台灣已知的交通標誌種類超過一百種,為 了降低辨識目標的複雜度,本研究將交通標誌依外觀特徵分為四大類,並將目標 影像分成 3 層來做辨識,因此,在整個系統中我們將訓練 3 層的交通標誌的模型,

以下分別為訓練與辨識兩個流程的介紹。

圖 3.6: 標誌分類外觀

3.2.1

訓練流程

以下對 YOLO V2 模型的訓練流程進行介紹,其流程如圖3.7

STEP-1: 準備資料集,資料集的組成為訓練影像與標籤 (Label),在上述中我們 說明了如何取得影像資料。

Na tio

na

l U

niversity of Kao hsiung

STEP-2: 準 備 Label, 本 研 究 使 用 自 行 開 發 的 Label 軟 體 來 製 作 標 註 資 料,

YOLO V2 所需要的標註格式不同於 ImageNet 使用的 PASCAL VOC xml,而是採用 text 文字檔,第一欄為 Class 的 ID,其它皆以物件框相

Na tio

na

l U

niversity of Kao hsiung

• saturation & exposure: 輸入影像飽和度與曝光變化。

• learning rate : 學習率,控制基於損失梯度調整神經網絡權值的速 度。學習率越小,我們沿著損失梯度下降的速度越慢。

• max batches : 訓練的最大迭代次數,到此數即終止訓練。

STEP-4: 開始訓練。

圖 3.7: 交通標誌辨識模型訓練流程圖

交通標誌辨識通常分為偵測與辨識兩個部分,本研究以 YOLO V2 作為交通 標誌辨識的主要方法,但針對 YOLO V2 無法偵測或辨識錯誤的影像我們將透過 Haar like 進行進行偵測。以下為 Haar 模型的訓練流程說明,其流程如圖3.8。

STEP-1: 收集交通標誌的正面樣本 (含目標的” 局部” 圖)。

STEP-2: 收集交通標誌的負面樣本 (不含目標的任何圖)。

STEP-3: 將要訓練的影像灰階化。

STEP-4: 設定 AdaBoost 分類器的參數,並計算模型。以下說明在 OpenCV 中 使用該分類器訓練模型的常用參數。

Na tio

na

l U

niversity of Kao hsiung

• PrecalcValBufSize(Mb): 暫存記憶體大小,用來存放預先计算的特 徵值 (feature values),單位為 Mb。

• PrecalcIdxBufSize(Mb): 暫存記憶體大小,用來存放預先计算的特 徵索引 (feature indices),單位為 Mb。

• Sample width : 輸入影像的寬。

• Sample height : 輸入影像的高。

• FeatureType : 使用的特徵類型。

• MinHitRate : 每一層分類器的最小檢測率。

• MaxFalseAlarmRate : 每一層分類器的最大誤檢率。

STEP-5: 輸出交通標誌偵測模型。

圖 3.8: 交通標誌偵測模型訓練流程圖

3.2.2

辨識流程

交通標誌辨識模型訓練好之後即可餵入影像進行辨識工作,在辨識流程部分 依各層的特徵,如: 形狀、文字、數字等特徵進行辨識,只要其中一層辨識失敗該 影像就算無法辨識之影像,藉此提升辨識正確率以及減少不必要的運算。以下說

Na tio

na

l U

niversity of Kao hsiung

STEP-1: 透過行車紀錄器或道路拍攝擷取交通標誌影像。

STEP-2: 將影像像素大小縮放至 544× 544。

STEP-3: YOLO V2 辨識模型計算,第一層模型依據交通標誌的外觀分類進行 分類,若辨識失敗立即終止後續流程。

STEP-4: YOLO V2 辨識模型計算,第二層模型辨識出標誌的項目,若辨識失 敗立即終止後續流程。

STEP-5: YOLO V2 辨識模型計算,第三層模型辨識有數字的標誌,例如限速、

限高等,若辨識失敗即跳過此張影像。

圖 3.9: 交通標誌辨識流程圖

Na tio

na

l U

niversity of Kao hsiung

相關文件