【问题标题】:AWS facial rekognition within an Android appAndroid 应用程序中的 AWS 面部识别
【发布时间】:2020-02-24 18:07:16
【问题描述】:

我正在尝试制作一个 Android 应用程序,它可以将 Android 平板电脑上的相机拍摄的图像发送到 AWS Rekognition。其目的是将图片直接发送到 AWS Rekognition 服务而不需要 S3 存储桶。图片本身不需要保存在云端。只有面部元数据需要存储在 AWS 上的集合中。之后的最终目标是让一个人能够再次捕捉到他的脸,AWS 表示在该集合中与之前的一张脸相匹配。

互联网上有很多信息。但大多数情况下,AWS 建议使用 Amplify 框架。而且我真的不知道在这种简单的情况下是否有必要这样做。

我已经完成了 AWS CLI 中的所有步骤(并且这些步骤有效),但我没有成功在 Android Studio 中执行这些步骤。下面我描述了我在 AWS CLI 中完成的步骤。我会在 Android Studio 中执行这些步骤,但我不是编程这种语言的专家。 (我已经在 AWS CLI 中创建了一个集合。)

首先,我将 AWS 可以找到的人脸索引到图片中。在我的 AWS CLI 代码中,我使用 S3 作为示例。应该是我可以将图片直接发送到 AWS Rekognition 的意图。只有在有人专门按下按钮时才需要执行此操作。因此,拍摄一张照片并将其发送到 AWS Rekognition 以索引特定集合中的人脸

aws rekognition index-faces --image '{"S3Object":{"Bucket":"bucketName","Name":"picture1.jpg"}}' --collection-id "collectionName" --max-faces 1 --quality-filter "AUTO" --detection-attributes "DEFAULT" --external-image-id "picture1.jpg"

然后,当用户按下另一个按钮时,它需要再次拍照,并且需要将其发送到 AWS Rekognition 以搜索 图像集合已发送.我已经使用以下 AWS CLI 代码成功了。也应该是打算直接将图片发送到AWS而不需要S3。 AWS 返回与集合中已有人脸的匹配项。

aws rekognition search-faces-by-image --image '{"S3Object":{"Bucket":"bucketName","Name":"picture.jpg"}}' --collection-id "collectionName"

再一次,我不是 Android 工作室的专业人士,所以如果有人有一个非常简单的解决方案,那就太好了。如果有人能告诉我 Amplify 框架是否真的有必要,那也太好了。 提前致谢!

【问题讨论】:

    标签: amazon-web-services android-studio face-recognition amazon-rekognition aws-amplify-sdk-android


    【解决方案1】:

    您不必使用 Amplify,您可以通过 AWS Java SDK 使用 Rekognition。

    要实现与 CLI 相同的功能,您可以首先使用 IndexFacesRequest 索引集合中的人脸,或者您可以放弃此操作并通过 CLI 手动创建集合(如果这是一次性操作。

    要通过 图像 搜索集合的面孔,您只需修改以下代码 sn-p 以传入字节 64 编码的图像而不是 S3 URL。 searchFacesByImage() 方法 here 的完整文档。

    AmazonRekognition client = AmazonRekognitionClientBuilder.standard().build();
    SearchFacesByImageRequest request = new SearchFacesByImageRequest().withCollectionId("myphotos")
            .withImage(new Image().withS3Object(new S3Object().withBucket("mybucket").withName("myphoto"))).withMaxFaces(5).withFaceMatchThreshold(95f);
    SearchFacesByImageResult response = client.searchFacesByImage(request);
    

    【讨论】:

    • 你能发送一个正确的链接,我可以看到代码的所有功能吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 2018-02-14
    • 1970-01-01
    相关资源
    最近更新 更多