c# - 是否可以通过基于屏幕截图的机器学习来识别敌人?

标签 c# machine-learning graphics computer-vision

我正在尝试开始编写一个假期项目,该项目通过分析一生中的屏幕截图来识别敌人。在我的研究中,我读到了有关计算机视觉和机器学习的内容。到目前为止,我只编写了一个程序,可以在屏幕上找到一个绿点并将指针移向它。然而,我正在努力弄清楚如何计算基于距离的 body 尺寸、阴影、不同的玩家模型、只有小部分( ARM 、腿、头等)出现,找到死的和活的敌人的区别等等。为了理解我的问题,我将添加一些屏幕截图。 感谢您的回答!

http://prntscr.com/fwudav http://prntscr.com/fwudxm

最佳答案

我首先要提醒一下:这不是一个“假日项目”。研究这个的人的薪水是 6-7 位数美元。

相反,我会通过更多关于如何分手并思考这样的复杂问题的教育来回答这个问题。

  1. 作为一个人来思考一下。如果您作为人类无法查看图像并确定您正在查看的是什么,那么您尝试教授的计算机也无法做到这一点。确定是什么使“敌人”成为可见的敌人,然后确定图像中需要可见的内容才能确定它。寻找一个“人”很难,也不一定会成为“敌人”。找到一些关于它们的更简单的东西,一个标志,一种帽子,等等。
  2. 一旦您知道要在图像中寻找什么,第一步就是查看 3D 空间和透视。如果您知道要查找的图像会发生怎样的变化,则可以检查是否发生了变化。
  3. 将相同的方法应用于 3d 空间中的其他更改。灯光、景深等
  4. 让计算机更快、更轻松地完成此操作的方法是拥有大量不同的样本数据来进行检查。

该技术本身相对较新,寻找免费可用的算法和代码来使用是不合理的,但可以找到一些有关其概念和问题的信息。

一些了解该技术的链接。浏览并浏览这些页面上的术语: https://en.wikipedia.org/wiki/Reverse_image_search https://en.wikipedia.org/wiki/Perspective_distortion_(photography)

关于c# - 是否可以通过基于屏幕截图的机器学习来识别敌人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45151362/

相关文章:

algorithm - 与 3d 应用程序的渲染器相比,为什么游戏渲染器如此之快?

algorithm - 百万个 3D 点 : How to find the 10 of them closest to a given point?

c# - ANTLR语法如何捕获所有字符到行尾

c# - 我如何查看是否有任何程序正在模拟 key

c# - 使用自定义委托(delegate)在当前类上注册事件的处理程序

python - 使用python拟合先知模型时出现问题

matlab - SVM - 适用于/不适用于大范围的数字?

math - 三次贝塞尔曲线段

c# - 如果不登录,如何阻止用户不获取文件

machine-learning - 使用深度学习进行对象检测的数据增强