人工智能+機器人入門與實戰(zhàn) 用樹莓派+Python+OpenCV制作計算機視覺機器人
定 價:69 元
- 作者:陳宇航 侯俊萍 葉昶
- 出版時間:2020/5/1
- ISBN:9787115530486
- 出 版 社:人民郵電出版社
- 中圖法分類:TP242
- 頁碼:143
- 紙張:
- 版次:01
- 開本:小16開
樹莓派是一款基于ARM架構(gòu)、Linux系統(tǒng)的極簡計算機,既可以用于計算機編程教育,也可以作為機器人的控制核心。第一種運行于樹莓派上的編程語言是Python,這是當(dāng)前人工智能領(lǐng)域最為流行的編程語言。機器視覺是人工智能中重要的細(xì)分研究領(lǐng)域,OpenCV則是當(dāng)前機器視覺領(lǐng)域主流的開源處理庫,可以方便地用于計算機圖像處理,并應(yīng)用于面部識別、目標(biāo)識別等具體問題。本書介紹在樹莓派硬件上使用Python語言,借助OpenCV庫編程,來實現(xiàn)具有機器視覺功能(識別和抓取特定顏色物體、識別人臉、識別特定人臉、進(jìn)行面部跟蹤)的智能機器人。
《人工智能+機器人入門與實戰(zhàn)》力求通過一系列不同層次的軟硬件任務(wù),由淺入深地講解人工智能的概念,同時覆蓋Linux系統(tǒng)操作、Python編程、機器人系統(tǒng)搭建等多方面的綜合知識。在本書案例中使用的主要硬件載體是可在桌面上固定運轉(zhuǎn)的雙軸云臺和三軸機械臂等,它們可以代表一類智能機器人的形態(tài)。本書遵循開源、分享的創(chuàng)客精神,所有的硬件材料和軟件內(nèi)容均可以從公共平臺獲取,讀者在充分理解的基礎(chǔ)上,不必局限于本書所列硬件,可自行獲取類似設(shè)備完成項目。
本書可以作為中小學(xué)STEAM人工智能教育的一本基礎(chǔ)讀物,也可以作為中高職院校相關(guān)專業(yè)學(xué)生的參考書。
本書介紹在樹莓派硬件上使用Python語言,借助OpenCV庫編程,來實現(xiàn)具有機器視覺功能(識別和抓取特定顏色物體、識別人臉、識別特定人臉、進(jìn)行面部跟蹤)的智能機器人。
陳宇航:浙江大學(xué)物理學(xué)博士。擅長程序算法設(shè)計,了解人工智能前沿理念。主持開發(fā)過多種智能硬件套件及其配套課程。致力于青少年科技教育,幫助學(xué)生更好地迎接人工智能時代的挑戰(zhàn)。
侯俊萍:浙江大學(xué)教育學(xué)碩士。奇異思維創(chuàng)客課程設(shè)計師。專注于青少年STEAM教育,擅長將國際先進(jìn)教育理念與前沿科技結(jié)合,進(jìn)行創(chuàng)客課程研發(fā)與教學(xué)。
葉昶:浙江工業(yè)大學(xué)自動化專業(yè)。奇異思維創(chuàng)客課程設(shè)計師。參與機器人、3D打印類創(chuàng)客課程內(nèi)容設(shè)計,并負(fù)責(zé)青少年創(chuàng)客課程教學(xué),具有豐富的講課經(jīng)驗。
第 1 章 走近人工智能 1
1.1 初識人工智能 2
1.1.1 人工智能是什么 2
1.1.2 人工智能的發(fā)展歷程 2
1.1.3 人工智能的應(yīng)用現(xiàn)狀 4
1.2 機器人世界 5
1.2.1 機器人的發(fā)展歷史 5
1.2.2 什么是智能機器人 6
1.2.3 常見的智能機器人控制核心 7
第 2章 認(rèn)識樹莓派 9
2.1 樹莓派是什么 10
2.2 樹莓派3B+主控板簡介 11
2.3 樹莓派的連接與開機 12
2.4 Linux操作系統(tǒng)簡介 13
第3章 Python 編程基礎(chǔ) 16
3.1 什么是編程語言 17
3.2 認(rèn)識Python語言 18
3.3 在樹莓派中使用Python編程 19
3.3.1 交互式編程 20
3.3.2 使用算術(shù)運算符進(jìn)行運算 20
3.3.3 用Geany 編輯器編寫Python程序 21
3.4 Python中的變量 23
3.4.1 變量的賦值 23
3.4.2 Python的數(shù)據(jù)類型 24
3.5 if條件結(jié)構(gòu) 25
3.5.1 條件的真與假 25
3.5.2 比較運算符 26
3.5.3 if條件結(jié)構(gòu)的格式與縮進(jìn) 26
3.6 while循環(huán)結(jié)構(gòu) 28
3.7 Python中的函數(shù) 28
3.7.1 自定義一個函數(shù) 29
3.7.2 給Python程序加上注釋 30
第4章 Python 編程與樹莓派硬件控制 32
4.1 樹莓派的GPIO接口 33
4.2 LED 模塊與按鈕模塊的連接 33
4.3 點亮一盞小燈 35
4.3.1 導(dǎo)入Python擴展包 35
4.3.2 LED 顯示彩色的原理 35
4.3.3 對輸入/ 輸出設(shè)備的設(shè)定 36
4.3.4 讓小燈閃爍起來 37
4.4 用按鈕控制燈的狀態(tài) 38
4.4.1 按鈕狀態(tài)的讀取與判斷 38
4.4.2 兩個按鈕的控制與邏輯運算符 39
4.5 做一個搶答器吧 40
4.5.1 延時點亮小燈 40
4.5.2 判斷獲勝者與break 關(guān)鍵詞 41
4.5.3 Python中的隨機數(shù) 41
第5章 機器視覺入門 45
5.1 機器視覺與圖像識別 46
5.1.1 機器是怎樣“看”的 46
5.1.2 機器視覺技術(shù)的常見應(yīng)用 48
5.2 認(rèn)識OpenCV 49
5.2.1 OpenCV 簡介 49
5.2.2 視頻的幀與分辨率 50
5.2.3 用樹莓派攝像頭調(diào)取圖像 51
5.3 用OpenCV 識別顏色 53
5.3.1 HSV 顏色空間 53
5.3.2 圖像的二值化 54
5.3.3 找到輪廓的位置 55
5.4 做一個魔法棒吧 57
5.4.1 用OpenCV 繪制小圓點 57
5.4.2 Python中的列表與元組 58
5.4.3 for 循環(huán)遍歷結(jié)構(gòu) 59
5.4.4 按鍵值與鍵盤控制 60
第6章 機械臂智能分揀任務(wù) 64
6.1 認(rèn)識機械臂 65
6.1.1 應(yīng)用廣泛的機械臂 65
6.1.2 三軸機械臂結(jié)構(gòu)分析 65
6.2 程序控制機械臂的運動 68
6.2.1 認(rèn)識舵機 68
6.2.2 舵機的線路連接 69
6.2.3 舵機控制程序 70
6.2.4 機械臂頭部的執(zhí)行裝置——電控吸盤 71
6.2.5 用示教方式完成物料分揀 73
6.3 用樹莓派控制機械臂 74
6.3.1 硬件連接 74
6.3.2 程序編寫 76
6.4 用攝像頭找到木塊位置 77
6.4.1 安裝攝像頭 77
6.4.2 調(diào)用攝像頭的圖像并識別木塊位置 79
6.5 使吸盤位于物體正上方 80
6.5.1 當(dāng)物體位于吸盤正下方時,它的坐標(biāo)是多少 80
6.5.2 控制1 號舵機左右運動,使物體x 坐標(biāo)為320 81
6.5.3 控制機械臂等高運動,使物體y 坐標(biāo)為150 84
6.6 抓取和放置物體 88
6.7 擴展任務(wù) 89
第7章 制作人臉追蹤機器人 92
7.1 人臉識別知多少 93
7.2 使用膚色檢測找到人臉 94
7.3 使用哈爾特征檢測找到人臉 96
7.4 人臉追蹤機器人初制 99
7.5 什么是機器學(xué)習(xí) 106
7.5.1 計算機如何識別一只貓 106
7.5.2 機器學(xué)習(xí)的分類 108
7.6 認(rèn)識人工神經(jīng)網(wǎng)絡(luò) 109
7.7 識別特定的人臉 113
7.8 擴展任務(wù)——屬于你的機器人 117
7.8.1 讓機器人認(rèn)識你 117
7.8.2 讓機器人發(fā)出聲音 118
附錄 “試一試”環(huán)節(jié)參考程序 123