di Daniele Gullà

Il test di riconoscimento dell’immagine ignota emersa dal rumore di fondo nell’esperienza tenutasi a Bologna con Umberto Di Grazia e Daniele Gullà nel 2004, si pone come obiettivo il seguente quesito: è l’immagine comparsa quella di un uomo con la barba, o essa è il frutto di un artefatto occasionale emerso dalla compressione JPG della stessa e/o da un effetto di rumore di fondo casuale? Il nostro occhio e il nostro cervello hanno decodificato l’immagine come quella di un antico uomo con la barba; è vero o si tratta di una errata percezione visiva come tanti effetti ottici conosciuti in letteratura dalla scienza che studia la psicofisiologia della percezione umana?

uomo gulla

Fig.1. L’uomo ignoto con la barba di presunta origine anomala

A tale scopo sono state prese in considerazione per il confronto, tutta una serie di immagini di statue e disegni antichi, riunite con altre immagini di diverse tipologie facciali, in un database costituito da circa 100.000 immagini (99.798 per l’esattezza). Ogni immagine viene codificata nel database da una stringa biometrica in successione di numeri binari (…0101001..ecc.).
L’aspetto decisionale sfrutta Reti Neurali e HMM fornendo in uscita un target dei campioni probabilisticamente più somiglianti ed un grafico con il Delta di scostamento. L’errore è stimato intorno al 1,2% per immagini di buona qualità ed esiti positivi con tutti i database con tecnica eigenface. Con altri algoritmi biometrici più complessi, si può raggiungere un rateo di errore ancora più contenuto, anche dell’ordine del 0,03%. Le reti neurali sono molto importanti, soprattutto nel nostro caso, dove la qualità delle immagini è molto scadente. Nel caso dell’immagine di un volto umano di scarsa qualità la difficoltà risiede nel determinare le linee caratteristiche e le fattezze discriminanti, poiché i confini topologici possono essere determinati da pochi livelli di grigio. Vi sono casi in cui le condizioni di illuminazione o la bassa qualità dell’immagine rendono l’individuazione automatica dei contorni molto complessa. Sebbene la propagazione dei segnali nei microprocessori odierni sia più veloce di 10 ordini di grandezza rispetto ai segnali che percorrono i nostri neuroni, vi è un enorme discrepanza fra la performance umana e quella della macchina nel risolvere un compito percettivo quale il riconoscimento di un volto. Questa differenza potrebbe essere trovata nell’architettura del cervello, che è profondamente diversa da quella classica di un computer. Anche se il tempo di risposta delle singole cellule è tipicamente dell’ordine di qualche decina di ms, l’esteso parallelismo e l’interconnettività osservati nei sistemi biologici, permettono al cervello di eseguire complessi compiti di pattern recognition in qualche centinaio di ms. Il processo di elaborazione sequenziale, invece, limita i computer convenzionali nella soluzione efficiente di problemi di pattern recognition complessi (come il riconoscimento di un volto). Per risolvere tali problemi si tenta di adottare architetture che si ispirano sempre più, alla fisiologia del nostro sistema nervoso centrale; come le reti neurali. La loro caratteristica più importante è proprio l’implicito parallelismo.
Esistono due modalità per l’allenamento di una rete neurale: un modo supervisionato e uno non supervisionato. Nel caso di allenamento supervisionato vengono sottoposti alla rete, oltre ai pattern del training set, le risposte corrette che la rete deve generare nel caso che, durante la fase di apprendimento, questi pattern siano forniti in input. Queste risposte sono stringhe che codificano la classe di appartenenza: nel caso dei volti le varie classi rappresentano le identità delle persone le cui immagini sono elaborate.

Al contrario, nell’allenamento non supervisionato, non vengono fornite informazioni alla rete oltre ai pattern del training set. La rete compie così un’autorganizzazione solamente in base alle caratteristiche strutturali dei patterns. Una caratteristica interessante delle reti neurali è quella di essere resistenti agli errori. Un software convenzionale può fornire una risposta completamente errata anche se un solo bit delle informazioni in input è errato; un’applicazione basata su reti neurali invece, cerca di correggere l’errore utilizzando le informazioni immagazzinate precedentemente. Questo è molto utile nel caso di pattern recognition di immagini reali, in quanto è sempre presente una quantità variabile di rumore di fondo che rende l’immagine “sconosciuta”. Se il rumore non “copre” completamente le caratteristiche dell’immagine, una rete neurale è generalmente in grado di produrre una risposta utilizzando la parte di contenuto informativo non inquinata o distorta e le informazioni precedentemente immagazzinate durante la fase di allenamento. Questa permette il riconoscimento di pattern rumorosi o parzialmente oscurati. Durante la fase di training la rete acquisisce le informazioni necessarie a risolvere il problema sottoposto, estraendo in modo implicito le strutture e le regolarità sottostanti. Sebbene la conoscenza del problema risieda nelle sinapsi dei vari neuroni (ed eventualmente nelle soglie di attivazione), non è possibile localizzare precise informazioni in punti precisi della rete, così come non è possibile caratterizzare topologicamente pensieri specifici nel nostro cervello. Le informazioni di una rete sono distribuite globalmente nella struttura e non localizzate in sezioni definite, come invece accade per altri algoritmi tradizionali. Oltre al sistema eigenface che si concentra principalmente sull’aspetto strutturale del problema le reti neurali acquisiscono informazioni sull’aspetto geometrico e topologico dello stesso (cioè l’analisi delle relazioni logiche tra le parti costituenti il problema). Esse infatti eseguono una computazione di tipo geometrico e non analitico e molti problemi di pattern recognition, ben si prestano ad essere affrontati con questo tipo di approccio. Esse codificano oltre alla struttura geometrica, le informazioni dettagliate sulla forma e sulla “texture” della pelle. Il fattore limitante di una rappresentazione tramite vettori di livelli di grigio è la sensibilità alle variazioni di illuminazione, all’orientamento e al cambiamento di dimensione. Per questo motivo è utile eseguire una pre-elaborazione delle immagini da riconoscere rendendole il più possibile omogenee. Le immagini dei campioni e del candidato hanno una struttura logica interna molto difficile da formalizzare. Gli algoritmi basati su reti neurali non hanno bisogno di avere una conoscenza aprioristica della struttura del problema e delle distribuzioni statistiche dei pattern, condizione necessaria invece negli approcci formali. La scomposizione strutturale del problema nelle reti neurali può fornire indizi su come l’uomo riconosce ed elabora i volti. Alcune reti neurali, come ad esempio le reti a strati, scompongono le immagini nelle componenti principali (PCA) dell’insieme di immagini del training set. Queste rappresentano gli autovettori principali (cioè corrispondenti agli autovalori di modulo più elevato) della matrice delle covarianze delle immagini del training set, cioè le componenti più rappresentative dello spazio dei volti considerato. La scomposizione non si basa, come si sarebbe potuto supporre, su caratteristiche tradizionali come occhi, naso, bocca ma, su strutture globali del volto che hanno significato solamente in relazione ad un determinato insieme di classi considerate. Maggiori e più dettagliate informazioni sulle reti supervisionate e non supervisionate e loro applicazioni sui sistemi AFR, si possono trovare nei lavori di Zhang (ZHANG98), di Romdhami (ROMD96) e di Kung (KUNG98).
La strategia utilizzata per associare l’immagine ignota dell’uomo con barba ad un volto umano, consiste nell’utilizzo di un sistema informatico basato su Reti Neurali, fino ad 1.000.000 di neuroni di potenza di calcolo, utilizzato anche dal FBI e da un database militare con 100.000 volti (Feret Database). Le performance del sistema di base sono qui di seguito brevemente descritte dallo stesso costruttore:

The FBI Image Searching technology CAN DO the following TODAY:

Has real-time image recognition capability (image-based, not key-word
based).
Can be used for ANY images …….. stamp …….. satellite …….. face …….. Infrared
…….. x-ray …….. color photos …….. black & white …….. video recognition ……..
Fingerprints/palm prints …….. microscopic …….. forensic related images …….
Trademark ……. Dental images … .
Extremely Accurate Results.
Can search millions of images.

When the FBI Image Searching learns an image(s) and goes to a directory to
retrieve similar images, it does not deal with keywords. This software learns
the content of an image or several images directly from the image(s) and
retrieves all similar images based on the content. The FBI Image Searching
provides the users with a tool for image matching.
The central task in any image data management system is to retrieve images
that meet some specified constraints. The FBI Image Searching provides the
users with a tool for content-based image retrieval.

Applications are limited only by your imagination:
Biometrics
Internet audio-visual search engine
Satellite image recognition (defense)
Cancer detection (medical)
Fingerprints, Palm Prints, Face recognition (law enforcement)
Content-base image retrieval (digital library)
Space image recognition (space exploration)
Face recognition, Fingerprints, Palm Prints (security systems)
Stamp recognition (post office)
Trademark search
Forensic Identifications

1.1 What will the Image Searching do?
FBI Image Searching can match images (jpg or gif) which:
look like an image (called key-image) or a segment of an image (called
key-segment); or
look like several key-images or key-segments.
Key-images, or key-segments are used to tell the Image Searching what to look
for. This is called training. After training, the Image Searching is ready to
retrieve all similar images. This includes all:
Translated segments;
Rotated segments;
Scaled segments;
Rotated and Scaled segments;
Brighter or Darker segments;

All of the above simultaneously.

1.2 Biometrics
Biometrics use human faces, fingerprints, voice, iris, …, to verify or to
identify a person.
There are three generally accepted methods for performing human verification
or identification. These are based on:
a. Something the user KNOWS (such as a password);
b. Something the user POSSESSES (such as a card/badge, called tokens); or
c. Something the user IS (a physical characteristic, or biometric, such as a
fingerprint)
However, passwords can be compromised in many ways – they can be forgotten,
written down, guessed, stolen, “cracked”, or shared. Tokens, like a telephone
card or credit card, can be lost, forgotten, stolen, given away, or
duplicated.
Biometrics verification or identification can be accomplished by measurement
of a unique biological or behavioral feature of the user to verify identity
through automated means.
To determine if one image sample “matches” another image sample, they must be
compared using a unique algorithm. Generally, the result of this comparison is
a “score”, indicating the degree to which a match exists. This score is then
compared to a pre-set threshold to determine whether or not to declare a
match. The comparison is performed using the captured image and previously
stored images.
There are four types of image matching:
Verification
Verification is a one-to-one (1:1) matching of a single sample set
(biometric identifier record) against another. Generally, the first sample
is newly captured and the second is the enrolled identifier on file for a
particular subject. In a user authentication environment, a score exceeding
the threshold would return a ‘match’, resulting in the authentication of the
user. A score below the threshold would return a ‘no-match’, resulting in
the denial of access.
Identification
Identification is a one-to-many (1:N) matching of a single sample set
against a database of samples, with no declared identity required. The
single image is generally the newly captured sample and the database
contains all previously enrolled samples. Scores are generated for each
comparison, and an algorithm is used to determine the matching record, if
any. Generally, the highest score exceeding the threshold results in
identification.
Search or Retrieval
Search is similar to Identification, i.e. 1:N matching; however, the result
is a set of possible matching images, not a classification. “Identification”
returns a classification, while “Search” returns multiple matched images.
Classification
In the above three cases, only one class of image(s) is compared with a set
of existing images. “Classification” is N:1 or N:N matching.
There are several types of data storage:
Client-Server
In a Verification problem, the pre-stored image sample is retrieved from the
database in a server, based on a unique subject identifier (such as a User
ID). In the Identification problem, the image database is in the server.
Stand Alone
In a Verification problem, the pre-stored image sample is retrieved from a
data card. In the Identification problem, the image database is in a PC.

FBI Image Searching works for all four types of problems:
Verification (1:1)
Identification (1:N)
Search (1:N)
Classification (N:1, N:N)
In this menu, recognition means Verification, or Identification, or Search, or
Classification.

1.3 Software Requirements
The software requirements are:
Windows 2000/ME/NT/XP/;
Internet Explorer; and
Microsoft Java VM.

1.4 Customized Software
Many parameters and options of the Image searching are hidden and the users have a
limited control of the parameters. In general, each type of image has some
special requirements, which require special fine-tuning.
versions can accommodate:
Speed Optimization;
Memory Optimization (For some problem, the RAM consumption can be reduced
by 80%);
Database interface (100.000/1.000.000 faces);
New image preprocessing filters;
Programming library;
Specific Symmetries or combination of symmetries;
Fine tuning of the neural parameters to fit your specific problem(s);
Digital Image Database (Combine Image Searching with Database);
Image formats other than jpg and gif;
Internet Image Search Engines;
Up to 1,000 classes for classification;
Multi-layers of image matching;
Web interface (solution that will provide users with a searchable database
using a web interface);
Other specific needs.

1.5 What is New?
(1) This version deploys two sets of filters:
Edge filters; and
Threshold filters
The preprocessing consists of the combination of these two types of filters.
The Edge filters include Laplacian, Derivatives and Sobel filters.
(2) This version introduces LookAt Area: (x, y; w, h) so the image matching
will only use the areas in (x, y; w, h) instead of the whole image.
(3) This version also introduces several new examples for seg locator,

including:
Locating eyes and Noses on the Ferret images;
Locating points and measuring the distance between points.
(4) Starting from this version, each Image Searching will have a Dos version,
which can be controlled from Visual Basic, Dos batch file, …. The Image Searching
for Dos has to be ordered separately.

(5) Batch File Type
Image Dimension
Translation Type
Scale Type
Shape Cut 2
Shape Cut Type
These parameters allow the user to have more control of the FBI Image Searching, and
more accurate image matching.
Multiple-Search: Multiple-Search can do multiple verification problems or
multiple identification problems. (The earlier versions can only do a single
verification problem or single identification problem).
More parameters are exposed to users for more control.
An “Advisor” is added to help users in setting the parameters.
New filters are added.
Biometric examples, like facial recognition and fingerprint recognition, are
added.
A Developer-API document, FBI Image Verification and Identification
API, is added.

1.6 Performance Results
Both of the following image-matching examples are based on real image
recognition projects completed by FBI. The Verification rates are based
on a project for a Biometrics company. The Identification rates are based on a
project for an S&P 500 company.
Identification Problem
Single Image Identification Rates:
Identification rate = 97.13%
Error rate = 2.87%
Number of Images = 1,000
Number of images used = 976 out of 1,000
Number of images not used = 24 out of 1,000 (Single or Double)
Number of classes = 21
Number of comparisons = 21 * 976 = 20,496
Double Image Identification Rates:
If one of the two images is identified, then the images are identified.
Identification rate = 99.92%
Error rate = 0.08%

Verification Problem
The following data is based on Hand verification. “Single Pass” means a user
scans his hand once. “Double Pass” means a user scans his hand twice.

Parameters:
This software does not have any parameters needing to be adjusted by the
users.
Data
There are 205 images:
10 objects * 7 images per object +
27 objects * 5 images per object = 205 images.
One object appears in both groups, so there are 36 objects.
Each of the 205 images will be compared with its own class and 35 other
classes. The numbers of tests are:
205 * 1 = 205 positive recognitions;
205 * 35 = 7,175 negative recognitions;
7,380 tests total.
Some images were not good. These images shifted more than 20% in x- or
y-direction or had large rotations. This Demo required at least 4 good
images of each person; otherwise, there would not be enough good images to
compare.
The total number of tests was 6,048, i.e. 82% of the image data was used.

Single Pass:
Total Number of Tests = 6,048
Positive Recognition = 98.2%
Negative Recognition = 99.95% (percentage of time software recognizes you
as using the wrong ID)
False Rejection = 1.8% (percentage of time software will reject the right
person)
False Acceptance = 0.05% (percentage of time software will identify the
wrong person as being the right person
Double Pass:
Positive Recognition = 99.97%
Negative Recognition = 99.9% (percentage of time software recognizes you as
using the wrong ID)
False Rejection = 0.03% (percentage of time software will reject the right
person)
False Acceptance = 0.1%(percentage of time software will identify the wrong
person as being the right person
Enrollment Rate =100% (always)
Verification time (1:1 matching) < 1 second Identification time (1:N matching) = linear vs. the number of images, speed < 1 person/second Return Risultati emersi nella comparazione dell’uomo con barba dopo una ricerca su 100.000 volti con 1.903.040 match e 10 ore di lavoro con CPU al 100%.

uomo barba gulla 2

Fig.2. Volto estratto dal database come il più verosimigliante con l’ignoto uomo con barba apparso per vie inusuali nell’esperimento con Umberto Di Grazia.

Report dell’analisi:

The parameter setting is:
Filter:
Customized Filter
Red: 20 to 90, light background
Green: Ignore
Blue: Ignore
Segment: 40 40 220 220
Blurring: 15
Shape Cut: 11
Shap Cut 2: 6
Internal Weight Cut: 17
Sensitivity: 35
Segment: Small
External Weight Cutoff: 240000

False Rejection (software will reject the right person): 4;
False Acceptance (software will identify the wrong person as being the
right person): 6;
Total number of errors: 4 + 6 = 10 out of 3,040 tests.
False rejection: one for person 1, 8, and 2 for 11 (Person 11 and person 12
are the same); 4 total.
False acceptance: 4 for person 4 and 2 for person 6; 6 total.
Number of Tests: 3,040
Number of images: 10,000 * 10 = 100,000.
Number of persons: 10,000 (person 11 and 12 are the same person);
Number of tests: 100,000 * 19 = 1,900,000 tests.
Number of Positive Verification: 160
Number of Negative Verification (software recognizes you as using the wrong
ID): 160 * 18 = 2,880
Total tests: 1,903,040.

Summary (Single image):
Total Number of Tests = 3,040
Number of Adjustable Parameters = 1
Positive Recognition = 156/160 = 97.5%
Negative Recognition = 2874/2880 = 99.79% (percentage of time software
recognizes you as using the wrong ID)
False Rejection = 4/160 = 2.5 % (percentage of time software will reject the
right person)
False Acceptance = 6/2880 = 0.2 % (percentage of time software will identify
the wrong person as being the right person)

There are 4 False Rejections, where the software will reject the right person.
To improve the accuracy, we can use two images of a person to match with the
existing images instead one image. If one of the images is verified, then the
person is verified.
To reject a person, the software has to reject both images. The probability of
rejecting one image is 2.5%, as calculated above, 4/160 = 2.5 %. The
probability of rejecting two images is 2.5% * 2.5% = 0.06%, therefore the
False Rejection Rate is much lower.
The False Acceptance Rate for one image is 6/2880 = 0.2 %. If one of the
images is verified, then the person is verified. The False Acceptance Rate for
two images is 0.2 % + 0.2 % = 0.4%.
Using double images, the rates are:
Positive Recognition = 99.94%
Negative Recognition = 99.6% (percentage of time software recognizes you as
using the wrong ID)
False Rejection 0.06 % (percentage of time software will reject the right
person)
False Acceptance = 0.4 % (percentage of time software will identify the
wrong person as being the right person)

Image Matching Report:
Image Identification= NO match
Image Verification= NO match
Image Classification:
1°= statua9.jpg/ stringh :
0 0 0 0 5 0 0 3 45 10
115000 1 0 0 30 30 0 0 0 0
0 0 30 0 0 0 0 0 0 0
(FRR=0,06%- FAR=0,4%)

L’immagine anomala “viso5.jpg” è stata associata dal sistema con l’immagine della statua di Zeus classificata nel database come “statua9.jpg”. L’immagine più verosimigliante scelta dal computer evidenzia la non casualità degli eventi, confermando che la percezione visiva del nostro sistema ottico ha decodificato correttamente la tipologia antropomorfica dell’ immagine, non trattandosi per cui, di un effetto ottico o di un rumore casuale (Random Noise) della fotografia stessa e quindi, di una percezione illusoria.

Iscriviti alla nostra Newsletter

30 Articoli più visti