深度學習計算機視覺實戰:卷積神經網路.Python.TensorFlow和Kivy

深度學習計算機視覺實戰:卷積神經網路.Python.TensorFlow和Kivy

《深度學習計算機視覺實戰:卷積神經網路.Python.TensorFlow和Kivy》(P ractical Computer Vision Applications Using Deep Learning with CNNS: With Detailed Examples in Python Using TensorFlow and Kivy)是2020年清華大學出版社出版的圖書,作者是[埃]艾哈邁德·法齊·迦得(Ahmed Fawzy Gad),譯者是林賜。

基本介紹

  • 中文名:深度學習計算機視覺實戰:卷積神經網路.Python.TensorFlow和Kivy
  • 作者:[埃] 艾哈邁德·法齊·迦得(Ahmed Fawzy Gad)
  • 譯者:林賜
  • 出版時間:2020年9月
  • 出版社清華大學出版社
  • ISBN:9787302558224
  • 原作品:P ractical Computer Vision Applications Using Deep Learning with CNNS: With Detailed Examples in Python Using TensorFlow and Kivy
  • 定價:98 元
  • 開本:16 開
  • 裝幀:平裝
內容簡介,作者簡介,目錄,

內容簡介

《深度學習計算機視覺實戰 卷積神經網路、Python、TensorFlow和Kivy》將深度學習套用部署到生產環境中。讀者將學習使用卷積神經網路(CNN)深度學習模型和Python編寫計算機視覺套用。本書從解釋傳統的機器學習流程開始介紹,分析了一個圖像數據集。接下來,讀者將學習人工神經網路(ANN),使用Python從頭開始構建一個ANN,然後使用遺傳算法(GA)最佳化這個神經網路。
為了使過程自動化,本書強調了採用傳統手工方式為計算機視覺選擇特徵的局限性,重點闡明了CNN深度學習模型是最先進的解決方案的原因,並從頭開始討論CNN,演示了CNN與完全連線的ANN相比的與眾不同之處;而且說明CNN更有效率,還使用Python實現CNN,使讀者對這個模型有一個透徹的理解。
在鞏固了基礎之後,讀者可以使用TensorFlow構建實踐中使用的圖像識別套用,並且使用Flask使得預訓練的模型在網際網路上可訪問;使用Kivy和NumPy,可以用較低的開銷創建跨平台的數據科學套用。
本書有助於讀者從基礎開始套用深度學習和計算機視覺的概念,一步一步地從概念走向生產。
主要內容
● 理解ANN和CNN的工作機制
● 使用Python從頭創建計算機視覺套用和CNN
● 使用TensorFlow從概念到生產學習深度學習項目
● 與Kivy配合使用NumPy構建跨平台的數據科學套用

作者簡介

Ahmed Fawzy Gad是一名助教,來自埃及,2015年在埃及梅努菲亞大學計算機與信息學院獲得信息技術榮譽理學學士學位,2018年獲得碩士學位。Ahmed對深度學習、機器學習、計算機視覺和Python饒有興趣。他曾擔任機器學習項目的軟體工程師和顧問。通過分享著作並在YouTube頻道上錄製教程,為數據科學界添磚加瓦是Ahmed的奮鬥目標。
Ahmed發表了多篇研究論文,撰寫了TensorFlow: A Guide to Build Artificial Neural Networks Using Python (Lambert,2017)一書。Ahmed一直希望在其所感興趣的領域與其他專家分享經驗。

目錄

第1章 計算機視覺識別 1
1.1 圖像識別步驟 2
1.2 特徵提取 3
1.2.1 顏色直方圖 4
1.2.2 GLCM 9
1.2.3 HOG 14
1.2.4 LBP 28
1.3 特徵選擇和縮減 30
1.3.1 過濾器方法 30
1.3.2 包裝器方法 31
1.3.3 嵌入式方法 32
1.3.4 正則化 33
第2章 人工神經網路 35
2.1 人工神經網路簡介 36
2.1.1 線性模型是人工神經網路的基礎 36
2.1.2 繪製人工神經網路 40
2.2 調整學習率來訓練ANN 43
2.2.1 過濾器示例 44
2.2.2 學習率 47
2.2.3 測試網路 49
2.3 使用向後傳播最佳化權重 49
2.3.1 無隱藏層神經網路的向後傳播 49
2.3.2 權重更新公式 52
2.3.3 為什麼向後傳播算法很重要 53
2.3.4 前向傳遞與後向傳遞 53
2.3.5 具有隱藏層的神經網路的向後傳播 59
2.4 過擬合 68
2.4.1 基於回歸示例理解正則化 70
2.4.2 模型容量/複雜性 72
2.4.3 L1正則化 74
2.5 設計ANN 76
2.5.1 示例1:無隱藏層的ANN 76
2.5.2 示例2:具有單個隱藏層的ANN 79
第3章 使用具有工程化特徵的人工神經網路進行識別 83
3.1 Fruits 360數據集特徵挖掘 83
3.1.1 特徵挖掘 83
3.1.2 特徵縮減 89
3.1.3 使用ANN進行過濾 91
3.2 ANN實現 93
3.3 工程化特徵的局限性 99
3.4 工程化特徵並未終結 100
第4章 人工神經網路的最佳化 101
4.1 最佳化簡介 101
4.2 GA 104
4.2.1 選擇最佳親本 106
4.2.2 變化運算元 107
4.2.3 示例的Python實現 109
4.3 NSGA-II 119
4.3.1 NSGA-II步驟 119
4.3.2 支配度 121
4.3.3 擁擠距離 126
4.3.4 競賽選擇 128
4.3.5 交叉 129
4.3.6 突變 129
4.4 使用GA最佳化ANN 130
第5章 卷積神經網路 143
5.1 從人工神經網路到卷積神經網路 143
5.1.1 深度學習背後的直覺 144
5.1.2 卷積的推導 147
5.1.3 設計CNN 156
5.1.4 池化操作 159
5.1.5 卷積操作示例 160
5.1.6 最大池化操作示例 162
5.2 使用NumPy從頭開始構建CNN 163
5.2.1 讀取輸入圖像 163
5.2.2 準備過濾器 164
5.2.3 卷積層 165
5.2.4 ReLU層 170
5.2.5 最大池化層 171
5.2.6 堆疊層 172
5.2.7 完整代碼 174
第6章 TensorFlow在圖像識別中的套用 183
6.1 TF簡介 183
6.1.1 張量 184
6.1.2 TF Core 184
6.1.3 數據流圖 185
6.1.4 使用TB的圖可視化 195
6.1.5 線性模型 197
6.2 構建FFNN 203
6.2.1 線性分類 204
6.2.2 非線性分類 211
6.3 使用CNN識別CIFAR10 216
6.3.1 準備訓練數據 216
6.3.2 構建CNN 218
6.3.3 訓練CNN 222
6.3.4 保存已訓練模型 226
6.3.5 構建和訓練CNN的完整代碼 226
6.3.6 準備測試數據 236
6.3.7 測試已訓練的CNN模型 237
第7章 部署預訓練模型 239
7.1 套用概述 239
7.2 Flask介紹 240
7.2.1 route()裝飾器 241
7.2.2 add_rule_url方法 243
7.2.3 變數規則 243
7.2.4 端點 245
7.2.5 HTML表單 246
7.2.6 上傳檔案 248
7.2.7 Flask套用內的HTML 250
7.2.8 靜態檔案 254
7.3 部署使用Fruits 360數據集訓練過的模型 256
7.4 部署使用CIFAR10數據集訓練過的模型 263
第8章 跨平台的數據科學套用 277
8.1 Kivy簡介 278
8.1.1 使用BoxLayout的基本套用 278
8.1.2 Kivy套用的生命周期 279
8.1.3 部件尺寸 282
8.1.4 格線布局 284
8.1.5 更多部件 285
8.1.6 部件樹 287
8.1.7 處理事件 289
8.1.8 KV語言 291
8.2 P4A 295
8.2.1 安裝Buildozer 295
8.2.2 準備buildozer.spec檔案 296
8.2.3 使用Buildozer構建Android套用 298
8.3 Android上的圖像識別 300
8.4 Android上的CNN 305
附錄A 使用pip安裝程式安裝自製項目包 313

相關詞條

熱門詞條

聯絡我們