深度學習電腦視覺實戰 捲積神經網絡、Python 、TensorFlow和Kivy Practical Computer Vision Applications Using Deep Learning with CNNs: With Detailed Examples in Python Using TensorFlow and Kivy

Ahmed Fawzy Gad 林賜 譯

  • 深度學習電腦視覺實戰 捲積神經網絡、Python 、TensorFlow和Kivy-preview-1
  • 深度學習電腦視覺實戰 捲積神經網絡、Python 、TensorFlow和Kivy-preview-2
  • 深度學習電腦視覺實戰 捲積神經網絡、Python 、TensorFlow和Kivy-preview-3
深度學習電腦視覺實戰 捲積神經網絡、Python 、TensorFlow和Kivy-preview-1

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

商品描述

主要內容

● 理解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