top of page
打字的計算機上

卷積神經網路(Convolutional Neural Network, CNN)是一種監督式的多層神經網路,於1989年由美國科學家 LeCun所提出,當時在應用上面也只有辨識手寫字體而已,但這卻是所有文獻中第一個提出這個名詞的科學家。

影像分類(Image Classification)

影像分類是一種透過神經網路對輸入的圖片進行分類的任務。架構總共分為三個部分,分別是卷積層(Convolution layer)、池化層(Pooling layer) 以及全連接層(Fully Connected layer)。

 

卷積層(Convolution layer):

卷積層的任務是在於對輸入的數據進行線性運算,藉由過濾器提取特徵,產生特徵圖(Feature Maps)。簡單來說,就是將圖片進行特徵擷取,並將這些特徵進行分類。

池化層(Pooling layer):

池化層(Pooling layer)的目的是為了對特徵圖(Feature maps)進行降維,這是為了保留影像重要的特徵,以提高模型對泛化的能力。

全連接層(Fully Connected layer):

全連接層的目的就是將池化層(Pooling layer)所給的特徵映射到標記空間裡面。簡單來說就是分類(Classification)的意思,就是將我們提取後的特徵進行分類。

3812_1.png

以數字判斷舉例,CNN將輸入的圖像在卷積層中使用過濾器進行處理,並且產生特徵圖,並且交由池化層去降維,留下影像的重要特徵後給全連接層。全連接層集合這些來自於池化層篩選好的圖片,並且將這些圖片進行投票表決,通過投票表決,擁有最高票數的選項就會成為這個圖片的類別。

卷積神經網路(CNN)

YOLOv4的主要架構如下圖所示,分Input、Backbone、Neck與 Prediction 這四個區域,以下分別針對這四個區域做說明:

YOLOv4 架構圖

輸入端(Input):

YOLOv4在 Input 端使用了資料擴充的方式,是透過將隨機的四張圖片做裁切、縮放、排列然後貼在一起,這樣的目的是為了豐富資料集,並且提升對小物件的偵測精準率。

 

骨幹(Backbone):

Backbone的主要功能是通過分割梯度流,使梯度組合更為多元,同時也降低運算量與降低記憶體的佔用。

 

頸(Neck):

Neck的部分主要是為了融合不同尺度的特徵圖信息。可以使最後一層連接所有的特徵圖,其主要目的是在於提升模型的辨識效率。

 

頭部(Prediction):

Prediction又稱為 Head,其作用是預測對象的類別,通常被當作檢測器使用。

YOLOv4深度學習模型

螢幕擷取畫面 2024-05-24 195317.png
bottom of page