我們將深入探討YOLO的每個步驟以及一些相關的細節:
資料預處理:
圖片縮放:YOLO模型通常需要輸入具有固定大小的圖片。這有助於確保模型能夠處理不同大小的物件並實現更好的泛化。
資料增強:資料增強技術可以提高模型的魯棒性,使其能夠處理各種不同的場景和變化。這包括裁切、翻轉、旋轉、色彩抖動等操作,以增加訓練數據的多樣性。
特徵提取:
卷積神經網路(CNN):YOLO使用深度卷積神經網路來從輸入圖片中提取特徵。這些特徵用於後續的物件檢測任務。
卷積層和激活函數:多個卷積層和激活函數被堆疊在一起,以獲得不同細度的特徵表示,並提高物件檢測的準確性。
邊界框預測:
網格劃分:輸出向量被劃分為SxS個格子,每個格子負責預測一定數量的邊界框。
邊界框屬性:每個邊界框由多個屬性組成,包括位置(座標和大小)和信心值。信心值表示模型對該邊界框是否包含物件的置信度。
類別預測:每個格子還負責預測多個類別的機率分佈。
後處理:
非極大值抑制(NMS):為了消除重複的邊界框,NMS被應用於模型的輸出。它保留具有高信心值且不重疊的邊界框,並移除其他邊界框。
信心值閾值:一個信心值閾值通常被設定,以確保只有那些置信度足夠高的物件才被保留。
結果顯示:
最終的物件檢測結果包括邊界框的位置、類別標籤以及相應的信心值。這些結果可以用於在原始圖片上繪製邊界框和顯示物件檢測結果。