大數據文摘出品

作者:蔣寶尚

喜歡科幻的小夥伴肯定看過《機器人總動員》,男主角“瓦力”是一名地球廢品分裝員,每天在已經成爲了“垃圾場”的地球兢兢業業的收拾人類留下的“爛攤子”。

瓦力是名副其實的智能機器人,除了動作靈活之外,還擁有意識和情感。要不然也不會泡上了有着雞蛋外形的Eva。

但是,畢竟那是發生在2805年的事情。那時候人類都已經可以開啓宇宙之旅了,設計個智能機器人還不是分分鐘的事情。

在2019年,造不出擁有情感的機器人,但是用AI模型訓練出收拾垃圾的機器人,還是可以的。

一位名叫Damian Bogunowicz的慕尼黑工業大學碩士生,和他的小夥伴一起利用計算機視覺、深度強化學習和Unity 3D遊戲引擎開發了一款自主收集垃圾的機器人。

據Damian的博客介紹,他的這個想法最初來自慕尼黑工業大學博士研究會。這羣參會的“高端玩家”都很愛喝啤酒,也是慕尼黑啤酒節的常客。但是,看到每年慕尼黑啤酒節狂歡過後一片狼藉,他們陷入了深思........

通常,這些垃圾都是清潔工人收拾,會耗費大量的人力、物力。

Damian由此想到,是否能開發出一款智能機器人,全天候、高效率的幫助這些清潔工人,那麼他們的工作效率就會成幾何倍數增長。

環境和目標設置

說幹就幹!

他們的第一步是使用Unity 3D遊戲引擎模擬機器人,此外,還使用Unity Machine Learning Agents Toolkit(ML-Agents)插件,使遊戲場景成爲訓練智能體的環境。

在這個實驗中,他們將機器人的目標設置爲探索環境並學習正確的策略。然後設定一系列的獎勵和懲罰。

主要來說,機器人有兩個目標:

接近並收集垃圾,例如麪包渣、塑料袋以及香腸等食物殘渣。

不要與桌子和椅子發生碰撞,不要回收木托盤等物品因爲這不屬於房間內的垃圾。

在模擬環境中,機器人的形狀是正方體,主要有三個動作:

平移運動(向前、向後以及保持靜止)

轉向運動(左轉、右轉)

抓取狀態。

前兩個動作非常簡單,抓取狀態需要設計。總的來說,每次機器人決定收集一個物體時候需要滿足下面兩個條件:

1.物體必須靠近機器人的前部(限制在具有綠色邊緣的體積內)

2.機器人必須決定激活“抓取器”。當抓取狀態被激活時,機器人的顏色從白色變爲紅色。

懲罰和獎勵

機器人可以通過與環境的交互和反饋的信號來學習正確的策略。對此係統來說,懲罰值在-1~0之間浮動,獎勵值在0~1之間浮動。與其他強化學習不同的是,要在訓練數據的時候迅速獲得最好的策略,次要目標給予較小的獎勵值。當學習複雜任務時,從簡單任務入手,逐漸增加任務難度。

這些都可以在Unity ML-Agents中輕鬆能夠實現,具體來說將任務分爲兩個子目標,在環境中搜索垃圾、判斷何時激活抓取狀態。

算法訓練與模擬

機器人最初不太能分清楚要將哪種物品歸爲垃圾,後來,通過網絡將RBG圖像映射到語義分割圖,能夠有效獲得此信息。用數據通過Semantic Segmentation Suite訓練SegNet,易於調試和修改,從而節省算力。

另外,語義分割信息不是來自外部神經網絡。它是使用Unity中的着色器生成的,使用標籤對對象進行分段。這意味着智能體在訓練期間可以快速接收有關對象類的可靠,無噪聲的信息。

機器人認知的核心是“大腦”,這是決定智能體如何行動的部分。鑑於當前的環境狀況和要實現的目標,採用以下兩種方法:

1.近端策略優化,它通過與環境的交互作用在採樣數據之間進行交互,並利用隨機梯度上升優化目標函數。

2.讓系統觀察正確的行爲並進行模仿。這可以視爲監督學習,研究人員先“玩遊戲”一段時間,以便智能體能夠學習正確的策略。

另外,利用Unity ML-Agents提供的另外兩個解決方案:

1.使用循環神經網絡的內存增強代理 ,這可以允許智能體不僅可以對當前的輸入進行操作,還可以“記住”最後的輸入並在做出決策時將此附加信息包含在其推理決策中。

2.利用好奇心,賦予智能體一種好奇心,每當它發現與其當前知識不同的東西時,它會給予機器人內部獎勵。這鼓勵智能體探索世界時,更加“冒險”。

到目前爲止,智能體已經設法自己弄清楚了這兩項任務。但只是爲了好玩(或者爲了加快訓練過程),可以“硬編碼”第二個目標 。關於是否激活抓取機制設定一個簡單的函數,它考慮了兩個因素:我們面前的對象類(由語義分割圖定義);物體與機器人的距離(由深度圖提供)。

此功能可以通過以下方式進行硬編碼:從當前深度圖中,僅濾除屬於“可收集”類的那些。另外檢查像素最大值是否大於某個設定閾值。如果是,可收集物體足夠接近智能體,完成收集。

啓發式背後的決策

未來的大規模應用

以上模擬在虛擬環境中有較好的效果,但是如果想要大規模的應用到商業,還需一系列的改進。

Damian也給出了一些自己的想法:

1.安裝一系列用於垃圾回收的硬件,在機械設計上應該考慮到足夠的細節,例如安裝一個“鏟子”,可以無縫地將垃圾推入機器人的“腹部”,又或者在容器滿了之後,如何處理垃圾。

2.將該算法部署在一臺能夠處理實時語義分割的機器上,語義分割模型的推理時間太慢,一般的筆記本電腦無法進行實時仿真。

3.用RealSense攝像機將信息從仿真平臺傳遞給真實的機器人,這一部分工作是將在物理環境中部署機器人,這意味着通過在現實世界中運行機器人來微調算法,目前,強化學習在機器人技術中的應用還處於實驗階段。

“撿垃圾”機器人的其他妙用

收拾東西這件事情,可不僅僅是“慕尼黑啤酒節“才需要,應用場景還相當多,比如,週末大爬梯後的家。

其實,在幫你疊衣服,幫你把散落在地上的物品規整起來方面,智能機器人也已經可以做的很成熟。

在CEATEC JAPAN 2018會展上,由豐田汽車有限公司開發的“生活支援機器人HSR(Human Support Robot)”,展示了“全自動整理機器人系統”。

其利用深度學習技術開發的畫面識別引擎,哪怕數百種物品散亂在房間各處,引擎也能夠識別出物品的位置和種類。基於該識別引擎,人們可以規劃什麼物體應該怎麼去抓取以及如何整理等等。

該圖像識別引擎是通過採用了深度學習框架Chainer,ChainerMN以及ChainerCV的CNN(卷積神經網絡)來實現的。

這是安裝在機器人上的攝像頭的視點圖像以及識別結果的可視化動畫。通過顯示機器人所識別的房間地圖和當前位置,我們可以看到機器人是如何識別房間的。

系統能夠穩定地抓取各種形狀和材質的物體並且放置到規定的地方。

比如在整理圓珠筆時,攝像頭尋找筆筒位置,識別圓珠筆的朝向,調整朝向,放入筆筒。

系統通過不斷地重複人類在無意識中做出的一系列的判斷最終使之成爲可能。

通過增強現實(AR),我們可以看到機器人是如何思考的,比如顯示機器人是如何識別房間裏的狀況,接着會如何行動等信息。通過AR畫面,我們能夠更加直觀地把握機器人的狀態,從而發出更確切的指令。

在大會上,這款機器人獲得了“CEATEC AWARD 2018”的獎項裏的行業/市場部門的二等獎。

可能以後不僅清潔工,連收拾房子的保潔阿姨都不需要了。

點「在看」的人都變好看了哦

相关文章