深度學習技術圖像處理入門

深度學習技術圖像處理入門

《深度學習技術圖像處理入門》是2018年10月清華大學出版社出版的圖書,作者是楊培文、胡博強。

基本介紹

  • 中文名:深度學習技術圖像處理入門
  • 作者:楊培文、胡博強
  • 出版社:清華大學出版社
  • 出版時間:2018年10月
  • 定價:69 元
  • ISBN:9787302511021
內容簡介,圖書目錄,

內容簡介

本書從機器學習、圖像處理的采墊夜抹基本概念入手,逐步闡述深度學習圖像處理技術的基本原理以及簡單的實現。繼而以幾個實戰案例來介紹如何使用深度學習方法,在數據分析競賽中取得較高的排名。最後,通過一個實戰案例,介紹如何將模型放入 iOS 程式,製作相應的人工智慧手機App。
本書適用於對深度學習有興趣、希望入門這一領域的理工科大學生、研究生,以及希望了解該領域基本原理的軟體開發人員。此外,本書所有案例均提供了雲環境上的代碼,便於讀者復現結果,並進行深入學習。

圖書目錄

第1章 搭建指定的開發環奔譽槳盼境1
1.1 為什麼要使用指定的開發環境1
1.2 硬體準備2
1.2.1 在亞馬遜租用雲GPU伺服器2
1.2.2 在騰訊雲租用GPU伺服器4
1.2.3 在雲伺服器符祖愉中開啟搭載開發環境的Docker服務8
1.3 軟體準備9
1.3.1 在Ubuntu 16.04下配置環境9
1.3.2 在CentOS 7下配置環境12
1.4 參考文獻及網頁連結12
第2章 溫故知新——機器學習基礎知識13
2.1 人工智慧、機器學習與深度學習13
2.2 訓練一個傳統的機器學習模型15
2.2.1 第一步,觀察數據16
2.2.2 第二步,預覽數據17
2.3 數據挖掘與訓練模型29
2.3.1 第一步,準備數據29
2.3.2 第二步,挖掘數據特徵31
2.3.3 第三步,使用模型37
2.3.4 第四步,代碼實戰44
2.4 參考文獻及網頁連結49
第3章 數形結合——圖像處理基礎知識50
3.1 讀取圖像檔案進行基本操作51
3.1.1 使用python-opencv讀取圖片51
3.1.2 借禁檔助python-opencv進行不同編碼格式夜求付的轉換52
3.1.3 藉助python-opencv改變圖片尺寸53
3.2 用簡單的矩陣操作處理圖像53
3.2.1 對圖像進行複製與貼上53
3.2.2 把圖像當成矩陣進行連危狼霉煉充處理——二維碼轉換成矩陣54
3.3 使用OpenCV“摳圖”——基於顏色通道以及形態特徵59
3.4 基於傳統特徵的傳統圖像分類方法64
3.4.1 將圖片簡化為少數區域並計算每個區域輪廓特徵的方向66
3.4.2 將HOG變換運用在所有正負樣本中68
3.4.3 訓練模型70
3.4.4 將訓練好的分類器運用在新的圖片中71
3.5 參考文獻及網頁連結73
第4章 繼往開來——使用深度神經網路框架74
4.1 從邏輯回歸說起74
4.2 深度學習框架76
4.3 基於反向傳播算法的自動求導77
4.4 簡單的深度神經網路框架實現80
4.4.1 數據結構部分81
4.4.2 計算圖部分83
4.4.3 使用方法85
4.4.4 訓練模型86
4.5 參考文獻及網頁連結89
第5章 排列組合——深度神經網路框架的模型元件90
5.1 常用層92
5.1.1 Dense92
5.1.2 Activation92
5.1.3 Dropout93
5.1.4 Flatten94
5.2 卷積層94
5.2.1 Conv2D94
5.2.2 Cropping2D101
5.2.3 ZeroPadding2D101
5.3 池化層102
5.3.1 MaxPooling2D102
5.3.2 AveragePooling2D102
5.3.3 GlobalAveragePooling2D103
5.4 正則化層與過擬合104
5.5 反卷積層105
5.6 循環層109
5.6.1 SimpleRNN109
5.6.2 LSTM109
5.6.3 GRU110
5.7 參考文獻及網頁連結110
第6章 少量多次——深度神經網路框架的輸入處理112
6.1 批量生成訓練數據113
6.2 數據增強115
6.3 參考文獻及網頁連結117
第7章 愚公移山——深度神經網路框架的模型訓練118
7.1 隨機梯度下降119
7.2 動量法120
7.3 自適應學習率算法121
7.4 實驗案例124
7.5 參考文獻及網頁連結128
第8章 小試牛刀——使用深度神經網路進行CIFAR-10數據分類129
8.1 上游部分——基於生成器的批量生成輸入模組131
8.2 核心部分——用各種零件搭建深度神經網路131
8.3 下游部分——使用凸最佳化模組訓練模型132
8.4 參考文獻及網頁連結133
第9章 見多識廣——使用遷移學習提升準確率134
9.1 貓狗大戰1.0——使用卷積神經網路直接進行訓練135
9.1.1 導入數據135
9.1.2 可視化137
9.1.3 分割訓練集和驗證集138
9.1.4 搭建模型140
9.1.5 模型訓練141
9.1.6 總結142
9.2 貓狗大戰2.0——使用ImageNet數據集預訓練模型142
9.2.1 遷移學習142
9.2.2 數據預處理143
9.2.3 搭建模型143
9.2.4 模型可視化144
9.2.5 訓練模型145
9.2.6 提交到kaggle評估146
9.3 貓狗大戰3.0——使用多種預訓練模型組合提升表現146
9.3.1 載入數據集147
9.3.2 使用正確的預處理函式147
9.3.3 搭建特徵提取模型並導出特徵147
9.3.4 搭建並訓練全連線分類器模型148
9.3.5 在測試集上預測149
9.4 融合模型150
9.4.1 獲取特徵150
9.4.3 構建模型151
9.4.4 在測試集上預測152
9.5 總結153
9.6 參考文獻及網頁連結154
第10章 看圖識字——使用深度神經網路進行文字識別155
10.1 使用卷積神經網路進行端到端學習155
10.1.1 編寫數據生成器157
10.1.2 使用生成器157
10.1.3 構建深度卷積神經網路158
10.1.4 模型可視化158
10.1.5 訓練模型160
10.1.6 計算模型總體準確率161
10.1.7 測試模型161
10.1.8 模型總結162
10.2 使用循環神經網路改進模型162
10.2.1 CTC Loss163
10.2.2 模型結構164
10.2.3 模型可視化165
10.2.4 數據生成器167
10.2.5 評估模型168
10.2.6 評估回調169
10.2.7 訓練模型169
10.2.8 測試模型171
10.2.9 再次評估模型171
10.2.10 總結173
10.3 識別四則混合運算驗證碼(初賽)173
10.3.1 問題描述174
10.3.2 數據集探索174
10.3.3 模型結構176
10.3.4 結果可視化181
10.3.5 總結182
10.4 識別四則混合運算驗證碼(決賽)183
10.4.1 問題描述183
10.4.2 數據集探索184
10.4.3 數據預處理186
10.4.4 模型結構192
10.4.5 生成器195
10.4.6 模型的訓練197
10.4.7 預測結果198
10.4.8 模型結果融合199
10.4.9 其他嘗試200
10.4.10 小結202
10.5 參考文獻及網頁連結203
第11章 見習醫生——使用全卷積神經網路分割病理切片中的癌組織205
11.1 任務描述205
11.1.1 賽題設定205
11.1.2 數據描述206
11.1.3 數據標註206
11.2 總體思路206
11.3 構造模型207
11.3.1 準備數據208
11.3.2 構建模型214
11.3.3 模型最佳化217
11.4 程式執行225
11.5 模型結果可視化226
11.5.1 載入函式226
11.5.2 選擇驗證集並編寫預測函式226
11.5.3 根據tensorborad可視化結果選擇最好的模型228
11.5.4 嘗試逐步降低學習率230
11.6 觀察模型在驗證集上的預測表現231
11.7 參考文獻及網頁連結234
第12章 知行合一——如何寫一個深度學習App235
12.1 CAM可視化235
12.2 導出分類模型和CAM可視化模型236
12.2.1 載入數據集236
12.2.2 提取特徵237
12.2.3 搭建和訓練分類器237
12.2.4 搭建分類模型和CAM模型238
12.2.5 可視化測試239
12.2.6 保存模型241
12.2.7 導出mlmodel模型檔案241
12.3 開始編寫App242
12.3.1 創建工程242
12.3.2 配置工程244
12.3.3 測試工程249
12.3.4 運行程式249
12.4 使用深度學習模型250
12.4.1 將模型導入到工程中250
12.4.2 數據類型轉換函式250
12.4.3 實施CAM可視化252
12.4.4 模型效果254
12.5 參考文獻及網頁連結255
4.1 從邏輯回歸說起74
4.2 深度學習框架76
4.3 基於反向傳播算法的自動求導77
4.4 簡單的深度神經網路框架實現80
4.4.1 數據結構部分81
4.4.2 計算圖部分83
4.4.3 使用方法85
4.4.4 訓練模型86
4.5 參考文獻及網頁連結89
第5章 排列組合——深度神經網路框架的模型元件90
5.1 常用層92
5.1.1 Dense92
5.1.2 Activation92
5.1.3 Dropout93
5.1.4 Flatten94
5.2 卷積層94
5.2.1 Conv2D94
5.2.2 Cropping2D101
5.2.3 ZeroPadding2D101
5.3 池化層102
5.3.1 MaxPooling2D102
5.3.2 AveragePooling2D102
5.3.3 GlobalAveragePooling2D103
5.4 正則化層與過擬合104
5.5 反卷積層105
5.6 循環層109
5.6.1 SimpleRNN109
5.6.2 LSTM109
5.6.3 GRU110
5.7 參考文獻及網頁連結110
第6章 少量多次——深度神經網路框架的輸入處理112
6.1 批量生成訓練數據113
6.2 數據增強115
6.3 參考文獻及網頁連結117
第7章 愚公移山——深度神經網路框架的模型訓練118
7.1 隨機梯度下降119
7.2 動量法120
7.3 自適應學習率算法121
7.4 實驗案例124
7.5 參考文獻及網頁連結128
第8章 小試牛刀——使用深度神經網路進行CIFAR-10數據分類129
8.1 上游部分——基於生成器的批量生成輸入模組131
8.2 核心部分——用各種零件搭建深度神經網路131
8.3 下游部分——使用凸最佳化模組訓練模型132
8.4 參考文獻及網頁連結133
第9章 見多識廣——使用遷移學習提升準確率134
9.1 貓狗大戰1.0——使用卷積神經網路直接進行訓練135
9.1.1 導入數據135
9.1.2 可視化137
9.1.3 分割訓練集和驗證集138
9.1.4 搭建模型140
9.1.5 模型訓練141
9.1.6 總結142
9.2 貓狗大戰2.0——使用ImageNet數據集預訓練模型142
9.2.1 遷移學習142
9.2.2 數據預處理143
9.2.3 搭建模型143
9.2.4 模型可視化144
9.2.5 訓練模型145
9.2.6 提交到kaggle評估146
9.3 貓狗大戰3.0——使用多種預訓練模型組合提升表現146
9.3.1 載入數據集147
9.3.2 使用正確的預處理函式147
9.3.3 搭建特徵提取模型並導出特徵147
9.3.4 搭建並訓練全連線分類器模型148
9.3.5 在測試集上預測149
9.4 融合模型150
9.4.1 獲取特徵150
9.4.3 構建模型151
9.4.4 在測試集上預測152
9.5 總結153
9.6 參考文獻及網頁連結154
第10章 看圖識字——使用深度神經網路進行文字識別155
10.1 使用卷積神經網路進行端到端學習155
10.1.1 編寫數據生成器157
10.1.2 使用生成器157
10.1.3 構建深度卷積神經網路158
10.1.4 模型可視化158
10.1.5 訓練模型160
10.1.6 計算模型總體準確率161
10.1.7 測試模型161
10.1.8 模型總結162
10.2 使用循環神經網路改進模型162
10.2.1 CTC Loss163
10.2.2 模型結構164
10.2.3 模型可視化165
10.2.4 數據生成器167
10.2.5 評估模型168
10.2.6 評估回調169
10.2.7 訓練模型169
10.2.8 測試模型171
10.2.9 再次評估模型171
10.2.10 總結173
10.3 識別四則混合運算驗證碼(初賽)173
10.3.1 問題描述174
10.3.2 數據集探索174
10.3.3 模型結構176
10.3.4 結果可視化181
10.3.5 總結182
10.4 識別四則混合運算驗證碼(決賽)183
10.4.1 問題描述183
10.4.2 數據集探索184
10.4.3 數據預處理186
10.4.4 模型結構192
10.4.5 生成器195
10.4.6 模型的訓練197
10.4.7 預測結果198
10.4.8 模型結果融合199
10.4.9 其他嘗試200
10.4.10 小結202
10.5 參考文獻及網頁連結203
第11章 見習醫生——使用全卷積神經網路分割病理切片中的癌組織205
11.1 任務描述205
11.1.1 賽題設定205
11.1.2 數據描述206
11.1.3 數據標註206
11.2 總體思路206
11.3 構造模型207
11.3.1 準備數據208
11.3.2 構建模型214
11.3.3 模型最佳化217
11.4 程式執行225
11.5 模型結果可視化226
11.5.1 載入函式226
11.5.2 選擇驗證集並編寫預測函式226
11.5.3 根據tensorborad可視化結果選擇最好的模型228
11.5.4 嘗試逐步降低學習率230
11.6 觀察模型在驗證集上的預測表現231
11.7 參考文獻及網頁連結234
第12章 知行合一——如何寫一個深度學習App235
12.1 CAM可視化235
12.2 導出分類模型和CAM可視化模型236
12.2.1 載入數據集236
12.2.2 提取特徵237
12.2.3 搭建和訓練分類器237
12.2.4 搭建分類模型和CAM模型238
12.2.5 可視化測試239
12.2.6 保存模型241
12.2.7 導出mlmodel模型檔案241
12.3 開始編寫App242
12.3.1 創建工程242
12.3.2 配置工程244
12.3.3 測試工程249
12.3.4 運行程式249
12.4 使用深度學習模型250
12.4.1 將模型導入到工程中250
12.4.2 數據類型轉換函式250
12.4.3 實施CAM可視化252
12.4.4 模型效果254
12.5 參考文獻及網頁連結255

相關詞條

熱門詞條

聯絡我們