本書針對高職教育的特點,緊依據(jù)職業(yè)崗位需求設(shè)計建構(gòu)課程內(nèi)容,在覆蓋基本理論的同時,強調(diào)培養(yǎng)學(xué)生具體的實踐操作能力。本書教材內(nèi)容主要包括7個單元:計算機(jī)視覺基礎(chǔ)、圖像預(yù)處理、BP神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、Tensorflow2.0基礎(chǔ)、圖像分類、目標(biāo)檢測。通過關(guān)鍵技術(shù)以及整體架構(gòu)的學(xué)習(xí),結(jié)合案例,要求學(xué)生了解人工智能中計算機(jī)視覺的發(fā)展?fàn)顩r與研究內(nèi)容,掌握基本概念、基本原理,了解計算機(jī)視覺的一些經(jīng)典場景應(yīng)用,掌握計算機(jī)視覺開發(fā)的一般流程,初步具備計算機(jī)視覺開發(fā)的能力。
1.雙高校常州信息職業(yè)技術(shù)學(xué)院軟件與大數(shù)據(jù)學(xué)院副院長撰寫。
2.教材體例體現(xiàn)“立德樹人”,滿足思政育人新需求。
3.校企雙元教材,教材內(nèi)容體現(xiàn)“職業(yè)性”,滿足企業(yè)崗位新需求
4.配套慕課視頻。
主編曾在世界五百強企業(yè)工作多年,具有豐富的企業(yè)工作經(jīng)歷。曾擔(dān)任第二代XX衛(wèi)星通信系統(tǒng)等多個大型國防裝備項目軟件定型/鑒定測評負(fù)責(zé)人。獲得信息系統(tǒng)項目管理師(高級),軍用軟件測評實驗室內(nèi)審員,航空軍用軟件測試師資格。主持編寫企業(yè)標(biāo)準(zhǔn)一項,參與企業(yè)標(biāo)準(zhǔn)編制一項。參與國防”十二五”課題一項。 目前在常州信息職業(yè)技術(shù)學(xué)院從事人工智能技術(shù)服務(wù)專業(yè)相關(guān)教學(xué)和科研工作,主要講授計算機(jī)視覺開發(fā)、數(shù)據(jù)結(jié)構(gòu)、python程序設(shè)計等課程;參與編寫《python程序設(shè)計》、《Docker容器技術(shù)》、《信息技術(shù)基礎(chǔ)》等專業(yè)教材。參與軟件技術(shù)專業(yè)國家教學(xué)資源庫、江蘇省品牌專業(yè)建設(shè);全國職業(yè)院校技能大賽優(yōu)秀指導(dǎo)教師、江蘇省技術(shù)能手、2021年第四屆江蘇省百萬技能人才技能競賽崗位練兵活動暨江蘇省電信與互聯(lián)網(wǎng)行業(yè)人工智能訓(xùn)練師職業(yè)技能競賽(職工組)二等獎。指導(dǎo)學(xué)生獲2018年全國職業(yè)院校技能大賽軟件測試賽項一等獎、2020年全國大學(xué)生軟件測試大賽嵌入式賽項全國一等獎。
目 錄
第 1章 初識計算機(jī)視覺 1
1.1 人類視覺系統(tǒng) 1
1.2 計算機(jī)視覺 3
1.2.1 計算機(jī)視覺的重要性 3
1.2.2 語義鴻溝 3
1.2.3 基于深度學(xué)習(xí)的計算機(jī)視覺工作原理 4
1.3 計算機(jī)視覺常見任務(wù) 4
1.3.1 圖像分類 5
1.3.2 目標(biāo)檢測 5
1.3.3 圖像分割 6
1.4 計算機(jī)視覺發(fā)展過程 7
1.4.1 20世紀(jì)50年代,二維圖像的分析和識別 7
1.4.2 20世紀(jì)60年代,理解三維場景 8
1.4.3 20世紀(jì)70年代,恢復(fù)三維結(jié)構(gòu) 8
1.4.4 20世紀(jì)80年代,基于專家系統(tǒng)的計算機(jī)視覺 9
1.4.5 20世紀(jì)90年代,特征對象識別 9
1.4.6 21世紀(jì)初,圖像特征工程 10
1.4.7 2010年至今,深度學(xué)習(xí)年代 11
1.5 行業(yè)應(yīng)用 11
1.5.1 在智慧醫(yī)療領(lǐng)域的應(yīng)用 11
1.5.2 在公共安全領(lǐng)域的應(yīng)用 12
1.5.3 在無人機(jī)與自動駕駛領(lǐng)域的應(yīng)用 12
1.5.4 在其他社會領(lǐng)域的應(yīng)用 13
1.6 基礎(chǔ)開發(fā)環(huán)境搭建 13
1.6.1 下載及安裝Anaconda 13
1.6.2 使用Anaconda安裝TensorFlow 17
1.6.3 使用Anaconda安裝Opencv 19
1.6.4 Jupyter Notebook使用 20
1.7 本章小結(jié) 23
第 2章 TesnorFlow2.X基礎(chǔ) 24
2.1 數(shù)據(jù)類型 25
2.1.1 數(shù)值類型 25
2.1.2 字符串類型 29
2.1.3 布爾類型 30
2.1.4 數(shù)值精度 31
2.1.5 類型轉(zhuǎn)換 32
2.2 變量 33
2.3 創(chuàng)建張量 34
2.3.1 從數(shù)組、列表對象創(chuàng)建 34
2.3.2 創(chuàng)建全0或全1張量 35
2.3.3 創(chuàng)建已知分布的張量 36
2.4 索引與切片 37
2.4.1 索引 37
2.4.2 切片 39
2.5 維度變換 40
2.5.1 改變視圖 40
2.5.2 改變維度 42
2.6 數(shù)學(xué)運算 46
2.6.1 四則常規(guī)運算 46
2.6.2 指數(shù)和對數(shù)運算 47
2.6.3 矩陣相乘運算 47
2.7 自動求導(dǎo)機(jī)制 48
2.8 TensorBoard 可視化組件 49
2.8.1 TensorBoard簡介 50
2.8.2 TensorBoard的基本用法 51
2.9 keras.datasets 52
2.9.1 數(shù)據(jù)集加載 53
2.9.2 數(shù)據(jù)預(yù)處理 54
2.10 本章小結(jié) 58
第3章 圖像預(yù)處理 60
3.1 圖像基礎(chǔ) 60
3.2 圖像數(shù)據(jù)解析 62
3.2.1 圖像編碼 62
3.2.2 圖像解碼 65
3.3 圖像數(shù)據(jù)處理 68
3.3.1 圖像縮放 69
3.3.2 圖像翻轉(zhuǎn) 70
3.3.3 圖像旋轉(zhuǎn) 73
3.3.4 圖像色彩調(diào)整 74
3.3.5 圖像增強 77
3.4 本章小結(jié) 79
第4章 深度神經(jīng)網(wǎng)絡(luò) 80
4.1 人工神經(jīng)網(wǎng)絡(luò)(ANN) 81
4.1.1 生物啟發(fā) 81
4.1.2 M-P神經(jīng)元模型 82
4.1.3 單層感知機(jī) 84
4.1.4 多層感知機(jī) 85
4.1.5 激活函數(shù) 86
4.1.6 參數(shù)初始化 95
4.1.7 tf.keras神經(jīng)網(wǎng)絡(luò)模型構(gòu)建 98
4.2 人工神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程 104
4.2.1 前向傳播 104
4.2.2 損失函數(shù) 105
4.2.3 反向傳播 109
4.2.4 梯度下降算法 109
4.2.5 梯度下降優(yōu)化方法 111
4.2.6 Epoch,Batch size,Iterations 116
4.3 正則化 118
4.3.1 L1與L2正則化 118
4.3.2 Dropout 120
4.3.3 批歸一化 122
4.3.4 提前停止訓(xùn)練 124
4.4 實戰(zhàn):MNIST手寫數(shù)據(jù)識別 126
4.4.1 數(shù)據(jù)加載 128
4.4.2 數(shù)據(jù)處理 129
4.4.3 模型構(gòu)建 130
4.4.4 模型編譯 132
4.4.5 模型訓(xùn)練 132
4.4.6 模型評估 135
4.4.7 模型保存 136
4.5 本章小結(jié) 136
第5章 卷積神經(jīng)網(wǎng)絡(luò) 138
5.1 全連接神經(jīng)網(wǎng)絡(luò)VS卷積神經(jīng)網(wǎng)絡(luò) 139
5.1.1 全連接神經(jīng)網(wǎng)絡(luò)處理圖像的不足 139
5.1.2 卷積神經(jīng)網(wǎng)絡(luò)的解決辦法 140
5.1 卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu) 142
5.1.1 輸入層 143
5.1.2 卷積層 144
5.1.3 池化層 144
5.1.4 全連接層 144
5.2 卷積 144
5.2.1 卷積計算 145
5.2.2 填充(padding) 146
5.2.3 步長(stride) 148
5.2.4 多通道卷積 149
5.2.5 多卷積核卷積 151
5.2.6 特征圖的大小 151
5.2.7 tf.keras卷積實現(xiàn) 152
5.3 池化 153
5.3.1 池化操作 153
5.3.2 tf.keras池化操作實現(xiàn) 154
5.4 LeNet-5網(wǎng)絡(luò)構(gòu)建 155
5.5 BatchNorm層 157
5.6 常見卷積神經(jīng)網(wǎng)絡(luò)模型 159
5.6.1 AlexNet 159
5.6.2 VGGNet 160
5.6.3 GoogLeNet 163
5.7 實戰(zhàn):花朵識別 165
5.7.1 前期工作 166
5.7.2 數(shù)據(jù)預(yù)處理 167
5.7.3 構(gòu)建CNN模型 169
5.7.4 編譯模型 171
5.7.5 訓(xùn)練模型 171
5.7.6 評估模型 171
5.8 本章小結(jié) 172
第6章 圖像分類與遷移學(xué)習(xí) 174
6.1 圖像分類概述 175
6.2 實戰(zhàn):自定義網(wǎng)絡(luò)實現(xiàn)貓狗大戰(zhàn) 176
6.2.1 數(shù)據(jù)集加載 176
6.2.2 數(shù)據(jù)預(yù)處理 177
6.2.3 自定義網(wǎng)絡(luò)模型 178
6.2.4 編譯模型 180
6.2.5 訓(xùn)練模型 180
6.2.6 可視化訓(xùn)練結(jié)果 180
6.2.7 數(shù)據(jù)增強 181
6.3 遷移學(xué)習(xí) 182
6.4 使用遷移學(xué)習(xí)實現(xiàn)貓狗大戰(zhàn) 184
6.4.1 實例化InceptionV3 185
6.4.2 為模型添加新的層 185
6.4.3 編譯模型 186
6.4.4 訓(xùn)練模型 186
6.5 TensorFlow Hub介紹 187
6.6 使用TensorFlow Hub進(jìn)行花卉分類 188
6.6.1 下載數(shù)據(jù) 188
6.6.2 創(chuàng)建數(shù)據(jù)集 189
6.6.3 使數(shù)據(jù)適應(yīng)模型 189
6.6.4 建立模型 190
6.6.5 訓(xùn)練與評估 191
6.7 本章小結(jié) 193
第7章 目標(biāo)檢測 194
7.1 目標(biāo)檢測的基本概念 195
7.2 目標(biāo)檢測常用數(shù)據(jù)集和標(biāo)注工具 196
7.3 目標(biāo)檢測常用技術(shù) 199
7.3.1 邊界框(Bounding box) 199
7.3.2 數(shù)據(jù)表示 203
7.3.3 效果評估 203
7.4 常用網(wǎng)絡(luò)類型 203
7.4.1 R-CNN系列 204
7.4.2 YOLO系列 207
7.5 人臉識別 211
7.5.1 MTCNN工作原理 212
7.5.2 FaceNet 216
7.5.3 人臉檢測實踐 219
7.6 目標(biāo)檢測案例(YOLOv3) 224
7.6.1 YOLOv3模型結(jié)構(gòu)和工作流程 224
7.6.2 YOLOv3應(yīng)用實踐 227
7.6.3 YOLOv3核心功能代碼 235
7.6.4 采用YOLOv3源碼實現(xiàn)目標(biāo)檢測 238
7.7 本章小結(jié) 242