TensorFlow 圖像操作功能筆記:tf.image 常用前處理與資料增強 hero image

← INSIGHTS & PERSPECTIVES | 機器學習

TensorFlow 圖像操作功能筆記:tf.image 常用前處理與資料增強

整理 TensorFlow tf.image 的解碼、resize、裁切、翻轉、亮度調整與模型前處理注意事項。

TensorFlow 的 tf.image 提供影像解碼、尺寸調整、裁切、翻轉、亮度與對比調整等功能。影像模型訓練前,tf.image 常用來把原始圖片轉成固定尺寸、固定通道與合理的資料增強版本。

tf.image 是什麼?

tf.image 是 TensorFlow 的影像處理模組,負責把圖片轉成模型可用張量。常見任務包含 decode、resize、crop、flip、normalize 與色彩調整。

TensorFlow 官方 API 文件列出 tf.image 的影像解碼、幾何調整與顏色調整函數(TensorFlow,存取日期:2026-08-27)。對模型訓練而言,tf.image 的重點不是修圖,而是建立可重複、可批次化的前處理流程。

TensorFlow 如何讀取與調整圖片尺寸?

TensorFlow 讀取圖片通常先用 tf.io.read_file() 取得位元資料,再用 tf.image.decode_image() 或指定格式解碼。模型輸入需要固定寬高時,使用 tf.image.resize()

import tensorflow as tf

raw = tf.io.read_file('image.jpg')
image = tf.image.decode_jpeg(raw, channels=3)
image = tf.image.resize(image, [224, 224])
image = tf.cast(image, tf.float32) / 255.0

實務資訊增益:影像分類通常可以直接 resize,物件偵測則要同步調整 bounding box。若只 resize 圖片但沒有更新標註,模型會學到錯誤位置。

tf.image 可以做哪些資料增強?

tf.image 可以做隨機翻轉、亮度調整、對比調整、裁切與色相調整。資料增強應符合真實影像會出現的變化,而不是把所有操作都打開。

常見操作:

操作函數
隨機水平翻轉tf.image.random_flip_left_right
隨機亮度tf.image.random_brightness
隨機對比tf.image.random_contrast
中心裁切tf.image.central_crop
調整尺寸tf.image.resize
image = tf.image.random_flip_left_right(image)
image = tf.image.random_brightness(image, max_delta=0.1)
image = tf.image.random_contrast(image, lower=0.8, upper=1.2)

tf.image 前處理最常見的錯誤是什麼?

tf.image 前處理最常見錯誤是 dtype、通道數與數值範圍不一致。模型可能需要 float32 且數值落在 0 到 1,或依預訓練模型要求做特定正規化。

檢查表:

  • 圖片是否固定為 3 通道。
  • 張量 shape 是否符合模型輸入。
  • 數值範圍是否符合模型預期。
  • 訓練與推論是否使用同一套前處理。
  • 隨機增強是否只套用在訓練集。

常見問題

Qtf.image.resize 會改變標註框嗎?

tf.image.resize() 只會改變圖片張量,不會自動更新 bounding box。物件偵測資料需要另外依寬高比例換算標註座標。

QTensorFlow 圖像資料要除以 255 嗎?

TensorFlow 圖像資料是否除以 255 取決於模型需求。自建模型常用 0 到 1;預訓練模型則要依官方 preprocess_input 規則處理。

Qtf.image 可以取代 OpenCV 嗎?

tf.image 適合 TensorFlow 訓練管線內的前處理。OpenCV 適合更廣泛的影像分析、幾何處理與傳統電腦視覺操作。

Q資料增強要放在 tf.data 裡嗎?

資料增強常放在 tf.data pipeline 中,方便批次化與並行處理。模型內部 augmentation layer 也是常見選擇。

Q推論時可以使用 random augmentation 嗎?

一般推論不使用 random augmentation。推論階段應使用穩定的 resize、normalize 與格式轉換,避免輸出不一致。

參考資料

  • TensorFlow,〈tf.image〉,存取日期:2026-08-27。

延伸閱讀

最後更新

2026-08-28

關於作者

Claire Chang | 企業 AI 導入與流程轉型顧問。專注於 AI Agent 架構設計、ERP 系統整合與企業 AI 治理。

首次發布:2023-01-04