PyTorch神經網絡實戰:移動端圖像處理
內容描述
PyTorch神經網絡實戰:移動端圖像處理主要介紹人工智能研究領域中神經網絡的PyTorch架構,
對其在多個領域的應用進行系統性的歸納和梳理。
書中的案例有風景圖分類、人像前景背景分割、低光照圖像增法、動漫頭像生成、畫風遷移、風格轉換等,
對每項視覺任務的研究背景、應用價值、算法原理、代碼實現和移動端部署流程進行了詳細描述,
並提供相應的源碼,適合讀者從0到1構建移動端智能應用。
PyTorch神經網絡實戰:移動端圖像處理適合對人工智能實際應用感興趣的本科生、研究生、深度學習算法工程師、
計算機視覺從業人員和人工智能愛好者閱讀,書中介紹的各項視覺任務均含有相應的安卓平台部署案例,
不僅對學生參加比賽、課程設計具有參考意義,對相關從業人員的軟件架構和研發也具有啟發價值。
目錄大綱
前言
第1章 人工智能與深度學習/
1.1人工智能簡介/
1.1.1人工智能的概念/
1.1.2人工智能的歷史/
1.1.3人工智能與深度學習的關係/
1.1.4深度學習的應用/
1.2深度學習理論基礎/
1.2.1全連接層/
1.2.2卷積層/
1.2.3池化層/
1.2.4激活層/
1.2.5批歸一化層/
1.2.6隨機失活/
1.2.7損失函數/
1.2.8反向傳播/
1.3深度學習實踐細節/
1.3.1硬件選擇/
1.3.2超參數設定/
1.3.3網絡參數初始化/
1.4本章小結/
第2章 PyTorch指南/
2.1安裝與測試/
2.1.1安裝PyTorch和torchvision/
2.1.2顯卡測試/
2.1.3CPU和GPU切換/
2.2核心模塊/
2.3模型構建流程圖/
2.4張量Tensor/
2.4.1數值類型/
2.4.2創建方法/
2.4.3類型轉換/
2.4.4維度分析/
2.4.5常用操作/
2.5數據讀取與預處理/
2.5.1圖像讀取與存儲/
2.5.2調用PyTorch數據集/
2.5.3ImageFolder/
2.5.4圖像處理torchvision.transforms/
2.5.5數據讀取類Dataset/
2.5.6DataLoader的創建和遍歷/
2.5.7數據增強/
2.6nn模塊與網絡構建/
2.6.1卷積模塊的使用/
2.6.2批歸一化層/
2.6.3池化層/
2.6.4全連接層/
2.6.5常用激活函數/
2.6.6邊緣填充/
2.6.7Dropout層/
2.6.8損失函數層/
2.6.9模塊組合Sequential/
2.6.10網絡構建實例/
2.7train與eval模式/
2.8優化器選擇與綁定/
2.9自動求導機制與計算圖/
2.9.1requires_grad/
2.9.2自動求導backward/
2.9.3葉子節點is_leaf/
2.9.4梯度函數grad_fn/
2.9.5計算圖分離detach/
2.9.6圖保持retain_graph/
2.9.7關閉梯度計算no_grad/
2.10模型保存與加載/
2.10.1模型文件的保存/
2.10.2模型文件的加載/
2.10.3聯合保存與加載/
2.10.4保存與加載多個網絡模型/
2.11模型設計和實現的完整流程/
2.11.1參數定義/
2.11.2準備數據、定義存儲結果的容器/
2.11.3定義自編碼網絡/
2.11.4定義優化器與損失函數/
2.11.5訓練模型/
2.11.6效果分析/
2.12網絡結構可視化/
2.13拓展閱讀/
2.13.1學習率調整策略/
2.13.2獲取網絡的命名參數/
2.13.3參數初始化/
2.14本章小結/
第3章Android應用構建/
3.1Android Studio安裝與項目構建/
3.1.1Android Studio的下載和安裝/
3.1.2創建Android項目/
3.2Manifest文件/
3.3界面佈局/
3.4項目主活動與App啟動/
3.5資源文件/
3.5.1顏色定義文件/
3.5.2字符串定義文件/
3.5.3形狀定義文件/
3.5.4圖像文件/
3.6核心控件使用/
3.6.1展示文字/
3.6.2展示圖像/
3.6.3按鈕和監聽機制/
3.7相機、相冊和圖像保存/
3.8生成APK/
3.8.1自定義APK圖標與名稱/
3.8.2創建發布版APK/
3.9Bitmap格式/
3.10部署庫下載/
3.11移動端神經網絡實例/
3.11.1定義神經網絡/
3.11.2Python端導出pt文件/
3.11.3將pt文件移入Android開發環境/
3.11.4在Java代碼中加載神經網絡模型/
3.11.5讀取圖像並進行縮放/
3.11.6構建輸入張量/
3.11.7進行前向推理/
3.11.8處理輸出結果/
3.11.9界面設計/
3.11.10完整代碼與界面效果/
3.12本章小結/
第4章圖像分類/
4.1圖像分類概述/
4.2MobileNet介紹/
4.3深度可分離卷積/
4.4MobileNet V1/
4.4.1網絡結構/
4.4.2網絡搭建/
4.5MobileNet V2/
4.5.1網絡結構/
4.5.2網絡搭建/
4.6數據處理/
4.6.1數據介紹/
4.6.2Kaggle API介紹/
4.6.3數據處理/
4.7模型訓練/
4.8圖像分類App/
4.8.1分類功能界面設計/
4.8.2分類推理與解析/
4.9本章小結/
第5章 圖像分割/
5.1前景背景與人像分割/
5.2圖像分割網絡/
5.2.1FCN/
5.2.2UNet/
5.2.3分割損失函數/
5.3分割數據集構建與讀取/
5.3.1標註工具介紹/
5.3.2分割數據集下載/
5.3.3成對圖像讀取與數據增強/
5.4分割網絡的訓練與驗證/
5.4.1項目構建與超參數設置/
5.4.2分割網絡訓練/
5.4.3分割損失函數收斂性分析/
5.4.4人像分割測試/
5.5人像分割App/
5.5.1分割功能界面設計/
5.5.2獲取掩碼與前景圖像應用/
5.6本章小結/
第6章 低光照圖像質量增強/
6.1伽馬變換與低光照圖像/
6.2場景分析與像素直方圖/
6.3增強算法LLCNN/
6.3.1殘差暗光增強網絡/
6.3.2增強網絡實現/
6.3.3增強損失函數/
6.4數據集構建和下載/
6.5增強網絡訓練與驗證/
6.5.1項目構建/
6.5.2增強網絡訓練/
6.5.3像素級損失函數收斂分析/
6.5.4增強算法能力驗證/
6.6低光照圖像增強App/
6.6.1功能設定與界面設計/
6.6.2模型前向推理/
6.7本章小結/
第7章 GAN動漫人臉生成/
7.1GAN動漫人臉生成概述/
7.2深度卷積對抗網絡DCGAN/
7.2.1生成器/
7.2.2判別器/
7.2.3損失函數/
7.2.4生成器搭建/
7.2.5判別器搭建/
7.2.6訓練代碼/
7.3條件式對抗網絡CGAN/
7.3.1CGAN原理/
7.3.2CGAN實現/
7.4輔助分類對抗網絡ACGAN/
7.4.1ACGAN原理/
7.4.2ACGAN實現/
7.5動漫頭像生成App/
7.5.1頭像生成界面設計/
7.5.2數據生成與解析/
7.6拓展閱讀/
7.7本章小結/
第8章 圖像風格遷移/
8.1風格遷移概述/
8.2風格遷移網絡/
8.2.1基礎原理/
8.2.2內容特徵/
8.2.3風格特徵/
8.2.4重構網絡/
8.2.5風格遷移代碼實現/
8.3快速風格遷移/
8.3.1生成網絡/
8.3.2損失網絡/
8.3.3快速風格遷移代碼實現/
8.4圖像風格化App/
8.4.1風格化功能界面設計/
8.4.2三種風格的生成與解析/
8.5本章小結/
第9章 無監督風格互換/
9.1成對數據與不成對數據/
9.2cycleGAN原理與實現/
9.2.1無監督設計原理/
9.2.2對稱生成器與判別器的設計及實現/
9.2.3對抗性損失和循環一致性損失/
9.3兩種風格數據集的構建與讀取/
9.3.1數據集獲取/
9.3.2數據讀取/
9.4無監督訓練與驗證/
9.4.1項目構建/
9.4.2無監督cycleGAN訓練/
9.4.3風格轉換驗證/
9.5水果風格互換應用/
9.5.1水果風格轉換界面設計/
9.5.2兩種風格模型的前向推理/
9.6本章小結/