這隻鼠標學會了自己玩FPS遊戲,在訓練場中準度不輸職業選手

能自動瞄準並“精準命中”,還不會被封號的FPS外掛,你見過嗎?現在,真的有一位CMU研究生小哥,將自己的鼠標變成了FPS遊戲里的“神狙手”!給它安上四個輪子后,鼠標便能根據CV算法反饋,自動瞄準並實現一槍狙擊。

蕭簫 發自 凹非寺

這隻鼠標學會了自己玩FPS遊戲,在訓練場中準度不輸職業選手

在這之前,雖然也有一些物理外掛,但還不至於自動化到讓鼠標自己移動並完成射擊。

如果選擇第三方軟件修改等外掛,又極容易被直接封號。

思索一番,這位小哥便開發了一個能自己瞄準目標的FPS物理外掛,目前在訓練場Aim Lab中的成績已經超過了一些FPS專業玩家——

人類FPS專家平均在80000~90000分左右,而它拿到了110000+分。

有網友看完后表示“絕不簡單”:對於寫過代碼的人來說,這可沒聽上去那麼輕鬆。

這隻鼠標學會了自己玩FPS遊戲,在訓練場中準度不輸職業選手

所以,他究竟是怎麼做到的呢?

將鼠標變成“神狙手”

為了讓鼠標自己“學會”瞄準,這名小哥首先給鼠標設計了一個底盤。

在他的設想中,這個底盤要能帶着鼠標靈活移動,原理大概像這樣:

這隻鼠標學會了自己玩FPS遊戲,在訓練場中準度不輸職業選手

思路有了后,最終底盤用到了四個全向輪和對應的控制電機。

這隻鼠標學會了自己玩FPS遊戲,在訓練場中準度不輸職業選手

簡單來說,各個方向的全向輪(omni wheels),能夠讓機器人朝向任意方向靈活運動,包括直接走直線等,而這些輪子分別由不同的電機控制。

這隻鼠標學會了自己玩FPS遊戲,在訓練場中準度不輸職業選手

基本的移動操作實現后,就是利用計算機視覺算法,來讓它學會“自己尋找獵物”了。

小哥基於OpenCV寫了一個Python目標檢測算法,訓練它能夠根據目標的位置迅速瞄準對應的目標:

這隻鼠標學會了自己玩FPS遊戲,在訓練場中準度不輸職業選手

從視覺數據反饋到操作上,小哥採用了PID控制算法,讓機器人學會自己去找距離最近的“射擊點”,來在規定時間內瞄中更多的物體:

這隻鼠標學會了自己玩FPS遊戲,在訓練場中準度不輸職業選手

當瞄準物體后,這個機器人就會自行觸發鼠標“點擊”的動作,從而完成自動射擊。

在測試中超過部分專業玩家

為了加強這個機器人的能力,小哥在一個叫做Aim Lab的第一人稱射擊遊戲模擬器中對它進行訓練。

目前,有不少專業FPS玩家都會在Aim Lab中訓練,裡面也包含了各種不同類型的射擊任務,例如人形移動靶、飛靶等。

這隻鼠標學會了自己玩FPS遊戲,在訓練場中準度不輸職業選手

小哥訓練的這個“鼠標機器人”,主要針對的還是顏色球射擊,其中視覺算法自動找到帶顏色的球體,然後機器人跟上去瞄準射擊。

調測了兩個月算法后,小哥終於訓練出了比較滿意的機器人,目前在Aim Lab中最高拿到了118494的分數,超過了不少專業FPS玩家。

△一名職業選手公開分數

△一名職業選手公開分數

不過目前它還沒有打破Aim Lab的最高紀錄(146902分)。

也有一個原因是在挑戰最高分數的過程中,它的底盤因轉速過快燒毀了一個電機,無法再度挑戰最高分(手動狗頭)。

開發這個物理外掛的小哥名叫Kamal Carter,本科畢業於CMU,目前在CMU讀碩士研究生,同時也在Howie Choset教授創立的HEBI Robotics公司工作。

這隻鼠標學會了自己玩FPS遊戲,在訓練場中準度不輸職業選手

據小哥自己介紹,他高中的時候就開始玩機器人了,目前研究興趣也是機械設計和CAD等。

對此有網友調侃,這個機器人值得一個更好的鼠標:

這隻鼠標學會了自己玩FPS遊戲,在訓練場中準度不輸職業選手

但也有網友認為,小哥具有這般能力,更應該做點有用的東西,而不是搞這些物理外掛。

這隻鼠標學會了自己玩FPS遊戲,在訓練場中準度不輸職業選手

那麼,你覺得呢?

OpenCV視覺算法教程:https://docs.opencv.org/4.x/df/d9d/tutorial_py_colorspaces.html

(0)
上一篇 2022-05-18 16:20
下一篇 2022-05-18 16:20

相关推荐