进行对象检测(问题中的上下文)的最快方法是什么?

What are the fastest ways to do object detection (context in the question)?

所以最近我尝试制作一个在 Minecraft 中钓鱼的机器人作为挑战。 (并不是说我在任何社区都使用过它,也不是说修改了游戏的代码所以我猜它与 TOS 没关系)我的方法是并且一直保持到现在跟踪鲍勃的动作。

我的第一个机器人依赖于颜色 space 分割并使用来自 OpenCV 的形态学变换对图像进行微调-python(作为我学习经验的一部分,我的目标是使机器人完全基于计算机视觉) .该机器人仅在我使用游戏内方法设置照明和环境颜色的特定位置工作。它还以将游戏图形设置为最低设置以禁用粒子为代价。

我的第二个机器人使用了类似 HAAR 的分类器,因为我已经为现实生活中的物体制作了一些相当不错的模型。可悲的是这次(我假设由于游戏独特的图形风格,基本上所有东西都是一个贴有纹理的立方体)它相当不一致并且导致了很多误报。

我的第三个机器人使用了基于 HOG 特征的 svm 但它对于所有模型来说都相当慢,范围从超过 4000 个具有真正合适的边界框的原始样本到大约 200 个,因为速度不够快发生检测。

我上次尝试使用 tensor flow lite,但由于检测速度更差而惨败。

我还通过比较后续帧和 java 与 python 的速度优势以及不同的预处理选项(例如增加对比度、减少颜色托盘和等等

此时我不知道想知道 'blind' 是否会给我任何关于 'to go' 方法的线索,因此我决定在这里问。

提前致谢。

P.S。 具体细节 - 我认为卷线时间大约为 0.7 秒,但我可能会稍微偏离。

对于快速直接的对象检测技术,我建议您使用 预训练的视网膜网络。 您可以从以下链接中找到您需要了解的所有解释: https://github.com/fizyr/keras-retinanet

并遵循此 Collab,以进行快速培训和直接实施: https://colab.research.google.com/drive/1v3nzYh32q2rm7aqOaUDvqZVUmShicAsT

我建议您将 resnet50 作为 backbone,并使用预训练的权重开始训练。