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