2
La sequenza logico-funzionale delle operazioni descritte è mostrata dal seguente schema a blocchi. 
Acquisizione delle 
immagini ai raggi X
Immagine alla 
terza tensione
Immagine alla 
prima tensione
Immagine
allineata
Riconoscimento 
del prodotto
Allineamento Allineamento
Classificazione tramite l’uso
di una rete neuronale
Immagine alla 
seconda tensione
Allineamento
 
 
1. Il riconoscimento di prodotti alimentari 
Il problema del riconoscimento di prodotti alimentari è, attualmente, molto richiesto sul mercato. 
Prima le normative prevedevano l’uso di metal detector per analizzare i prodotti ma, come si può 
facilmente intuire, il loro uso limitava molto il campo di impiego. Con i metal detector, infatti, non 
possono ovviamente essere analizzati prodotti contenuti in contenitori metallici. 
Una soluzione alternativa che garantisce risultati migliori è l’analisi mediante scansione dei prodotti 
ai raggi X (per approfondimenti vedere il capitolo 2). 
La scansione ai raggi X non è una tecnica innovativa, in quanto viene costantemente utilizzata sia in 
campo medico per effettuare le radiografie, che negli aeroporti per effettuare controlli sui bagagli 
dei passeggeri durante la fase di check-in. 
Tuttavia, questa metodologia assodata si presta molto bene al caso del riconoscimento di prodotti 
alimentari. 
Questo tipo di ispezione è totalmente sicuro nei confronti del cibo e permette di analizzare i prodotti 
indipendentemente dalla fattura e dal materiale del contenitore. 
Sfruttando i vantaggi dell’uso dei raggi X, questi risultati si possono conseguire con lo sviluppo di 
un software dedicato che, nel caso di questa tesi, consiste nell’implementazione di un classificatore 
neuronale. 
Preliminarmente è necessario procedere con l’acquisizione delle immagini che saranno processate 
con l’impiego di tale software. 
A tale scopo ci si è avvalsi della collaborazione della ditta I.Ri.S. S.r.l (Istituto di Ricerca e 
Sviluppo Hi-Tech), presso la Special Tubi Uno S.r.l. 
L’I.Ri.S. opera nel settore della progettazione e costruzione di impianti e macchinari industriali per 
le Medie e Grandi Imprese e il suo obiettivo principale è quello della risoluzione di problematiche 
legate alla sicurezza e qualità alimentare. 
Su queste basi, nasce la ISPRX-FBC (Flat Bed Compact) o “a tappeto”. Si tratta di una macchina 
ispezionatrice ai raggi X (Figura 1.1), dotata di un unico sistema di scansione e rilevazione RX e di 
un proprio nastro trasportatore interno sul quale transitano i prodotti da ispezionare. Il sensore RX 
incorporato è di nuova generazione da 512 pixel, lineare, ad alto contrasto, con bassa richiesta di 
emissione, lunga durata e risposta veloce. 
 Figura 1.1 – Macchina ispezionatrice ai raggi X. 
I dati acquisiti dal sensore vengono convertiti in un’immagine rappresentante la scansione 
radiografica del prodotto. 
Il sensore è costituito da un array di 512 foto-diodi disposti verticalmente, davanti ai quali scorre il 
prodotto. Di conseguenza la massima risoluzione verticale dell’immagine acquisita è di 512 pixel. 
Dato che l’acquisizione viene fatta riga per riga, l’immagine radiografica viene composta come 
affiancamento di linee verticali di 512 pixel di altezza. 
Il sensore può essere calibrato opportunamente, in base al tipo di prodotto da ispezionare, 
specificando il valore della potenza (kVolt · mAmpere). Dalla potenza impostata dipende la qualità 
delle immagini scansionate: più potenza si dà al tubo, più la radiazione che attraversa il prodotto 
produrrà immagini intense. 
A seconda della calibrazione del sensore, nell’immagine si ha un diverso valore di radio-opacità 
(capacità del prodotto di assorbire i raggi X che lo attraversano). Per avere un valore medio di 
radio-opacità, si è pensato di sfruttare il metodo dell’acquisizione ripetuta delle immagini, che 
consiste nell’acquisire più volte la stessa immagine settando, per ciascuna, il sensore a tensioni 
differenti. 
Per fare alcune valutazioni sul valore di luminosità del prodotto, è necessario operare una procedura 
di allineamento (di cui si tratta nel capitolo 3) delle immagini considerate rispetto ad una stessa 
immagine in modo da avere corrispondenza tra i pixel nelle varie acquisizioni. Tramite queste 
valutazioni è possibile fare un’indagine per determinare quali sono le tensioni ottimali alle quali 
acquisire le immagini. Le tensioni di acquisizione sono scelte secondo determinati parametri che 
vengono discussi nel dettaglio nel capitolo 5. 
Una volta pronto il set di immagini si può implementare un algoritmo di classificazione, che nel 
caso di questa tesi, consiste in una rete neuronale. 
Una rete neuronale è un sistema computazionale ispirato ai sistemi neuronali biologici, che si basa 
sul modello del Multilayer Perceptron realizzato da Frank Rosenblatt alla Cornell University. 
Riguardo all’obiettivo di questa tesi, una rete neuronale opera, sulla base di un set di esempi di 
training, una classificazione dei vari prodotti analizzati. Il funzionamento di una rete neuronale 
viene descritto approfonditamente nel capitolo 4. 
Completata la fase di addestramento della rete, si procede con quella di verifica dell’algoritmo di 
classificazione. In questa fase, si presenta alla rete un set di esempi di test per verificare il corretto 
funzionamento dell’algoritmo. Tutti gli aspetti riguardanti questa parte di verifica sono trattati con 
attenzione nel sesto capitolo. 
A questo punto, prima di entrare nel dettaglio delle varie procedure, degli algoritmi di calcolo e del 
software implementato, di cui sinora si è fatto cenno in sintesi, si approfondiranno alcuni aspetti 
riguardo i raggi X. 
 
2. I raggi X 
Una radiazione è un agente che trasporta energia da un punto ad un altro attraversando lo spazio 
o la materia. 
Il percorso della radiazione sarà condizionato dalle interazioni con la materia che incontra. Ci sono 
due tipi di radiazioni: radiazioni costituite da particelle che trasportano energia sotto forma di 
energia cinetica (elettroni, protoni, neutroni, particelle alfa, ecc.) e radiazioni elettromagnetiche 
(E.M.) che trasportano energia senza la presenza di particelle aventi massa (onde radio, luce visibile 
e raggi X). La radiazione elettromagnetica consiste nel trasporto di energia in quantità discrete 
chiamate “quanti” di energia, o fotoni (particelle di massa 0). 
Due importanti caratteristiche della radiazione elettromagnetica sono: la traiettoria rettilinea e la 
capacità di attraversare gli oggetti. La quantità di materiale che la radiazione può attraversare 
dipende dalla composizione del materiale e dall’energia della radiazione. Le radiazioni di bassa 
energia (come la luce visibile) non penetrano molto profondamente, ma i raggi X, a più alta energia, 
possono attraversare notevoli spessori. Queste due caratteristiche (penetrazione e traiettoria 
rettilinea) sono particolarmente evidenti nell’analisi radiografica. Quando i raggi X penetrano in un 
oggetto, alcuni interagiscono con l’oggetto stesso, ma i rimanenti, sempre viaggiando in linea retta e 
colpendo una superficie sensibile ai raggi, possono produrre un’immagine che dà indicazioni della 
dimensione, della struttura e della composizione interna dell’oggetto. 
I raggi derivano dal frenamento di elettroni ad alta velocità quando entrano in una sostanza. Questo 
processo avviene in modo controllato in un tubo per raggi X, dove gli elettroni sono accelerati in 
modo da raggiungere un’alta velocità e poi fatti urtare contro un “bersaglio”. L’interazione fra gli 
elettroni incidenti e gli atomi del bersaglio determinano la formazione dei raggi X. L’energia totale 
dell’elettrone incidente sarà convertita in fotoni X e in calore. L’efficienza di produzione dei raggi 
X è molto bassa: infatti solo l’1% dell’energia cinetica prodotta incidente diventa raggi X, il resto si 
trasforma in calore. E’ per questo necessario raffreddare costantemente il tubo tramite aria o liquidi. 
2.1. Principi di formazione dell’immagine 
I raggi X sono generalmente invisibili e viaggiano alla velocità della luce. Sebbene questi non 
possano essere rilevati per mezzo di lenti o prisma, il fascio di raggi X può essere rilevato da 
particolari materiali in grado di convertire la loro lunghezza d’onda in quella della luce visibile. 
Viene qui in essere il principio delle macchine a raggi X: il fascio di raggi X generato dal tubo va a 
colpire un elemento che ne carpisce l’intensità. Questo elemento in una prima fase storica era una 
lastra sensibile ai raggi X, oggi diverse tecnologie trovano spazio in questo settore. 
Il punto di partenza di tutte le nostre analisi è la frapposizione di un corpo solido fra la fonte e la 
destinazione dei raggi X. 
I raggi X sono fotoni come quelli della normale luce visibile, soltanto hanno più energia e una 
lunghezza d’onda minore. 
Questo processo ha la conseguenza che la luce non passa attraverso il corpo perché il corpo è 
“troppo spesso”, mentre i raggi X, che hanno sufficiente energia, riescono a farlo. A questo punto è 
facile intuire come mai nelle lastre (vedi Figura 2.1), quando si interpone un corpo fra fonte e 
destinazione dei raggi X, ci sono parti più scure e parti più chiare: le zone della lastra colpite dai 
raggi X diventano più scure. Questo significa che parti diverse della lastra ricevono differenti 
quantità di raggi X. 
 
Figura 2.1 - Lastra sensibile ai raggi X che ne carpisce l’intensità. 
Questo spiega anche un’altra cosa: ogni volta che c’è più materia, sia che il corpo sia più spesso, sia 
che abbia maggiore densità, arrivano meno raggi X. 
Ad esempio nel campo medico, le ossa appaiono più chiare nelle immagini perché sono più dense 
del resto del corpo ed attenuano la quantità di raggi che colpiscono la lastra. 
2.1.1. Immagini digitali 
Negli ultimissimi anni, sul mercato dell’imaging, si è affacciato qualcosa di radicalmente 
innovativo, offrendo un nuovo standard nelle tecnologie di acquisizione tramite raggi X: i sensori 
digitali per raggi X di tipo lineare e matriciale. I sensori lineari (512 pixel, ovvero 512 unità 
elementari del sensore di dimensioni 0,4 mm per 0,4 mm) permettono di ottenere 512 rilevazioni di 
raggi X lungo una linea, mentre i sensori matriciali (512 x 512 pixel) riescono ad ottenere 512 x 512 
rilevazioni di raggi X per area quadrata. E’ facile capire come la qualità delle immagini ottenute sia 
notevolmente migliorata. 
Le immagini digitali sono caratterizzate dal fatto che il segnale, prima di essere utilizzato per la 
generazione dell’immagine, subisce un processo di conversione da analogico a digitale, in modo 
che solo un numero discreto di valori possa essere rappresentato sull’immagine finale. Per meglio 
capire il processo, riportiamo la descrizione di quanto avviene in Figura 2.2: un fascio di raggi X 
investe un corpo con all’interno parti più e meno dense. Il fascio di raggi, dopo aver attraversato la 
materia, va a depositarsi su un sensore composto da tanti pixel con carica in stato 0. La quantità di 
raggi X ricevuta viene tramutata dal pixel in carica elettrica, quindi il numero di cariche elettriche 
risultanti sarà tanto più elevato quanto il pixel del sensore riceverà raggi X. In sintesi, se il fascio di 
raggi X non attraversa materia, il pixel del sensore convertirà il segnale con picco massimo di carica 
elettrica e nel punto in cui il fascio attraversa il punto più denso della materia, il pixel del sensore 
convertirà il segnale nel picco minimo di carica elettrica. 
Figura 2.2 - Funzionamento del sensore digitale. 
Le informazioni che provengono dagli elementi sensibili (CCD) sono immagazzinati nella memoria 
del PC attraverso una scheda di acquisizione immagini. Questa acquisizione avviene componendo i 
dati in righe e colonne. Mentre le righe sono equivalenti alle dimensioni fisiche di ogni elemento 
sensibile, le colonne rappresentano l’elaborazione delle informazioni provenienti all’area sensibile 
in un arco di tempo ben determinato. 
Le macchine sono capaci di acquisire ed elaborare 3000 informazioni al secondo provenienti 
dall’area sensibile, generando un’immagine ad altissima risoluzione. A questo punto inizia 
l’elaborazione dell’immagine ottenuta andando ad analizzare ogni singola cella della matrice 
(righe/colonne) determinata        (Figura 2.3). 
 
Figura 2.3 - Matrice contenente le informazioni 
provenienti dagli elementi sensibili  del sensore.
2.2. Perché usare i raggi X 
a) Vantaggi - La ragione più evidente per la quale un’azienda debba introdurre l’utilizzo di 
macchine a raggi X è la risultante maggiore qualità dei propri prodotti. Usare i raggi X è 
anche economicamente conveniente in quanto all’interno di questa tecnologia sono 
raggruppate diverse caratteristiche che permettono l’unificazione di macchine che altrimenti 
dovrebbero essere comprate separatamente per espletare ognuno alla propria funzione: 
• Metal detector: è un prodotto capace di rilevare sottili quantità (da una frazione di 
grammo in avanti) di metallo nel contenuto del prodotto; 
• Check weigher: è un prodotto in grado di garantire al produttore di non immettere sul 
mercato beni che abbiamo un peso inferiore a quello indicato; 
• Optical inspection system: è in grado di analizzare contenitori trasparenti e vuoti 
andando a riconoscere eventuali contaminanti nel prodotto trasparente. 
b) Prestazioni - L’ispezione a raggi X permette un controllo di qualità che non può essere 
raggiunto con altre tecnologie: 
• tipo di packaging: tutti, i contenitori metallici non sono un problema; 
• tipo di contenuto del prodotto: tutti (densità, temperatura, salinità, umidità del prodotto 
non sono rilevanti); 
• tipo di contaminanti: metallo, vetro, pietre, ossa, noccioli della frutta, plastica ad alta 
densità, gomma ad alta densità, ceramica e vuoti       (es. bolle d’aria); 
• prestazioni di rilevamento: più alte sullo stesso tipo di contaminante (es. su acciaio 
inox); 
2.3. Caratteristiche del prodotto ispezionato
I risultati dell’ispezione dipendono dalle seguenti caratteristiche dei prodotti: spessore, omogeneità 
e densità. 
a) Variazione dello spessore - A parità di omogeneità e densità, un prodotto spesso è più 
difficile da esaminare di un prodotto sottile; ciò accade perché i raggi X che giungono alla 
parte sensibile del sistema per la rilevazione sono sicuramente superiori se hanno 
attraversato un corpo sottile. Infatti nel caso in cui i raggi attraversino un corpo più spesso 
parecchia energia sarà assorbita durante il tragitto. Un esempio di prodotto spesso e di 
prodotto sottile è quello in Figura 2.4. 
 
Figura 2.4 - Immagini relative a formaggio spesso (sulla sinistra)  
e a formaggio sottile (sulla destra). 
b) Variazione di omogeneità - A parità di spessore e densità, un prodotto omogeneo è più 
facile da esaminare di uno non omogeneo, perché la prima immagine è meno “disturbata” 
della seconda. Infatti ci sono punti in cui il cambiamento di omogeneità potrebbe ingannare 
il sistema, facendo interpretare questo salto come contaminante. Un esempio di prodotto 
omogeneo e di prodotto non omogeneo è quello in Figura 2.5. 
 
Figura 2.5 - Immagini relative a hamburger (sulla sinistra)  
e a bacon (sulla destra). 
c) Variazione di densità - A parità di spessore e omogeneità, un prodotto con più alta densità 
è molto più difficile da esaminare rispetto a uno meno denso in quanto il primo crea 
un’immagine più scura della seconda, quindi più complicata da elaborare; ciò accade perché 
l’energia dei raggi X, che risulta su un sensore dopo aver attraversato un prodotto con più 
alta densità, è minore dell’energia dei raggi X che risulta su un sensore dopo aver 
attraversato un prodotto a bassa densità. Un esempio di prodotto più denso e di un prodotto 
meno denso è quello in Figura 2.6. 
 
Figura 2.6 - Immagini relative a formaggio con alta densità (sulla sinistra)  
e a formaggio con bassa densità (sulla destra). 
 
 
3. Allineamento automatico di immagini RX 
L’allineamento di tre immagini, che contengono lo stesso oggetto da esaminare, è propedeutico 
all’obiettivo finale di questa tesi, ossia il riconoscimento di prodotti alimentari, e consiste nel creare 
una nuova immagine in cui i tre oggetti assumono la medesima posizione. 
La necessità di tale allineamento nasce dal fatto che gli oggetti, nel momento in cui le immagini 
vengono acquisite, potrebbero trovarsi in posizioni diverse, quindi per poterli esaminare bisogna 
sistemarli in modo che coincidano. 
Il risultato di questa operazione è un’immagine a colori, quindi costituita da tre componenti RGB 
(rosso, verde e blu): alla componente rossa viene assegnata una delle tre immagini da allineare, alla 
componente verde viene assegnata la seconda immagine allineata rispetto alla prima e alla 
componente blu l’immagine rimasta, allineata sempre rispetto alla prima. L’immagine finale, 
dunque, contiene un unico oggetto il cui valore di intensità dipende dalla combinazione lineare dei 
valori di intensità dei pixel corrispondenti nelle immagini a sfumature di grigio. 
Adesso verrà illustrato il procedimento da seguire per allineare due immagini, poiché l’allineamento 
viene eseguito sulla seconda immagine rispetto alla prima e sulla terza immagine rispetto alla 
prima. 
Per prima cosa bisogna estrarre dalle immagini gli oggetti d’interesse, separandoli da quelle che 
sono le zone di non interesse, come per esempio lo sfondo o eventuale rumore. Ciò è possibile 
applicando un’operazione di sogliatura globale ad ambedue le immagini. 
La sogliatura è un metodo che, sulla base del valore di intensità dei pixel, suddivide l’immagine in 
porzioni i cui pixel soddisfano la stessa caratteristica. 
Per fare ciò, si visualizza l’istogramma dell’immagine, che rappresenta il numero di occorrenze dei 
pixel che hanno lo stesso valore di intensità, e si scelgono due soglie rappresentanti due valori 
d’intensità: tutti i pixel il cui valore d’intensità non appartiene all’intervallo vengono associati ad 
una regione ed etichettati con 0; tutti i pixel il cui valore di intensità appartiene all’intervallo scelto 
vengono associati ad un’altra regione ed etichettati con 1 o con il valore originario d’intensità. Nel 
primo caso si ottiene un’immagine binaria con valori a 0 per lo sfondo ed a 1 per le regioni che si 
intende selezionare (immagine segmentata binaria); nel secondo caso si ottiene un’immagine con 
valori sempre a 0 per lo sfondo, ma alle regioni selezionate viene assegnato il valore d’intensità 
originario del pixel (immagine segmentata con valori originari). 
Indicando con s(x,y) il valore di intensità del pixel nell’immagine segmentata, con f(x,y) il valore di 
intensità originario del pixel e con T
1
 e T
2
 le due soglie scelte dall’istogramma, questo metodo è 
descritto dalla formula (3.1). 
⎩
⎨
⎧
≤≤
><
=
21
21
),(     ),(    1
),(  ),(                      0
),(
       
TyxfTseyxfo
TyxfoTyxfse
yxs
 
(3.1) 
Un esempio di applicazione di sogliatura globale può essere fornito dalle immagini in Figura 3.1. In 
tale Figura, (a) rappresenta l’immagine originaria a livelli di grigio; (b) raffigura l’istogramma 
dell’immagine originaria, che rappresenta una descrizione in un certo senso globale delle 
caratteristiche visuali dell’immagine e nel quale, sull’asse delle ascisse, sono rappresentati i livelli 
di grigio (da 0 a 255) e sull’asse delle ordinate il numero di pixel dell’immagine con un determinato 
livello di grigio; e (c) rappresenta l’immagine segmentata binaria. Si può notare come l’oggetto 
viene selezionato e separato dalle informazioni di sfondo e di lieve rumore presenti nell’immagine 
originaria. 
 
(a) - Immagine originaria  
rappresentante arachidi. 
 
(b) - Istogramma dell’immagine  
originaria. 
 
(c) - Immagine 
segmentata binaria. 
Figura 3.1 
Nonostante ciò, la sogliatura globale ha delle limitazioni, in quanto non è sempre facile scegliere le 
due soglie, soprattutto nel caso in cui l’istogramma dell’immagine non è così semplice. 
L’istogramma ideale è, infatti, quello bimodale, cioè costituito da due mode ben distinguibili tra di 
loro, come quello mostrato in Figura 3.2 (a): in un istogramma di questo tipo una delle due soglie 
può essere individuata tra una moda e l’altra. 
 (a) – Esempio di istogramma bimodale. 
 
(b) – Esempio di istogramma non bimodale. 
Figura 3.2 
Quando invece si lavora con istogrammi come quello in Figura 3.2 (b), la scelta delle due soglie 
non è più così facile, poiché le mode non sono separate e si sovrappongono. Non è il caso delle 
immagini oggetto di questa tesi, poiché queste sono immagini in scala di grigio in cui l’oggetto 
rappresentato è abbastanza scuro rispetto allo sfondo quasi uniformemente bianco. Per cui 
nell’istogramma le occorrenze dei pixel rappresentanti lo sfondo sono notevolmente separate da 
quelle che rappresentano l’oggetto. Un esempio di tale istogramma è quello in Figura 3.1 (b). 
Dopo aver applicato la sogliatura globale ad ambedue le immagini ed ottenuto quelle segmentate, 
sia quelle binarie che quelle col valore d’intensità originario dei pixel, per avere delle immagini 
meno rumorose, si applica ad esse il filtro mediano, per effetto del quale un pixel è sostituito dal 
valore mediano dei pixel nell’intorno. 
Per esempio, dato un frammento di immagine come quello rappresentato in Figura 3.3, un filtro 
mediano 3 x 3 opera nel modo illustrato nella stessa figura: 
4057110
38107115
295235
    ⇒     
4057110
3852115
295235
 
Figura 3.3 – Sulla sinistra è raffigurato un frammento di immagine e sulla destra  
il risultato ottenuto dopo l’applicazione del filtro mediano. 
Si ricorda che il mediano M di un insieme di valori è tale che metà dei valori sono minori di M e 
metà dei valori sono maggiori di M. Pertanto, nell’intorno di ogni pixel, si devono ordinare i valori 
dei pixel in esso contenuti, compreso quello centrale, ed il valore mediano di essi è assegnato al 
pixel centrale. Considerando l’esempio in Figura 3.3 si ha: 
29, 35, 38, 40, 52, 57, 107, 110, 115 
dove 52 è il valore mediano. 
Quindi l’effetto del filtro mediano è di forzare i pixel ad assumere un valore uguale a quello di uno 
dei pixel circostanti, eliminando così eventuali spike isolati di intensità, che sono quelli con cui di 
solito si manifesta il cosiddetto rumore impulsivo (o salt-and-pepper). 
Il filtro mediano è un esempio di una classe di filtri nota come order-statistics: il loro effetto, in 
generale, è di sostituire al pixel centrale della regione dell’immagine ricadente nell’area del filtro 
uno degli altri pixel, determinato sulla base di un ranking dei loro valori. 
In Figura 3.4 è illustrata l’immagine segmentata binaria, corrispondente a quella rappresentata in 
Figura 3.1, ed il relativo risultato dell’applicazione del filtro mediano. 
Come si può notare, l’applicazione del filtro mediano all’immagine segmentata binaria, ha ridotto il 
rumore di quest’ultima vicino ai bordi dell’oggetto d’interesse. 
 
(a) – Immagine segmentata binaria.  
 
(b) – Immagine segmentata binaria dopo 
l’applicazione del filtro mediano. 
Figura 3.4 
A questo punto si procede col calcolo dei baricentri degli oggetti, per poterli sovrapporre, 
utilizzando le immagini binarie. 
Il baricentro di un oggetto si può considerare come una sorta di centro di simmetria che tiene conto 
della distribuzione dei valori d’intensità dei pixel dell’immagine. Inoltre, è una proprietà intrinseca 
dell’oggetto che non varia per roto-traslazione. 
Se N è il numero dei pixel dell’immagine, l’ascissa e l’ordinata del baricentro, indicate 
rispettivamente con x
b
 e y
b
, si ottengono dalle formule (3.2), in cui x
i
 , y
i
 e p
i
 sono rispettivamente 
l’ascissa, l’ordinata ed il valore d’intensità dell’i-esimo pixel.