设计一个 ConvNet 以促进游戏玩法

数据挖掘 神经网络 数据流挖掘
2022-01-22 17:10:24

为了好玩,我想设计一个卷积神经网络来识别第一人称射击游戏中的敌方 NPC。我已经捕获了 100 个 NPC 的 jpeg 以及 100 个非 NPC 的 jpeg。我已经成功训练了一个非常简单的 convNEt 来识别 NPC。这真的很简单,因为游戏实际上用红色标记突出了 NPC,让人类识别它们。让机器学习算法非常容易找到它们。

太好了,现在我可以对 NPC 的屏幕截图进行分类了。下一步是以每秒 60 帧的速度在数据流中识别这些。我们都知道,大多数相机内部的愚蠢的小处理器都有一个实时运行的人脸检测算法。所以我的带有 2 个 NVIDIA gpus 的 i7 可以毫不费力地做到这一点。所以现在我必须抓取屏幕缓冲区,捕获屏幕截图,将其提供给我的 conVnet,获取 NPC 的位置,然后将鼠标光标移动到该 NPC 的中心。

是否有任何易于遵循的在这样的数据流上运行卷积神经网络的教程?

1个回答

我最近开始使用 OpenCV 的 python 实现,我在这个网站上找到了一些很好的 OpenCV 教程:http: //www.pyimagesearch.com/,我非常喜欢。OpenCV 允许您使用 Haar Cascades 进行快速面部识别(默认情况下,它不使用卷积神经网络,而是使用 Ada Boosting 的优化实现,分阶段评估帧以加快处理速度)。OpenCV 将每一帧转换为多维 numpy 张量/矩阵,然后您可以将其输入到您的 ML 算法中(例如,在 TensorFlow 或其他库中),尽管我认为大多数人只是使用内置的 OpenCV 人脸分类器。无论如何,我相信 OpenCV 每秒可以处理高达 70 帧,所以它对你来说应该足够快了。

发明 Haar Cascades 的原始论文: https ://www.cs.cmu.edu/~efros/courses/LBMV07/Papers/viola-cvpr-01.pdf

进一步解释 Haar Cascades 的 OpenCV 文档:http: //docs.opencv.org/3.1.0/d7/d8b/tutorial_py_face_detection.html#gsc.tab=0