-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
10/8 新書到! 10/1 新書到! 9/24 新書到! 9/18 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

深度學習與計算機視覺:算法原理、框架應用與代碼實現

( 簡體 字)
作者:葉韻◎編著類別:1. -> 程式設計 -> 深度學習
   2. -> 教材 -> 數位影像處理
譯者:
出版社:機械工業出版社深度學習與計算機視覺:算法原理、框架應用與代碼實現 3dWoo書號: 47354
詢問書籍請說出此書號!

有庫存
NT售價: 395

出版日:8/1/2017
頁數:325
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111573678
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

為什么要寫這本書

當本書編輯找到我時,我才意識到,這兩年火爆程度堪比一線城市房價的深度學習,在國內竟沒有幾本專門的中文書籍。目前市場上為數不多的有關深度學習的中文書,有大而全的名家之作,但其中關于深度學習的內容只有很少的一部分;有針對框架的工具書,但其偏重框架本身,缺少基礎知識和理論,就好像介紹了一把劍,卻沒教劍法;有科普型的書,主要作用是提振讀者自信,其實讀者并不能從中學到任何動手能力。最重要的是,作為深度學習被應用最多,也是最有趣的領域——計算機視覺,卻沒有專門的書,這是筆者編寫這本書的初衷。

我并非計算機科班出身,在轉向深度學習的過程中遇到了很多問題,總結了許多經驗。從寫書的角度來講,這沒準是個優勢。希望我在業界實際項目中的經驗,加上自學時總結的教訓,可以有效地幫助尚未進入深度學習和計算機視覺領域的讀者。

本書面向有志于進入深度學習和計算機視覺領域的學生和技術研發人員,通過介紹深度學習及計算機視覺中最基礎的知識,并結合最常見的應用場景和大量實例,帶領讀者進入豐富多彩的計算機視覺領域。作為一本“原理+實踐”教程,本書用最基本的公式推導加上大量的配圖和實例代碼,給讀者生動的內容,而不是枯燥的原理堆砌。

本書特色

? 注重原理和上手實戰。力求讀者在閱讀本書后,不僅能了解常見算法背后的思想,還能具備獨立開發常見的基于深度學習的計算機視覺算法的能力。

? 原理講解通俗易懂。本書能通過文字定性講解的就不用計算和公式,能用圖表述的就不用文字。公式雖然不可避免,但盡量做到公式是講解和圖示的輔助,而不是需要細致理解的部分。

? 大量原創代碼和圖示。本書結合作者在實際工作中的經驗,將入門實戰的例子和其他示例力求做到實用性和趣味性并存,并將代碼分享到本書的github頁面上供讀者下載。
書內容

本書共13章,分為2篇。

第1篇 基礎知識

第1章從歷史講起,介紹了深度學習和計算機視覺的基礎概念和常見應用。

第2章介紹了最基礎的數學知識,包括線性代數、概率、高維空間、卷積和數學優化。

第3章以神經網絡為重點,講解了機器學習和數據的基礎知識。

第4章在第3章的基礎上,介紹了卷積神經網絡的概念、原理和一些常見結構。

第2篇 實例精講

第5章介紹Python基礎,并通過小例子介紹了NumPy和matplotlib的基本使用。

第6章介紹了基于Python的OpenCV使用,并動手實現了數據增加小工具和物體框標注小工具。

第7章分別通過MXNet和Caffe實現了最簡單的神經網絡,以及結果的可視化。

第8章從頭開始一步步基于MNIST數據集,分別實現了基于MXNet和Caffe的卷積神經網絡模型用于手寫數字識別,并介紹了如何測試和評估模型。

第9章實現了一個基于Caffe的用卷積神經網絡做回歸的例子,并介紹了如何制作HDF5格式數據,如何用GPU批量對數據進行運算,以及如何實現可視化訓練的模型。

第10章首先實現了一個圖片爬蟲用于搜集圖片數據,并以美食圖片分類為例子一步步講解如何基于Caffe實現遷移學習。然后在此基礎上進一步講解了如何對數據進行預處理,如何使用混淆矩陣、P-R和ROC曲線,最后介紹了如何實現可視化卷積神經網絡對輸入圖片的響應。

第11章針對R-CNN系和YOLO/SSD系這兩類算法,簡要介紹了基于深度學習的目標檢測算法的發展史,并給出了基于MXNet的SSD檢測算法實例,以及分析了結果的可視化。

第12章介紹了度量學習的基本概念,并從圖片開始,一步步實現了基于Caffe的Siamese網絡,還實現了基于τ-SNE的結果可視化。

第13章講解了最基本的圖像風格遷移算法,并給出了基于MXNet的圖像風格遷移例子,讀者可以用自己喜歡的圖片做出算法生成的藝術作品。

適合閱讀本書的讀者

本書適合以下讀者閱讀:

? 對人工智能、機器學習感興趣的讀者;

? 對深度學習和計算機視覺感興趣的讀者;

? 希望用深度學習完成設計的計算機或電子信息專業的學生;

? 講授機器學習和深度學習實踐課的老師;

? 希望進一步提升編程水平的開發者;

? 機器學習與機器視覺研發人員和算法工程師;

? 人工智能產品經理。

閱讀本書的讀者最好具備以下要求:

? 至少具備高中以上的數學基礎,本科以上最佳;

? 具備基本的編程能力;

? 了解Linux的基本使用;

? 擁有一臺NVIDIA顯卡的計算機,最好是2GB以上的顯存。

本書雖然定位為入門書,但并不能保證21天或者3個月包會。學習是一件沒有捷徑可走的事情,希望本書能幫助讀者少走彎路,也希望每一位讀者翻開書前,都是帶著好奇和興趣。

糾錯

由于是第一次寫書,且時間倉促,錯誤之處估計難以避免,敬請讀者朋友們發現錯誤后到本書的github頁面指出,我會盡快更新在勘誤表里,不勝感激!

本書作者

本書由葉韻主筆編寫。其他參與編寫的人員有張昆、張友、趙桂芹、晁楠、高彩琴、郭現杰、劉琳、王凱迪、王曉燕、吳金艷、尹繼平、張宏霞、張晶晶、陳冠軍、魏春、張燕、范陳瓊、孟春燕、王曉玲、頊宇峰、肖磊鑫、薛楠、楊麗娜、閆利娜、王韶、李楊坡、劉春華、黃艷嬌、劉雁。

致謝

成書過程中,得到了很多人的幫助,在此向他們表示誠摯的謝意。

首先感謝負責本書的編輯,我既不是大V,博客文章也沒幾篇,是他們的信任讓我能通過這次寫作梳理知識,并獲得稿費。

感謝我的朋友們:NVIDIA(英偉達)的高級工程師華遠志,谷歌的軟件工程師呂佳楠,清華大學的馬晨同學,NVIDIA的高效GPU架構師歐陽晉博士,西門子的高級研究員田疆博士,理光軟件研究院的研究員鐘誠博士和亞馬遜的科學家莊曉天博士。他們幾位在成書過程中給予了我很多幫助和建議,特別是田疆博士、鐘誠博士和歐陽晉博士,對本書內容給出了全面且獨到的建議,并指出了部分錯誤。

感謝京東從事AI方向的同事們,他們各個都身懷絕技,工作中和他們的交流給了我很多技術上的幫助和靈感。

感謝插畫師翟少昂為本書繪制插畫,感謝星河互聯高級投資經理楊森授權本書使用他于漠河的嚴冬中拍攝的照片。

感謝我的博士生導師Yu Cao教授和我第一家效力公司的CTO——Bruce McGaughy博士。在應試教育的影響下,我渾渾噩噩求學近20載,未曾找到學習的意義。和他們二位接觸的過程中我才漸漸明白,原來學習最重要的是興趣。也因此,后來我才有勇氣放棄了鉆研了近10年的老本行,轉向自己更感興趣的算法和機器學習。

最后也是我最想感謝的,是我的家人!寫書期間我的家人承擔了一切家務勞動,是他們全方位的支持和細致照顧,讓我在身體健康的狀態下完成了寫作。特別是我的妻子,盡管她看不懂我在寫什么,卻認為寫得很棒。是她每天的鼓勵和支持才讓我沒有半途而廢,能在此表達我對她的謝意,是我完成這本書的最大動力。



葉韻

于北京市西郊機場老干部活動中心
內容簡介:

目錄:

第1篇 基礎知識

第1章 引言 2

1.1 人工智能的新焦點——深度學習 2

1.1.1 人工智能——神話傳說到影視漫畫 2

1.1.2 人工智能的誕生 3

1.1.3 神經科學的研究 4

1.1.4 人工神經網絡的興起 5

1.1.5 神經網絡的第一次寒冬 6

1.1.6 神經網絡的第一次復興 8

1.1.7 神經網絡的第二次寒冬 9

1.1.8 2006年——深度學習的起點 10

1.1.9 生活中的深度學習 11

1.1.10 常見深度學習框架簡介 12

1.2 給計算機一雙眼睛——計算機視覺 14

1.2.1 計算機視覺簡史 14

1.2.2 2012年——計算機視覺的新起點 16

1.2.3 計算機視覺的應用 17

1.2.4 常見計算機視覺工具包 19

1.3 基于深度學習的計算機視覺 19

1.3.1 從ImageNet競賽到AlphaGo戰勝李世石——計算機視覺超越人類 19

1.3.2 GPU和并行技術——深度學習和計算視覺發展的加速器 21

1.3.3 基于卷積神經網絡的計算機視覺應用 22

第2章 深度學習和計算機視覺中的基礎數學知識 27

2.1 線性變換和非線性變換 27

2.1.1 線性變換的定義 27

2.1.2 高中教科書中的小例子 28

2.1.3 點積和投影 28

2.1.4 矩陣乘法的幾何意義(1) 30

2.1.5 本征向量和本征值 34

2.1.6 矩陣乘法的幾何意義(2) 37

2.1.7 奇異值分解 38

2.1.8 線性可分性和維度 39

2.1.9 非線性變換 42

2.2 概率論及相關基礎知識 43

2.2.1 條件概率和獨立 43

2.2.2 期望值、方差和協方差 44

2.2.3 熵 45

2.2.4 最大似然估計(Maximum Likelihood Estimation,MLE) 47

2.2.5 KL散度(Kullback–Leibler divergence) 49

2.2.6 KL散度和MLE的聯系 49

2.3 維度的詛咒 50

2.3.1 采樣和維度 50

2.3.2 高維空間中的體積 51

2.3.3 高維空間中的距離 53

2.3.4 中心極限定理和高維樣本距離分布的近似 54

2.3.5 數據實際的維度 56

2.3.6 局部泛化 58

2.3.7 函數對實際維度的影響 59

2.3.8 PCA——什么是主成分 60

2.3.9 PCA——通過本征向量和本征值求主成分 60

2.3.10 PCA——通過主成分分析降維 61

2.3.11 PCA——歸一化和相關性系數 63

2.3.12 PCA——什么樣的數據適合PCA 64

2.3.13 其他降維手段 65

2.4 卷積 66

2.4.1 點積和卷積 66

2.4.2 一維卷積 67

2.4.3 卷積和互相關 68

2.4.4 二維卷積和圖像響應 69

2.4.5 卷積的計算 70

2.5 數學優化基礎 71

2.5.1 最小值和梯度下降 72

2.5.2 沖量(Momentum) 73

2.5.3 牛頓法 75

2.5.4 學習率和自適應步長 77

2.5.5 學習率衰減(Learning Rate Decay) 78

2.5.6 AdaGrad:每個變量有自己的節奏 78

2.5.7 AdaDelta的進一步改進 79

2.5.8 其他自適應算法 80

2.5.9 損失函數 81

2.5.10 分類問題和負對數似然 82

2.5.11 邏輯回歸 83

2.5.12 Softmax:將輸出轉換為概率 84

2.5.13 鏈式求導法則 84

第3章 神經網絡和機器學習基礎 87

3.1 感知機 87

3.1.1 基本概念 87

3.1.2 感知機和線性二分類 87

3.1.3 激活函數 88

3.2 神經網絡基礎 89

3.2.1 從感知機到神經網絡 89

3.2.2 最簡單的神經網絡二分類例子 90

3.2.3 隱層神經元數量的作用 93

3.2.4 更加復雜的樣本和更復雜的神經網絡 94

3.3 后向傳播算法 95

3.3.1 求神經網絡參數的梯度 95

3.3.2 計算圖(Computational Graph) 95

3.3.3 利用后向傳播算法計算一個神經網絡參數的梯度 97

3.3.4 梯度消失 99

3.3.5 修正線性單元(ReLU) 100

3.3.6 梯度爆炸 101

3.3.7 梯度檢查(gradient check) 102

3.3.8 從信息傳播的角度看后向傳播算法 103

3.4 隨機梯度下降和批量梯度下降 104

3.4.1 全量數據(full-batch)梯度下降 104

3.4.2 隨機梯度下降(SGD)和小批量數據(mini-batch) 104

3.4.3 數據均衡和數據增加(data augmentation) 106

3.5 數據、訓練策略和規范化 108

3.5.1 欠擬合和過擬合 108

3.5.2 訓練誤差和測試誤差 109

3.5.3 奧卡姆剃刀沒有免費午餐 111

3.5.4 數據集劃分和提前停止 112

3.5.5 病態問題和約束 113

3.5.6 L2規范化(L2 Regularization) 113

3.5.7 L1規范化(L1 Regularization) 114

3.5.8 集成(Ensemble)和隨機失活(Dropout) 115

3.6 監督學習、非監督學習、半監督學習和強化學習 117

3.6.1 監督學習、非監督學習和半監督學習 117

3.6.2 強化學習(reinforcement learning) 118

第4章 深度卷積神經網絡 120

4.1 卷積神經網絡 120

4.1.1 基本概念 120

4.1.2 卷積層和特征響應圖 121

4.1.3 參數共享 123

4.1.4 稀疏連接 124

4.1.5 多通道卷積 125

4.1.6 激活函數 125

4.1.7 池化、不變性和感受野 126

4.1.8 分布式表征(Distributed Representation) 128

4.1.9 分布式表征和局部泛化 130

4.1.10 分層表達 131

4.1.11 卷積神經網絡結構 131

4.2 LeNet——第一個卷積神經網絡 132

4.3 新起點——AlexNet 133

4.3.1 網絡結構 133

4.3.2 局部響應歸一化(Local Response Normalization,LRN) 136

4.4 更深的網絡——GoogLeNet 136

4.4.1 1×1卷積和Network In Network 136

4.4.2 Inception結構 138

4.4.3 網絡結構 138

4.4.4 批規一化(Batch Normalization,BN) 140

4.5 更深的網絡——ResNet 142

4.5.1 困難的深層網絡訓練:退化問題 142

4.5.2 殘差單元 142

4.5.3 深度殘差網絡 144

4.5.4 從集成的角度看待ResNet 144

4.5.5 結構更復雜的網絡 146

第2篇 實例精講

第5章 Python基礎 148

5.1 Python簡介 148

5.1.1 Python簡史 148

5.1.2 安裝和使用Python 149

5.2 Python基本語法 150

5.2.1 基本數據類型和運算 150

5.2.2 容器 153

5.2.3 分支和循環 156

5.2.4 函數、生成器和類 159

5.2.5 map、reduce和filter 162

5.2.6 列表生成(list comprehension) 163

5.2.7 字符串 163

5.2.8 文件操作和pickle 164

5.2.9 異常 165

5.2.10 多進程(multiprocessing) 165

5.2.11 os模塊 166

5.3 Python的科學計算包——NumPy 167

5.3.1 基本類型(array) 167

5.3.2 線性代數模塊(linalg) 172

5.3.3 隨機模塊(random) 173

5.4 Python的可視化包——matplotlib 175

5.4.1 2D圖表 175

5.4.2 3D圖表 178

5.4.3 圖像顯示 180

第6章 OpenCV基礎 182

6.1 OpenCV簡介 182

6.1.1 OpenCV的結構 182

6.1.2 安裝和使用OpenCV 183

6.2 Python-OpenCV基礎 184

6.2.1 圖像的表示 184

6.2.2 基本圖像處理 185

6.2.3 圖像的仿射變換 188

6.2.4 基本繪圖 190

6.2.5 視頻功能 192

6.3 用OpenCV實現數據增加小工具 193

6.3.1 隨機裁剪 194

6.3.2 隨機旋轉 194

6.3.3 隨機顏色和明暗 196

6.3.4 多進程調用加速處理 196

6.3.5 代碼:圖片數據增加小工具 196

6.4 用OpenCV實現物體標注小工具 203

6.4.1 窗口循環 203

6.4.2 鼠標和鍵盤事件 205

6.4.3 代碼:物體檢測標注的小工具 206

第7章 Hello World! 212

7.1 用MXNet實現一個神經網絡 212

7.1.1 基礎工具、NVIDIA驅動和CUDA安裝 212

7.1.2 安裝MXNet 213

7.1.3 MXNet基本使用 214

7.1.4 用MXNet實現一個兩層神經網絡 215

7.2 用Caffe實現一個神經網絡 219

7.2.1 安裝Caffe 219

7.2.2 Caffe的基本概念 220

7.2.3 用Caffe實現一個兩層神經網絡 221

第8章 最簡單的圖片分類——手寫數字識別 227

8.1 準備數據——MNIST 227

8.1.1 下載MNIST 227

8.1.2 生成MNIST的圖片 227

8.2 基于Caffe的實現 228

8.2.1 制作LMDB數據 229

8.2.2 訓練LeNet-5 230

8.2.3 測試和評估 235

8.2.4 識別手寫數字 239

8.2.5 增加平移和旋轉擾動 240

8.3 基于MXNet的實現 242

8.3.1 制作Image Recordio數據 242

8.3.2 用Module模塊訓練LeNet-5 243

8.3.3 測試和評估 245

8.3.4 識別手寫數字 247

第9章 利用Caffe做回歸 249

9.1 回歸的原理 249

9.1.1 預測值和標簽值的歐式距離 249

9.1.2 EuclideanLoss層 250

9.2 預測隨機噪聲的頻率 250

9.2.1 生成樣本:隨機噪聲 250

9.2.2 制作多標簽HDF5數據 252

9.2.3 網絡結構和Solver定義 253

9.2.4 訓練網絡 259

9.2.5 批量裝載圖片并利用GPU預測 260

9.2.6 卷積核可視化 262

第10章 遷移學習和模型微調 264

10.1 吃貨必備——通過Python采集美食圖片 264

10.1.1 通過關鍵詞和圖片搜索引擎下載圖片 264

10.1.2 數據預處理——去除無效和不相關圖片 267

10.1.3 數據預處理——去除重復圖片 267

10.1.4 生成訓練數據 269

10.2 美食分類模型 271

10.2.1 遷移學習 271

10.2.2 模型微調法(Finetune) 272

10.2.3 混淆矩陣(Confusion Matrix) 276

10.2.4 P-R曲線和ROC曲線 278

10.2.5 全局平均池化和激活響應圖 284

第11章 目標檢測 288

11.1 目標檢測算法簡介 288

11.1.1 滑窗法 288

11.1.2 PASCAL VOC、mAP和IOU簡介 289

11.1.3 Selective Search和R-CNN簡介 290

11.1.4 SPP、ROI Pooling和Fast R-CNN簡介 291

11.1.5 RPN和Faster R-CNN簡介 293

11.1.6 YOLO和SSD簡介 294

11.2 基于PASCAL VOC數據集訓練SSD模型 296

11.2.1 MXNet的SSD實現 296

11.2.2 下載PASCAL VOC數據集 297

11.2.3 訓練SSD模型 298

11.2.4 測試和評估模型效果 299

11.2.5 物體檢測結果可視化 299

11.2.6 制作自己的標注數據 302

第12章 度量學習 304

12.1 距離和度量學習 304

12.1.1 歐氏距離和馬氏距離 304

12.1.2 歐式距離和余弦距離 305

12.1.3 非線性度量學習和Siamese網絡 306

12.1.4 Contrastive Loss:對比損失函數 307

12.2 用MNIST訓練Siamese網絡 307

12.2.1 數據準備 307

12.2.2 參數共享訓練 309

12.2.3 結果和可視化 314

12.2.4 用τ-SNE可視化高維特征 316

第13章 圖像風格遷移 317

13.1 風格遷移算法簡介 317

13.1.1 通過梯度下降法進行圖像重建 317

13.1.2 圖像風格重建和Gram矩陣 318

13.1.3 圖像風格遷移 320

13.2 MXNet中的圖像風格遷移例子 320

13.2.1 MXNet的風格遷移實現 321

13.2.2 對圖片進行風格遷移 326
序: