PyTorch計算機視覺實戰:目標檢測、圖像處理與深度學習

《PyTorch計算機視覺實戰:目標檢測、圖像處理與深度學習》是2023年機械工業出版社出版的圖書。

基本介紹

  • 中文名:PyTorch計算機視覺實戰:目標檢測、圖像處理與深度學習
  • 出版時間:2023年9月1日
  • 出版社:機械工業出版社
  • ISBN:9787111733393
內容簡介,圖書目錄,

內容簡介

本書基於真實數據集,全面系統地闡述現代計算機視覺實用技術、方法和實踐,涵蓋50多個計算機視覺問題。全書分為四部分:di一部分(第1~3章)介紹神經網路和PyTorch的基礎知識,以及如何使用PyTorch構建並訓練神經網路,包括輸入數據縮放、批歸一化、超參數調整等;第二部分(第4~10章)介紹如何使用卷積神經網路、遷移學習等技術解決更複雜的視覺相關問題,包括圖像分類、目標檢測和圖像分割等;第三部分(第11~13章)介紹各種圖像處理技術,包括自編碼器模型和各種類型的GAN模型;第四部分(第14~18章)探討將計算機視覺技術與NLP、強化學習和OpenCV等技術相結合來解決傳統問題的新方法。本書內容豐富新穎,語言文字表述清晰,套用實例講解詳細,圖例直觀形象,適合PyTorch國中級讀者及計算機視覺相關技術人員閱讀。

圖書目錄

CONTENTS
目  錄
譯者序
前言
第一部分 面向計算機視覺的
深度學習基礎知識
第1章 人工神經網路基礎 2
1.1 比較人工智慧與傳統機器學習 3
1.2 人工神經網路的構建模組 4
1.3 實現前向傳播 6
1.3.1 計算隱藏層的值 6
1.3.2 套用激活函式 7
1.3.3 計算輸出層的值 9
1.3.4 計算損失值 9
1.3.5 前向傳播的代碼 11
1.4 實現反向傳播 14
1.4.1 梯度下降的代碼 15
1.4.2 使用鏈式法則實現
反向傳播 17
1.5 整合前向傳播與反向傳播 20
1.6 理解學習率的影響 22
1.7 總結神經網路的訓練過程 28
1.8 小結 29
1.9 課後習題 29
第2章 PyTorch基礎 30
2.1 安裝PyTorch 30
2.2 PyTorch張量 32
2.2.1 初始化張量 33
2.2.2 張量運算 34
2.2.3 張量對象的自動梯度 37
2.2.4 PyTorch的張量較
NumPy的ndarrays
的優勢 38
2.3 使用PyTorch構建神經網路 39
2.3.1 數據集、數據載入器和
批大小 45
2.3.2 預測新的數據點 48
2.3.3 實現自定義損失函式 49
2.3.4 獲取中間層的值 50
2.4 使用序貫方法構建神經網路 51
2.5 保存並載入PyTorch模型 54
2.5.1 state dict 54
2.5.2 保存 55
2.5.3 載入 55
2.6 小結 55
2.7 課後習題 56
第3章 使用PyTorch構建深度
神經網路 57
3.1 表示圖像 57
3.2 為什麼要使用神經網路進行
圖像分析 62
3.3 為圖像分類準備數據 64
3.4 訓練神經網路 66
3.5 縮放數據集以提升模型準確度 71
3.6 理解不同批大小的影響 74
3.6.1 批大小為32 75
3.6.2 批大小為10 000 79
3.7 理解不同損失最佳化器的影響 80
3.8 理解不同學習率的影響 83
3.8.1 學習率對縮放數據集
的影響 83
3.8.2 不同學習率對非縮放
數據集的影響 88
3.9 理解不同學習率衰減的影響 90
3.10 構建更深的神經網路 93
3.11 理解不同批歸一化的影響 94
3.11.1 沒有批歸一化的非常小
的輸入值 96
3.11.2 經過批歸一化的非常小
的輸入值 98
3.12 過擬合的概念 100
3.12.1 添加dropout的影響 100
3.12.2 正則化的影響 102
3.13 小結 106
3.14 課後習題 106
第二部分 物體分類與目標檢測
第4章 卷積神經網路 108
4.1 傳統深度神經網路的問題 108
4.2 CNN的構建模組 111
4.2.1 卷積 112
4.2.2 濾波器 113
4.2.3 步長和填充 114
4.2.4 池化 115
4.2.5 整合各個構建模組 116
4.2.6 卷積和池化的圖像平移
不變性原理 117
4.3 實現CNN 117
4.3.1 使用PyTorch構建基於
CNN的架構 118
4.3.2 基於Python的前向傳播 121
4.4 使用深度CNN分類圖像 123
4.5 實現數據增強 127
4.5.1 圖像增強 127
4.5.2 對一批圖像執行數據增強
及collate_fn的必要性 137
4.5.3 用於圖像平移的數據
增強 140
4.6 特徵學習結果的可視化 143
4.7 構建對真實圖像進行分類
的CNN 153
4.8 小結 161
4.9 課後習題 162
第5章 面向圖像分類的遷移學習 163
5.1 遷移學習簡介 163
5.2 理解VGG16架構 164
5.3 理解ResNet架構 174
5.4 實現人臉關鍵點檢測 178
5.5 多任務學習—實現年齡估計
和性別分類 186
5.6 torch_snippets庫簡介 195
5.7 小結 200
5.8 課後習題 200
第6章 圖像分類的實戰技術 201
6.1 生成CAM 201
6.2 數據增強和批歸一化 207
6.3 模型實現的實踐要點 212
6.3.1 處理不平衡數據 212
6.3.2 分類圖像中目標的大小 213
6.3.3 訓練數據和驗證數據
之間的差異 213
6.3.4 扁平層中的節點數 214
6.3.5 圖像的大小 214
6.3.6 使用OpenCV實用程式 214
6.4 小結 215
6.5 課後習題 215
第7章 目標檢測基礎 216
7.1 目標檢測簡介 216
7.2 為訓練圖像樣本創建真值 217
7.3 理解區域建議 220
7.3.1 使用SelectiveSearch
生成區域建議 221
7.3.2 實現用於生成區域建議
的SelectiveSearch 222
7.4 理解IoU 224
7.5 非極大抑制 226
7.6 mAP 226
7.7 訓練基於R-CNN的定製目標
檢測器 227
7.7.1 R-CNN的工作細節 227
7.7.2 基於定製數據集實現
R-CNN目標檢測模型 228
7.8 訓練基於Fast R-CNN的定製
目標檢測器 241
7.8.1 Fast R-CNN的工作細節 242
7.8.2 基於定製數據集實現Fast R-CNN目標檢測模型 242
7.9 小結 249
7.10 課後習題 249
第8章 目標檢測進階 250
8.1 現代目標檢測算法的組成 250
8.1.1 錨盒 250
8.1.2 區域建議網路 252
8.2 基於定製數據集訓練Faster
R-CNN 254
8.3 YOLO的工作細節 260
8.4 基於定製數據集訓練YOLO 265
8.4.1 安裝Darknet 265
8.4.2 設定數據集格式 267
8.4.3 配置架構 268
8.4.4 訓練和測試模型 269
8.5 SSD模型的工作細節 270
8.6 基於定製數據集訓練SSD
模型 274
8.7 小結 278
8.8 課後習題 278
第9章 圖像分割 279
9.1 探索U-Net架構 279
9.2 使用U-Net實現語義分割 283
9.3 探索Mask R-CNN架構 288
9.3.1 RoI對齊 290
9.3.2 掩碼頭部 291
9.4 使用Mask R-CNN實現實例
分割 292
9.5 小結 305
9.6 課後習題 306
第10章 目標檢測與分割的套用 307
10.1 多目標實例分割 307
10.1.1 獲取和準備數據 308
10.1.2 訓練用於實例分割的
模型 312
10.1.3 對新圖像進行推斷 313
10.2 人體姿態檢測 315
10.3 人群計數 316
10.4 圖像著色 325
10.5 面向點雲的三維目標檢測 330
10.5.1 理論 330
10.5.2 訓練YOLO模型實現
三維目標檢測 334
10.6 小結 337
第三部分 圖像處理
第11章 自編碼器與圖像處理 340
11.1 理解自編碼器 340
11.2 理解卷積自編碼器 346
11.3 理解變分自編碼器 351
11.3.1 VAE的工作機制 352
11.3.2 KL散度 353
11.3.3 構建VAE模型 353
11.4 圖像對抗性攻擊 357
11.5 圖像風格遷移 360
11.6 生成深度虛擬圖像 366
11.7 小結 375
11.8 課後習題 375
第12章 基於GAN的圖像生成 376
12.1 GAN模型簡介 376
12.2 使用GAN生成手寫數字 378
12.3 使用DCGAN生成人臉圖像 383
12.4 實現條件GAN模型 391
12.5 小結 399
12.6 課後習題 400
第13章 高級GAN圖像處理 401
13.1 使用Pix2Pix GAN模型 401
13.2 使用CycleGAN模型 410
13.3 在定製圖像上使用StyleGAN
模型 418
13.4 超解析度GAN 426
13.4.1 架構 427
13.4.2 編碼SRGAN 428
13.5 小結 429
13.6 課後習題 430
第四部分 計算機視覺與其他技術
第14章 使用小樣本進行模型訓練 432
14.1 實現零樣本學習 432
14.2 實現小樣本學習 437
14.2.1 構建Siamese網路 438
14.2.2 原型網路的工作細節 444
14.2.3 關係網路的工作細節 445
14.3 小結 446
14.4 課後習題 446
第15章 計算機視覺與NLP 447
15.1 RNN模型簡介 447
15.1.1 RNN架構的套用場景 448
15.1.2 探索RNN的結構 449
15.1.3 為什麼需要存儲記憶 449
15.2 LSTM架構簡介 450
15.2.1 LSTM的工作細節 451
15.2.2 使用PyTorch實現
LSTM 453
15.3 生成圖像標題 453
15.4 轉錄手寫圖像 465
15.4.1 CTC損失的工作細節 466
15.4.2 計算CTC損失值 467
15.4.3 手寫轉錄的代碼實現 468
15.5 使用DETR進行目標檢測 476
15.5.1 transformer的工作細節 476
15.5.2 DETR的工作細節 479
15.5.3 目標檢測的代碼實現 482
15.6 小結 485
15.7 課後習題 485
第16章 計算機視覺與強化學習 486
16.1 強化學習基礎知識 486
16.1.1 計算狀態價值 487
16.1.2 計算狀態–行為價值 488
16.2 實現Q學習 489
16.2.1 Q值 489
16.2.2 了解Gym環境 490
16.2.3 構建Q表 491
16.2.4 探索–利用機制 493
16.3 實現深度Q學習 495
16.4 目標固定的深度Q學習 501
16.5 實現自動駕駛智慧型體 508
16.5.1 安裝CARLA環境 508
16.5.2 訓練自動駕駛智慧型體 511
16.6 小結 518
16.7 課後習題 519
第17章 模型的實際套用部署 520
17.1 API基礎知識 520
17.2 在本地伺服器上創建API並
進行預測 521
17.2.1 安裝API模組和依賴項 522
17.2.2 圖像分類器的支持組件 522
17.3 將API部署到雲端 525
17.3.1 Docker鏡像與Docker
容器 526
17.3.2 創建Docker容器 526
17.3.3 在雲端發布並運行
Docker容器 530
17.4 小結 535
第18章 使用OpenCV實用程式
進行圖像分析 536
18.1 圖像中的單詞檢測 536
18.2 圖像中的車道線檢測 542
18.3 基於顏色的目標檢測 544
18.4 構建全景圖像 546
18.5 圖像中的車牌檢測 550
18.6 小結 552
附錄 課後習題答案 554

相關詞條

熱門詞條

聯絡我們