Распознавание AWS для сравнения лица с помощью IOS Swift

У меня есть проблема с моей логикой, пытаясь вызвать AWS Признание Сравнение лиц API, используя IOS Swift, Там нет никакой документации для Swift пока (на момент публикации), но, полагаю, у меня может быть правильно настроен запрос, просто я не вызываю его правильно для получения объекта ответа и подтверждения результатов.

Любой совет?

let sourceImage = AWSRekognitionImage()
let sourceImageS3Object = AWSRekognitionS3Object()
sourceImageS3Object?.bucket = "face-badges"
sourceImageS3Object?.name = "me.jpg"
sourceImage?.s3Object = sourceImageS3Object

let targetImage = AWSRekognitionImage()
let targetImageS3Object = AWSRekognitionS3Object()
targetImageS3Object?.bucket = "face-badges"
targetImageS3Object?.name = "me2.jpg"
targetImage?.s3Object = targetImageS3Object

let request = AWSRekognitionCompareFacesRequest()
request?.similarityThreshold = 90
request?.sourceImage = sourceImage
request?.targetImage = targetImage

let key = "testCompareFaces"
let credentialsProvider = AWSCognitoCredentialsProvider(regionType:.USEast1,
                                                        identityPoolId:"xxxxx")
let configuration = AWSServiceConfiguration(region:.USEast1, credentialsProvider:credentialsProvider)

AWSRekognition.register(with: configuration!, forKey: key)
AWSRekognition(forKey: key).compareFaces(AWSRekognitionCompareFacesRequest()).continueWith(block: {(_ task: AWSTask) -> Any in
    print("completed")

    return true;

}).waitUntilFinished()

1 ответ

Следующий пример теста в SDK продемонстрировал, как сравнивать две грани в ObjC.

https://github.com/aws/aws-sdk-ios/blob/master/AWSRekognitionUnitTests/AWSGeneralRekognitionTests.m#L60

Соответствующий фрагмент в Swift будет выглядеть примерно так:

let key = "testCompareFaces"
let configuration = AWSServiceConfiguration(region: AWSRegionUSEast2, credentialsProvider: nil)
AWSRekognition.register(with: configuration, forKey: key)
AWSRekognition(for: key).compareFaces(AWSRekognitionCompareFacesRequest()).continue(withBlock: {(_ task: AWSTask) -> Any in
    print("completed")

Надеюсь, это поможет!

Другие вопросы по тегам