電腦視覺 — Python + TensorFlow + Keras 深度學習實戰 (微課視頻版)
內容描述
人工智能正在成為全世界產業變革的方向,處於第四次科技革命的核心地位。電腦視覺(Computer Vision)就是利用攝像機、算法和計算資源為人工智能系統按上“眼睛”,讓其可以擁有人類的雙眼所具有的前景與背景分割、物體識別、目標跟蹤、判別決策等功能。電腦視覺系統可以讓電腦看見並理解這個世界的“信息”,從而替代人類完成重復性工作。目前電腦視覺領域熱門的研究方向有物體檢測和識別、語義分割、目標跟蹤等。本書圍繞著電腦視覺的關鍵技術,介紹基於深度學習電腦視覺的基礎理論及主要算法。本書結合常見的應用場景和項目實例,循序漸進地帶領讀者進入美妙的電腦視覺世界。本書共分為11章,2~5章介紹電腦視覺的幾種關鍵技術,即圖像分類、目標檢測、圖像分割和目標跟蹤,並將這四項關鍵技術組合完成人工智能的實際應用。本書在6、7章介紹人工智能的兩個典型應用:文字檢測與識別系統及多任務深度學習系統,第8章介紹一種非常有意思的深度學習網絡——對抗生成神經網絡,第9章介紹製作訓練和測試樣本的方法,第10章介紹如何安裝TensorFlow、Keras API及相關介紹,第11章介紹綜合實驗。本書提供了大量項目實例及代碼解析,均是基於Python語言及TensorFlow、Keras API的。本教材的每章均配有微課視頻,掃描每章的二維碼,可觀看作者的視頻講解
目錄大綱
1章 人工智能概述 1
1.1 人工智能的發展浪潮 1
1.2 AI技術發展歷史 4
1.2.1 AI技術三要素之算法 4
1.2.2 AI技術三要素之計算資源 6
1.2.3 AI三要素之數據 6
1.3 視頻分析技術的應用案例 9
1.3.1 基於人臉識別技術的罪犯抓捕系統 9
1.3.2 基於文字識別技術的辦公自動化系統 10
1.3.3 基於圖像分割及目標檢測技術的無人駕駛環境感知系統 10
1.3.4 基於目標檢測及跟踪技術的電子交警系統 10
1.3.5 基於圖像比對技術的產品缺陷檢測系統 10
1.3.6 基於行為識別技術的安全生產管理系統 10
1.4 本章小結 10
2章 深度卷積神經網絡 11
2.1 深度卷積神經網絡的概念 11
2.2 卷積神經網絡的構成 12
2.2.1 卷積層 12
2.2.2 激活函數 12
2.2.3 池化層 14
2.3 深度卷積神經網絡模型結構 14
2.3.1 常用網絡模型 14
2.3.2 網絡模型對比 20
2.4 圖像分類 20
2.5 遷移學習 21
2.6 圖像識別項目實例 22
2.6.1 下載ImageNet的訓練模型 22
2.6.2 ResNet模型構建 23
2.6.3 測試圖像 26
2.7 本章小結 27
2.8 習題 27
3章 目標檢測 28
3.1 目標檢測的概念 28
3.2 基於候選區域的目標檢測算法 29
3.2.1 Faster R-CNN目標檢測算法 30
3.2.2 基於區域的全卷積網絡(R-FCN)目標檢測算法 30
3.3 基於回歸的目標檢測算法 32
3.3.1 YOLO目標檢測算法 32
3.3.2 SSD目標檢測算法 33
3.4 目標檢測算法評價指標 34
3.5 深度卷積神經網絡目標檢測算法性能對比 35
3.6 目標檢測項目實戰 36
3.6.1 Faster R-CNN 36
3.6.2 用YOLO訓練自己的模型 40
3.7 本章小結 43
3.8 習題 43
4章 圖像分割 44
4.1 圖像分割的概念 44
4.2 典型的圖像分割算法 45
4.2.1 FCN分割算法 45
4.2.2 DeepLab分割算法 45
4.2.3 SegNet圖像分割算法 47
4.2.4 U-Net算法 47
4.2.5 Mask R-CNN算法 48
4.3 圖像分割評價標準 49
4.4 圖像分割項目實戰 50
4.4.1 FCN32模型構建 51
4.4.2 FCN8的模型構建 52
4.4.3 Seg-Net的模型構建 53
4.4.4 U-Net的模型構建 56
4.5 本章小結 59
4.6 習題 59
5章 目標跟踪 60
5.1 圖像分割的概念 60
5.2 基於光流特徵的目標跟踪算法 63
5.2.1 基於光流特徵跟踪算法概述 63
5.2.2 LK光流法 65
5.3 SORT目標跟踪算法 66
5.3.1 卡爾曼濾波器 66
5.3.2 基於匈牙利算法的數據關聯 68
5.4 Deep SORT多目標跟踪算法 69
5.4.1 Deep SORT算法跟踪原理 69
5.4.2 外觀特徵間的關聯性計算 69
5.4.3 利用運動信息關聯目標 71
5.4.4 級聯匹配 71
5.5 目標跟踪算法評價指標 72
5.6 Deep SORT算法主要程序及分析 72
5.6.1 目標檢測框的獲取及坐標轉換 72
5.6.2 卡爾曼濾波 73
5.6.3 深度外觀特徵的提取 77
5.6.4 匹配 78
5.6.5 後續處理 79
5.7 本章小結 81
5.8 習題 81
6章 OCR文字識別 82
6.1 OCR文字識別的概念 82
6.2 文字檢測 83
6.2.1 傳統的文字檢測算法 83
6.2.2 基於深度學習的文字檢測算法 83
6.3 文字識別算法 89
6.3.1 基於DenseNet網絡模型的序列特徵提取 89
6.3.2 基於LSTM結構的上下文序列特徵提取 91
6.3.3 字符序列的解碼方式 92
6.4 項目實戰 95
6.4.1 CRAFT模型搭建 96
6.4.2 CRNN模型搭建 97
6.4.3 文字檢測與識別程序 99
6.5 本章小結 104
6.6 習題 105
7章 多任務深度學習網絡 106
7.1 多任務深度學習網絡的概念 107
7.2 多任務深度學習網絡構建 107
7.2.1 多任務網絡的主要分類 107
7.2.2 並行式網絡 109
7.2.3 級聯式網絡 110
7.3 多任務深度學習網絡的代碼實現 113
7.3.1 構建多任務深度學習網絡 114
7.3.2 多任務深度學習網絡的訓練 116
7.3.3 多任務深度學習模型測試 116
7.4 本章小結 119
7.5 習題 119
8章 生成對抗神經網絡 120
8.1 生成對抗網絡的概念 120
8.2 典型的生成對抗網絡 121
8.2.1 DCGAN 121
8.2.2 CycleGAN 123
8.3 傳送帶錶面缺陷樣本增強案例 126
8.4 項目實戰 128
8.4.1 DCGAN 128
8.4.2 CycleGAN 130
8.5 本章小結 132
8.6 習題 132
9章 樣本製作與數據增強 133
9.1 數據的獲取 133
9.2 數據的標註 133
9.2.1 目標檢測與識別標註軟件LabelImg 134
9.2.2 圖像分割標註軟件LabelMe 134
9.3 數據增強 134
9.4 項目實戰:數據增強 135
9.4.1 數據增強庫的安裝與卸載 135
9.4.2 數據增強庫的基本使用 136
9.4.3 樣本數據增強的結果 136
9.4.4 關鍵點變換 137
9.4.5 標註框(Bounding Bo)變換 139
9.5 本章小結 141
9.6 習題 141
10章 Keras安裝和API 142
10.1 安裝Keras 142
10.1.1 1步——安裝依賴項 142
10.1.2 2步——安裝TensorFlow 144
10.1.3 3步——安裝Keras 145
10.1.4 4步——測試TensorFlow和Keras 145
10.2 配置Keras 146
10.3 Keras API 146
10.4 TensorFlow API 146
10.5 本章小結 147
11章 綜合實驗:基於YOLO和Deep Sort的目標檢測與跟踪 148
11.1 算法流程 148
11.2 實驗代碼 149
11.3 實驗評價 155
作者介紹
袁雪,北京交通大學教授、博士生導師,曾任日本SECOM東京研究院研究員。
從事人工智能、計算機視覺技術的教學與科研工作,在智能監控、車載視覺環境感知、基於視覺的表面缺陷檢測、運輸載體故障診斷等方向有著多年的科研經驗。
近年來主持國家自然科學基金、北京市科委重點研發專項等***、省部級、企業合作項目共計30餘項。
在國際重要的學術期刊與會議上發表論文60餘篇,其中被SCI收錄論文20餘篇。被授權發明專利6項(日本發明專利3項)。
目前致力於人工智能技術的產業化應用。曾自主研發多套軟件與裝備,如無人系統的視覺感知系統、煤礦運輸皮帶綜合監測系統、高速鐵路運行安全監測系統等,產生了良好的經濟和社會效益。