iT邦幫忙

2026 iThome 鐵人賽

DAY 7
0
Software Development

AI Model with GIS系列 第 7

[Day 7] How model knows my dataset

  • 分享至 

  • xImage
  •  

昨天完成了基本的資料前處理,今天我們先來講講關於資料標註以及影像辨識模式到底是如何運作。

我們一開始可能會很直覺的想說把照片直接丟給模型訓練就好,丟夠深的神經網路模型就會變很強,但往往決定模型程度的是資料有多乾淨

核心方法

「Garbage in,Garbage out」,相信大家都聽過這句話,他指的是模型的輸出取決你的輸入,簡單講就是你的輸出想要越強,是根據你輸入的資料決定的,演算法跟模型架構只是逼近上限而以,並不足以決定模型的好壞,如果你給模型一個充滿噪點、雜訊或格式錯誤的資料集,那你訓練出的會比META AI 還不如

人工標註 (Data Annotation) 最重要的是資料的一致性,假設今天你要訓練辨識蝴蝶的模型,但你在標註的時候把花一起標進去了,那麼模型就會混亂,導致在特徵提取的時候無法發揮最大程度的能力。

影像標註的操作挑戰

一般來說訓練一個辨識簡單物體的模型不是很難,但我們要做的是衛星遙測影像,光這種視角就有許多困難點。

衛星是由上往下拍,拍到雲是難免的,但如果今天資料集中大多數的圖片都帶有多數的雲層,那到底該如何標住呢?
如果標到雲,那模型可能會把雲跟船視為一體,但如果不標到雲只標到船,模型又會認為船只有一半,造成標註與辨識的困難增加。

極端小目標

昨天有說到,在一個 640 x 640 的影像中要標註一個只有 15 x 15 的船舶,只要人工標註不小心滑了一點,標記框偏移了兩個像素點,這對於模型來說是高達 10% ~ 20% 的誤差,這會嚴重影響模型評估指標中的 IoU (Intersection over Union) 交疊率

模型需要什麼樣的資料

我們在標註資料時畫的標註框,可能會直覺地認為是用座標來表示(x_min,x_max,y_min,y_max...),但這是經典資料集用的格式,例如 PASCAL VOC。

以下我們用 YOLO 舉例,他的標註格式是 類別 ID + 中心點 X + 中心點 Y + 寬度 W + 高度 H

這樣設計的用意是將座標數值正規化 (Normaliaztion),簡單來說他不是看目標物在影像中的第幾個像素之中,他要知道的是,目標物在圖中X軸中第幾個位置、寬度占多少比例等等,所有的數值都會被被壓縮到 0~1 之間的浮點數。

這種正規化設計帶來一個很大的優勢,尺度不變性 (Scale Invariance),不管我們的圖片放大或縮小,其內容的相對位置和比例不會改變,讓 YOLO 在處理不同解析度輸入時具有很強的魯棒性 (Robustness)

怎樣的資料比例會更好 Train/Validation/Test

我們做完資料處理後不能直接全部直接丟給模型訓練,需要稍微對資料集分一下組,通常是 8:1:1/7:2:1。

訓練集 Training Set

就像講義和功課,模型透過這些資料學習特徵,更新神經網路的權重。

驗證集 Validation Set

他比較像模擬考,在訓練過程中我們可以適時地插入驗證集,確認模型在進行訓練集時有沒有出錯,看看他的學習狀況,讓我們可以及時發現異常以及調整超參數 (Hyperparameters),同時也要看它是否有過擬合 (Overfiting)。

過擬和

簡單來說就是模型只會背答案,當你給他的資料集過多且重複性高,他在面對測試集時或許效果會不錯,但一但換了測試集他的分數就會非常低,因為她只會之前的題目類型,只要遇到沒出現過的題型他就不會作答。

測試集 Test Set

這就像大考,在訓練過程中會被封存,模型不會看過,在訓練結束之後我們才會拿出測試集看看他的成果,最為模型評估測試的依據。
偷偷說,在訓練集參一點測試集效果會不錯喔。

小結

今天主要講講我們在做的資料處理需要什麼樣的東西,同時也講講模型在訓練過程中需要注意的事項,明天開始將會開始實作,也就是人工標註,那我們明天見。


上一篇
[Day 6] Dataset with Sliding Window
下一篇
[Day 8] Data Annotation
系列文
AI Model with GIS12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言