計算機視覺實戰:基於TensorFlow 2 Hands-On Computer Vision with Tensorflow 2

Benjamin Planche,Eliot Andres 閆龍川//李君婷//高德荃

商品描述

本書探討了谷歌機器學習開源框架的全新版本TensorFlow 2,從計算機視覺和深度學習基礎知識開始,
介紹瞭如何從頭開始構建神經網絡,並將其用於計算機視覺任務,如圖像分類、目標分割、視頻分析等。
展示瞭如何使用如Inception和ResNet等現代神經網絡分類圖像,
使用YOLO、Mask R-CNN和U-Net提取特定內容,並輔以具體的代碼示例。
還介紹了遷移學習、數據增強、域適應等技術,以及如何在移動設備和網絡瀏覽器中進行部署。

作者簡介

Benjamin Planche

是德國帕紹大學和西門子德國研究院的博士生。
他在計算機視覺和深度學習領域的全球多個研究實驗室
(法國LIRIS、日本三菱電機和德國西門子)工作過5年。
他的研究重點是針對工業應用開發使用更少數據的更智能的視覺系統。
他從法國國立應用科學學院和德國帕紹大學獲得了一等榮譽的雙碩士學位。
他還在在線平台(例如StackOverflow)上分享自己的知識和經驗,或者創建有美感的演示系統。


Eliot Andres

是一名深度學習和計算機視覺工程師。
他在該領域擁有3年以上的經驗,涉及銀行、醫療、社交媒體和視頻流等行業。
他從巴黎路橋與電信學院獲得了雙碩士學位。
他關注的是工業化,即通過將新技術應用於商業問題來實現價值。

目錄大綱

譯者序
前言
作者簡介
審校者簡介
一部分 TensorFlow 2和應用於
計算機視覺的深度學習
1章 計算機視覺和神經網絡2
1.1 技術要求2
1.2 廣義計算機視覺3
1.2.1 計算機視覺概述3
1.2.2 主要任務及其應用3
1.3 計算機視覺簡史8
1.3.1 邁出成功的一步9
1.3.2 深度學習的興起12
1.4.1 建立神經網絡15
1.4.2 訓練神經網絡23
1.5 本章小結30
問題30
進一步閱讀30

2章 TensorFlow基礎和模型訓練31
2.1技術要求31
2.2TensorFlow 2和Keras入門31
2.2.1 TensorFlow32
2.2.2 基於Keras的簡單計算機視覺模型33
2.3TensorFlow 2和Keras詳述36
2.3.1 核心概念36
2.3.2 高級概念42
2.4TensorFlow生態系統46
2.4.1 TensorBoard46
2.4.2 TensorFlow插件和擴展47
2.4.3 TensorFlow Lite和TensorFlow.js48
2.4.4 在何處運行模型48
2.5本章小結49
問題50

3章 現代神經網絡51
3.1 技術要求51
3.2 卷積神經網絡51
3.2.1 用於多維數據的神經網絡52
3.2.2 CNN作53
3.2.3 有效感受野63
3.2.4 在TensorFlow中使用CNN64
3.3 訓練過程微調67
3.3.1 現代網絡優化器67
3.3.2 正則化方法71
3.4 本章小結76
問題76
進一步閱讀77
二部分 先進的經典識別
問題解決方案

4章 主流分類工具80
4.1 技術要求80
4.2 了解高級CNN架構81
4.2.1 VGG:CNN的標準架構81
4.2.2 GoogLeNet 和Inception模塊85
4.2.3 ResNet:殘差網絡92
4.3 利用遷移學習96
4.3.1 概述96
4.3.2 基於TensorFlow和Keras的遷移學習100
4.4 本章小結102
問題103
進一步閱讀103

5章 目標檢測模型104
5.1 技術要求104
5.2 目標檢測介紹104
5.2.1 背景105
5.2.2 模型的性能評價106
5.3 YOLO:快速目標檢測算法108
5.3.1 YOLO介紹109
5.3.2 使用YOLO推理110
5.3.3 訓練YOLO117
5.4 Faster R-CNN:強大的目標檢測模型120
5.4.1 Faster R-CNN通用架構120
5.4.2 訓練Faster R-CNN124
5.4.3 TensorFlow目標檢測API126
5.5 本章小結127
問題127
進一步閱讀127

6章 圖像增強和分割128
6.1 技術要求128
6.2 使用編碼器-解碼器進行圖像變換128
6.2.1 編碼器-解碼器概述129
6.2.2 基本示例:圖像去噪132
6.2.3 卷積編碼器-解碼器133
6.3 理解語義分割140
6.3.1 使用編碼器-解碼器進行目標分割140
6.3.2 比較困難的實例分割145
6.4 本章小結148
問題148
進一步閱讀148
三部分 高級概念和計算機
視覺新進展

7章 在復雜和稀缺數據集上訓練150
7.1 技術要求150
7.2 高效數據服務151
7.2.1 TensorFlow 數據API151
7.2.2 設置輸入流水線153
7.2.3 優化和監控輸入流水線158
7.3 如何處理稀缺數據162
7.3.1 增強數據集162
7.3.2 渲染合成數據集166
7.3.3 利用域適應和生成模型(VAE和GAN) 170
7.4 本章小結179
問題179
進一步閱讀179

8章 視頻和循環神經網絡181
8.1 技術要求181
8.2 RNN簡介181
8.2.1 基本形式182
8.2.2 對RNN的基本理解183
8.2.3 學習RNN權重184
8.2.4 長短期記憶單元185
8.3 視頻分類188
8.3.1 計算機視覺應用於視頻188
8.3.2 使用LSTM分類視頻189
8.4 本章小結194
問題195
進一步閱讀195

9章 優化模型並在移動設備上部署196
9.1 技術要求196
9.2 優化計算和占用的磁盤空間197
9.2.1 測量推理速度197
9.2.2 提高模型推理速度199
9.2.3 當模型依舊很慢時201
9.2.4 減小模型大小202
9.3 基於終端設備的機器學習203
9.3.1 考慮因素203
9.3.2 實踐204
9.4 app示例:識別面部表情206
9.4.1 MobileNet簡介207
9.4.2 在終端設備上部署模型208
9.5 本章小結216
問題216
附錄217
參考文獻222
問題答案231