Python計算機視覺和自然語言處理 開發(fā)機器人應用系統(tǒng)
定 價:89.9 元
叢書名:計算機視覺
- 作者:[西]阿爾瓦羅·莫雷納·阿爾貝羅拉(álvaro Morena Alberola) [西]貢薩洛·莫利納·加列戈(Gonzalo Molina Gallego) [西]烏奈·加
- 出版時間:2021/6/1
- ISBN:9787115560629
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.56
- 頁碼:254
- 紙張:
- 版次:01
- 開本:16開
機器人是人工智能時代的重要產物,為人類的工作和生活提供了非常多的助力。對于智能機器人而言,視覺識別能力和對話能力是非常重要的兩個方面,本書就是基于這兩個技術展開介紹,并通過一系列的編程案例和實踐項目,引導讀者高效掌握機器人的開發(fā)技巧。
本書基于Python語言進行講解,結合機器人操作系統(tǒng)(ROS)平臺給出了豐富多樣的機器人開發(fā)方案。本書立足于機器人的視覺和語言處理,通過OpenCV、自然語言處理、循環(huán)神經網絡、卷積神經網絡等技術提高機器人的視覺識別能力和對話能力。全書包括多個練習和項目,通過知識點和編程實踐相結合的方式,快速帶領讀者掌握實用的機器人開發(fā)技術。
本書適合機器人或智能軟硬件研發(fā)領域的工程師閱讀,也適合高校人工智能相關專業(yè)的師生閱讀。
1.技術點熱:用Python講解自然語言處理技術和計算機視覺技術;;
2.作者知名:多名作者聯合編寫,繼承了AI在機器人領域應用的權威經驗;
3.內容豐富:用ROS開發(fā)更智能的機器人系統(tǒng),用NLP技術和OpenCV技術讓機器人更加智能;
4.立足實踐:書中包含大量練習與項目,幫助讀者快速掌握機器人開發(fā)技術,全方位提升讀者的動手能力和研發(fā)能力。
5.配套資源:配套的代碼資源包和彩色圖片包,讓你邊學邊對照,學習效率更高。
阿爾瓦羅·莫雷納·阿爾貝羅拉(álvaro Morena Alberola)是一名熱愛機器人學和人工智能的計算機工程師,目前從事軟件開發(fā)工作。álvaro對基于人工視覺的人工智能(AI)核心部分非常感興趣,并且喜歡嘗試新技術和先進的工具。對他來說,機器人可以讓人類的生活更輕松,并且可以幫助人們完成他們自己無法完成的任務。
貢薩洛·莫利納·加列戈(Gonzalo Molina Gallego)是一名計算機科學專業(yè)的碩士,主修人工智能和自然語言處理。他構建過基于文本的對話系統(tǒng)和對話代理,擅長提供方法論層面的建議。目前,他致力于研究跨領域對話系統(tǒng)方向的新技術。Gonzalo認為,未來的用戶界面是基于對話的。
烏奈·加雷·馬埃斯特雷(Unai Garay Maestre)是一名計算機科學專業(yè)的碩士,主修人工智能和計算機視覺。在為2018年的CIARP大會貢獻的一篇論文中,他提出了一種使用變分自編碼器進行數據增強的新方法。他同時是一名機器學習工程師,使用深度神經網絡處理圖像。
第 1章 機器人學基礎 1
1.1 簡介 1
1.2 機器人學的歷史 2
1.3 人工智能 3
1.3.1 自然語言處理簡介 4
1.3.2 計算機視覺簡介 5
1.3.3 機器人的類型 5
1.3.4 機器人的硬件和軟件 6
1.4 機器人定位 8
1.4.1 練習1:計算機器人的位置 10
1.4.2 如何進行機器人開發(fā) 12
1.4.3 練習2:使用Python計算輪子走過的距離 12
1.4.4 練習3:使用Python計算機器人的最終位置 13
1.4.5 項目1:使用Python和測距法進行機器人定位 15
1.5 小結 16
第 2章 計算機視覺 17
2.1 簡介 17
2.2 計算機視覺基本算法 18
2.2.1 圖像相關術語 18
2.2.2 OpenCV 19
2.2.3 閾值化 19
2.2.4 練習4:對圖像應用各種閾值化操作 21
2.2.5 形態(tài)學變換 25
2.2.6 練習5:對圖像應用形態(tài)學變換 27
2.2.7 模糊(平滑) 31
2.2.8 練習6:對圖像應用模糊方法 32
2.2.9 練習7:加載圖像并應用所學的各種方法 34
2.3 機器學習簡介 38
2.3.1 決策樹和提升方法 38
2.3.2 練習8:使用決策樹、隨機森林和AdaBoost進行數字
預測 41
2.3.3 人工神經網絡 47
2.3.4 練習9:構建第 一個神經網絡 51
2.3.5 項目2:對Fashion-MNIST數據集中的10種衣物進行分類 54
2.4 小結 56
第3章 自然語言處理 57
3.1 簡介 57
3.1.1 自然語言處理 58
3.1.2 自然語言處理的兩個部分 59
3.1.3 NLP的各層次 60
3.2 Python中的NLP 61
3.2.1 自然語言工具包(NLTK) 61
3.2.2 練習10:NLTK入門 62
3.2.3 spaCy 65
3.2.4 練習11:spaCy入門 67
3.3 主題建!70
3.3.1 詞頻-逆文檔頻率(TF-IDF) 70
3.3.2 潛在語義分析(LSA) 71
3.3.3 練習12:使用Python進行主題建!72
3.3.4 項目3:處理一個語料庫 75
3.4 語言建模 76
3.4.1 語言模型簡介 76
3.4.2 二元模型 77
3.4.3 N元模型 77
3.4.4 計算概率 78
3.4.5 練習13:創(chuàng)建一個二元模型 80
3.5 小結 83
第4章 NLP神經網絡 84
4.1 簡介 84
4.2 循環(huán)神經網絡 86
4.2.1 循環(huán)神經網絡(RNN)簡介 87
4.2.2 循環(huán)神經網絡原理 87
4.2.3 RNN架構 89
4.2.4 長距離依賴問題 89
4.2.5 練習14:使用RNN預測房價 90
4.2.6 長短期記憶網絡 93
4.2.7 練習15:預測數學函數的下一個解 94
4.3 神經語言模型 100
4.3.1 神經語言模型簡介 100
4.3.2 RNN語言模型 102
4.3.3 練習16:對一個小語料庫進行編碼 103
4.3.4 RNN的輸入維度 107
4.3.5 項目4:預測字符序列中的下一個字符 109
4.4 小結 111
第5章 計算機視覺中的卷積神經網絡 112
5.1 簡介 112
5.2 CNN基礎 113
5.3 構建第 一個CNN 118
練習17:構建一個CNN 119
5.4 改進模型的方法:數據增強 124
5.4.1 練習18:利用數據增強改進模型 125
5.4.2 項目5:使用數據增強來正確對花朵圖像進行分類 134
5.5 最先進的模型:遷移學習 137
練習19:基于遷移學習對鈔票進行分類 139
5.6 小結 144
第6章 機器人操作系統(tǒng)(ROS) 146
6.1 簡介 146
6.2 ROS基本概念 147
6.3 ROS基本命令 148
6.4 安裝和配置 149
6.5 Catkin工作空間和軟件包 149
6.6 發(fā)布者和訂閱者 150
6.6.1 練習20:編寫簡單的發(fā)布者和訂閱者 151
6.6.2 練習21:編寫較復雜的發(fā)布者和訂閱者 154
6.7 模擬器 159
6.7.1 練習22:Turtlebot配置 159
6.7.2 練習23:模擬器和傳感器 161
6.7.3 項目6:模擬器和傳感器 163
6.8 小結 164
第7章 構建基于文本的對話系統(tǒng)(聊天機器人) 165
7.1 簡介 165
7.2 向量空間中的詞表示 166
7.2.1 詞嵌入 166
7.2.2 余弦相似度 167
7.2.3 Word2Vec 168
7.2.4 Word2Vec的問題 169
7.2.5 Gensim 169
7.2.6 練習24:創(chuàng)建詞嵌入 169
7.2.7 全局向量(GloVe) 173
7.2.8 練習25:使用預訓練的GloVe模型觀察詞語在平面上的分布 174
7.3 對話系統(tǒng) 179
7.3.1 聊天機器人的開發(fā)工具 180
7.3.2 對話代理的類型 180
7.3.3 創(chuàng)建基于文本的對話系統(tǒng) 182
7.3.4 練習26:創(chuàng)建第 一個對話代理 184
7.3.5 項目7:創(chuàng)建一個用來控制機器人的對話代理 189
7.4 小結 191
第8章 利用基于CNN的物體識別來指導機器人 193
8.1 簡介 193
8.2 多物體識別和檢測 194
8.2.1 練習27:構建第 一個多物體檢測和識別系統(tǒng) 195
8.2.2 ImageAI 200
8.3 視頻中的多物體識別和檢測 202
項目8:視頻中的多物體檢測和識別 206
8.4 小結 206
第9章 機器人的計算機視覺 208
9.1 簡介 208
9.2 Darknet 209
Darknet基礎安裝 209
9.3 YOLO 210
9.3.1 使用YOLO進行預測 211
9.3.2 在攝像頭上使用YOLO 215
9.3.3 練習28:YOLO編程 215
9.3.4 練習29:在ROS中集成YOLO 219
9.3.5 項目9:機器人保安 223
9.4 小結 224
附錄 本書項目概覽 225