如何使用 OpenCV 在 COD 中搜索玩家模型

2024-01-10

我正在尝试创建一个程序,可以在《使命召唤》游戏视频中找到人物。我从该视频中编制了约 2200 张单独图像的列表,其中包含或不包含人物图像。然后我尝试训练神经网络来区分两组图像之间的差异。

然后,我将每个视频帧分成几百个网格矩形,并用人工神经网络检查每个矩形。矩形重叠以尝试捕获网格矩形之间的图形,但这似乎效果不佳。所以我有几个问题:

  1. 神经网络是正确的出路吗?我读到,与其他机器学习算法相比,它们的速度非常快,最终我计划将其用于实时视频,速度非常重要。

  2. 搜索图像帧中的图形以在 ANN 上进行测试的最佳方法是什么?我感觉我的做法不太好。它绝对不是很快或很准确。 960 x 540 图像每帧大约需要一秒,并且精度较差。

  3. 我遇到的另一个问题是构建用作人工神经网络输入的特征向量的最佳方法。目前,我只是将所有输入图像缩小到 25 x 50 像素,并创建一个包含每个像素强度的特征向量。这是一个非常大的向量(1250 个浮点数)。构建特征向量的更好方法是什么?

有关我在这里所做的事情的更详细解释:CodAI:计算机视觉 http://www.xp-dev.com/wiki/108463/Comuter%20Vision

编辑:我想要更多细节。计算特征的最佳方法是什么。我需要能够识别处于许多不同位置的人物。我是否需要创建单独的分类器来识别直立、蹲伏和俯卧之间的差异?


  • Using the raw intensities as the feature vector is not going to work1. There is too much variation induced by lighting etc.
  • HOG 是一个值得第一步考虑的好功能。 opencv 2.2 有一个 GPU (cuda) 版本的检测器,速度很快。
  • Neural networks are maybe not the best way to go. Usually you'd use a SVM or boosting as a classifier2. It's not that neural networks are not powerful enough, it's that it's hard to get the training/parameters right. Too often you get stuck in local minima etc.
  • 对于俯卧/蹲伏/站立的人物,您肯定需要不同的分类器并将它们用于混合模型。
  • 您要求“最佳方法” - 到目前为止,人类检测还没有解决问题,因此没有人知道最好的方法。众所周知,上面提到的东西效果很好。
  • 如果你想要一个好的结果,你确实想要利用你的目标是特定的 - 因此,利用你试图检测使命召唤中的人类。您需要检查的位置范围不是整个图像,人物将靠近地面。这使您可以加快搜索速度并减少错误检测。如果可以的话,减少渲染的细节——更少的细节意味着更少的变化,这意味着更容易学习问题。

Footnotes:
1 For the nitpickers: Without a highly complex classifier.
2 You can also employ a cascade of boosted classifiers to gain speed without giving away too much in detection rate.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 OpenCV 在 COD 中搜索玩家模型 的相关文章

随机推荐