![]() ![]() |
深度學習與計算機視覺——基于PyTorch ![]()
“深度學習與計算機視覺” 是一門理論性和實踐性都很強的課程,它是Python程序設計、機器學習等前期課程的進階和強化課程。
本書秉承理論與實踐并重的理念,圍繞深度學習與計算機視覺知識展開介紹。本書首先介紹深度學習與計算機視覺概念,工具的安裝與配置。然后詳細討論NumPy與Tensor基礎知識,以及數(shù)據集、卷積神經網絡、模型訓練與測試、圖像分類等理論知識與算法實現(xiàn),為讀者學習目標檢測、圖像分割、人臉識別、生成模型等內容奠定基礎。通過閱讀本書,讀者能了解深度學習的總體流程,理解計算機視覺任務的算法實現(xiàn)、改進及應用。 本書適合具有一定Python編程基礎并對深度學習感興趣的在校學生和教師,初次接觸PyTorch深度學習框架的研究人員,或具備其他深度學習框架(如TensorFlow、Keras、Caffe等)使用經驗的、想快速了解PyTorch深度學習框架的愛好者、高校學生和研究人員閱讀。
1、本書開篇介紹Anaconda、CUDA、CUDNN和PyTorch等工具包的安裝步驟,方便初學者學習編程環(huán)境的創(chuàng)建和配置。
2、本書以深度學習算法的處理流程為主線,依次介紹數(shù)據準備、模型搭建、模型訓練和測試、保存和重載模型等內容。 3、本書在內容安排上采用循序漸進的方式,先介紹相關知識和函數(shù),然后再講實際應用中如何使用它們來解決問題。通過對CNN的深入理解后,有助于讀者今后學習其他神經網絡(如:RNN、GAN)。 4、本書后續(xù)章節(jié)主要介紹計算機視覺的主要研究方向的概述、應用場景、算法和應用案例,包括:圖像分類、目標檢測、圖像分割、人臉識別、生成模型。
李春艷,紅河學院計科系教師,講授課程:計算機視覺與圖像處理、計算機組成原理。
主要研究項目及領域:
項目:特征融合的人臉活體檢測方法研究
領域:計算機視覺
第 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 創(chuàng)建NumPy數(shù)組 ......................... 38 3.1.2 獲取數(shù)組元素 .............................. 43 3.1.3 數(shù)組運算 ...................................... 44 3.1.4 數(shù)組變形 ...................................... 47 3.2 Tensor基礎 .......................................... 52 3.2.1 認識PyTorch中的Tensor............. 52 3.2.2 創(chuàng)建Tensor ................................... 53 3.2.3 修改Tensor的形狀 ...................... 56 3.2.4 Tensor的常見操作 ....................... 58 3.3 NumPy數(shù)組與Tensor比較 ................. 61 3.4 本章小結 ............................................. 62 3.5 習題 ..................................................... 62 第 4 章 數(shù)據集...................................... 64 4.1 數(shù)據集 ................................................. 64 4.1.1 定義數(shù)據集 .................................. 65 4.1.2 加載數(shù)據集 .................................. 67 4.1.3 PyTorch自帶的數(shù)據集 ................ 68 4.2 構造圖片的地址列表 ......................... 71 4.2.1 os和glob模塊 .............................. 71 4.2.2 構造地址列表案例 ...................... 72 4.3 利用地址列表定義圖片數(shù)據集 .......... 75 4.3.1 pandas ........................................... 75 4.3.2 Image類 ....................................... 78 4.3.3 定義圖片數(shù)據集案例 .................. 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 卷積層、批量歸化層、激活 函數(shù)層 ................................................. 89 5.3.1 卷積層 .......................................... 89 5.3.2 批量歸一化層 .............................. 92 5.3.3 激活函數(shù)層 .................................. 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 損失函數(shù) ........................................... 118 6.1.1 損失函數(shù)概述 ............................ 118 6.1.2 PyTorch中的常用損失函數(shù)及其使用方法 .................................... 119 6.2 優(yōu)化器 ............................................... 122 6.2.1 優(yōu)化器概述 ................................ 122 6.2.2 常用優(yōu)化器及其使用方法 ........ 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 數(shù)據集 ............................................... 148 7.2.1 數(shù)據集介紹 ................................ 148 7.2.2 數(shù)據集劃分和定義 .................... 149 7.2.3 數(shù)據預處理 ................................ 150 7.2.4 加載數(shù)據集 ................................ 152 7.3 構建網絡模型 ................................... 152 7.4 訓練與測試模型 ............................... 157 7.4.1 相關函數(shù)定義 ............................ 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 目標檢測的主要問題與主要挑戰(zhàn) ............................................ 176 8.1.4 數(shù)據集 ........................................ 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 損失函數(shù) .................................... 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 損失函數(shù) .................................... 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 圖像分割的傳統(tǒng)方法 ....................... 218 9.2.1 圖像分割評估指標 .................... 219 9.2.2 基于閾值的圖像分割方法 ........ 221 9.2.3 基于邊緣的圖像分割方法 ........ 222 9.2.4 基于區(qū)域的圖像分割方法 ........ 225 9.2.5 基于聚類的圖像分割方法 ........ 225 9.2.6 其他傳統(tǒng)圖像分割方法 ............ 226 9.3 基于深度學習的圖像分割 ............... 226 9.3.1 圖像分割數(shù)據集 ........................ 226 9.3.2 基于全卷積網絡的圖像分割方法 ............................................ 229 9.3.3 基于目標檢測的圖像分割方法 ............................................ 234 9.3.4 其他基于深度學習的圖像分割方法 ............................................ 238 9.4 圖像分割應用案例 ........................... 240 9.4.1 遙感圖像分割 ............................ 240 9.4.2 醫(yī)療影像分割 ............................ 245 9.4.3 街景分割 .................................... 247 9.5 本章小結 ........................................... 250 9.6 習題 ................................................... 250 第 10 章 人臉識別 .............................. 251 10.1 人臉檢測 ......................................... 251 10.1.1 數(shù)據集介紹 .............................. 251 10.1.2 人臉檢測框架 .......................... 252 10.1.3 數(shù)據預處理 .............................. 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 建立人臉數(shù)據庫 ...................... 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生成手寫數(shù)字圖片 .......................................... 286 11.5.2 使用GAN生成手寫數(shù)字圖片 .......................................... 288 11.6 本章小結 ......................................... 291 11.7 習題 ................................................. 291
你還可能感興趣
我要評論
|