【问题标题】:Detect if picture of picture taken in mobile app检测是否在移动应用中拍摄的图片
【发布时间】:2023-03-21 11:10:01
【问题描述】:

我正在开发一个人脸识别应用程序,在该应用程序中拍摄照片并将其发送到服务器进行识别。

我必须添加一个验证,即用户应该捕捉真人照片和另一张照片。我尝试了眨眼功能,其中相机等待眨眼并在眨眼时立即捕捉,但这不起作用,因为如果在捕捉过程中摇晃手机,它会检测为眨眼。

想在这里寻求帮助,有什么方法可以检测用户是否正在捕捉另一张图片的图片。任何想法都会有所帮助。

我正在使用 react native 来构建 Android 和 iOS 应用程序。

提前致谢。

【问题讨论】:

  • 这是一个有趣的问题。我不是专家,但乍一看似乎可以应用边缘检测,如果所有边缘同时移动,则表示设备已摇晃,如果只有部分边缘移动,则表示前面有东西移动设备。所以你需要等待一些边缘的移动,但不是全部。
  • 您基本上无法检测到它(您可能可以,但值得付出太多努力,因此不值得尝试)。考虑其他选项,例如使用 2 个识别 - 1 个面部视图,另一个侧面视图。
  • @ArikSegal:是的,这似乎是一个选择,如果我能实现它,让我试试。
  • @VladyslavMatviienko:你说得对,需要寻找其他方法。 2 识别不能尝试,因为它会减慢你知道的过程。每次上传两张图片。
  • 仅供参考:即使谷歌通过面部识别发出警告,您的照片也可以绕过它。所以我认为没有办法克服这个问题,值得一试。

标签: android ios react-native image-recognition image-capture


【解决方案1】:

感谢支持。

毕竟我是通过眨眼技巧解决的。这是我使用的一个小算法:

打开相机,点击拍照按钮:

摄像头检测是否有任何人脸在视野中并等待眨眼。 如果双眼眨眼概率为 90%,则等待 200 毫秒。再次检测人​​脸,睁眼概率>90%,验证人脸是否还在,最后抓拍。

这是一个便宜的技巧,但到目前为止有效。

问候

【讨论】:

  • 你能分享示例代码吗?我必须执行相同的操作。
【解决方案2】:

在某些 iPhone(iOS 11.1 以上)上,有一个所谓的trueDepthCamera 用于面容 ID。使用它(或背面双摄像头系统),您可以捕获图像以及深度图。您可以利用该功能来查看脸部是否平坦(从图像中捕获)或具有正常的面部轮廓。 See here...

人们必须想出一个 3D 面部模型来欺骗它。

它仅限于少数 iPhone 型号,我不了解 Android。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-08
    • 2012-05-31
    • 2011-05-22
    相关资源
    最近更新 更多