深度學習技術圖像處理入門 深度学习技术图像处理入门(彩色印刷)

楊培文, 胡博強

立即出貨 (庫存=1)

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

相關活動主題

20181206 %e7%b0%a1%e9%ab%94%e6%9b%b8 s

商品描述

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

作者簡介

楊培文,北京工商大學,優達學城機器學習課程畢業項目的評審。
目前研究方向是深度學習在圖像方面的應用,同時致力於機器學習、深度學習和無人車等方面知識的普及與教育。
在kaggle貓狗大戰項目中達到top1.2%。

目錄大綱

第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.2數據持久化151 
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.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