Python 電腦視覺與深度學習實戰

郭卡 戴亮

  • Python 電腦視覺與深度學習實戰-preview-1
  • Python 電腦視覺與深度學習實戰-preview-2
Python 電腦視覺與深度學習實戰-preview-1

買這商品的人也買了...

商品描述

《Python電腦視覺與深度學習實戰》立足實踐,從機器學習的基礎技能出發,深入淺出地介紹瞭如何使用 Python 進行基於深度學習的電腦視覺項目開發。開篇介紹了基於傳統機器學習及圖像處理方法的電腦視覺技術;然後重點就圖像分類、目標檢測、圖像分割、圖像搜索、圖像壓縮及文本識別等常見的電腦視覺項目做了理論結合實踐的講解;最後探索了深度學習項目落地時會用到的量化、剪枝等技術,並提供了模型服務端部署案例。

《Python電腦視覺與深度學習實戰》適合有一定的Python 編程基礎,初學深度學習的讀者閱讀。

作者簡介

郭卡,安徽外國語學院計算機講師,省級自然科學基金重點項目“基於大數據與人工智能技術的在線學習評價系統”主持人,《Python 數據爬取技術與實戰手冊》主編,參與多項人工智能研究項目並發表相關論文兩篇。


戴亮,科大訊飛算法工程師,GiantPandaCV 作者之一,主要研究方向為光學字符識別與語音識別,熱衷於 PyTorch 技術分享,對深度學習相關技術有深入了解。

目錄大綱

第 1章 機器學習與sklearn 1
1.1 sklearn 環境配置 2
1.1.1 環境要求 2
1.1.2 安裝方法 2
1.1.3 修改pip 源 3
1.1.4 安裝Jupyter Notebook 4
1.2 數據集 5
1.2.1 自帶的小型數據集 6
1.2.2 在線下載的數據集 8
1.2.3 計算機生成的數據集 8
1.3 分類 9
1.3.1 加載數據與模型 10
1.3.2 建立分類模型 11
1.3.3 模型的訓練及預測 12
1.3.4 模型評價 12
1.4 回歸 14
1.4.1 線性回歸 15
1.4.2 回歸模型評價 16
1.5 聚類 17
1.5.1 K-means 17
1.5.2 DBSCAN 17
1.5.3 聚類實例 18
1.6 降維 19
1.6.1 PCA 降維 19
1.6.2 LDA 降維 22
1.7 模型驗證 23
1.8 模型持久化 27
1.8.1 joblib 27
1.8.2 pickle 28
1.9 小結 28

第 2章 傳統圖像處理方法 29
2.1 圖像分類 29
2.1.1 HOG 的原理 29
2.1.2 工具介紹 30
2.1.3 CIFAR-10 分類 31
2.1.4 手寫字符分類 33
2.2 目標檢測 36
2.3 圖像分割 40
2.4 圖像搜索 41
2.5 小結 43

第3章 深度學習與PyTorch 44
3.1 框架介紹 44
3.2 環境配置 46
3.3 運算基本單元 48
3.3.1 Tensor 數據類型 48
3.3.2 Tensor 與ndarray 49
3.3.3 CPU 與GPU 運算 49
3.3.4 PyTorch 實現K-means 51
3.4 自動求導 55
3.5 數據加載 57
3.5.1 Dataset 58
3.5.2 DataLoader 59
3.6 神經網絡工具包 60
3.6.1 Module 模塊 61
3.6.2 線性層 62
3.6.3 卷積層 62
3.6.4 池化層 64
3.6.5 BatchNorm 層 65
3.6.6 激活層 65
3.6.7 神經網絡各層輸出的可視化 72
3.6.8 循環神經網絡 76
3.6.9 Sequential 和ModuleList 78
3.6.10 損失函數 79
3.7 模型優化器optim 82
3.7.1 optim 用法 82
3.7.2 優化器的選擇 82
3.7.3 學習率的選擇 86
3.8 參數初始化init 94
3.9 模型持久化 96
3.10 JIT 編譯器 98
3.11 模型遷移ONNX 99
3.12 數據可視化TensorBoard 101
3.13 機器視覺工具包torchvision 103
3.13.1 數據 103
3.13.2 模型 104
3.13.3 圖像處理 106
3.14 小結 110

第4章 卷積神經網絡中的分類與回歸 111
4.1 卷積神經網絡中的分類問題 112
4.1.1 CIFAR-10 圖像分類 112
4.1.2 卷積神經網絡的發展 117
4.1.3 分類網絡的實現 121
4.1.4 模型訓練 127
4.1.5 模型展示 132
4.1.6 多標籤分類 134
4.2 卷積神經網絡中的回歸問題 142
4.2.1 生成數據集 142
4.2.2 模型訓練 145
4.2.3 模型展示 146
4.3 小結 148

第5章 目標檢測 149
5.1 深度學習物體檢測算法 149
5.1.1 兩段式檢測 150
5.1.2 一段式檢測 153
5.2 數據集構建 155
5.2.1 選擇目標物體圖片 155
5.2.2 背景圖片下載 156
5.2.3 圖片合成 156
5.3 數據加載 162
5.4 數據標記與損失函數構建 166
5.4.1 數據標記 167
5.4.2 損失函數 167
5.5 模型搭建與訓練 172
5.6 模型預測 175
5.7 小結 180

第6章 圖像分割 181
6.1 數據加載 184
6.2 模型搭建 189
6.3 模型訓練 191
6.4 模型展示 194
6.5 智能彈幕 195
6.6 像素級回歸問題:超分辨率重建 196
6.6.1 超分辨率重建算法的發展 197
6.6.2 數據加載 198
6.6.3 模型搭建與訓練 202
6.6.4 模型展示 205
6.7 小結 206

第7章 圖像搜索 207
7.1 分類網絡的特徵 208
7.2 深度學習人臉識別技術 208
7.2.1 FaceNet 209
7.2.2 CosFace 和ArcFace 209
7.3 數據處理 210
7.3.1 數據下載 210
7.3.2 數據檢查 212
7.3.3 數據提取 213
7.4 模型訓練 214
7.4.1 普通分類模型 214
7.4.2 CosFace 218
7.5 圖像搜索 219
7.5.1 圖像比對 219
7.5.2 KD-Tree 搜索 221
7.6 小結 224

第8章 圖像壓縮 225
8.1 AutoEncoder 226
8.1.1 AutoEncoder 的原理 226
8.1.2 AutoEncoder 模型搭建 226
8.1.3 數據加載 229
8.1.4 模型訓練 230
8.1.5 結果展示 232
8.2 GAN 234
8.2.1 GAN 原理 234
8.2.2 GAN 訓練流程 235
8.2.3 GAN 隨機生成人臉圖片 235
8.2.4 GAN 與AutoEncoder 的結合 242
8.2.5 圖像修復 247
8.3 小結 250

第9章 不定長文本識別 251
9.1 循環神經網絡概述 251
9.2 時間序列預測 252
9.2.1 創建模型 253
9.2.2 生成數據 253
9.2.3 模型訓練 255
9.2.4 模型預測 256
9.3 CRNN 模型 257
9.3.1 CRNN 算法簡介 257
9.3.2 CTCLoss 函數 258
9.3.3 模型結構 259
9.3.4 數據預處理 261
9.3.5 模型訓練 264
9.3.6 模型預測 266
9.4 小結 267

第 10章 神經網絡壓縮與部署 268
10.1 剪枝 268
10.1.1 模型設計 269
10.1.2 訓練基礎模型 271
10.1.3 模型稀疏化 273
10.1.4 壓縮模型通道 276
10.2 量化 283
10.3 混合精度訓練 287
10.4 深度學習模型的服務端部署 289
10.4.1 創建接口 289
10.4.2 訪問接口 291
10.5 小結 292