2021.02.03 13:00

你在網路上看到的零失誤遊戲影片,可以直接用AI做出來

ADVERTISEMENT

如今,能像打遊戲一樣,控制真人網球運動員的每一個動作,「贏得」比賽:

甚至能一格格控制,製作一個0失誤的彈球遊戲影片:

ADVERTISEMENT

還可以像夾娃娃機一樣,想讓影片中的機器人夾爪往哪動,它就往哪動:

ADVERTISEMENT

製作各種影片,現在就像是打遊戲一樣簡單,效果還非常逼真。

果然,這又是AI的「功勞」。

「可玩」影片產生器

只需要敲幾下鍵盤,就能控制影片中某個目標的方法,叫做「Playable video generation」。

ADVERTISEMENT

也就是說,不需要影片剪輯技巧,只需要用幾個鍵來指示動作標籤,使用者就能像「打遊戲」一樣,控制目標的每一格動作,製作出影片來,效果絲滑流暢。

不過,與遊戲不同的是,這種方法甚至可以通過AI預測動作,來控制真實影片中的目標。

ADVERTISEMENT

這是怎麼做到的?

作者們利用自監督的方法,讓模型學習了大量無標籤影片。

也就是說,給出一組無標籤影片,讓模型學習出一組離散的動作,和一個能透過這些動作、產生影片的模型。

為此,作者設計了一種encoder-decoder結構CADDY,其中預測的動作標籤則起到瓶頸層(bottleneck)的作用。

這些可播放影片產生結構,由若干組件組成,其中編碼器E,從輸入影片序列中,提取影格的特徵。

而時序模型,則採用遞歸神經網路R、和用來預測輸入動作標籤的網路A,用於估計目標連續的動作狀態。

最後,用解碼器D,來重構輸入幀,就能產生可控制的影片模型了。

訓練資料集&操作方法

當然,想要讓模型達到開頭那樣的效果,還需要對應的影片資料集。

作者們用了3個資料集來訓練,分別是RoboNet、Atari Breakout和Tennis。

RoboNet資料集,是柏克萊人工智慧研究所(BAIR)做的一個機械臂資料集,共有1500萬個影片幀。

這個資料集,包含各種機器人的攝像記錄、機械臂姿勢、力傳感器讀數和夾爪狀態。

而Atari Breakout,則是一個彈球遊戲,這是一個非常簡單的2D像素遊戲,玩家通過控制平板左右移動,讓彈球準確地彈掉天花板上的磚塊,以此得分。

這一遊戲,已經專門為AI設立了一個排行榜,目前得分最高的仍然是谷歌DeepMind的MuZero。

而能控制模型一格格產生遊戲影片的CADDY模型,也是通過這個遊戲訓練出來的。

也就是說,只要玩得夠慢,絕對能「0失誤」做出「完美彈球遊戲影片」來。(細思極恐)

假裝是自己玩的

至於網球資料集,作者們是在油管下載的(還需要安裝youtube-dl),透過油管上的網球影片,做出真人可控的錄影來。

說不定,將來還能操作自己喜歡的網球巨星,來與好友進行一場世界級的「實戰」博弈。

此外,既可以透過專案地址來下載上述的三個模型,也可以自己準備想用的影片資料集(要求MP4格式),來訓練出目標可控的影片。

具體到模型運行上,作者們推薦用Linux系統來運行模型,訓練的話,最好自帶1個或以上兼容CUDA的GPU。

此外,模型提供Conda環境和Dockerfile,用於配置所需要的庫。

準備好後,就能進行模型訓練和評估了。

在線Demo可玩

目前,這一模型的「彈球遊戲」版在線Demo已出,玩家可以通過控制左、右、或保持,這三種動作,來讓彈球準確地擊打到平板上。

如果你是手殘黨,用這個demo製作出來的影片,絕對能讓你體會到遊戲0失誤的快樂。

文末附demo鏈接,趕緊上手試試吧~

作者介紹

Aliaksandr Siarohin和Elisa Ricci,分別是來自特倫託大學的博士生和助理教授,主要研究方向包括計算機視覺、機器人和機器學習等。

ADVERTISEMENT