本書前2章將依序介紹實現AI神經網路推論於邊緣運算裝置為何是目前最熱門的趨勢,並選定NVIDIA Jetson Nano 4GB開發套件作為本書主要開發環境。
第3章介紹多種深度學習視覺推論應用。到了第4章,說明如何存取Jetson Nano之GPIO腳位來結合常見的周邊電子裝置,意即您可在現存的簡易家電裝置上自行整合更豐富的AI功能。
第5章與第6章將介紹如何使用JetBot機器人平台來實現自動駕駛車常見的功能,包含障礙物閃避與道路跟隨等。讀者將自行收集資料來建立訓練資料集來建立專屬的神經網路模型。最後於第七章,將整合Intel RealSense景深攝影機讓Jetson Nano整合具備深度資訊的影像處理功能。
本書特色
本書將帶領讀者進入熱門的邊緣AI(Edge AI)領域,並直接在NVIDIA Jetson Nano 單板電腦實作各種深度學習神經網路結合機器視覺的實務性範例,並以JetBot移動式輪型機器人平台來實現障礙物閃避與道路跟隨等自動駕駛車常見的功能。
本書也會介紹如何透過 Intel RealSense 景深攝影機讓您的邊緣專案具備深度視覺功能。
"AI 不難,現在就開始吧!"
本書作者群為NVIDIA原廠認證之Jetson AI大使與Jetson AI專家。
作者簡介:
曾吉弘
CAVEDU教育團隊技術總監
美國麻省理工學院電腦科學與人工智慧實驗室訪問學者
NVIDIA Jetson AI ambassador
郭俊廷
CAVEDU教育團隊資深講師
NVIDIA Jetson AI specialist
章節試閱
作者序
延續上一本《實戰AI資料導向式學習》已經兩年了,CAVEDU所寫所翻譯的書籍也即將邁入60本了。期間我們也看到了各家科技巨頭紛紛推出了各類好用的AI開發工具,原本高高在上的技術變成簡單又好用,在教學上的應用也紛紛出籠,孩子與初學者們都能理解並享受AI技術所帶來的躍進。政府也投入了非常多的資源在培育新一代的科技人才,例如AIGO高中職生AI扎根計畫每年都吸引全台近千位學子參加,足見政府對於本領域的重視。
延續了CAVEDU對於機器人的熱愛,也適逢NVIDIA推出了非常適用於教學的Jetson Nano單板電腦,因而催生了本書。本書整合了四大領域:程式設計、影像處理、深度學習神經網路與機器人控制。追尋高階技術的同時,CAVEDU也保持投身科技教育的初心:為更多初學者準備合適且循序漸進的優質內容。
這段美好旅程中,很高興有您的支持與鼓勵。
曾吉弘博士 CAVEDU教育團隊NVIDIA Jetson AI大使
1.1 邊緣運算裝置
邊緣運算裝置(Edge computing device),或簡稱邊緣裝置。以往這類裝置是被部署在物聯網的終端,具備平價的運算晶片來連接一些感測器或致動器來做到非常有限的應用,例如記錄溫溼度或是控制電梯等等。這類裝置的特色是運算能力較弱、耗電量低,但有辦法介接實體周邊裝置,而最後一項正是它最迷人的地方。您很容易就可以使用常見的Arduino、ESP32或microbit等平價開發板,搭配一些免費的雲端服務來做出各種簡易的聯網互動應用。
隨著人們對於電子產品所提供的服務期望愈來愈高,相同的成本所能取得的運算能力也愈來愈高。回想一下您的智慧型手機,今年的手機規格必定遠勝於去年以相同金額所買到的,對吧?另一方面,各類AI的應用也陸續出現在我們的日常生活中,其中又以影像與語音為主要的應用場域,包含人臉辨識、相似圖片搜尋與Google語音助理、Apple siri等。這需要在裝置中部署可執行特定AI運算的晶片,同時要能滿足耗電以及價格的需求。台灣的廠商在這個領域中扮演了非常重要的角色,包含台積電與聯發科等諸多公司,實現了這項不可能的任務。
根據相關研究(註1-1),2020年的邊緣AI晶片出貨量已超過7.5億顆,市場規模額將達數十億美元的規模,而且邊緣AI晶片的成長速度將遠高於整體晶片市場,愈來愈多消費性電子裝置中都會裝有某種邊緣AI晶片,其中當然以智慧型手機為主力,另外也包含機器人、攝影機、感測器和物聯網等領域。由於 AI 運算需要相當高規格的處理器,以往的作法是在具備高階運算硬體的資料中心執行之後,再把運算結果發送回終端裝置,而不是在終端裝置本地執行。這種傳統的做法對於網路品質(速度與頻寬)有相當高的要求,並且資料發生點與運算中心之間的物理距離就是延遲的主因。因此,邊緣運算可以直接在資料發生點(例如讀取感測器值數值)即時計算,減少資料和運算點之間的物理距離影響程度,來減少系統不確定性並加快應用程式的執行速度。
就蒐集到的資料量與場所而言,邊緣裝置才是實際產生資料的地方,且一個場域中的多個裝置在短時間之內就可累積數GB甚至幾 TB的資料,這麼大規模的原始資料如果一股腦地丟回中央運算中心處理,將需要相當可觀的網路頻寬,對於運算中心的運算量要求也日益吃重。因此,如果原本只負責產生資料的裝置也能執行一部份運算,而只將運算結果或關鍵資料回傳給中央運算中心的話,可以減少在遠端伺服器上往返傳輸資料所造成的延遲,有效降低頻寬問題所造成的負擔。像是自動駕駛車、工廠機器人、醫院裡的醫療影像機器、零售店POS與各類監控攝影機等等都預期可因為邊緣運算技術能有更進一步的提升。
作者序
延續上一本《實戰AI資料導向式學習》已經兩年了,CAVEDU所寫所翻譯的書籍也即將邁入60本了。期間我們也看到了各家科技巨頭紛紛推出了各類好用的AI開發工具,原本高高在上的技術變成簡單又好用,在教學上的應用也紛紛出籠,孩子與初學者們都能理解並享受AI技術所帶來的躍進。政府也投入了非常多的資源在培育新一代的科技人才,例如AIGO高中職生AI扎根計畫每年都吸引全台近千位學子參加,足見政府對於本領域的重視。
延續了CAVEDU對於機器人的熱愛,也適逢NVIDIA推出了非常適用於教學的Jetson Nano單板電腦,因而催生了本書。本書整...
目錄
第1章單板電腦與邊緣運算
1.1邊緣運算裝置
1.2單板電腦
1.3NVIDIA線上資源
1.4NVIDIA Jetson 家族
1.5Jetson Nano 初體驗
第2章 Jetson Nano 初體驗
2.1 Jetson Nano開機!
2.2 OpenCV電腦視覺函式庫
第3章深度學習結合視覺辨識應用
3.1 深度學習介紹
3.2 jetson-inference相關軟體安裝
3.3 影像辨識範例
3.4 物件偵測範例
3.5 影像分割範例
第4章 Jetson Nano GPIO硬體控制
4.1 Jetson Nano GPIO腳位介紹
4.2 安裝GPIO套件
4.3 數位輸入、輸出
4.4 I2C LCD 螢幕
第5章JetBot視覺機器人
5.1 JetBot
5.2 Jupyter Lab基礎操作介紹
5.3 JetBot範例程式
第6章JetBot深度視覺機器人
6.1 淺談深度學習
6.2 障礙迴避
6.3 道路跟隨
第7章整合景深視覺
7.1 Intel RealSense景深攝影機
7.2 在Jetson Nano上安裝RealSense 套件
7.3 在RealSense Viewer中檢視景深影像
7.4 RealSense的Python範例
7.5 使用RealSense D435-辨識人臉與距離
第1章單板電腦與邊緣運算
1.1邊緣運算裝置
1.2單板電腦
1.3NVIDIA線上資源
1.4NVIDIA Jetson 家族
1.5Jetson Nano 初體驗
第2章 Jetson Nano 初體驗
2.1 Jetson Nano開機!
2.2 OpenCV電腦視覺函式庫
第3章深度學習結合視覺辨識應用
3.1 深度學習介紹
3.2 jetson-inference相關軟體安裝
3.3 影像辨識範例
3.4 物件偵測範例
3.5 影像分割範例
第4章 Jetson Nano GPIO硬體控制
4.1 Jetson Nano GPIO腳位介紹
4.2 安裝GPIO套件
4.3 數位...