卷積神經網路
備註
有關更多詳細信息,請參閱 文本和圖像 選項卡!
使用篩選將效果套用至影像的能力在影像處理工作中很有用,例如,您可以使用影像編輯軟體來執行。 不過,計算機視覺的目標通常是從影像中擷取意義或至少可採取動作的見解:這需要建立經過定型的機器學習模型,以根據大量的現有映像來辨識特徵。
小提示
本單元假設您已熟悉機器學習的基本準則,而且您有使用神經網路進行深度學習的概念知識。 如果您不熟悉機器學習,請考慮完成 Microsoft Learn 上的 機器學習概念簡介 課程模組。
計算機視覺最常見的機器學習模型架構之一是 卷積神經網路 (CNN),這是一種深度學習架構。 CNN 會使用篩選從影像擷取數值特徵對應,然後將特徵值饋送至深度學習模型,以產生標籤預測。 例如,在 影像分類 案例中,標籤代表影像的主要主旨(換句話說,這是影像是什麼?)。 您可以使用不同種類的水果影像來定型 CNN 模型(例如蘋果、香蕉和橙色),讓預測的標籤是指定影像中的水果類型。
在 CNN 的 訓練過程中,篩選器核心最初是透過隨機產生的權重值來定義。 然後,當訓練過程進行時,系統會將模型的預測與已知的標籤值進行評估,並調整過濾器權重以提高精確度。 最終,經訓練的水果影像分類模型會使用最能提取有助於識別不同水果特徵的篩選權重。
下圖說明影像分類模型的 CNN 如何運作:
- 具有已知標籤的影像(例如,0:蘋果、1:香蕉或 2:橙色)會送入網路來定型模型。
- 一或多個篩選層可用來從每個影像擷取特徵,因為它會透過網路饋送。 篩選核心會以隨機指派的權數開始,併產生稱為 特徵對應之數值的陣列。 其他圖層可能會「匯集」或「縮小」特徵圖,以建立較小的陣列,以強調篩選器擷取的關鍵視覺特徵。
- 特徵映射被扁平化為單一維度的特徵值陣列。
- 特徵值會饋送至完全連線的神經網路。
- 神經網路的輸出層會使用 softmax 或類似函式來產生結果,其中包含每個可能類別的機率值,例如 [0.2, 0.5, 0.3]。
在定型期間,輸出機率會與實際類別卷標進行比較,例如,香蕉 (類別 1) 的影像應該具有值 [0.0, 1.0, 0.0]。 預測和實際類別分數之間的差異是用來計算模型中的 損失 ,而完全連接的神經網路和特徵擷取層中的篩選核心的權數會經過修改,以減少損失。
定型程序會重複多個 ,直到學習到一組最佳權數為止。 然後,權數會儲存起來,而模型可用來對標籤未知的新影像預測標籤。
備註
CNN 架構通常包含多個卷積過濾層和其他圖層,以減少特徵圖的大小、限制擷取的值,以及以其他方式操作特徵值。 此簡化範例中已省略這些圖層,以專注於關鍵概念,也就是篩選可用來從影像擷取數值特徵,然後用於神經網路來預測影像標籤。