這只鼠標學會了自己玩FPS遊戲,在訓練場中準度不輸職業選手
能自動瞄準並“精準命中”,還不會被封號的FPS外掛,你見過嗎?現在,真的有一位CMU研究生小哥,將自己的鼠標變成了FPS遊戲裡的“神狙手”!給它安上四個輪子後,鼠標便能根據CV算法反饋,自動瞄準並實現一槍狙擊。
蕭簫發自凹非寺
在這之前,雖然也有一些物理外掛,但還不至於自動化到讓鼠標自己移動並完成射擊。
如果選擇第三方軟件修改等外掛,又極容易被直接封號。
思索一番,這位小哥便開發了一個能自己瞄準目標的FPS物理外掛,目前在訓練場Aim Lab中的成績已經超過了一些FPS專業玩家——
人類FPS專家平均在80000~90000分左右,而它拿到了110000+分。
有網友看完後表示“絕不簡單”:對於寫過代碼的人來說,這可沒聽上去那麼輕鬆。
所以,他究竟是怎麼做到的呢?
將鼠標變成“神狙手”
為了讓鼠標自己“學會”瞄準,這名小哥首先給鼠標設計了一個底盤。
在他的設想中,這個底盤要能帶著鼠標靈活移動,原理大概像這樣:
思路有了後,最終底盤用到了四個全向輪和對應的控制電機。
簡單來說,各個方向的全向輪(omni wheels),能夠讓機器人朝向任意方向靈活運動,包括直接走直線等,而這些輪子分別由不同的電機控制。
基本的移動操作實現後,就是利用計算機視覺算法,來讓它學會“自己尋找獵物”了。
小哥基於OpenCV寫了一個Python目標檢測算法,訓練它能夠根據目標的位置迅速瞄準對應的目標:
從視覺數據反饋到操作上,小哥採用了PID控制算法,讓機器人學會自己去找距離最近的“射擊點”,來在規定時間內瞄中更多的物體:
當瞄準物體後,這個機器人就會自行觸發鼠標“點擊”的動作,從而完成自動射擊。
在測試中超過部分專業玩家
為了加強這個機器人的能力,小哥在一個叫做Aim Lab的第一人稱射擊遊戲模擬器中對它進行訓練。
目前,有不少專業FPS玩家都會在Aim Lab中訓練,裡面也包含了各種不同類型的射擊任務,例如人形移動靶、飛靶等。
小哥訓練的這個“鼠標機器人”,主要針對的還是顏色球射擊,其中視覺算法自動找到帶顏色的球體,然後機器人跟上去瞄準射擊。
調測了兩個月算法後,小哥終於訓練出了比較滿意的機器人,目前在Aim Lab中最高拿到了118494的分數,超過了不少專業FPS玩家。
△一名職業選手公開分數
不過目前它還沒有打破Aim Lab的最高紀錄(146902分)。
也有一個原因是在挑戰最高分數的過程中,它的底盤因轉速過快燒毀了一個電機,無法再度挑戰最高分(手動狗頭)。
開發這個物理外掛的小哥名叫Kamal Carter,本科畢業於CMU,目前在CMU讀碩士研究生,同時也在Howie Choset教授創立的HEBI Robotics公司工作。
據小哥自己介紹,他高中的時候就開始玩機器人了,目前研究興趣也是機械設計和CAD等。
對此有網友調侃,這個機器人值得一個更好的鼠標:
但也有網友認為,小哥具有這般能力,更應該做點有用的東西,而不是搞這些物理外掛。
那麼,你覺得呢?
OpenCV視覺算法教程:https://docs.opencv.org/4.x/df/d9d/tutorial_py_colorspaces.html