當前位置:
首頁 > 知識 > 使用 Tensorflow 物體檢測來玩射擊遊戲《反恐精英》

使用 Tensorflow 物體檢測來玩射擊遊戲《反恐精英》

本文為 AI 研習社編譯的技術博客,原標題 :

Using Tensorflow Object Detection to control first-person shooter games

作者 |Chintan Trivedi

翻譯 | Yukiqq

校對 | 醬番梨 整理 | 菠蘿妹

https://towardsdatascience.com/using-tensorflow-object-detection-to-control-first-person-shooter-games-c2c7f1daf2e9

本篇文章我將介紹如何使用TensorFlow目標檢測模型來玩經典FPS遊戲——「反恐精英」。

使用我的網路攝像機和TensorFlow目標檢測模型玩「反恐精英」

方才,我偶然發現了這樣一個有趣的項目。文章作者是利用網路攝像頭玩經典遊戲「格鬥之王」。他藉助網路攝像頭記錄的信息、結合CNN和RNN的使用來識別踢打和拳擊的動作。之後,他將模型輸出的預測值翻譯成遊戲中用到的準確動作。這確實是一個很棒的玩兒法~

用網路攝像頭和深度學習來玩「格鬥之王」。原文可以在這裡找到。

受這個項目的啟發,我於是做了一個類似的控制界面,它可以通過TensorFlow目標檢測模型的預測結果玩FPS(第一人稱設計遊戲)。

這個項目的代碼可以在我的GitHub主頁上找到,鏈接如下:

ChintanTrivedi/DeepGamingAI_FPSAn FPS game controller that uses webcam and deep learning to play games - ChintanTrivedi/DeepGamingAI_FPSgithub.com

我設計的這個控制界面可以處理遊戲里如下幾個動作:

1.瞄槍

首先,為了在遊戲里環顧四周,我將一個網球作為我的目標檢測模型。基於屏幕里在我手上的這個網球的位置,我們可以設置滑鼠的位置,進而控制我們的玩家在遊戲里瞄準的位置。

2.移動玩家

緊接著,為了指揮遊戲里的玩家前進,我會檢測我的食指動作。當食指豎起來時,玩家會前進;而當我放下手指時,會停止玩家的動作。

3.開槍

第三個支持的動作是開槍。因為兩隻手都用在了瞄槍和前進上,我只能使用張嘴動作來控制開槍了。


目標檢測模型

這個用作目標檢測的模型叫MobileNet,它結合SSD使圖片本土化。我在不同的網球圖片、豎起的食指圖片和代表張開嘴的牙齒圖片上訓練該模型。它會在一個合理的速率上跑,這樣我就可以通過輕量級的模型實時控制我們的遊戲。


模型性能

就模型的性能而言,遊戲中檢測手指和牙齒的方法似乎相對可靠些。主要的問題在於能夠按照我們想要的位置準確地瞄槍。因為模型是跑在比遊戲還低的幀率上的,因此滑鼠的移動是跳躍式的、不太流暢。此外,在圖片邊緣網球的檢測效果不好,因此這種方法不太可靠。這個問題可以在離網路攝像頭稍遠的地方通過微調模型來有效檢測目標來解決,這樣我們就有足夠的空間移動網球,就能夠對我們的目標有更好的控制。

這個模型的遊戲性能效果可以在我的YouTube上看到。


總結

因為深度學習模型的強化,這個概念已經接近可能。為了替代遊戲中更多傳統的方式,這種控制機制的實際應用需要變得更完美。我能夠預測到這個想法的完美實現將使得FPS的遊戲過程變得更有趣。

謝謝欣賞。如果你喜歡本篇文章,請在Medium,GitHub平台上關注我,或者訂閱我的YouTube專欄。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI研習社 的精彩文章:

TAG:AI研習社 |