我正在使用网络camara使用Amazon Rekognition API构建一个面部识别php应用程序。
我使用以下文档中的API进行了基本的面部匹配。
http://docs.aws.amazon.com/aws-sdk-php/v3/api/api-rekognition-2016-06-27.html#comparefaces
现在,当我在网络摄像头前捕捉我的脸时,亚马逊api验证脸部并从收集中搜索脸部问题是,当我在网络摄像头前的手机库中显示图像/照片时,它也由AWS api验证并返回匹配项。我发现有一个api detectLables,但它没有正确检测到它是真实的还是另一个图像的图像。
有没有办法克服这个问题?我想检测捕获的图像是真实捕获还是从另一个图像捕获?
答案 0 :(得分:0)
如果我对您的理解正确,那么手机屏幕上的图像将在发送给Rekognition的网络摄像头图像中可见。我认为没有办法阻止这种情况-我实际上是希望自己也有类似的事情-通过QualityFilter参数对indexFaces请求进行更多控制,但这是非常有限的,只是AUTO / NONE。
但是,根据您使用Rekognition响应的方式,一种解决方法可能是仅使用边界框高于特定尺寸阈值的面。我假设您要检测到的脸部,您和视频图像上的其他人比电话屏幕上检测到的脸部大得多。
不过,我对BoundingBox提出了警告-我发现它有点不可靠,它并不总是能够准确绘制出脸部的边界。相反,我一直在使用地标自己计算“界限”。