2017-09-29 4 views
0

얼굴을 비교하기 위해 AWSRecognition SDK를 사용하려고했습니다. 그러나 Amazon에는 SDK를 iOS에 통합하는 방법에 대한 문서가 없습니다. 그들에는 인식 (Developer Guide)을 사용하는 방법을 보여주는 링크가 있으며 자바로 된 예제가 있으며 매우 제한적입니다.AWS Rekognition을 사용하여 Swift에서 얼굴을 비교하는 방법 3

Swift 3에서 AWS Rekognition을 통합하는 방법을 아는 사람이 있는지 알고 싶었습니다.이를 초기화하고 레이블로 응답을받은 이미지로 요청을하는 방법.

AWS 서명 AccessKey, SecretKey, AWS Region, 서비스 이름이 있습니다. 또한 본문

{ 
    "SourceImage": { 
    "S3Object": { 
     "Bucket": "bucketName", 
     "Name": "ios/sample.jpg" 
    } 
    }, 
    "TargetImage": { 
    "S3Object": { 
     "Bucket": "buketName", 
     "Name": "ios/target.JPG" 
    } 
    } 
} 

어떻게 인식을 초기화하고 요청을 작성할 수 있습니까?

고마워요!

답변

2
  1. 여기에서 Rekognition 클라이언트를 인스턴스화합니다. 여기서는 기본 구성으로 클라이언트를 사용하고 있습니다. 다음과 같이

    let rekognitionClient:AWSRekognition = AWSRekognition.default() 
    

그렇지 않으면, 당신은 자격 증명을 사용할 수 있습니다

let credentialsProvider = AWSCognitoCredentialsProvider(
     regionType: AWSRegionType.usEast2, 
     identityPoolId: "us-east-2_myPoolID") 

    let configuration = AWSServiceConfiguration(
     region: AWSRegionType.usEast2, 
     credentialsProvider: credentialsProvider) 

    AWSServiceManager.default().defaultServiceConfiguration = configuration 
    let rekognitionClient:AWSRekognition = AWSRekognition.default() 
  1. 지금 요청을 구성하고 그 안에 이미지를 설정합니다.

    let image = UIImage(named: "MyImage") 
    let request = AWSRekognitionDetectLabelsRequest() 
    request.image = image 
    request.maxLabels = <num_labels_needed> 
    request.minConfidence = <confidence_interval_needed> 
    
  2. 이제 CompareFacesRequest에 대해 읽어 얼굴을 비교 : ObjC 두 얼굴을 비교 SDK에서 샘플 테스트가있다 https://github.com/aws/aws-sdk-ios/blob/master/AWSRekognition/AWSRekognitionService.m#L288

하지만 당신은 스위프트에 그 번역 할 수 있습니다 :

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

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") 
+0

는 Karthikeyan을 주셔서 감사합니다 ! AWSRekognitionDetectLabelsRequest입니다. 어떻게 든 도움이됩니다. 나는 얼굴을 비교할 자신을 만들었습니다. 하지만 이미지를 바꾸는 방법 = UIImage (이름 : "MyImage")를 버킷에 넣습니다. 내 두 이미지는 지역 출신이다. 하나의 대상 이미지를 버킷 이미지로 설정하려고합니다. –

+0

로컬 이미지 대신 S3 버킷에 저장된 이미지를 참조 하시겠습니까? 이미지를 다운로드하고 iOS 용 AWS SDK의 S3 TransferUtility를 사용하여 이미지를 참조 해 보셨습니까? – Karthikeyan

+0

커티 키넌에게 감사드립니다. 예. 그 중 하나를 시도하지 않았지만 "AWSRekongnitionS3Object", "AWSRekonitionImage"클래스를 사용하여 버킷 이미지를 사용할 수 있습니다. AWSRekognitionModel.m 파일에서 찾을 수 있습니다. 고맙습니다! 트위터 @ImPrana에서 나를 따라주세요. 네가 괜찮다면 나는 소셜 미디어를 통해 너와 연락 할 것이다. –