我应该使用什么方法来检测视频游戏画面中的人脸?

人工智能 机器学习 人工智能设计 训练 模式识别
2021-11-08 10:35:56

我为自己设定了一个挑战,即在一个著名的第一人称射击游戏的视频中检测玩家/机器人的位置(这是我打算做的一个 youtube 系列)。我不确定我应该对这个问题应用哪种 AI 方法——我完全是新手!

我的第一个想法是面部/头部似乎具有最多的细节,因此我可以在精灵头部和一般背景的图像上训练卷积神经网络——但这似乎不太好用,我当然没有用尽不同的网络架构/typologies,但它并没有很好地学习。

我的第二种方法是使用 HAAR 级联。这似乎是一个显而易见的选择,因为它快速且擅长检测对象(而不是多分类)。然而,我的级联在 5 或 6 个阶段(使用 OpenCV)后停止,因为它似乎已经达到了很高的准确性,但它没有检测到我何时向它提供训练图像,更不用说其他图像了。

我还研究了行人检测并获得了该工作的库存版本。然而,当/如果精灵蹲伏或处于不寻常的位置时,这似乎很困难(并且在站立的精灵上并不是很好)。

那么,有没有更适用于这个问题的机器学习/AI 分支呢?如果没有,我应该继续做什么?

1个回答

首先,你可以找到很多行人检测的信息。当您尝试本地化游戏角色时,面部并不是最佳选择。你需要寻找一般的字符。

关于 HAAR Cascades,该算法是市场上最快的人脸定位解决方案之一。原因是,它从更广泛的特征开始,逐层应用所有特征分类。因此,如果它失败了,它就不会花时间检查计算密集型特征。在 DNN 克服其成功率之前,这很好。然而,这并不是识别游戏角色/行人的最佳方法。

此外,您似乎过度拟合了级联,因此它停止并且没有学到任何有价值的东西。您可以搜索有关如何减少过拟合问题的方法。

2005 年,提出了一种新方法,HOG(梯度直方图)。您可以使用此功能并对输出功能进行分类以获得所需的内容。如果你想选择深度学习版本,我建议你调查一下 DNN 是如何工作的,你需要什么样的输入图像,定位网络是什么(即 YOLO,Faster R-CNN),它们是如何工作的。