深度學習與電腦視覺——基於PyTorch(微課版)

李春艷 李青林

  • 出版商: 人民郵電
  • 出版日期: 2025-01-01
  • 定價: $419
  • 售價: 8.5$356
  • 語言: 簡體中文
  • 頁數: 292
  • ISBN: 7115649316
  • ISBN-13: 9787115649317
  • 相關分類: DeepLearningComputer Vision
  • 下單後立即進貨 (約4週~6週)

  • 深度學習與電腦視覺——基於PyTorch(微課版)-preview-1
  • 深度學習與電腦視覺——基於PyTorch(微課版)-preview-2
深度學習與電腦視覺——基於PyTorch(微課版)-preview-1

商品描述

“深度學習與電腦視覺” 是一門理論性和實踐性都很強的課程,它是Python程序設計、機器學習等前期課程的進階和強化課程。

本書秉承理論與實踐並重的理念,圍繞深度學習與電腦視覺知識展開介紹。本書首先介紹深度學習與電腦視覺概念,工具的安裝與配置。然後詳細討論NumPy與Tensor基礎知識,以及數據集、捲積神經網絡、模型訓練與測試、圖像分類等理論知識與算法實現,為讀者學習目標檢測、圖像分割、人臉識別、生成模型等內容奠定基礎。通過閱讀本書,讀者能瞭解深度學習的總體流程,理解電腦視覺任務的算法實現、改進及應用。

本書適合具有一定Python編程基礎並對深度學習感興趣的在校學生和教師,初次接觸PyTorch深度學習框架的研究人員,或具備其他深度學習框架(如TensorFlow、Keras、Caffe等)使用經驗的、想快速瞭解PyTorch深度學習框架的愛好者、高校學生和研究人員閱讀。

作者簡介

李春艷,紅河學院計科系教師,講授課程:電腦視覺與圖像處理、電腦組成原理。

主要研究項目及領域:

項目:特徵融合的人臉活體檢測方法研究

領域:電腦視覺

目錄大綱

第 1 章 深度學習與電腦視覺概述 ....... 1

1.1 深度學習 ............................................... 1

1.1.1 人工智能、機器學習、深度學習 ................................................ 1

1.1.2 深度學習的應用 ............................ 3

1.1.3 深度學習框架 ................................ 3

1.2 電腦視覺 ........................................... 5

1.2.1 電腦視覺概述 ............................ 5

1.2.2 電腦視覺的用途 ........................ 7

1.2.3 電腦視覺任務 ............................ 7

1.2.4 電腦視覺在生活中的應用 ...... 10

1.3 本章小結 ............................................. 12

1.4 習題 ..................................................... 12

第 2 章 工具的安裝與配置 .................... 13

2.1 安裝Anaconda .................................... 13

2.2 安裝PyTorch ....................................... 16

2.2.1 安裝CPU版的PyTorch ............... 17

2.2.2 安裝GPU版的PyTorch ............... 18

2.3 配置Jupyter Notebook ........................ 29

2.3.1 生成Jupyter Notebook配置文件 .............................................. 29

2.3.2 修改Jupyter Notebook的默認瀏覽器 .............................................. 30

2.3.3 修改Jupyter Notebook的默認路徑 .............................................. 31

2.3.4 Jupyter Notebook的基本用法 ..... 32

2.4 安裝常用工具包 ................................. 34

2.5 本章小結 ............................................. 37

2.6 習題 ..................................................... 37

第 3 章 NumPy與Tensor基礎 ............. 38

3.1 NumPy基礎 ......................................... 38

3.1.1 創建NumPy數組 ......................... 38

3.1.2 獲取數組元素 .............................. 43

3.1.3 數組運算 ...................................... 44

3.1.4 數組變形 ...................................... 47

3.2 Tensor基礎 .......................................... 52

3.2.1 認識PyTorch中的Tensor............. 52

3.2.2 創建Tensor ................................... 53

3.2.3 修改Tensor的形狀 ...................... 56

3.2.4 Tensor的常見操作 ....................... 58

3.3 NumPy數組與Tensor比較 ................. 61

3.4 本章小結 ............................................. 62

3.5 習題 ..................................................... 62

第 4 章 數據集...................................... 64

4.1 數據集 ................................................. 64

4.1.1 定義數據集 .................................. 65

4.1.2 加載數據集 .................................. 67

4.1.3 PyTorch自帶的數據集 ................ 68

4.2 構造圖片的地址列表 ......................... 71

4.2.1 os和glob模塊 .............................. 71

4.2.2 構造地址列表案例 ...................... 72

4.3 利用地址列表定義圖片數據集 .......... 75

4.3.1 pandas ........................................... 75

4.3.2 Image類 ....................................... 78

4.3.3 定義圖片數據集案例 .................. 79

4.4 本章小結 ............................................. 81

4.5 習題 ..................................................... 81

第 5 章 捲積神經網絡 ........................... 83

5.1 捲積神經網絡概述 ............................. 83

5.1.1 CNN ............................................. 83

5.1.2 torch.nn ........................................ 84

5.2 捲積 ..................................................... 85

5.2.1 捲積核 .......................................... 85

5.2.2 圖像捲積運算 .............................. 86

5.2.3 特徵圖尺寸運算 .......................... 88

5.2.4 深度可分離捲積 .......................... 88

5.3 捲積層、批量歸化層、激活

函數層 ................................................. 89

5.3.1 捲積層 .......................................... 89

5.3.2 批量歸一化層 .............................. 92

5.3.3 激活函數層 .................................. 93

5.4 池化層、鏈接層 ................................. 97

5.4.1 池化層 .......................................... 97

5.4.2 鏈接層 ........................................ 101

5.5 常見的CNN及搭建實例 .................. 102

5.5.1 AlexNet ...................................... 102

5.5.2 VGG ........................................... 103

5.5.3 GoogLeNet ................................. 104

5.5.4 ResNet ........................................ 106

5.5.5 倒殘差結構案例 ........................ 108

5.5.6 MobileNetV2案例 ..................... 110

5.5.7 從零開始構建CNN模型案例 ............................................ 115

5.6 本章小結 ........................................... 116

5.7 習題 ................................................... 116

第 6 章 模型訓練與測試 ......................118

6.1 損失函數 ........................................... 118

6.1.1 損失函數概述 ............................ 118

6.1.2 PyTorch中的常用損失函數及其使用方法 .................................... 119

6.2 優化器 ............................................... 122

6.2.1 優化器概述 ................................ 122

6.2.2 常用優化器及其使用方法 ........ 124

6.3 模型訓練、測試與調整 ................... 130

6.3.1 模型訓練 .................................... 130

6.3.2 模型測試 .................................... 131

6.3.3 調整學習率 ................................ 131

6.3.4 模型訓練與測試綜合案例 ........ 133

6.4 模型保存與加載 ............................... 138

6.4.1 模型保存 .................................... 139

6.4.2 模型加載 .................................... 139

6.5 遷移學習 ........................................... 139

6.5.1 遷移學習基本概念 .................... 140

6.5.2 調用模型遷移學習 .................... 140

6.6 本章小結 ........................................... 145

6.7 習題 ................................................... 145

第 7 章 圖像分類 ................................ 147

7.1 圖像分類概述 ................................... 147

7.2 數據集 ............................................... 148

7.2.1 數據集介紹 ................................ 148

7.2.2 數據集劃分和定義 .................... 149

7.2.3 數據預處理 ................................ 150

7.2.4 加載數據集 ................................ 152

7.3 構建網絡模型 ................................... 152

7.4 訓練與測試模型 ............................... 157

7.4.1 相關函數定義 ............................ 157

7.4.2 模型訓練與驗證 ........................ 163

7.5 性能評估 ........................................... 171

7.6 本章小結 ........................................... 173

7.7 習題 ................................................... 174

第 8 章 目標檢測 ................................ 175

8.1 目標檢測概述 ................................... 175

8.1.1 概述 ............................................ 175

8.1.2 歷史、應用場景 ........................ 175

8.1.3 目標檢測的主要問題與主要挑戰 ............................................ 176

8.1.4 數據集 ........................................ 176

8.1.5 評估指標 .................................... 177

8.1.6 常見目標檢測算法 .................... 178

8.2 基於兩步法的目標檢測 ................... 179

8.2.1 “兩步法”概述 .......................... 179

8.2.2 二階段檢測算法概述 ................ 179

8.2.3 Faster R-CNN模型 .................... 180

8.2.4 基於Faster R-CNN的圖片檢測和識別 ................................ 181

8.3 YOLO目標檢測算法 ....................... 186

8.3.1 YOLO概述 ................................ 186

8.3.2 YOLO訓練過程 ........................ 189

8.3.3 損失函數 .................................... 190

8.3.4 基於YOLO模型的圖片檢測和識別 ............................................ 191

8.4 SSD目標檢測算法 ........................... 197

8.4.1 SSD基本概念 ............................ 198

8.4.2 SSD核心思想 ............................ 198

8.4.3 SSD訓練過程 ............................ 199

8.4.4 SSD訓練樣本 ............................ 199

8.4.5 損失函數 .................................... 200

8.4.6 基於SSD模型的圖片檢測和識別 ............................................ 201

8.5 其他目標檢測算法及改進 ............... 206

8.5.1 其他目標檢測算法 .................... 206

8.5.2 多尺度目標檢測 ........................ 210

8.5.3 非極大值抑制的改進 ................ 211

8.5.4 其他改進措施 ............................ 211

8.6 本章小結 ........................................... 212

8.7 習題 ................................................... 212

第 9 章 圖像分割 ................................ 215

9.1 圖像分割的概述和應用場景 ........... 215

9.2 圖像分割的傳統方法 ....................... 218

9.2.1 圖像分割評估指標 .................... 219

9.2.2 基於閾值的圖像分割方法 ........ 221

9.2.3 基於邊緣的圖像分割方法 ........ 222

9.2.4 基於區域的圖像分割方法 ........ 225

9.2.5 基於聚類的圖像分割方法 ........ 225

9.2.6 其他傳統圖像分割方法 ............ 226

9.3 基於深度學習的圖像分割 ............... 226

9.3.1 圖像分割數據集 ........................ 226

9.3.2 基於全捲積網絡的圖像分割方法 ............................................ 229

9.3.3 基於目標檢測的圖像分割方法 ............................................ 234

9.3.4 其他基於深度學習的圖像分割方法 ............................................ 238

9.4 圖像分割應用案例 ........................... 240

9.4.1 遙感圖像分割 ............................ 240

9.4.2 醫療影像分割 ............................ 245

9.4.3 街景分割 .................................... 247

9.5 本章小結 ........................................... 250

9.6 習題 ................................................... 250

第 10 章 人臉識別 .............................. 251

10.1 人臉檢測 ......................................... 251

10.1.1 數據集介紹 .............................. 251

10.1.2 人臉檢測框架 .......................... 252

10.1.3 數據預處理 .............................. 255

10.1.4 網絡模型處理 .......................... 258

10.1.5 模型訓練 .................................. 259

10.1.6 模型測試 .................................. 262

10.1.7 小結 .......................................... 263

10.2 提取人臉特徵 ................................. 263

10.2.1 網絡模型構建 .......................... 263

10.2.2 模型訓練 .................................. 264

10.2.3 模型測試 .................................. 267

10.3 人臉識別 ......................................... 268

10.3.1 代碼框架 .................................. 268

10.3.2 建立人臉數據庫 ...................... 269

10.3.3 完成人臉識別 .......................... 269

10.4 本章小結 ......................................... 271

10.5 習題 ................................................. 271

第 11 章 生成模型 .............................. 273

11.1 生成模型的基本概念及應用場景 ................................................. 273

11.1.1 生成模型的基本概念 .............. 273

11.1.2 生成模型的應用場景 .............. 275

11.2 PixelRNN和PixelCNN ................... 276

11.3 變分自編碼器.................................. 279

11.4 生成對抗網絡 ................................. 282

11.4.1 生成對抗網絡的工作方式 ...... 282

11.4.2 生成對抗網絡的改進 .............. 284

11.5 案例分析 ......................................... 286

11.5.1 使用VAE生成手寫數字圖片 .......................................... 286

11.5.2 使用GAN生成手寫數字圖片 .......................................... 288

11.6 本章小結 ......................................... 291

11.7 習題 ................................................. 291