android - 使用 pytorch android API 检测图像是否模糊

标签 android kotlin pytorch

所以我正在开发这个应用程序,如果一名警官拍了一张车祸照片,并且如果这张照片模糊,它将不会接受。它只允许基于质量和分辨率的图像。所以经过研究,我发现我可以使用 pytorch 来实现这个功能,我将它保存在我的 asset 中,然后根据我的逻辑编写 kotlin 代码。我找到了这个链接:https://pytorch.org/mobile/android/但是,此链接显示了图像分类器示例,其中用户可以检测图像是猫还是狗,这不是我想要的。

举个例子,

如果警察通过车祸应用程序拍摄照片,该应用程序需要验证图像分辨率和质量是否可读且可理解,以便当用户看到拍摄的图像时,他/她可以通过比较来判断是否是车祸当图像模糊且不清楚时,应用程序会要求用户重新拍照。

请问有什么建议吗?

谢谢

最佳答案

首先,您可以尝试使用传统的计算机视觉算法来构建它。 您会发现一些尝试使用 OpenCV 实现类似想法的示例(例如 here )。

如果你想通过机器学习来解决这样的任务,你要么可以尝试在网上找到一个经过训练来解决这样的任务的模型(如果幸运的话也许你可以找到一个),或者你必须训练这样的模型自己做个模特。

使用机器学习时,您需要有一个数据集,在您的情况下,您可以轻松地从图像数据库创建该数据集并自己模糊示例(请参阅 self-supervised learning )。您需要决定使用哪种机器学习方法。对于图像是否模糊的简单检测,使用深度学习和 CNN 似乎没有必要。相反,考虑提取与图像模糊度相关的一些特征并使用简单的机器学习算法,例如 k-NN .

但是我认为使用机器学习来解决此类任务并不是很有必要。每个数码相机基本上都为其autofocus实现了此功能。 。因此,我认为使用 OpenCV 寻找传统的计算机视觉解决方案(例如边缘对比度估计,image frequency transforms,...)将使您更快地实现目标。

OpenCV 也可用于 Android SDK .

关于android - 使用 pytorch android API 检测图像是否模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68737162/

相关文章:

android - FFMpeg(Android) av_read_frame 或 avcodec_decode_video2 返回相同的颜色

Gradle 彩色输出(不再有 project.serviceOf() 或 services() api 方法)

python - 优化pytorch中的多个损失函数

python - 如何确定更快的 RCNN (PyTorch) 的验证损失?

python - HTTP 错误 : HTTP Error 403: Forbidden on Google Colab

android - Activity 到 Android 库通信选项 (IPC)

java - 在android中将图片发送到网络服务器时出错

java - 切换 Activity/在 Activity 之间传递数据

java - 用Glide控制GIF动画

android - Room Entity 的数据存储正确,但检索为 null