我已经编写了一个带有对象检测模型的应用程序,并在检测到对象时处理图像。我遇到的问题是,当检测到一个对象有99%的置信度,但我正在处理的帧非常模糊。
我曾考虑过分析帧,并尝试检测模糊或检测设备移动,而不是在设备移动频繁时分析帧。
除了我提出的建议之外,你还有什么其他的建议来只处理不模糊的照片或解决方案吗?谢谢
发布于 2018-10-05 14:33:21
例如,在汽车中驾驶时,您可能会遇到检测“移动”的问题。在这种情况下,看车内的东西不被认为是运动,而看车外的东西则是(如果它无论如何都不远的话)。对于这一点,可能还有许多其他的情况。
我会从检查摄像头是否在focus中开始。这与检查帧是否模糊不同,但可能非常接近。
我能想到的另一种选择是简单地检查2个或更多连续的帧,看看它们是否相对相同。要做到这一点,最好定义一个网格,例如16x16,您可以在该网格上计算相似的值。你需要mipmap你的照片,这意味着手动调整它的大小,直到你得到16x16的图像(2000x1500将变成1024x1024 -> 512x512 -> 256x256...)。然后抓取这些16x16像素并存储它们。一旦你有足够的帧(至少2帧),你就可以开始比较这些值了。GPU非常适合调整大小,但那些16x16的值可能最好在CPU上进行评估。你需要做的基本上是在2个连续的16x16缓冲区中找出平均像素差异。然后用它来评估是否应该启用检测。
这个过程可能仍然不完美,但从性能的角度来看,它应该是相对可行的。可能有一些捷径,因为一些工具可能已经在调整大小,这样你就不需要手动将它们“减半”。从理论的角度来看,你正在创建地段并计算它们的平均颜色。如果所有扇区在2帧或更多帧之间具有几乎相同的颜色,则相机在该时间内移动的可能性很高,并且图像不应因运动而变得模糊。然而,如果相机没有对焦,你可以有多个完全相同的连续帧,但实际上它们都是模糊的。如果你检测到手机移动,也会发生同样的情况。
https://stackoverflow.com/questions/52656098
复制相似问题