本書基于卷積神經(jīng)網(wǎng)絡(luò)和圖像識別方法,介紹了PyTorch和PaddlePaddle兩種框架,并結(jié)合移動機器人講解了具體的開發(fā)過程。書中所用的硬件平臺,帶有兩個攝像頭傳感器,為機器人和無人駕駛車輛多攝像頭導(dǎo)航提供了理論指導(dǎo)。書中提到的模擬沙盤,正是機器人作為園區(qū)巡檢或無人配送實例的縮影。通過基于理論的實踐,本書不局限于具體的平臺和場景,可以作為實現(xiàn)深度學(xué)習(xí)的通用化方法。本書源于工程化實踐,抽象為具體方法和案例,為學(xué)習(xí)基于深度學(xué)習(xí)的機器人技術(shù)提供了指南。
張銳,北京鋼鐵俠科技有限公司創(chuàng)始人,全國仿生學(xué)標(biāo)準(zhǔn)化技術(shù)委員會委員,全國工商聯(lián)高端裝備制造與儀器儀表委員會委員,中關(guān)村高聚工程高端領(lǐng)軍人才,北京市青年托舉工程入選人,青島市拔尖人才,中國人工智能學(xué)會教育工作委員會委員,教育部高職?浦悄軝C器人技術(shù)、高職本科機器人技術(shù)教學(xué)標(biāo)準(zhǔn)起草委員會委員,參與制定機器人領(lǐng)域國家標(biāo)準(zhǔn)6項,承擔(dān)了多個北京市科技重大專項等省部級項目。
目錄
認(rèn) 知 篇
第1章 人工智能、深度學(xué)習(xí)和計算機視覺 1
1.1 人工智能簡介 1
1.2 人工智能的發(fā)展 3
1.3 深度學(xué)習(xí)簡介 4
1.4 計算機視覺 5
第2章 卷積神經(jīng)網(wǎng)絡(luò)及應(yīng)用介紹 7
2.1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) 8
2.1.1 神經(jīng)元與感知器 8
2.1.2 神經(jīng)網(wǎng)絡(luò) 9
2.2 圖像識別的任務(wù) 10
2.2.1 視覺感知 10
2.2.2 圖像表達(dá) 11
2.2.3 畫面不變性 12
2.3 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) 14
2.3.1 卷積層 15
2.3.2 池化 16
2.3.3 激活函數(shù) 16
2.3.4 全連接層 17
2.3.5 卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練 18
2.4 軟件環(huán)境安裝 20
2.4.1 Python環(huán)境安裝 20
2.4.2 Numpy功能包安裝 25
2.5 卷積神經(jīng)網(wǎng)絡(luò)代碼詳解 26
2.5.1 Numpy功能包導(dǎo)入 26
2.5.2 卷積層的實現(xiàn) 26
2.5.3 Max Pooling層的實現(xiàn) 35
2.6 網(wǎng)絡(luò)參數(shù)調(diào)整或微調(diào) 37
框 架 篇
第3章 圖像分類及目標(biāo)檢測 38
3.1 圖像分類簡介 38
3.1.1 AlexNet 42
3.1.2 VGG 45
3.1.3 GoogLeNet 49
3.1.4 ResNet 53
3.2 目標(biāo)檢測 60
3.2.1 目標(biāo)檢測簡介 60
3.2.2 RCNN基礎(chǔ) 72
3.2.3 Faster RCNN原理 80
3.2.4 Yolo系列算法 89
3.2.5 Yolov3案例 105
第4章 PyTorch基礎(chǔ) 137
4.1 PyTorch簡介 137
4.1.1 Tensor數(shù)據(jù)類型 137
4.1.2 Tensor運算 140
4.1.3 搭建簡單的神經(jīng)網(wǎng)絡(luò) 144
4.2 自動求梯度 146
4.3 構(gòu)建模型和優(yōu)化參數(shù) 148
4.3.1 torch.nn 148
4.3.2 torch.optim 151
4.4 案例:基于PyTorch的CIFAR-10圖片分類 153
第5章 PaddlePaddle基礎(chǔ) 157
5.1 PaddlePaddle卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ) 157
5.1.1 CNN的構(gòu)成 158
5.1.2 卷積層 159
5.1.3 填充 160
5.1.4 步長 161
5.1.5 多通道卷積 161
5.1.6 多卷積核卷積 162
5.1.7 特征圖大小 163
5.1.8 池化層 163
5.1.9 全連接層 164
5.2 PaddlePaddle基本運算 165
5.3 使用PaddlePaddle高層API直接調(diào)用分類網(wǎng)絡(luò) 170
5.4 手寫數(shù)字識別案例 171
5.4.1 數(shù)據(jù)處理及數(shù)據(jù)加載 172
5.4.2 網(wǎng)絡(luò)結(jié)構(gòu)和設(shè)置學(xué)習(xí)率 173
5.4.3 模型訓(xùn)練及模型推理 174
實 戰(zhàn) 篇
第6章 深度學(xué)習(xí)智能車項目 180
6.1 智能車硬件架構(gòu)設(shè)計 181
6.2 深度學(xué)習(xí)智能車各部分介紹 182
6.3 軟件安裝和使用 183
6.4 點亮深度學(xué)習(xí)智能車的車燈 185
6.4.1 深度學(xué)習(xí)智能車車燈介紹 185
6.4.2 智能車LED引腳連接配置 185
6.4.3 智能車LED電路設(shè)計 186
6.4.4 程序設(shè)計 186
6.4.5 執(zhí)行程序和查看結(jié)果 187
6.5 智能車運動控制 187
6.5.1 智能車電機特征 187
6.5.2 電機工作方式 188
6.5.3 智能車電機控制 189
6.5.4 智能車電機引腳連接配置 190
6.5.5 電機驅(qū)動電路 190
6.5.6 智能車驅(qū)動程序設(shè)計 192
6.5.7 執(zhí)行程序和查看結(jié)果 194
6.6 智能車上位機與下位機通信 194
6.6.1 智能車下位機程序設(shè)計 194
6.6.2 智能車上位機程序設(shè)計 198
6.6.3 智能車串口通信調(diào)試 199
第7章 實戰(zhàn)案例 200
7.1 基于PaddlePaddle深度學(xué)習(xí)框架的安裝 200
7.2 車道線識別數(shù)據(jù)處理與模型構(gòu)建 203
7.3 車道線識別訓(xùn)練模型 207
7.4 標(biāo)志物檢測的數(shù)據(jù)采集與處理 211
7.5 Yolov5網(wǎng)絡(luò)模型介紹 213
7.5.1 Yolov5網(wǎng)絡(luò)結(jié)構(gòu) 213
7.5.2 Yolov5相對于Yolov4和Yolov3的改進(jìn) 215
7.6 標(biāo)志物識別的模型訓(xùn)練 218
7.7 智能車無人駕駛實踐 226
7.7.1 無人駕駛沙盤模型 226
7.7.2 深度學(xué)習(xí)智能車 227
7.7.3 遙控使用 228
7.7.4 深度學(xué)習(xí)智能車 229
參考文獻(xiàn) 235