T1_03/03_影像處理概述
· 閱讀時間約 5 分鐘
機器學習:
- 使用的設備、軟體
- 執行的過程(越詳細越好)
- https://hackmd.io/@LbHHZ0EkT96_FnzpPcd-Zw/HkDLZpHt1l
- https://docs.google.com/document/d/1kJ7PysqVhEy6Lg319AqfGg3gY65ycCyVBsq2bl1qxvY/edit?usp=sharing
- 可能發生的問題
硬體規格難支持開發環境,使執行效率較慢 數據格式不一致或不適合機器學習模型使用 選擇不適合的算法,或者選擇錯誤的超參數配置,導致模型表現不佳 將訓練好的模型部署到生產環境 API 中可能發生環境不一致、API 設計問題
分成兩個部分:
- 老照片修復
- 照片調整
- 老照片修復
目標: 修復受損、泛黃、模糊的老舊照片,使其恢復清晰度與色彩。
技術流程:
- 去雜訊 (Denoising): 使用深度學習模型 (如 DnCNN、SwinIR) 或 OpenCV 的濾波技術 (如 Non-Local Means) 來去除雜訊。
- 修補缺損區域 (Inpainting): 利用 GAN (如 LaMa、DeepFill v2) 或 OpenCV 的 Telea/FMM 方法進行圖像補全。
- 提高解析度 (Super-Resolution): 採用 ESRGAN、SwinIR 等 AI 超解析度技術提高畫質。
- 色彩恢復 (Colorization): 使用 DeOldify、ChromaGAN 等模型將黑白照片轉為彩色。
- 細節增強 (Sharpening & Contrast): 應用 Unsharp Masking 或 CLAHE 來提升照片的細節與對比度。
- 照片調整
目標: 針對照片的色彩、對比、曝光等參數進行調整,使其符合需求。
技術流程:
- 白平衡調整 (White Balance Correction): 使用灰世界算法、Retinex、DeepWB 進行色偏校正。
- 亮度與對比度調整 (Brightness & Contrast): OpenCV 或 PIL 中的影像增強函數,如 cv2.convertScaleAbs() 或 ImageEnhance.Contrast。
- 色調與飽和度 (Hue & Saturation): HSV 色彩模型轉換 (cv2.cvtColor()),調整通道值。
- 自動增強 (Auto-Enhancement): 利用深度學習 (如 EnlightenGAN) 或 OpenCV 的 cv2.equalizeHist() 來自動優化影像。
- 風格化處理 (Style Transfer): 使用 Fast Neural Style Transfer 或 Stable Diffusion 進行藝術風格化。
- 背景與元素調整 (Segmentation & Object Removal): 利用 DeepLabV3+、Segment Anything Model (SAM) 來進行背景分割與物件去除。
模型網址:
圖像去雜訊(Denoising):
破損區域修復(Inpainting):
解析度提升(Super-Resolution):
色彩還原(Colorization):
細節增強(Sharpening & Contrast):
軟體:
- 基本開發環境
- Python(建議使用 3.8 以上)
- CUDA(NVIDIA GPU 加速)(如果使用 GPU 訓練)
- cuDNN(CUDA 深度學習加速庫)
- Anaconda 或 Miniconda(管理 Python 環境)
- Jupyter Notebook(方便進行開發與測試)
- 深度學習框架
- PyTorch(官網) → SwinIR、ESRGAN、Real-ESRGAN、DnCNN、Palette、DeOldify、LaMa 等模型使用
- TensorFlow(官網) → 可能用於某些色彩還原模型(如 ChromaGAN)
- Keras(官網) → 部分模型的高階 API
- 影像處理與前處理
- OpenCV(官網) → CLAHE、Unsharp Masking、Inpainting
- Pillow(PIL) → 基礎影像處理
- scikit-image → 圖片處理與分析
- NumPy / SciPy → 數據處理
- 訓練與管理工具
- Weights & Biases(WandB)(官網) → 訓練監控、超參數調整
- TensorBoard → 視覺化訓練過程
- MLflow → 訓練實驗追蹤
- GPU 加速與分布式訓練
- NVIDIA CUDA Toolkit(官網) → 使用 GPU 加速
- cuDNN(官網) → 深度學習 GPU 加速庫
- PyTorch Lightning(官網) → 簡化 PyTorch 訓練流程
- DeepSpeed(官網) → 微軟推出的大規模訓練加速工具
- 資料儲存與管理
- Hugging Face Datasets(官網) → 資料集管理
- Google Drive / AWS S3 / Google Cloud Storage → 雲端存儲數據
- MongoDB / PostgreSQL → 存儲與管理影像數據
- 訓練模型時常用的工具
- FFmpeg → 處理影像與影片格式
- Mediapipe → 可能用於人臉檢測或前處理
- Albumentations → 資料增強(Data Augmentation)
這隨便寫的
