Metriche per valutare una soluzione di verifica dell'identità PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Metriche per la valutazione di una soluzione di verifica dell'identità

A livello globale, c'è stato uno spostamento accelerato verso esperienze utente digitali senza attriti. Che si tratti di registrarsi su un sito Web, effettuare transazioni online o semplicemente accedere al proprio conto bancario, le organizzazioni stanno attivamente cercando di ridurre l'attrito riscontrato dai propri clienti, migliorando allo stesso tempo la sicurezza, la conformità e le misure di prevenzione delle frodi. Lo spostamento verso esperienze utente senza attriti ha dato origine a soluzioni di verifica dell'identità biometrica basate sul volto volte a rispondere alla domanda "Come si verifica una persona nel mondo digitale?"

Ci sono due vantaggi chiave della biometria facciale quando si tratta di questioni di identificazione e autenticazione. Innanzitutto, è una tecnologia conveniente per gli utenti: non è necessario ricordare una password, affrontare sfide a più fattori, fare clic su collegamenti di verifica o risolvere enigmi CAPTCHA. In secondo luogo, viene raggiunto un elevato livello di sicurezza: l'identificazione e l'autenticazione sulla base della biometria facciale è sicura e meno suscettibile a frodi e attacchi.

In questo post, ci immergiamo nei due casi d'uso principali della verifica dell'identità: onboarding e autenticazione. Quindi ci immergiamo nelle due metriche chiave utilizzate per valutare l'accuratezza di un sistema biometrico: il tasso di corrispondenza falsa (noto anche come tasso di falsa accettazione) e il tasso di mancata corrispondenza falsa (noto anche come tasso di rifiuto falso). Queste due misure sono ampiamente utilizzate dalle organizzazioni per valutare l'accuratezza e il tasso di errore dei sistemi biometrici. Infine, discutiamo un framework e le migliori pratiche per eseguire una valutazione di un servizio di verifica dell'identità.

Fare riferimento all'allegato Notebook Jupyter che illustra tutti i passaggi menzionati in questo post.

Casi d'uso: onboarding e autenticazione

Esistono due casi d'uso principali per le soluzioni biometriche: l'onboarding dell'utente (spesso indicato come verifica) e l'autenticazione (spesso indicata come identificazione). L'onboarding comporta la corrispondenza uno a uno dei volti tra due immagini, ad esempio confrontando un selfie con un documento di identificazione attendibile come una patente di guida o un passaporto. L'autenticazione, d'altra parte, comporta la ricerca uno-a-molti di un volto rispetto a una raccolta di volti memorizzata, ad esempio la ricerca in una raccolta di volti di dipendenti per vedere se un dipendente è autorizzato ad accedere a un determinato piano di un edificio.

Le prestazioni di accuratezza dei casi d'uso di onboarding e autenticazione sono misurate dagli errori di falsi positivi e falsi negativi che la soluzione biometrica può commettere. Un punteggio di somiglianza (che va da 0% che significa nessuna corrispondenza a 100% che significa una corrispondenza perfetta) viene utilizzato per determinare una corrispondenza o una mancata corrispondenza. Un falso positivo si verifica quando la soluzione considera le immagini di due persone diverse come la stessa persona. Un falso negativo, invece, significa che la soluzione ha considerato diverse due immagini della stessa persona.

Onboarding: verifica one-to-one

I processi di onboarding basati sulla biometria semplificano e proteggono il processo. Ancora più importante, prepara l'organizzazione e il cliente a un'esperienza di onboarding quasi senza attriti. Per fare ciò, agli utenti è semplicemente richiesto di presentare un'immagine di una qualche forma di documento di identificazione attendibile contenente il volto dell'utente (come la patente di guida o il passaporto) e di scattare un'immagine selfie durante il processo di onboarding. Dopo che il sistema ha queste due immagini, confronta semplicemente i volti all'interno delle due immagini. Quando la somiglianza è maggiore di una soglia specificata, allora hai una corrispondenza; in caso contrario, hai una non corrispondenza. Il diagramma seguente illustra il processo.

Considera l'esempio di Julie, un nuovo utente che apre un conto bancario digitale. La soluzione le chiede di scattare una foto della sua patente di guida (passaggio 2) e di scattare un selfie (passaggio 3). Dopo che il sistema ha verificato la qualità delle immagini (passaggio 4), confronta il volto nel selfie con il volto sulla patente di guida (corrispondenza uno a uno) e viene prodotto un punteggio di somiglianza (passaggio 5). Se il punteggio di somiglianza è inferiore alla soglia di somiglianza richiesta, il tentativo di onboarding di Julie viene rifiutato. Questo è ciò che chiamiamo falsa non corrispondenza o falso rifiuto: la soluzione considerava diverse due immagini della stessa persona. D'altra parte, se il punteggio di somiglianza era maggiore della somiglianza richiesta, la soluzione considera le due immagini come la stessa persona o una corrispondenza.

Autenticazione: identificazione uno-a-molti

Dall'ingresso in un edificio, al check-in presso un chiosco, alla richiesta di un selfie a un utente per verificare la propria identità, questo tipo di autenticazione da zero a basso attrito tramite riconoscimento facciale è diventato un luogo comune per molte organizzazioni. Invece di eseguire la corrispondenza immagine-immagine, questo caso d'uso di autenticazione prende una singola immagine e la confronta con una raccolta ricercabile di immagini per una potenziale corrispondenza. In un tipico caso d'uso di autenticazione, all'utente viene richiesto di scattare un selfie, che viene quindi confrontato con i volti memorizzati nella raccolta. Il risultato della ricerca produce zero, una o più potenziali corrispondenze con corrispondenti punteggi di somiglianza e identificatori esterni. Se non viene restituita alcuna corrispondenza, l'utente non è autenticato; tuttavia, supponendo che la ricerca restituisca una o più corrispondenze, il sistema prende la decisione di autenticazione in base ai punteggi di somiglianza e agli identificatori esterni. Se il punteggio di somiglianza supera la soglia di somiglianza richiesta e l'identificatore esterno corrisponde all'identificatore previsto, l'utente viene autenticato (corrispondente). Il diagramma seguente delinea un esempio di processo di autenticazione biometrica basato sul volto.

processo di autenticazione

Considera l'esempio di Jose, un autista di consegne gig-economy. Il servizio di consegna autentica i conducenti di consegna chiedendo all'autista di scattare un selfie prima di iniziare una consegna utilizzando l'applicazione mobile dell'azienda. Un problema che i fornitori di servizi di gig-economy devono affrontare è la condivisione del lavoro; essenzialmente due o più utenti condividono lo stesso account per giocare con il sistema. Per contrastare questo problema, molti servizi di consegna utilizzano una fotocamera interna per scattare immagini (passaggio 2) dell'autista in momenti casuali durante una consegna (per garantire che l'autista della consegna sia l'autista autorizzato). In questo caso, Jose non solo scatta un selfie all'inizio della sua consegna, ma una fotocamera dell'auto scatta immagini di lui durante la consegna. Il sistema esegue controlli di qualità (passo 3) e ricerche (passo 4) nella raccolta dei conducenti registrati per verificare l'identità del conducente. Se viene rilevato un driver diverso, il servizio di consegna gig-economy può indagare ulteriormente.

Una falsa corrispondenza (falso positivo) si verifica quando la soluzione considera due o più immagini di persone diverse come la stessa persona. Nel nostro caso d'uso, supponiamo che invece dell'autista autorizzato, Jose, permetta a suo fratello Miguel di prendere una delle sue consegne per lui. Se la soluzione abbina erroneamente il selfie di Miguel alle immagini di Jose, si verifica una falsa corrispondenza (falso positivo).

Per combattere il potenziale di false corrispondenze, raccomandiamo che le raccolte contengano più immagini di ciascun soggetto. È pratica comune indicizzare documenti di identificazione attendibili contenenti un volto, un selfie al momento dell'onboarding e selfie degli ultimi numerosi controlli di identificazione. L'indicizzazione di diverse immagini di un soggetto offre la possibilità di aggregare i punteggi di somiglianza tra i volti restituiti, migliorando così l'accuratezza dell'identificazione. Inoltre, vengono utilizzati identificatori esterni per limitare il rischio di una falsa accettazione. Un esempio di regola aziendale potrebbe essere simile a questo:

IF punteggio di somiglianza aggregato >= soglia di somiglianza richiesta AND identificatore esterno == identificatore previsto THEN autenticare

Misure chiave di accuratezza biometrica

In un sistema biometrico, siamo interessati al tasso di corrispondenza falsa (FMR) e al tasso di mancata corrispondenza falsa (FNMR) in base ai punteggi di somiglianza dei confronti e delle ricerche dei volti. Che si tratti di un caso d'uso di onboarding o autenticazione, i sistemi biometrici decidono di accettare o rifiutare le corrispondenze del volto di un utente in base al punteggio di somiglianza di due o più immagini. Come qualsiasi sistema decisionale, ci saranno errori in cui il sistema accetta o rifiuta erroneamente un tentativo di onboarding o autenticazione. Come parte della valutazione della soluzione di verifica dell'identità, è necessario valutare il sistema a varie soglie di somiglianza per ridurre al minimo i tassi di corrispondenza falsa e mancata corrispondenza, nonché confrontare tali errori con il costo di rifiuti e accettazioni errati. Utilizziamo FMR e FNMR come le nostre due metriche chiave per valutare i sistemi biometrici facciali.

Falso tasso di mancata corrispondenza

Quando il sistema di verifica dell'identità non riesce a identificare o autorizzare correttamente un utente autentico, si verifica una falsa mancata corrispondenza, nota anche come falso negativo. Il falso tasso di mancata corrispondenza (FNMR) è una misura della tendenza del sistema a identificare o autorizzare in modo errato un utente autentico.

Il FNMR è espresso come percentuale di casi in cui viene effettuato un tentativo di onboarding o autenticazione, in cui il volto dell'utente viene erroneamente rifiutato (un falso negativo) perché il punteggio di somiglianza è inferiore alla soglia prescritta.

Un vero positivo (TP) è quando la soluzione considera due o più immagini della stessa persona come uguali. In altre parole, la somiglianza del confronto o della ricerca è superiore alla soglia di somiglianza richiesta.

Un falso negativo (FN) è quando la soluzione considera diverse due o più immagini della stessa persona. In altre parole, la somiglianza del confronto o della ricerca è inferiore alla soglia di somiglianza richiesta.

La formula per il FNMR è:

FNMR = Conteggio falsi negativi / (Conteggio veri positivi + Conteggio falsi negativi)

Ad esempio, supponiamo di avere 10,000 tentativi di autenticazione autentici, ma 100 vengono rifiutati perché la loro somiglianza con l'immagine o la raccolta di riferimento scende al di sotto della soglia di somiglianza specificata. Qui abbiamo 9,900 veri positivi e 100 falsi negativi, quindi il nostro FNMR è dell'1.0%

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

Falso tasso di corrispondenza

Quando un sistema di verifica dell'identità identifica o autorizza erroneamente un utente non autorizzato come autentico, si verifica una falsa corrispondenza, nota anche come falso positivo. Il tasso di corrispondenza falsa (FMR) è una misura della tendenza del sistema a identificare o autorizzare in modo errato un utente non autorizzato. Viene misurato dal numero di riconoscimenti o autenticazioni falsi positivi diviso per il numero totale di tentativi di identificazione.

Un falso positivo si verifica quando la soluzione considera due o più immagini di persone diverse come la stessa persona. In altre parole, il punteggio di somiglianza del confronto o della ricerca è superiore alla soglia di somiglianza richiesta. In sostanza, il sistema identifica o autorizza erroneamente un utente quando avrebbe dovuto rifiutare il suo tentativo di identificazione o autenticazione.

La formula per l'FMR è:

FMR = conteggio dei falsi positivi / (tentativi totali)

Ad esempio, supponiamo di avere 100,000 tentativi di autenticazione ma 100 utenti fasulli vengono autorizzati in modo errato perché la loro somiglianza con l'immagine o la raccolta di riferimento supera la soglia di somiglianza specificata. Qui abbiamo 100 falsi positivi, quindi il nostro FMR è 0.01%

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

Tasso di corrispondenza falsa vs. tasso di mancata corrispondenza falsa

Falso tasso di corrispondenza e falso tasso di mancata corrispondenza sono in contrasto tra loro. All'aumentare della soglia di somiglianza, il potenziale di una falsa corrispondenza diminuisce, mentre aumenta il potenziale di una falsa non corrispondenza. Un altro modo di pensare a questo compromesso è che all'aumentare della soglia di somiglianza, la soluzione diventa più restrittiva, producendo meno corrispondenze a bassa somiglianza. Ad esempio, è comune per i casi d'uso che riguardano la sicurezza e la protezione pubblica impostare una soglia di somiglianza della corrispondenza piuttosto elevata (99 e oltre). In alternativa, un'organizzazione può scegliere una soglia di somiglianza meno restrittiva (90 e oltre), in cui l'impatto dell'attrito sull'utente è più importante. Il diagramma seguente illustra questi compromessi. La sfida per le organizzazioni è trovare una soglia che riduca al minimo sia FMR che FNMR in base ai requisiti dell'organizzazione e dell'applicazione.

Compromesso FMR vs FNMR

La selezione di una soglia di somiglianza dipende dall'applicazione aziendale. Ad esempio, supponi di voler limitare l'attrito del cliente durante l'onboarding (una soglia di somiglianza meno restrittiva, come mostrato nella figura seguente a sinistra). In questo caso potresti avere una soglia di somiglianza richiesta inferiore e sei disposto ad accettare il rischio di coinvolgere gli utenti in cui la fiducia nella corrispondenza tra il loro selfie e la patente di guida è inferiore. Al contrario, si supponga di voler garantire che solo gli utenti autorizzati accedano a un'applicazione. Qui potresti operare a una soglia di somiglianza piuttosto restrittiva (come mostrato nella figura a destra).

soglia di somiglianza inferiore alta soglia di somiglianza

Passaggi per il calcolo dei tassi di corrispondenza falsa e mancata corrispondenza

Esistono diversi modi per calcolare queste due metriche. Quello che segue è un approccio relativamente semplice per suddividere i passaggi nella raccolta di coppie di immagini autentiche, nella creazione di un accoppiamento impostore (immagini che non dovrebbero corrispondere) e infine nell'utilizzo di una sonda per eseguire il looping delle coppie di immagini corrispondenti e non corrispondenti, catturando il somiglianza risultante. I passi sono come segue:

  1. Raccogli un vero e proprio set di immagini di esempio. Si consiglia di iniziare con una serie di coppie di immagini e di assegnare un identificatore esterno, che viene utilizzato per effettuare una determinazione ufficiale della corrispondenza. La coppia è composta dalle seguenti immagini:
    1. Immagine di origine: l'immagine di origine attendibile, ad esempio una patente di guida.
    2. Immagine di destinazione: il tuo selfie o l'immagine con cui ti confronterai.
  2. Raccogli un set di immagini di corrispondenze di impostori. Si tratta di coppie di immagini in cui la sorgente e la destinazione non corrispondono. Questo viene utilizzato per valutare l'FMR (la probabilità che il sistema abbinerà erroneamente i volti di due diversi utenti). È possibile creare un set di immagini impostore utilizzando le coppie di immagini creando un prodotto cartesiano delle immagini, quindi filtrando e campionando il risultato.
  3. Sonda le serie di corrispondenze autentiche e false scorrendo le coppie di immagini, confrontando l'origine e il target dell'impostore e catturando la somiglianza risultante.
  4. Calcola FMR e FNMR calcolando i falsi positivi e falsi negativi a diverse soglie di somiglianza minima.

È possibile valutare il costo di FMR e FNMR a diverse soglie di somiglianza rispetto alle esigenze della propria applicazione.

Passaggio 1: raccogliere campioni di coppie di immagini autentiche

La scelta di un campione rappresentativo di coppie di immagini da valutare è fondamentale quando si valuta un servizio di verifica dell'identità. Il primo passo è identificare un vero insieme di coppie di immagini. Si tratta di immagini di origine e di destinazione note di un utente. L'associazione di immagini autentiche viene utilizzata per valutare il FNMR, essenzialmente la probabilità che il sistema non corrisponda a due volti della stessa persona. Una delle prime domande che spesso vengono poste è "Quante coppie di immagini sono necessarie?" La risposta è che dipende dal tuo caso d'uso, ma la guida generale è la seguente:

  • Tra 100 e 1,000 coppie di immagini fornisce una misura di fattibilità
  • Fino a 10,000 coppie di immagini sono sufficienti per misurare la variabilità tra le immagini
  • Più di 10,000 coppie di immagini forniscono una misura della qualità operativa e della generalizzabilità

Più dati sono sempre migliori; tuttavia, come punto di partenza, utilizzare almeno 1,000 coppie di immagini. Tuttavia, non è raro utilizzare più di 10,000 coppie di immagini per azzerare un FNMR o FMR accettabile per un determinato problema aziendale.

Di seguito è riportato un esempio di file di mappatura della coppia di immagini. Utilizziamo il file di mappatura della coppia di immagini per guidare il resto del processo di valutazione.

ID_ESTERNO FONTE TARGET TEST
9055 9055_M0.jpeg 9055_M1.jpeg genuino
19066 19066_M0.jpeg 19066_M1.jpeg genuino
11396 11396_M0.jpeg 11396_M1.jpeg genuino
12657 12657_M0.jpeg 12657_M1.jpeg genuino
... . . .

Passaggio 2: genera una coppia di immagini impostore set

Ora che disponi di un file di coppie di immagini autentiche, puoi creare un prodotto cartesiano di immagini di destinazione e di origine in cui gli identificatori esterni non coincidono. Questo produce coppie sorgente-target che non dovrebbero corrispondere. Questa associazione viene utilizzata per valutare l'FMR, essenzialmente la probabilità che il sistema abbinerà il volto di un utente a quello di un altro utente.

id_esterno FONTE TARGET TEST
114192 114192_4M49.jpeg 307107_00M17.jpeg Imposter
105300 105300_04F42.jpeg 035557_00M53.jpeg Imposter
110771 110771_3M44.jpeg 120381_1M33.jpeg Imposter
281333 281333_04F35.jpeg 314769_01M17.jpeg Imposter
40081 040081_2F52.jpeg 326169_00F32.jpeg Imposter
... . . .

Passaggio 3: sondare i set di coppie di immagini originali e impostori

Utilizzando un programma driver, applichiamo il file Rekognition di Amazon API CompareFaces sulle coppie di immagini e catturare la somiglianza. Puoi anche acquisire informazioni aggiuntive come posa, qualità e altri risultati del confronto. I punteggi di somiglianza vengono utilizzati per calcolare i tassi di corrispondenza falsa e non corrispondenza nel passaggio successivo.

Nel seguente frammento di codice, applichiamo l'API CompareFaces a tutte le coppie di immagini e compiliamo tutti i punteggi di somiglianza in una tabella:

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()

Il frammento di codice fornisce il seguente output.

ID_ESTERNO FONTE TARGET TEST SOMIGLIANZA
9055 9055_M0.jpeg 9055_M1.jpeg genuino 98.3
19066 19066_M0.jpeg 19066_M1.jpeg genuino 94.3
11396 11396_M0.jpeg 11396_M1.jpeg genuino 96.1
... . . . .
114192 114192_4M49.jpeg 307107_00M17.jpeg Imposter 0.0
105300 105300_04F42.jpeg 035557_00M53.jpeg Imposter 0.0
110771 110771_3M44.jpeg 120381_1M33.jpeg Imposter 0.0

L'analisi della distribuzione dei punteggi di somiglianza per test è un punto di partenza per comprendere il punteggio di somiglianza per coppie di immagini. Il seguente frammento di codice e il grafico di output mostrano un semplice esempio della distribuzione del punteggio di somiglianza per set di test e le risultanti statistiche descrittive:

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()

distribuzione del punteggio di somiglianza

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

test contare verbale max significare mediano std
genuino 204 0.2778 99.9957 91.7357 99.0961 19.9097
impostore 1020 0.0075 87.3893 2.8111 0.8330 7.3496

In questo esempio, possiamo vedere che la somiglianza media e mediana per le coppie di volti autentiche era 91.7 e 99.1, mentre per le coppie di impostori era rispettivamente di 2.8 e 0.8. Come previsto, questo mostra i punteggi di somiglianza elevati per le coppie di immagini autentiche e i punteggi di somiglianza bassi per le coppie di immagini false.

Passaggio 4: calcolare FMR e FNMR a diversi livelli di soglia di somiglianza

In questa fase, calcoliamo i tassi di corrispondenza falsa e mancata corrispondenza a diverse soglie di somiglianza. Per fare ciò, eseguiamo semplicemente il loop delle soglie di somiglianza (ad esempio, 90-100). Ad ogni soglia di somiglianza selezionata, calcoliamo la nostra matrice di confusione contenente conteggi veri positivi, veri negativi, falsi positivi e falsi negativi, che vengono utilizzati per calcolare FMR e FNMR a ciascuna somiglianza selezionata.

Reale
Previsione
. partita Nessuna corrispondenza
>= somiglianza selezionata TP FP
< somiglianza selezionata FN TN

Per fare ciò, creiamo una funzione che restituisce i conteggi falsi positivi e negativi e scorre un intervallo di punteggi di somiglianza (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

La tabella seguente mostra i risultati dei conteggi a ciascuna soglia di somiglianza.

Soglia di somiglianza 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%

In che modo la soglia di somiglianza influisce sul tasso di mancata corrispondenza falsa?

Supponiamo di avere 1,000 tentativi di onboarding di utenti reali e di rifiutare 10 di questi tentativi in ​​base a una somiglianza minima richiesta del 95% per essere considerati una corrispondenza. Qui rifiutiamo 10 veri tentativi di onboarding (falsi negativi) perché la loro somiglianza scende al di sotto della soglia di somiglianza minima richiesta specificata. In questo caso, il nostro FNMR è dell'1.0%.

Reale
Previsione
. partita Nessuna corrispondenza
>= 95% di somiglianza 990 0
< 95% di somiglianza 10 0
. totale 1,000 .

FNMR = Conteggio falsi negativi / (Conteggio veri positivi + Conteggio falsi negativi)

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

Al contrario, supponiamo che invece di avere 1,000 utenti autentici da inserire, abbiamo 990 utenti autentici e 10 utenti impostori (falsi positivi). Con una somiglianza minima del 95%, supponiamo di accettare tutti i 1,000 utenti come autentici. Qui avremmo un FMR dell'1%.

Reale
Previsione
. partita Nessuna corrispondenza totale
>= 95% di somiglianza 990 10 1,000
< 95% di somiglianza 0 0 .

FMR = conteggio dei falsi positivi / (tentativi totali)

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

Valutazione dei costi di FMR e FNMR all'onboarding

In un caso d'uso di onboarding, il costo di una falsa mancata corrispondenza (un rifiuto) è generalmente associato a ulteriori attriti da parte dell'utente o alla perdita di una registrazione. Ad esempio, nel nostro caso d'uso bancario, supponiamo che Julie presenti due immagini di se stessa ma venga erroneamente rifiutata al momento dell'onboarding perché la somiglianza tra le due immagini scende al di sotto della somiglianza selezionata (una falsa non corrispondenza). L'istituto finanziario potrebbe rischiare di perdere Julie come potenziale cliente o potrebbe causare ulteriori attriti a Julie richiedendole di eseguire passaggi per dimostrare la sua identità.

Al contrario, supponiamo che le due immagini di Julie siano di persone diverse e che l'onboarding di Julie debba essere rifiutato. Nel caso in cui Julie venga erroneamente accettata (una falsa corrispondenza), il costo e il rischio per l'istituto finanziario sono molto diversi. Potrebbero esserci problemi normativi, rischio di frode e altri rischi associati alle transazioni finanziarie.

Uso responsabile

L'intelligenza artificiale (AI) applicata attraverso l'apprendimento automatico (ML) sarà una delle tecnologie più rivoluzionarie della nostra generazione, affrontando alcuni dei problemi più impegnativi dell'umanità, aumentando le prestazioni umane e massimizzando la produttività. L'uso responsabile di queste tecnologie è fondamentale per promuovere l'innovazione continua. AWS si impegna a sviluppare servizi di IA e ML equi e accurati e a fornirti gli strumenti e la guida necessari per creare applicazioni di IA e ML in modo responsabile.

Man mano che adotti e aumenti il ​​tuo utilizzo di AI e ML, AWS offre diverse risorse basate sulla nostra esperienza per assisterti nello sviluppo e nell'uso responsabile di AI e ML:

Best practice ed errori comuni da evitare

In questa sezione, discutiamo le seguenti best practice:

  • Utilizza un campione di immagini sufficientemente ampio
  • Evita i set di dati sui volti sintetici e open source
  • Evita la manipolazione manuale e sintetica delle immagini
  • Controllare la qualità dell'immagine al momento della valutazione e nel tempo
  • Monitorare FMR e FNMR nel tempo
  • Usa un essere umano nella revisione del ciclo
  • Rimani aggiornato con Amazon Rekognition

Utilizza un campione di immagini sufficientemente ampio

Usa un campione di immagini abbastanza grande ma ragionevole. Qual è una dimensione ragionevole del campione? Dipende dal problema aziendale. Se sei un datore di lavoro e hai 10,000 dipendenti che desideri autenticare, l'utilizzo di tutte le 10,000 immagini è probabilmente ragionevole. Tuttavia, supponi di essere un'organizzazione con milioni di clienti che desideri integrare. In questo caso, è probabilmente sufficiente prendere un campione rappresentativo di clienti come 5,000-20,000. Ecco alcune indicazioni sulla dimensione del campione:

  • Una dimensione del campione di 100 – 1,000 coppie di immagini dimostrano la fattibilità
  • Una dimensione del campione di 1,000 – 10,000 coppie di immagini sono utili per misurare la variabilità tra le immagini
  • Una dimensione del campione di 10,000 – 1 milione di coppie di immagini fornisce una misura della qualità operativa e della generalizzabilità

La chiave con il campionamento delle coppie di immagini è garantire che il campione fornisca una variabilità sufficiente nella popolazione di volti nella tua applicazione. Puoi estendere ulteriormente il campionamento e i test per includere informazioni demografiche come il tono della pelle, il sesso e l'età.

Evita i set di dati sui volti sintetici e open source

Esistono dozzine di set di dati di immagini facciali open source curati e set di volti sintetici sorprendentemente realistici che vengono spesso utilizzati nella ricerca e per studiare la fattibilità. La sfida è che questi set di dati generalmente non sono utili per il 99% dei casi d'uso del mondo reale semplicemente perché non sono rappresentativi delle fotocamere, dei volti e della qualità delle immagini che la tua applicazione potrebbe incontrare in natura. Sebbene siano utili per lo sviluppo di applicazioni, le misure di accuratezza di questi set di immagini non si generalizzano a ciò che incontrerai nella tua applicazione. Ti consigliamo invece di iniziare con un campione rappresentativo di immagini reali dalla tua soluzione, anche se le coppie di immagini campione sono piccole (meno di 1,000).

Evita la manipolazione manuale e sintetica delle immagini

Ci sono spesso casi limite che le persone sono interessate a comprendere. Cose come la qualità dell'acquisizione dell'immagine o l'offuscamento di caratteristiche facciali specifiche sono sempre interessanti. Ad esempio, spesso ci viene chiesto dell'impatto dell'età e della qualità dell'immagine sul riconoscimento facciale. Potresti semplicemente invecchiare sinteticamente un volto o manipolare l'immagine per far sembrare il soggetto più vecchio, o manipolare la qualità dell'immagine, ma questo non si traduce bene nell'invecchiamento delle immagini nel mondo reale. Invece, la nostra raccomandazione è quella di raccogliere un campione rappresentativo di casi limite del mondo reale che sei interessato a testare.

Controllare la qualità dell'immagine al momento della valutazione e nel tempo

La tecnologia della fotocamera e delle applicazioni cambia abbastanza rapidamente nel tempo. Come best practice, consigliamo di monitorare la qualità dell'immagine nel tempo. Dalle dimensioni dei volti acquisiti (utilizzando i riquadri di delimitazione), alla luminosità e alla nitidezza di un'immagine, alla posa di un volto, nonché potenziali offuscamenti (cappelli, occhiali da sole, barbe e così via), tutte queste immagini e i tratti del viso cambiano nel tempo.

Monitorare FNMR e FMR nel tempo

Si verificano modifiche, che si tratti delle immagini, dell'applicazione o delle soglie di somiglianza utilizzate nell'applicazione. È importante monitorare periodicamente i tassi di corrispondenza falsa e mancata corrispondenza nel tempo. Le variazioni delle tariffe (anche minime) possono spesso indicare problemi a monte con l'applicazione o il modo in cui l'applicazione viene utilizzata. Le modifiche alle soglie di somiglianza e alle regole aziendali utilizzate per prendere decisioni di accettazione o rifiuto possono avere un impatto notevole sulle esperienze utente di onboarding e autenticazione.

Usa un essere umano nella revisione del ciclo

I sistemi di verifica dell'identità prendono decisioni automatizzate per abbinare e non abbinare in base a soglie di somiglianza e regole aziendali. Oltre ai requisiti normativi e di conformità interna, un processo importante in qualsiasi sistema decisionale automatizzato consiste nell'utilizzare revisori umani come parte del monitoraggio continuo del processo decisionale. La supervisione umana di questi sistemi decisionali automatizzati fornisce convalida e miglioramento continuo, nonché trasparenza nel processo decisionale automatizzato.

Rimani aggiornato con Amazon Rekognition

Il modello Amazon Recognition faces viene aggiornato periodicamente (di solito ogni anno) ed è attualmente alla versione 6. Questa versione aggiornata ha apportato importanti miglioramenti alla precisione e all'indicizzazione. È importante rimanere aggiornati con le nuove versioni del modello e capire come utilizzare queste nuove versioni nella tua applicazione di verifica dell'identità. Quando vengono lanciate nuove versioni del modello facciale di Amazon Rekognition, è buona norma eseguire nuovamente il processo di valutazione della verifica dell'identità e determinare eventuali impatti potenziali (positivi e negativi) sui tassi di corrispondenza falsa e mancata corrispondenza.

Conclusione

Questo post discute gli elementi chiave necessari per valutare l'aspetto delle prestazioni della tua soluzione di verifica dell'identità in termini di varie metriche di precisione. Tuttavia, l'accuratezza è solo una delle tante dimensioni che è necessario valutare quando si sceglie un particolare servizio di moderazione dei contenuti. È fondamentale includere altri parametri, come il set di funzionalità totale del servizio, la facilità d'uso, le integrazioni esistenti, la privacy e la sicurezza, le opzioni di personalizzazione, le implicazioni sulla scalabilità, il servizio clienti e i prezzi.

Per ulteriori informazioni sulla verifica dell'identità in Amazon Rekognition, visita Verifica dell'identità tramite Amazon Recognition.


Informazioni sugli autori

Metriche per valutare una soluzione di verifica dell'identità PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Mike Ames è un data scientist diventato specialista in soluzioni di verifica dell'identità, con una vasta esperienza nello sviluppo di soluzioni di machine learning e AI per proteggere le organizzazioni da frodi, sprechi e abusi. Nel tempo libero puoi trovarlo a fare escursioni, andare in mountain bike o giocare a freebee con il suo cane Max.

Metriche per valutare una soluzione di verifica dell'identità PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Amit Gupta è Senior AI Services Solutions Architect presso AWS. È appassionato di offrire ai clienti soluzioni di machine learning ben progettate su larga scala.

Metriche per valutare una soluzione di verifica dell'identità PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Zuhayr Raghib è AI Services Solutions Architect presso AWS. Specializzato in AI/ML applicato, è appassionato di consentire ai clienti di utilizzare il cloud per innovare più velocemente e trasformare le loro attività.

Metriche per valutare una soluzione di verifica dell'identità PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Marcello Pividal è Senior AI Services Solutions Architect nella World-Wide Specialist Organization. Marcel ha più di 20 anni di esperienza nella risoluzione di problemi aziendali attraverso la tecnologia per fintech, fornitori di servizi di pagamento, farmaceutica e agenzie governative. Le sue attuali aree di interesse sono la gestione del rischio, la prevenzione delle frodi e la verifica dell'identità.

Timestamp:

Di più da Apprendimento automatico di AWS