def compute_accuracy(passport, ground_truth):
     """
     :param passport: Passport object to compare
     :param ground_truth: Ground truth Passport object
     :return: Accuracy metrics
     """
     return {
         "__acc__country":
         ground_truth.country == passport.country,
         "__acc__id_number":
         ground_truth.id_number == passport.id_number,
         "__acc__birth_date":
         ground_truth.birth_date == passport.birth_date,
         "__acc__expiry_date":
         ground_truth.expiry_date == passport.expiry_date,
         "__acc__issuance_date":
         ground_truth.issuance_date == passport.issuance_date,
         "__acc__gender":
         ground_truth.gender == passport.gender,
         "__acc__surname":
         ground_truth.surname == passport.surname,
         "__acc__mrz1":
         ground_truth.mrz1 == passport.mrz1,
         "__acc__mrz2":
         ground_truth.mrz2 == passport.mrz2,
         "__acc__given_names":
         Field.compare_arrays(passport.given_names,
                              ground_truth.given_names),
         "__acc__mrz":
         ground_truth.mrz == passport.mrz,
         "__acc__full_name":
         ground_truth.full_name == passport.full_name,
     }
Beispiel #2
0
 def compute_accuracy(license_plate, ground_truth):
     """
     :param license_plate: CarPlate object to compare
     :param ground_truth: Ground truth CarPlate object
     :return: Accuracy metrics
     """
     return {
         "__acc__license_plates": Field.compare_arrays(
             license_plate.license_plates, ground_truth.license_plates)
     }
Beispiel #3
0
    def compute_precision(license_plate, ground_truth):
        """
        :param license_plate: CarPlate object to compare
        :param ground_truth: Ground truth CarPlate object
        :return: Precisions metrics
        """
        precisions = {}

        if len(license_plate.license_plates) == 0:
            precisions["__pre__license_plates"] = None
        else:
            precisions["__pre__license_plates"] = Field.compare_arrays(
                license_plate.license_plates, ground_truth.license_plates)

        return precisions
    def compute_precision(passport, ground_truth):
        """
        :param passport: Passport object to compare
        :param ground_truth: Ground truth Passport object
        :return: Precision metrics
        """
        precisions = {
            "__pre__country":
            Benchmark.scalar_precision_score(passport.country,
                                             ground_truth.country),
            "__pre__id_number":
            Benchmark.scalar_precision_score(passport.id_number,
                                             ground_truth.id_number),
            "__pre__birth_date":
            Benchmark.scalar_precision_score(passport.birth_date,
                                             ground_truth.birth_date),
            "__pre__expiry_date":
            Benchmark.scalar_precision_score(passport.expiry_date,
                                             ground_truth.expiry_date),
            "__pre__issuance_date":
            Benchmark.scalar_precision_score(passport.issuance_date,
                                             ground_truth.issuance_date),
            "__pre__gender":
            Benchmark.scalar_precision_score(passport.gender,
                                             ground_truth.gender),
            "__pre__surname":
            Benchmark.scalar_precision_score(passport.surname,
                                             ground_truth.surname),
            "__pre__mrz1":
            Benchmark.scalar_precision_score(passport.mrz1, ground_truth.mrz1),
            "__pre__mrz2":
            Benchmark.scalar_precision_score(passport.mrz2, ground_truth.mrz2),
            "__pre__mrz":
            Benchmark.scalar_precision_score(passport.mrz, ground_truth.mrz),
            "__pre__full_name":
            Benchmark.scalar_precision_score(passport.full_name,
                                             ground_truth.full_name),
        }

        if len(passport.given_names) == 0:
            precisions["__pre__given_names"] = None
        else:
            precisions["__pre__given_names"] = Field.compare_arrays(
                passport.given_names, ground_truth.given_names)

        return precisions