Statistieken voor het evalueren van een oplossing voor identiteitsverificatie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Statistieken voor het evalueren van een oplossing voor identiteitsverificatie

Wereldwijd is er een versnelde verschuiving naar wrijvingsloze digitale gebruikerservaringen. Of het nu gaat om het registreren op een website, online transacties uitvoeren of gewoon inloggen op uw bankrekening, organisaties proberen actief de wrijving die hun klanten ervaren te verminderen en tegelijkertijd hun maatregelen op het gebied van beveiliging, naleving en fraudepreventie te verbeteren. De verschuiving naar wrijvingsloze gebruikerservaringen heeft geleid tot op gezichten gebaseerde oplossingen voor biometrische identiteitsverificatie die gericht zijn op het beantwoorden van de vraag "Hoe verifieer je een persoon in de digitale wereld?"

Er zijn twee belangrijke voordelen van gezichtsbiometrie als het gaat om identificatie en authenticatie. Ten eerste is het een handige technologie voor gebruikers: het is niet nodig om een โ€‹โ€‹wachtwoord te onthouden, uitdagingen met meerdere factoren aan te gaan, op verificatielinks te klikken of CAPTCHA-puzzels op te lossen. Ten tweede wordt een hoog beveiligingsniveau bereikt: identificatie en authenticatie op basis van gezichtsbiometrie is veilig en minder fraude- en aanvalsgevoelig.

In dit bericht duiken we in de twee primaire use-cases van identiteitsverificatie: onboarding en authenticatie. Vervolgens duiken we in de twee belangrijkste statistieken die worden gebruikt om de nauwkeurigheid van een biometrisch systeem te evalueren: het percentage valse overeenkomsten (ook bekend als het percentage valse acceptaties) en het percentage valse niet-overeenkomsten (ook bekend als het percentage valse afwijzingen). Deze twee maatregelen worden veel gebruikt door organisaties om de nauwkeurigheid en het foutenpercentage van biometrische systemen te evalueren. Ten slotte bespreken we een raamwerk en best practices voor het uitvoeren van een evaluatie van een identiteitsverificatiedienst.

Raadpleeg de bijgevoegde Jupyter notitieboek die alle stappen doorloopt die in dit bericht worden genoemd.

Use cases: Onboarding en authenticatie

Er zijn twee primaire use-cases voor biometrische oplossingen: onboarding van gebruikers (vaak verificatie genoemd) en authenticatie (vaak identificatie genoemd). Onboarding is het een-op-een matchen van gezichten tussen twee afbeeldingen, bijvoorbeeld door een selfie te vergelijken met een vertrouwd identificatiedocument zoals een rijbewijs of paspoort. Authenticatie daarentegen houdt in dat een gezicht รฉรฉn-op-veel wordt doorzocht aan de hand van een opgeslagen verzameling gezichten, bijvoorbeeld het doorzoeken van een verzameling gezichten van werknemers om te zien of een werknemer geautoriseerde toegang heeft tot een bepaalde verdieping in een gebouw.

Nauwkeurigheid van onboarding en authenticatie use cases wordt gemeten aan de hand van de fout-positieve en fout-negatieve fouten die de biometrische oplossing kan maken. Een gelijkenisscore (variรซrend van 0%, wat betekent dat er geen match is tot 100%, wat een perfecte match betekent) wordt gebruikt om de beslissing te nemen of er een match of een niet-match is. Een fout-positief treedt op wanneer de oplossing afbeeldingen van twee verschillende personen als dezelfde persoon beschouwt. Een vals negatief daarentegen betekent dat de oplossing twee afbeeldingen van dezelfde persoon als verschillend beschouwde.

Onboarding: รฉรฉn-op-รฉรฉn verificatie

Op biometrie gebaseerde onboardingprocessen vereenvoudigen en beveiligen het proces. Het belangrijkste is dat het de organisatie en de klant klaarstoomt voor een bijna wrijvingsloze onboarding-ervaring. Om dit te doen, hoeven gebruikers alleen maar een afbeelding te tonen van een of ander vertrouwd identificatiedocument met het gezicht van de gebruiker (zoals rijbewijs of paspoort) en een selfie-afbeelding te maken tijdens het onboarding-proces. Nadat het systeem deze twee afbeeldingen heeft, vergelijkt het eenvoudigweg de gezichten binnen de twee afbeeldingen. Wanneer de gelijkenis groter is dan een bepaalde drempel, dan heb je een match; anders heb je een non-match. Het volgende schema schetst het proces.

Neem het voorbeeld van Julie, een nieuwe gebruiker die een digitale bankrekening opent. De oplossing vraagt โ€‹โ€‹haar om een โ€‹โ€‹foto van haar rijbewijs te maken (stap 2) en een selfie te maken (stap 3). Nadat het systeem de kwaliteit van de afbeeldingen heeft gecontroleerd (stap 4), vergelijkt het het gezicht in de selfie met het gezicht op het rijbewijs (รฉรฉn-op-รฉรฉn matching) en wordt er een gelijkenisscore (stap 5) gegenereerd. Als de gelijkenisscore lager is dan de vereiste gelijkenisdrempel, wordt de onboarding-poging van Julie afgewezen. Dit noemen we een valse non-match of valse afwijzing: de oplossing beschouwde twee afbeeldingen van dezelfde persoon als verschillend. Aan de andere kant, als de overeenkomstscore groter was dan de vereiste overeenkomst, beschouwt de oplossing de twee afbeeldingen als dezelfde persoon of als een match.

Authenticatie: Een-op-veel-identificatie

Van het betreden van een gebouw tot het inchecken bij een kiosk, tot het vragen van een gebruiker om een โ€‹โ€‹selfie om zijn identiteit te verifiรซren, dit type authenticatie zonder wrijving via gezichtsherkenning is voor veel organisaties gemeengoed geworden. In plaats van afbeelding-naar-afbeelding-overeenkomsten uit te voeren, neemt deze authenticatie use case een enkele afbeelding en vergelijkt deze met een doorzoekbare verzameling afbeeldingen voor een mogelijke overeenkomst. In een typische use-case voor authenticatie wordt de gebruiker gevraagd een selfie te maken, die vervolgens wordt vergeleken met de gezichten die in de verzameling zijn opgeslagen. Het resultaat van de zoekopdracht levert nul, รฉรฉn of meer potentiรซle overeenkomsten op met bijbehorende overeenkomstenscores en externe identifiers. Als er geen overeenkomst wordt geretourneerd, is de gebruiker niet geverifieerd; er echter van uitgaande dat de zoekopdracht een of meer overeenkomsten oplevert, neemt het systeem de authenticatiebeslissing op basis van de gelijkenisscores en externe identificatoren. Als de gelijkenisscore de vereiste gelijkenisdrempel overschrijdt en de externe identificator overeenkomt met de verwachte identificator, wordt de gebruiker geverifieerd (gematcht). Het volgende diagram schetst een voorbeeld van een op gezichten gebaseerd biometrisch authenticatieproces.

authenticatieproces

Neem het voorbeeld van Jose, een bezorger in de gig-economie. De bezorgservice authenticeert bezorgers door de chauffeur te vragen een selfie te maken voordat hij een bezorging start met behulp van de mobiele applicatie van het bedrijf. Een probleem waarmee dienstverleners in de gig-economie worden geconfronteerd, is het delen van banen; in wezen delen twee of meer gebruikers hetzelfde account om het systeem te spelen. Om dit tegen te gaan, gebruiken veel bezorgdiensten een camera in de auto om op willekeurige momenten tijdens een bezorging foto's te maken (stap 2) van de chauffeur (om er zeker van te zijn dat de bezorger de geautoriseerde chauffeur is). In dit geval maakt Jose niet alleen een selfie aan het begin van zijn bevalling, maar maakt een camera in de auto ook foto's van hem tijdens de bevalling. Het systeem voert kwaliteitscontroles uit (stap 3) en doorzoekt (stap 4) de verzameling geregistreerde chauffeurs om de identiteit van de chauffeur te verifiรซren. Als een andere bestuurder wordt gedetecteerd, kan de gig-economy-bezorgservice verder onderzoek doen.

Een valse match (false positive) doet zich voor wanneer de oplossing twee of meer afbeeldingen van verschillende mensen als dezelfde persoon beschouwde. Stel in onze use case dat Jose, in plaats van de geautoriseerde chauffeur, zijn broer Miguel een van zijn leveringen voor hem laat doen. Als de oplossing de selfie van Miguel niet goed afstemt op de afbeeldingen van Jose, vindt er een valse match (false positive) plaats.

Om het potentieel van valse overeenkomsten tegen te gaan, raden we aan dat collecties meerdere afbeeldingen van elk onderwerp bevatten. Het is gebruikelijk om vertrouwde identificatiedocumenten te indexeren met een gezicht, een selfie op het moment van onboarding en selfies van de laatste identificatiecontroles. Door verschillende afbeeldingen van een onderwerp te indexeren, kunnen de gelijkenisscores van de geretourneerde gezichten worden samengevoegd, waardoor de nauwkeurigheid van de identificatie wordt verbeterd. Daarnaast worden externe identifiers gebruikt om het risico van een valse acceptatie te beperken. Een voorbeeld van een bedrijfsregel kan er ongeveer zo uitzien:

ALS geaggregeerde gelijkenisscore >= vereiste gelijkenisdrempel EN externe identifier == verwachte identifier DAN authenticeren

Belangrijkste maatregelen voor biometrische nauwkeurigheid

In een biometrisch systeem zijn we geรฏnteresseerd in de false match rate (FMR) en false non-match rate (FNMR) op basis van de gelijkenisscores van gezichtsvergelijkingen en zoekopdrachten. Of het nu gaat om onboarding of authenticatie, biometrische systemen beslissen om overeenkomsten van het gezicht van een gebruiker te accepteren of te weigeren op basis van de gelijkenisscore van twee of meer afbeeldingen. Zoals elk beslissingssysteem zullen er fouten optreden wanneer het systeem een โ€‹โ€‹poging tot onboarding of authenticatie ten onrechte accepteert of afwijst. Als onderdeel van het evalueren van uw oplossing voor identiteitsverificatie, moet u het systeem evalueren op verschillende gelijkheidsdrempels om de percentages valse overeenkomsten en valse niet-overeenkomsten te minimaliseren en deze fouten af โ€‹โ€‹te zetten tegen de kosten van onjuiste afwijzingen en acceptaties. We gebruiken FMR en FNMR als onze twee belangrijkste statistieken om gezichtsbiometrische systemen te evalueren.

Vals niet-overeenkomend percentage

Wanneer het identiteitsverificatiesysteem er niet in slaagt een echte gebruiker correct te identificeren of te autoriseren, treedt er een valse non-match op, ook wel bekend als een valse negatieve. De false non-match rate (FNMR) is een maat voor hoe gevoelig het systeem is voor het onjuist identificeren of autoriseren van een echte gebruiker.

De FNMR wordt uitgedrukt als een percentage van de gevallen waarin een onboarding- of authenticatiepoging wordt gedaan, waarbij het gezicht van de gebruiker ten onrechte wordt afgewezen (een fout-negatief) omdat de gelijkenisscore onder de voorgeschreven drempel ligt.

Een echt positief (TP) is wanneer de oplossing twee of meer afbeeldingen van dezelfde persoon als hetzelfde beschouwt. Dat wil zeggen, de overeenkomst van de vergelijking of zoekopdracht ligt boven de vereiste overeenkomstdrempel.

Een vals negatief (FN) is wanneer de oplossing twee of meer afbeeldingen van dezelfde persoon als verschillend beschouwt. Dat wil zeggen, de overeenkomst van de vergelijking of zoekopdracht ligt onder de vereiste overeenkomstdrempel.

De formule voor de FNMR is:

FNMR = fout-negatieve telling / (ware positieve telling + fout-negatieve telling)

Stel dat we 10,000 echte authenticatiepogingen hebben, maar dat er 100 worden geweigerd omdat hun gelijkenis met de referentieafbeelding of verzameling onder de gespecificeerde overeenkomstdrempel valt. Hier hebben we 9,900 terecht-positieven en 100 fout-negatieven, daarom is onze FNMR 1.0%

FNMR = 100 / (9900 + 100) of 1.0%

Vals matchpercentage

Wanneer een identiteitsverificatiesysteem een โ€‹โ€‹niet-geautoriseerde gebruiker ten onrechte als echt identificeert of autoriseert, vindt er een valse overeenkomst plaats, ook wel bekend als een valse positieve. De false match rate (FMR) is een maat voor hoe gevoelig het systeem is voor het onjuist identificeren of autoriseren van een niet-geautoriseerde gebruiker. Het wordt gemeten door het aantal fout-positieve herkenningen of authenticaties gedeeld door het totale aantal identificatiepogingen.

Een fout-positief treedt op wanneer de oplossing twee of meer afbeeldingen van verschillende mensen als dezelfde persoon beschouwt. Dat wil zeggen, de overeenkomstscore van de vergelijking of zoekopdracht ligt boven de vereiste overeenkomstdrempel. In wezen identificeert of autoriseert het systeem een โ€‹โ€‹gebruiker onjuist terwijl het zijn identificatie- of authenticatiepoging had moeten weigeren.

De formule voor de FMR is:

FMR = aantal valse positieven / (totaal aantal pogingen)

Stel dat we 100,000 authenticatiepogingen hebben, maar dat 100 valse gebruikers ten onrechte zijn geautoriseerd omdat hun gelijkenis met de referentieafbeelding of verzameling boven de gespecificeerde overeenkomstdrempel valt. Hier hebben we 100 valse positieven, daarom is onze FMR 0.01%

FMR = 100 / (100,000) of 0.01%

Percentage valse overeenkomsten versus percentage valse niet-overeenkomsten

Het percentage valse overeenkomsten en het percentage valse niet-overeenkomsten staan โ€‹โ€‹op gespannen voet met elkaar. Naarmate de overeenkomstdrempel toeneemt, neemt de kans op een valse overeenkomst af, terwijl de kans op een valse niet-overeenstemming toeneemt. Een andere manier om over deze wisselwerking na te denken, is dat naarmate de overeenkomstdrempel toeneemt, de oplossing restrictiever wordt, waardoor er minder overeenkomsten met een lage overeenkomst ontstaan. Het is bijvoorbeeld gebruikelijk dat bij use cases met betrekking tot openbare veiligheid en beveiliging de drempel voor overeenkomstgelijkenis behoorlijk hoog is (99 en hoger). Als alternatief kan een organisatie een minder beperkende gelijkheidsdrempel kiezen (90 en hoger), waarbij de impact van wrijving op de gebruiker belangrijker is. Het volgende diagram illustreert deze afwegingen. De uitdaging voor organisaties is om een โ€‹โ€‹drempel te vinden die zowel FMR als FNMR minimaliseert op basis van uw organisatie- en toepassingsvereisten.

FMR versus FNMR afweging

Het selecteren van een overeenkomstdrempel is afhankelijk van de bedrijfstoepassing. Stel dat u de wrijving van klanten tijdens de onboarding wilt beperken (een minder beperkende gelijkheidsdrempel, zoals weergegeven in de volgende afbeelding aan de linkerkant). Hier heb je mogelijk een lagere vereiste overeenkomstdrempel en ben je bereid het risico te accepteren van onboarding van gebruikers waar het vertrouwen in de match tussen hun selfie en rijbewijs lager is. Stel dat u er daarentegen voor wilt zorgen dat alleen geautoriseerde gebruikers toegang krijgen tot een toepassing. Hier werkt u mogelijk met een vrij restrictieve gelijkheidsdrempel (zoals weergegeven in de afbeelding rechts).

lagere gelijkenisdrempel hoge gelijkenisdrempel

Stappen voor het berekenen van percentages valse overeenkomsten en niet-overeenkomsten

Er zijn verschillende manieren om deze twee statistieken te berekenen. Het volgende is een relatief eenvoudige benadering van het verdelen van de stappen in het verzamelen van echte beeldparen, het creรซren van een bedriegerpaar (beelden die niet zouden moeten overeenkomen) en uiteindelijk het gebruik van een sonde om de verwachte overeenkomende en niet-overeenkomende beeldparen te doorlopen, het vastleggen van de resulterende gelijkenis. De stappen zijn als volgt:

  1. Verzamel een echte voorbeeldafbeeldingenset. We raden aan te beginnen met een set afbeeldingsparen en een externe identifier toe te wijzen, die wordt gebruikt om een โ€‹โ€‹officiรซle matchbepaling te maken. Het paar bestaat uit de volgende afbeeldingen:
    1. Bronafbeelding โ€“ Uw vertrouwde bronafbeelding, bijvoorbeeld een rijbewijs.
    2. Doelafbeelding - Uw selfie of afbeelding waarmee u gaat vergelijken.
  2. Verzamel een afbeeldingsset van bedriegerovereenkomsten. Dit zijn paren afbeeldingen waarvan de bron en het doel niet overeenkomen. Dit wordt gebruikt om de FMR te beoordelen (de waarschijnlijkheid dat het systeem de gezichten van twee verschillende gebruikers onjuist zal matchen). U kunt een bedrieglijke afbeeldingsset maken met behulp van de afbeeldingsparen door een Cartesiaans product van de afbeeldingen te maken en vervolgens het resultaat te filteren en te bemonsteren.
  3. Onderzoek de matchsets van de echte en de bedrieger door de beeldparen in een lus te zetten, de bron en het doelwit van de bedrieger te vergelijken en de resulterende overeenkomst vast te leggen.
  4. Bereken FMR en FNMR door de fout-positieven en fout-negatieven te berekenen bij verschillende minimale overeenkomstdrempels.

U kunt de kosten van FMR en FNMR beoordelen bij verschillende overeenkomstdrempels in verhouding tot de behoefte van uw toepassing.

Stap 1: Verzamel monsters van echte afbeeldingsparen

Het kiezen van een representatief voorbeeld van te evalueren afbeeldingsparen is van cruciaal belang bij het evalueren van een identiteitsverificatieservice. De eerste stap is het identificeren van een echte set afbeeldingsparen. Dit zijn bekende bron- en doelafbeeldingen van een gebruiker. De echte afbeeldingskoppeling wordt gebruikt om de FNMR te beoordelen, in wezen de waarschijnlijkheid dat het systeem niet overeenkomt met twee gezichten van dezelfde persoon. Een van de eerste vragen die vaak wordt gesteld, is: "Hoeveel afbeeldingsparen zijn er nodig?" Het antwoord is dat het afhangt van uw gebruiksscenario, maar de algemene richtlijn is als volgt:

  • Tussen de 100 en 1,000 beeldparen biedt een zekere mate van haalbaarheid
  • Tot 10,000 afbeeldingsparen is groot genoeg om de variabiliteit tussen afbeeldingen te meten
  • Meer dan 10,000 beeldparen bieden een maatstaf voor operationele kwaliteit en generaliseerbaarheid

Meer data is altijd beter; gebruik echter als uitgangspunt ten minste 1,000 afbeeldingsparen. Het is echter niet ongewoon om meer dan 10,000 beeldparen te gebruiken om een โ€‹โ€‹acceptabele FNMR of FMR te vinden voor een bepaald zakelijk probleem.

Het volgende is een voorbeeld van een afbeeldingspaartoewijzingsbestand. We gebruiken het afbeeldingspaartoewijzingsbestand om de rest van het evaluatieproces aan te sturen.

EXTERNE_ID BRON DOEL TEST
9055 9055_M0.jpeg 9055_M1.jpeg Echte
19066 19066_M0.jpeg 19066_M1.jpeg Echte
11396 11396_M0.jpeg 11396_M1.jpeg Echte
12657 12657_M0.jpeg 12657_M1.jpeg Echte
... . . .

Stap 2: Genereer een bedrieger-afbeeldingspaar reeks

Nu u een bestand met echte afbeeldingsparen hebt, kunt u een Cartesiaans product maken van doel- en bronafbeeldingen waarbij de externe identifiers niet overeenkomen. Dit levert bron-naar-doel-paren op die niet zouden moeten overeenkomen. Deze koppeling wordt gebruikt om de FMR te beoordelen, in wezen de waarschijnlijkheid dat het systeem het gezicht van een gebruiker zal matchen met een gezicht van een andere gebruiker.

externe_id BRON DOEL TEST
114192 114192_4M49.jpeg 307107_00M17.jpeg Bedrieger
105300 105300_04F42.jpeg 035557_00M53.jpeg Bedrieger
110771 110771_3M44.jpeg 120381_1M33.jpeg Bedrieger
281333 281333_04F35.jpeg 314769_01M17.jpeg Bedrieger
40081 040081_2F52.jpeg 326169_00F32.jpeg Bedrieger
... . . .

Stap 3: Test de echte en bedrieglijke afbeeldingspaarsets

Met behulp van een stuurprogramma passen we de Amazon Rekognition CompareFaces-API over de beeldparen en leg de gelijkenis vast. U kunt ook aanvullende informatie vastleggen, zoals pose, kwaliteit en andere resultaten van de vergelijking. De gelijkenisscores worden gebruikt om de percentages valse overeenkomsten en niet-overeenkomsten in de volgende stap te berekenen.

In het volgende codefragment passen we de CompareFaces API toe op alle afbeeldingsparen en vullen we alle gelijkenisscores in een tabel in:

obj = s3.get_object(Bucket= bucket_name , Key = csv_file)
โ€จdf = pd.read_csv(io.BytesIO(obj['Body'].read()), encoding='utf8')
def compare_faces(source_file, target_file, threshold = 0):
    response=rekognition.compare_faces(SimilarityThreshold=threshold,
                                        SourceImage={'S3Object': {
                                                    'Bucket': bucket_name,
                                                    'Name':source_file}},
                                        TargetImage={'S3Object': {
                                                    'Bucket': bucket_name,
                                                    'Name':target_file}})โ€จdf_similarity = df.copy()โ€จdf_similarity["SIMILARITY"] = None
for index, row in df.iterrows():
    source_file = dataset_folder + row["SOURCE"]
    target_file = dataset_folder + row["TARGET"]
    response_score = compare_faces(source_file, target_file)
    df_similarity._set_value(index,"SIMILARITY", response_score)
    df_similarity.head()

Het codefragment geeft de volgende uitvoer.

EXTERNE_ID BRON DOEL TEST GELIJKENIS
9055 9055_M0.jpeg 9055_M1.jpeg Echte 98.3
19066 19066_M0.jpeg 19066_M1.jpeg Echte 94.3
11396 11396_M0.jpeg 11396_M1.jpeg Echte 96.1
... . . . .
114192 114192_4M49.jpeg 307107_00M17.jpeg Bedrieger 0.0
105300 105300_04F42.jpeg 035557_00M53.jpeg Bedrieger 0.0
110771 110771_3M44.jpeg 120381_1M33.jpeg Bedrieger 0.0

Verdelingsanalyse van gelijkenisscores door tests is een startpunt om de gelijkenisscore per beeldparen te begrijpen. Het volgende codefragment en uitvoerdiagram toont een eenvoudig voorbeeld van de verdeling van de gelijkenisscore per testset en de resulterende beschrijvende statistieken:

sns.boxplot(data=df_similarity,
            x=df_similarity["SIMILARITY"],
            y=df_similarity["TEST"]).set(xlabel='Similarity Score',
            ylabel=None,
            title = "Similarity Score Distribution")
plt.show()

verdeling van de gelijkenisscore

df_descriptive_stats = pd.DataFrame(columns=['test','count', 'min' , 'max', 'mean', 'median', 'std'])

tests = ["Genuine", "Imposter"]

for test in tests:
    count = df_similarity['SIMILARITY'].loc[df_similarity['TEST'] == test].count()
    mean = df_similarity['SIMILARITY'].loc[df_similarity['TEST'] == test].mean()
    max_ = df_similarity['SIMILARITY'].loc[df_similarity['TEST'] == test].max()
    min_ = df_similarity['SIMILARITY'].loc[df_similarity['TEST'] == test].min()
    median = df_similarity['SIMILARITY'].loc[df_similarity['TEST'] == test].median()
    std = df_similarity['SIMILARITY'].loc[df_similarity['TEST'] == test].std()

    new_row = {'test': test,
                'count': count,
                'min': min_,
                'max': max_,
                'mean': mean,
                'median':median,
                'std': std}
    df_descriptive_stats = df_descriptive_stats.append(new_row,
    ignore_index=True)

df_descriptive_stats

proef tellen Min max gemiddelde mediaan soa
echt 204 0.2778 99.9957 91.7357 99.0961 19.9097
bedrieger 1020 0.0075 87.3893 2.8111 0.8330 7.3496

In dit voorbeeld kunnen we zien dat de gemiddelde en mediane overeenkomst voor echte gezichtsparen 91.7 en 99.1 was, terwijl voor de bedriegerparen respectievelijk 2.8 en 0.8 was. Zoals verwacht toont dit de hoge gelijkenisscores voor echte beeldparen en lage gelijkenisscores voor bedrieglijke beeldparen.

Stap 4: Bereken FMR en FNMR op verschillende gelijkheidsdrempelniveaus

In deze stap berekenen we de percentages valse overeenkomsten en niet-overeenkomsten bij verschillende gelijkheidsdrempels. Om dit te doen, doorlopen we eenvoudigweg gelijkheidsdrempels (bijvoorbeeld 90-100). Bij elke geselecteerde overeenkomstdrempel berekenen we onze verwarringsmatrix met echt-positieve, echt-negatieve, fout-positieve en fout-negatieve tellingen, die worden gebruikt om de FMR en FNMR bij elke geselecteerde overeenkomst te berekenen.

Daadwerkelijk
Voorspelde
. Match Geen match
>= geselecteerde gelijkenis TP FP
< geselecteerde gelijkenis FN TN

Om dit te doen, maken we een functie die de fout-positieve en negatieve tellingen retourneert, en doorlopen we een reeks gelijkenisscores (90-100):

similarity_thresholds = [80,85,90,95,96,97,98,99]

# create output df
df_cols = ['Similarity Threshold', 'TN' , 'FN', 'TP', 'FP', 'FNMR (%)', 'FMR (%)']
comparison_df = pd.DataFrame(columns=df_cols)

# create columns for y_actual and y_pred
df_analysis = df_similarity.copy()
df_analysis["y_actual"] = None
df_analysis["y_pred"] = None

for threshold in similarity_thresholds:
    # Create y_pred and y_actual columns, 1 == match, 0 == no match
    for index, row in df_similarity.iterrows():
        # set y_pred
        if row["SIMILARITY"] >= threshold:
            df_analysis._set_value(index,"y_pred", 1)
        else:
            df_analysis._set_value(index,"y_pred", 0)

        # set y_actual
        if row["TEST"] == "Genuine":
            df_analysis._set_value(index,"y_actual", 1)
        else:
            df_analysis._set_value(index,"y_actual", 0)

    tn, fp, fn, tp = confusion_matrix(df_analysis['y_actual'].tolist(),
                                      df_analysis['y_pred'].tolist()).ravel()
    FNMR = fn / (tp + fn)
    FMR = fp / (tn+fp+fn+tp)

    new_row = {'Similarity Threshold': threshold,
                'TN': tn,
                'FN': fn,
                'TP': tp,
                'FP': fp,
                'FNMR (%)':FNMR,
                'FMR (%)': FMR}
    comparison_df = comparison_df.append(new_row,ignore_index=True)

comparison_df

De volgende tabel toont de resultaten van de tellingen bij elke overeenkomstdrempel.

Overeenkomst drempel TN FN TP FP FNMR FMR
80 1019 22 182 1 0.1% 0.1%
85 1019 23 181 1 0.11% 0.1%
90 1020 35 169 0 0.12% 0.0%
95 1020 51 153 0 0.2% 0.0%
96 1020 53 151 0 0.25% 0.0%
97 1020 60 144 0 0.3% 0.0%
98 1020 75 129 0 0.4% 0.0%
99 1020 99 105 0 0.5% 0.0%

Welke invloed heeft de overeenkomstdrempel op het percentage valse niet-overeenkomsten?

Stel dat we 1,000 echte onboarding-pogingen van gebruikers hebben en we weigeren 10 van deze pogingen op basis van een vereiste minimale overeenkomst van 95% om als een match te worden beschouwd. Hier wijzen we 10 echte onboarding-pogingen (fout-negatieven) af omdat hun overeenkomst onder de gespecificeerde minimaal vereiste overeenkomstdrempel valt. In dit geval is onze FNMR 1.0%.

Daadwerkelijk
Voorspelde
. Match Geen match
>= 95% overeenkomst 990 0
< 95% overeenkomst 10 0
. totaal 1,000 .

FNMR = fout-negatieve telling / (ware positieve telling + fout-negatieve telling)

FNMR = 10 / (990 + 10) of 1.0%

Stel daarentegen dat we in plaats van 1,000 echte gebruikers aan boord te hebben, 990 echte gebruikers en 10 bedrieglijke gebruikers hebben (vals positief). Stel dat we bij een minimale overeenkomst van 95% alle 1,000 gebruikers als echt accepteren. Hier zouden we een FMR van 1% hebben.

Daadwerkelijk
Voorspelde
. Match Geen match totaal
>= 95% overeenkomst 990 10 1,000
< 95% overeenkomst 0 0 .

FMR = aantal valse positieven / (totaal aantal pogingen)

FMR = 10 / (1,000) of 1.0%

Beoordelen kosten FMR en FNMR bij onboarding

In een onboarding use case worden de kosten van een valse non-match (een afwijzing) over het algemeen geassocieerd met extra gebruikersfrictie of verlies van een registratie. Stel dat Julie in ons bankgebruik bijvoorbeeld twee afbeeldingen van zichzelf presenteert, maar ten onrechte wordt afgewezen op het moment van onboarding omdat de overeenkomst tussen de twee afbeeldingen onder de geselecteerde overeenkomst valt (een valse niet-overeenstemming). De financiรซle instelling kan het risico lopen Julie als potentiรซle klant kwijt te raken, of het kan Julie extra wrijving bezorgen door haar te verplichten stappen te ondernemen om haar identiteit te bewijzen.

Omgekeerd, stel dat de twee afbeeldingen van Julie van verschillende mensen zijn en Julie's onboarding had moeten worden afgewezen. In het geval dat Julie ten onrechte wordt geaccepteerd (een valse match), zijn de kosten en het risico voor de financiรซle instelling heel anders. Er kunnen regelgevingsproblemen, frauderisico's en andere risico's verbonden aan financiรซle transacties zijn.

Verantwoord gebruik

Kunstmatige intelligentie (AI) toegepast door middel van machine learning (ML) zal een van de meest transformationele technologieรซn van onze generatie zijn, die enkele van de meest uitdagende problemen van de mensheid aanpakt, de menselijke prestaties verbetert en de productiviteit maximaliseert. Verantwoord gebruik van deze technologieรซn is de sleutel tot het bevorderen van voortdurende innovatie. AWS streeft ernaar om eerlijke en nauwkeurige AI- en ML-services te ontwikkelen en u de tools en begeleiding te bieden die nodig zijn om op verantwoorde wijze AI- en ML-applicaties te bouwen.

Naarmate u meer gebruikmaakt van AI en ML, biedt AWS verschillende hulpmiddelen op basis van onze ervaring om u te helpen bij de verantwoorde ontwikkeling en het gebruik van AI en ML:

Best practices en veelvoorkomende fouten die u moet vermijden

In deze sectie bespreken we de volgende best practices:

  • Gebruik een voldoende groot aantal afbeeldingen
  • Vermijd open-source en synthetische gezichtsdatasets
  • Vermijd handmatige en synthetische beeldmanipulatie
  • Controleer de beeldkwaliteit op het moment van evaluatie en na verloop van tijd
  • Bewaak FMR en FNMR in de loop van de tijd
  • Gebruik een mens in de loop review
  • Blijf op de hoogte met Amazon Rekognition

Gebruik een voldoende groot aantal afbeeldingen

Gebruik een voldoende grote maar redelijke steekproef van afbeeldingen. Wat is een redelijke steekproefomvang? Het hangt af van het bedrijfsprobleem. Als u een werkgever bent en 10,000 werknemers heeft die u wilt authenticeren, dan is het waarschijnlijk redelijk om alle 10,000 afbeeldingen te gebruiken. Stel dat u een organisatie bent met miljoenen klanten die u aan boord wilt hebben. In dit geval is het nemen van een representatieve steekproef van klanten, zoals 5,000-20,000, waarschijnlijk voldoende. Hier is wat advies over de steekproefomvang:

  • Een steekproefomvang van 100 โ€“ 1,000 beeldparen bewijst haalbaarheid
  • Een steekproefomvang van 1,000 โ€“ 10,000 afbeeldingsparen is handig om de variabiliteit tussen afbeeldingen te meten
  • Een steekproefomvang van 10,000 โ€“ 1 miljoen beeldparen geeft een maatstaf voor operationele kwaliteit en generaliseerbaarheid

De sleutel bij het nemen van steekproeven van afbeeldingsparen is om ervoor te zorgen dat de steekproef voldoende variabiliteit biedt voor de populatie van gezichten in uw toepassing. U kunt uw bemonstering en testen verder uitbreiden met demografische informatie zoals huidskleur, geslacht en leeftijd.

Vermijd open-source en synthetische gezichtsdatasets

Er zijn tientallen gecureerde open-source datasets voor gezichtsafbeeldingen, evenals verbazingwekkend realistische synthetische gezichtssets die vaak worden gebruikt in onderzoek en om de haalbaarheid te bestuderen. De uitdaging is dat deze datasets over het algemeen niet bruikbaar zijn voor 99% van de praktijksituaties, simpelweg omdat ze niet representatief zijn voor de camera's, gezichten en kwaliteit van de afbeeldingen die uw toepassing waarschijnlijk in het wild tegenkomt. Hoewel ze nuttig zijn voor de ontwikkeling van toepassingen, zijn de nauwkeurigheidsmetingen van deze afbeeldingensets niet generaliseerbaar naar wat u in uw eigen toepassing zult tegenkomen. In plaats daarvan raden we aan te beginnen met een representatief voorbeeld van echte afbeeldingen uit uw oplossing, zelfs als de voorbeeldafbeeldingparen klein zijn (minder dan 1,000).

Vermijd handmatige en synthetische beeldmanipulatie

Er zijn vaak randgevallen die mensen graag willen begrijpen. Zaken als de beeldkwaliteit of vertroebeling van specifieke gelaatstrekken zijn altijd interessant. Zo krijgen we vaak de vraag wat de invloed is van leeftijd en beeldkwaliteit op gezichtsherkenning. Je zou eenvoudigweg een gezicht synthetisch kunnen verouderen of de afbeelding manipuleren om het onderwerp ouder te laten lijken, of de beeldkwaliteit manipuleren, maar dit vertaalt zich niet goed naar de veroudering van afbeeldingen in de echte wereld. In plaats daarvan raden we aan om een โ€‹โ€‹representatieve steekproef te verzamelen van real-world edge-cases die u wilt testen.

Controleer de beeldkwaliteit op het moment van evaluatie en na verloop van tijd

Camera- en applicatietechnologie verandert in de loop van de tijd vrij snel. Als best practice raden we aan om de beeldkwaliteit in de loop van de tijd te controleren. Van de grootte van vastgelegde gezichten (met behulp van selectiekaders), tot de helderheid en scherpte van een afbeelding, tot de pose van een gezicht, evenals mogelijke vertroebelingen (hoeden, zonnebrillen, baarden, enzovoort), al deze afbeeldingen en gelaatstrekken veranderen in de loop van de tijd.

Bewaak FNMR en FMR in de loop van de tijd

Er vinden veranderingen plaats, of het nu gaat om de afbeeldingen, de toepassing of de gelijkheidsdrempels die in de toepassing worden gebruikt. Het is belangrijk om periodiek de percentages valse overeenkomsten en niet-overeenkomsten in de loop van de tijd te controleren. Veranderingen in de tarieven (zelfs subtiele veranderingen) kunnen vaak wijzen op upstream-problemen met de applicatie of hoe de applicatie wordt gebruikt. Wijzigingen in gelijkheidsdrempels en bedrijfsregels die worden gebruikt om beslissingen over accepteren of afwijzen te nemen, kunnen grote gevolgen hebben voor gebruikerservaringen bij onboarding en authenticatie.

Gebruik een mens in de loop review

Identiteitsverificatiesystemen nemen geautomatiseerde beslissingen om wel of niet overeen te komen op basis van gelijkheidsdrempels en bedrijfsregels. Naast wettelijke en interne nalevingsvereisten, is een belangrijk proces in elk geautomatiseerd besluitvormingssysteem het gebruik van menselijke beoordelaars als onderdeel van de voortdurende monitoring van het besluitvormingsproces. Menselijk toezicht op deze geautomatiseerde besluitvormingssystemen zorgt voor validatie en continue verbetering, evenals transparantie in het geautomatiseerde besluitvormingsproces.

Blijf op de hoogte met Amazon Rekognition

Het Amazon Recognition Faces-model wordt periodiek (meestal jaarlijks) bijgewerkt en bevindt zich momenteel in versie 6. Deze bijgewerkte versie heeft belangrijke verbeteringen aangebracht in de nauwkeurigheid en indexering. Het is belangrijk om op de hoogte te blijven van nieuwe modelversies en te begrijpen hoe u deze nieuwe versies kunt gebruiken in uw identiteitsverificatietoepassing. Wanneer nieuwe versies van het Amazon Rekognition-gezichtsmodel worden gelanceerd, is het een goede gewoonte om uw identiteitsverificatie-evaluatieproces opnieuw uit te voeren en mogelijke gevolgen (positief en negatief) voor uw percentages valse overeenkomsten en niet-overeenkomsten te bepalen.

Conclusie

Dit bericht bespreekt de belangrijkste elementen die nodig zijn om het prestatieaspect van uw identiteitsverificatieoplossing te evalueren in termen van verschillende nauwkeurigheidsstatistieken. Nauwkeurigheid is echter slechts een van de vele dimensies die u moet evalueren bij het kiezen van een bepaalde contentmoderatieservice. Het is van cruciaal belang dat u andere parameters opneemt, zoals de totale functieset van de service, gebruiksgemak, bestaande integraties, privacy en beveiliging, aanpassingsopties, implicaties voor schaalbaarheid, klantenservice en prijzen.

Ga voor meer informatie over identiteitsverificatie in Amazon Rekognition naar Identiteitsverificatie met Amazon Recognition.


Over de auteurs

Statistieken voor het evalueren van een oplossing voor identiteitsverificatie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Mike Ames is een datawetenschapper die specialist is geworden in oplossingen voor identiteitsverificatie, met uitgebreide ervaring in het ontwikkelen van machine learning en AI-oplossingen om organisaties te beschermen tegen fraude, verspilling en misbruik. In zijn vrije tijd kun je hem vinden wandelen, mountainbiken of freebee spelen met zijn hond Max.

Statistieken voor het evalueren van een oplossing voor identiteitsverificatie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Amit Gupta is Senior AI Services Solutions Architect bij AWS. Hij is gepassioneerd om klanten op grote schaal goed ontworpen machine learning-oplossingen te bieden.

Statistieken voor het evalueren van een oplossing voor identiteitsverificatie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Zuhair Raghib is een AI Services Solutions Architect bij AWS. Hij is gespecialiseerd in toegepaste AI/ML en is gepassioneerd om klanten in staat te stellen de cloud te gebruiken om sneller te innoveren en hun bedrijf te transformeren.

Statistieken voor het evalueren van een oplossing voor identiteitsverificatie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Marcel Pividal is Sr. AI Services Solutions Architect in de World-Wide Specialist Organization. Marcel heeft meer dan 20 jaar ervaring met het oplossen van bedrijfsproblemen door middel van technologie voor fintechs, betalingsproviders, farma en overheidsinstanties. Zijn huidige aandachtsgebieden zijn risicomanagement, fraudepreventie en identiteitsverificatie.

Tijdstempel:

Meer van AWS-machine learning