五月婷婷欧美视频_少女频道在线观看高清_欧美日韩视频一区二区三区_7777精品伊久久久大香线蕉语言

首頁 > 機器人資訊 > 如何用200美元打造一款聽話的能人臉識別的無人機?

如何用200美元打造一款聽話的能人臉識別的無人機?

日期:2019-02-21   人氣:  來源:互聯網
簡介:如何用200美元打造一款聽話的能人臉識別的無人機? 本文作者是LukasBiewaldCrowdFlower的創始人,Lukas曾被《Inc.》雜志評選為30歲以下杰出企業家。CrowdFlower成立于2009年,是一個按需勞動力的大數據平臺,幫助企業收集培訓數據并進行人機交互機器學習。……

如何用200美元打造一款聽話的能人臉識別的無人機?

本文作者是LukasBiewaldCrowdFlower的創始人,Lukas曾被《Inc.》雜志評選為30歲以下杰出企業家。CrowdFlower成立于2009年,是一個按需勞動力的大數據平臺,幫助企業收集培訓數據并進行人機交互機器學習。

LukasBiewald畢業于斯坦福大學,KUKA機器人維修,獲得數學學士學位和計算機科學碩士學位。Lukas曾任職Yahoo日本搜索團隊主管,之后作為高級數據科學家就職于Powerset,該公司于2008年被微軟收購。

深度學習和廉價硬件的探索

早期航空器,1818(來源:維基百科&美國國會數據庫)

在制造了一個圖像識別機器人后,顯然下一步是制作一個可飛行的版本。于是我決定打造一款能夠進行面部識別并響應語音命令的自動化無人機。

選擇一款預制無人機

對無人機進行編程,最難的部分是如何開始,我是從組裝無人機零件開始的。但是幾乎和之前所有DIY項目一樣,自己組裝無人機花了我很多的錢。而且坦白的說,我手工打造的無人機一直沒有穩定飛行過。可以肯定的是,直接購買預制版本才是更加簡單經濟的選擇。

大多數無人機制造商都聲稱提供API接口,但對于業余愛好者來說并沒有什么明顯的優勢。市面上帶似乎可用的API接口的無人機,大多售價都超過1000美元,這是一個很高的進入門檻。

經過一些調查以后,我發現了ParrotARDrone2.0(見下圖)。我認為對于業余愛好者來說,這是一款理想的機器。它的價格不高,還可以進行編程。你可以選擇花200美元買一臺新機器,但由于很多人買了無人機又從來不使用它們,因此購買一臺二手機器也是個不錯的選擇。在eBay上二手無人機的售價大約是130美元甚至更低。

△我收藏的各類無人機,ParrotARDrone無人機掛在最左邊

ParrotAR無人機飛行的穩定性沒有更貴的新款ParrotBebop2.0好(售價大約550美元),但是ParrotAR提供一個好用的node.js客戶端庫叫做node-ar-drone,很適合在上面進行開發。

另外一個優勢:ParrotAR無人機很結實。在測試自動化程序的過程中,機器人維修,無論它被撞墻上、家具上、室內植物上和客人身上,他仍然能夠良好的飛行。

相比給地面機器人編程,給無人機編程最糟的地方是電池續航時間短。一塊電池需要充電幾個小時,才能飛行大約10分鐘的時間。因此我建議多買兩塊備用電池,測試的時候可以循環使用。

給我的無人機編程

由于Javascript天生的驅動能力,因此是非常理想的無人機編程語言。相信我,無人機飛行中會遇到很多異步事件。我雖然沒有在Node上花費很多時間,但這個語言讓我印象深刻。我最近一次認真的為機器人編程使用的是C語言。用C語言處理線程和各種異常是十分痛苦的,因此最好少用。我希望有人為其它無人機平臺建立Javascript開發包,因為這個語言讓我們處理不確定性的開發事件,變得簡單有趣。

架構

我決定在筆記本電腦上運行邏輯,在云端進行機器學習。比起直接在樹莓派硬件上運行神經網絡,這種架構的延遲更低。我認為這種架構對目前的業余無人機開發項目來說是可行的。

微軟、谷歌、IBM和亞馬遜都有快速、廉價的云端機器學習API。最終,我選擇了微軟認知服務API(CognitiveServiceAPI)。因為這是唯一一個提供定制面部識別功能的API。

△無人機的架構

入門

默認情況下,ParrotARDrone2.0帶有可供客戶端連接的無線網絡。這個功能對編程者來說非常麻煩。每次你希望嘗試什么的時候,需要先斷開你的網絡然后連上無人機的網絡。幸運的是,有一個名叫ardrone-wpa2的項目非常有用。它可以通過腳本讓無人機加入你自己的WiFi網絡。

遠程登錄到無人機是件十分有趣的事。Parrot運行在一個剝離版本的Linux上。你最近一次使用遠程登錄功能是什么時候?連接了什么東西?以下是打開終端并直接登錄無人機的示例。

用命令行模式飛行

安裝node庫以后,創建一個node.jsREPL(Read-Evaluate-Print-Loop)并用它引導無人機:

如果你一直跟著做到這步,那么現在你的無人機肯定已經摔過至少幾次了。我上千次重新粘貼了安全殼,直到它徹底損壞,不得不買一個新的。我猶豫要不要提這個,實際上ParrotAR在不安裝安全殼的情況下飛得更好。但無人機在沒有安全殼的情況下更加危險,因為當無人機撞上什么東西時,螺旋槳可能會折斷,而且會在家具上留下痕跡。

通過網頁控制飛行

為無人機構建基于web的操作界面并不困難,而且結果令人滿意(見下圖)。使用Express.js框架可以輕松的構建一個漂亮的web服務器。

我設置了一個按鈕來實現AJAX請求。

從無人機上獲得視頻流

我發現使用無人機攝像頭發送反饋的最佳方法是打開一個連接,并將我的網絡服務器中的PNG連續發送到我的網站。我的網絡服務器使用AR無人機庫從無人機攝像頭中連續拉取PNG圖片。

在無人機圖像上運行人臉識別

Azure的面部API功能強大且易用。它可以識別你上傳的朋友照片,也可以猜測年齡和性別,我發現這兩個功能的準確率高得令人驚訝。延遲時間約為200毫秒,費用是1.5美元/1,000次。對我開發的這個程序來說,這是完全合理的。下面是關于如何發送一個圖像并進行面部識別的代碼。

我使用ImageMagick庫來注釋PNG圖片中的面孔。在這點上有很多可以擴展的方向,如使用情感API確定面部的情緒等。

運行語音識別控制無人機

語音識別部分最棘手的不是語音識別本身,而是以微軟的SpeechAPI要求的格式將音頻流從網頁傳輸到本地服務器,最終代碼的大部分是為了實現這個功能。一旦你能夠通過單通道采集到正確頻率的音頻,www.twshmhelmet.com,這個API就可以很好的工作,而且非常容易使用。它的價格是4美元/1000次請求,這對于業務愛好者的應用來說,基本上算是免費的。

RecordRTC有一個很好的庫,這是客戶端網絡音頻錄制的好起點。在客戶端上,我們可以添加代碼來保存音頻文件:

我使用FFmpeg程序減少音頻采樣點,并將其合并為一個通道,上傳到微軟:

自主搜索路徑

我用ardrone-autonomy庫為我的無人機繪制自動尋徑地圖。在無人機無數次墜落在客廳的家具和植物上后,我妻子好心的建議我把我的項目搬到車庫里去。那里沒有太多可破壞的東西了,但也沒有太多的空間(見下圖)。

△在我的實驗室里試飛無人機

如果我能獲得更大的實驗空間,我會繼續研究智能搜索算法。但現在我只需要讓我的無人機能夠起飛、旋轉,去尋找我的朋友和敵人:

小結

一旦建立好一切,你可以通過API控制無人機視頻源,無人機編程就變得非常有趣。伴隨著新的圖像識別技術,給我們提供了各種應用的可能,無論從觀察地面植物到在墻壁上作畫。Parrot無人機不是為在室內小空間飛行設計的,一個價格更高的無人機能讓整個應用變成現實。最終,無人機會變得更加穩定,現實世界中將出現大量類似的應用。

免責聲明:本網部分文章和信息來源于互聯網,本網轉載出于傳遞更多信息和學習之目的。如轉載稿涉及版權等問題,請立即聯系網站所有人,我們會予以更改或刪除相關文章,保證您的權利。
主站蜘蛛池模板: 延安市| 嘉义市| 徐水县| 乐陵市| 北辰区| 天长市| 黎平县| 洛隆县| 开平市| 聂拉木县| 舞钢市| 封开县| 岗巴县| 沁阳市| 长泰县| 桦川县| 宝应县| 天峨县| 乐昌市| 营口市| 进贤县| 大名县| 松桃| 平果县| 长岭县| 盐源县| 湖北省| 社会| 策勒县| 抚宁县| 阳城县| 泰和县| 柳州市| 台江县| 凤翔县| 德兴市| 太保市| 蓬莱市| 即墨市| 绥化市| 衡山县|