本書針對(duì)高職教育的特點(diǎn),緊依據(jù)職業(yè)崗位需求設(shè)計(jì)建構(gòu)課程內(nèi)容,在覆蓋基本理論的同時(shí),強(qiáng)調(diào)培養(yǎng)學(xué)生具體的實(shí)踐操作能力。本書教材內(nèi)容主要包括7個(gè)單元:計(jì)算機(jī)視覺基礎(chǔ)、圖像預(yù)處理、BP神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、Tensorflow2.0基礎(chǔ)、圖像分類、目標(biāo)檢測(cè)。通過關(guān)鍵技術(shù)以及整體架構(gòu)的學(xué)習(xí),結(jié)合案例,要求學(xué)生了解人工智能中計(jì)算機(jī)視覺的發(fā)展?fàn)顩r與研究?jī)?nèi)容,掌握基本概念、基本原理,了解計(jì)算機(jī)視覺的一些經(jīng)典場(chǎng)景應(yīng)用,掌握計(jì)算機(jī)視覺開發(fā)的一般流程,初步具備計(jì)算機(jī)視覺開發(fā)的能力。
1.雙高校常州信息職業(yè)技術(shù)學(xué)院軟件與大數(shù)據(jù)學(xué)院副院長(zhǎng)撰寫。
2.教材體例體現(xiàn)“立德樹人”,滿足思政育人新需求。
3.校企雙元教材,教材內(nèi)容體現(xiàn)“職業(yè)性”,滿足企業(yè)崗位新需求
4.配套慕課視頻。
主編曾在世界五百強(qiáng)企業(yè)工作多年,具有豐富的企業(yè)工作經(jīng)歷。曾擔(dān)任第二代XX衛(wèi)星通信系統(tǒng)等多個(gè)大型國防裝備項(xiàng)目軟件定型/鑒定測(cè)評(píng)負(fù)責(zé)人。獲得信息系統(tǒng)項(xiàng)目管理師(高級(jí)),軍用軟件測(cè)評(píng)實(shí)驗(yàn)室內(nèi)審員,航空軍用軟件測(cè)試師資格。主持編寫企業(yè)標(biāo)準(zhǔn)一項(xiàng),參與企業(yè)標(biāo)準(zhǔn)編制一項(xiàng)。參與國防”十二五”課題一項(xiàng)。 目前在常州信息職業(yè)技術(shù)學(xué)院從事人工智能技術(shù)服務(wù)專業(yè)相關(guān)教學(xué)和科研工作,主要講授計(jì)算機(jī)視覺開發(fā)、數(shù)據(jù)結(jié)構(gòu)、python程序設(shè)計(jì)等課程;參與編寫《python程序設(shè)計(jì)》、《Docker容器技術(shù)》、《信息技術(shù)基礎(chǔ)》等專業(yè)教材。參與軟件技術(shù)專業(yè)國家教學(xué)資源庫、江蘇省品牌專業(yè)建設(shè);全國職業(yè)院校技能大賽優(yōu)秀指導(dǎo)教師、江蘇省技術(shù)能手、2021年第四屆江蘇省百萬技能人才技能競(jìng)賽崗位練兵活動(dòng)暨江蘇省電信與互聯(lián)網(wǎng)行業(yè)人工智能訓(xùn)練師職業(yè)技能競(jìng)賽(職工組)二等獎(jiǎng)。指導(dǎo)學(xué)生獲2018年全國職業(yè)院校技能大賽軟件測(cè)試賽項(xiàng)一等獎(jiǎng)、2020年全國大學(xué)生軟件測(cè)試大賽嵌入式賽項(xiàng)全國一等獎(jiǎng)。
目 錄
第 1章 初識(shí)計(jì)算機(jī)視覺 1
1.1 人類視覺系統(tǒng) 1
1.2 計(jì)算機(jī)視覺 3
1.2.1 計(jì)算機(jī)視覺的重要性 3
1.2.2 語義鴻溝 3
1.2.3 基于深度學(xué)習(xí)的計(jì)算機(jī)視覺工作原理 4
1.3 計(jì)算機(jī)視覺常見任務(wù) 4
1.3.1 圖像分類 5
1.3.2 目標(biāo)檢測(cè) 5
1.3.3 圖像分割 6
1.4 計(jì)算機(jī)視覺發(fā)展過程 7
1.4.1 20世紀(jì)50年代,二維圖像的分析和識(shí)別 7
1.4.2 20世紀(jì)60年代,理解三維場(chǎng)景 8
1.4.3 20世紀(jì)70年代,恢復(fù)三維結(jié)構(gòu) 8
1.4.4 20世紀(jì)80年代,基于專家系統(tǒng)的計(jì)算機(jī)視覺 9
1.4.5 20世紀(jì)90年代,特征對(duì)象識(shí)別 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ī)與自動(dòng)駕駛領(lǐng)域的應(yīng)用 12
1.5.4 在其他社會(huì)領(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ù)組、列表對(duì)象創(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é)運(yùn)算 46
2.6.1 四則常規(guī)運(yùn)算 46
2.6.2 指數(shù)和對(duì)數(shù)運(yùn)算 47
2.6.3 矩陣相乘運(yùn)算 47
2.7 自動(dòng)求導(dǎo)機(jī)制 48
2.8 TensorBoard 可視化組件 49
2.8.1 TensorBoard簡(jiǎn)介 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 圖像增強(qiáng) 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 實(shí)戰(zhàn):MNIST手寫數(shù)據(jù)識(shí)別 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 模型評(píng)估 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 卷積計(jì)算 145
5.2.2 填充(padding) 146
5.2.3 步長(zhǎng)(stride) 148
5.2.4 多通道卷積 149
5.2.5 多卷積核卷積 151
5.2.6 特征圖的大小 151
5.2.7 tf.keras卷積實(shí)現(xiàn) 152
5.3 池化 153
5.3.1 池化操作 153
5.3.2 tf.keras池化操作實(shí)現(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 實(shí)戰(zhàn):花朵識(shí)別 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 評(píng)估模型 171
5.8 本章小結(jié) 172
第6章 圖像分類與遷移學(xué)習(xí) 174
6.1 圖像分類概述 175
6.2 實(shí)戰(zhàn):自定義網(wǎng)絡(luò)實(shí)現(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ù)增強(qiáng) 181
6.3 遷移學(xué)習(xí) 182
6.4 使用遷移學(xué)習(xí)實(shí)現(xiàn)貓狗大戰(zhàn) 184
6.4.1 實(shí)例化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)練與評(píng)估 191
6.7 本章小結(jié) 193
第7章 目標(biāo)檢測(cè) 194
7.1 目標(biāo)檢測(cè)的基本概念 195
7.2 目標(biāo)檢測(cè)常用數(shù)據(jù)集和標(biāo)注工具 196
7.3 目標(biāo)檢測(cè)常用技術(shù) 199
7.3.1 邊界框(Bounding box) 199
7.3.2 數(shù)據(jù)表示 203
7.3.3 效果評(píng)估 203
7.4 常用網(wǎng)絡(luò)類型 203
7.4.1 R-CNN系列 204
7.4.2 YOLO系列 207
7.5 人臉識(shí)別 211
7.5.1 MTCNN工作原理 212
7.5.2 FaceNet 216
7.5.3 人臉檢測(cè)實(shí)踐 219
7.6 目標(biāo)檢測(cè)案例(YOLOv3) 224
7.6.1 YOLOv3模型結(jié)構(gòu)和工作流程 224
7.6.2 YOLOv3應(yīng)用實(shí)踐 227
7.6.3 YOLOv3核心功能代碼 235
7.6.4 采用YOLOv3源碼實(shí)現(xiàn)目標(biāo)檢測(cè) 238
7.7 本章小結(jié) 242