Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase ML套件提供不同的人脸跟踪ID,即使在Flatter应用程序中相同的人脸也是如此_Firebase_Flutter_Dart_Firebase Mlkit - Fatal编程技术网

Firebase ML套件提供不同的人脸跟踪ID,即使在Flatter应用程序中相同的人脸也是如此

Firebase ML套件提供不同的人脸跟踪ID,即使在Flatter应用程序中相同的人脸也是如此,firebase,flutter,dart,firebase-mlkit,Firebase,Flutter,Dart,Firebase Mlkit,我首先通过自拍传递同一个人的图片,另一张图片是用户的现有个人资料图片,我正在将其转换为文件数据类型,因为无法直接从Flitter中的URL检测人脸。即使两个面相同,我也会得到不同的面ID,如打印语句中的0和1。克服这一问题的解决方案是什么 Future verifyYourProfile(File image) async { final faceDetector = FirebaseVision.instance.faceDetector( FaceDetectorOpt

我首先通过自拍传递同一个人的图片,另一张图片是用户的现有个人资料图片,我正在将其转换为文件数据类型,因为无法直接从Flitter中的URL检测人脸。即使两个面相同,我也会得到不同的面ID,如打印语句中的
0
1
。克服这一问题的解决方案是什么

Future verifyYourProfile(File image) async {

    final faceDetector = FirebaseVision.instance.faceDetector(
      FaceDetectorOptions(
          enableTracking: true, mode: FaceDetectorMode.accurate),
    );

    // Assign face ID to selfie from incoming File image called from App.
    final selfieVisionImage = FirebaseVisionImage.fromFile(image);
    final selfieFace = await faceDetector.processImage(selfieVisionImage);
    final int selfieId = selfieFace[0].trackingId;
    print(selfieId);

    // Assign face ID to profile Picture.

    // Convert URL Image to File data type
    final response = await get(_imageUrl);
    final documentDirectory = await getApplicationDocumentsDirectory();
    File file = new File(join(documentDirectory.path, 'verifyImage.png'));
    file.writeAsBytesSync(response.bodyBytes);

    print('Detecting second face');
    // Detect the face.
    final faceDetector2 = FirebaseVision.instance.faceDetector(
      FaceDetectorOptions(
          enableTracking: true, mode: FaceDetectorMode.accurate),
    );
    final profilePicVisionImage = FirebaseVisionImage.fromFile(file);
    final profilePicFace =
        await faceDetector2.processImage(profilePicVisionImage);
    final int profilePicId = profilePicFace[0].trackingId;
    print(profilePicId);
  }

谢谢你的提问

人脸检测不是为人脸识别而设计的,它不会告诉你这两张脸是否属于同一个人。可以在流模式下使用,它有助于在连续帧中跟踪同一人脸