<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Miglioramento di algoritmi di elaborazione di immagini da scanner 3D tramite Simulated Annealing</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marco Derboni</string-name>
          <email>m.derboni@gmail.com</email>
          <email>marco.derboni@student.unife.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Evelina Lamma</string-name>
          <email>evelina.lamma@unife.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antonio Zaccaro</string-name>
          <email>antonio.zaccaro@cefla.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Cefla Dental Group, via Bicocca 14/c</institution>
          ,
          <addr-line>40026 Imola (BO)</addr-line>
          ,
          <country country="IT">Italia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dipartimento di Ingegneria</institution>
          ,
          <addr-line>Via Saragat 1, 44122 Ferrara (FE)</addr-line>
          ,
          <country country="IT">Italia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Nel lavoro si descrive l'applicazione di tecniche di IA per l'elaborazione e l'allineamento di immagini provenienti da scanner 3D, in grado di generare modelli digitali tridimensionali. Al fine di allineare più correttamente i fotogrammi acquisiti, in scansioni successive, dal dispositivo e ricostruire accuratamente il modello tridimensionale digitale, si è integrata la tecnica di Simulated Annealing, con un algoritmo di elaborazione di immagini (Iterative Closest Point, ICP) che allinea un nuovo fotogramma al modello già generato tramite roto-traslazioni consecutive.</p>
      </abstract>
      <kwd-group>
        <kwd />
        <kwd>Ricerca euristica</kwd>
        <kwd>Simulated Annealing</kwd>
        <kwd>scanner 3D</kwd>
        <kwd>registrazione</kwd>
        <kwd>allineamento</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Nel corso degli anni, la necessità di poter manipolare e/o modificare un oggetto
senza doverne alterare il reale stato fisico, oppure l’esigenza di volerne preservare le
caratteristiche nel tempo in una forma imperturbabile, ha portato allo sviluppo di
strumenti di scansione 3D sempre più sofisticati e complessi in grado di acquisire le
informazioni relative alle geometrie, alle dimensioni, alle colorazioni di un oggetto
sotto forma di modello digitalizzato tramite la tecnica del laser scanning. I sensori di
acquisizione consentono di ottenere delle nuvole di punti che necessitano di
un’accurata elaborazione.</p>
      <p>L’obiettivo del lavoro presentato consiste nell’ottimizzare il processo di
elaborazione di queste informazioni al fine di ricostruire, in modo migliorato, il modello
tridimensionale digitalizzato dell’oggetto scansionato. Il caso di studio è stato
proposto da Cefla Dental Group, ed è stato affrontato utilizzando tecniche di Intelligenza
Artificiale.</p>
      <p>Il dispositivo di acquisizione considerato è uno scanner intra-orale per la
rilevazione dell’impronta digitale delle arcate dentali, da impiegarsi nel settore odontoiatrico,
composto da una sonda, manovrata manualmente dall’operatore, e da un software di
controllo e acquisizione. Una volta introdotto nel cavo orale, lo scanner 3D effettua la
misurazione delle arcate dentali generando un modello tridimensionale
topomorfologico del tutto analogo alla tradizionale impronta in silicone; il modello
generato è utilizzato poi per realizzare un preciso manufatto protesico.</p>
      <p>Per ottenere un modello corretto e preciso sono, in genere, necessarie più
scansioni, ciascuna delle quali produce un’immagine tridimensionale parziale dell’oggetto
stesso, quindi un dato volumetrico. I singoli fotogrammi devono essere elaborati
attraverso opportuni algoritmi di elaborazione, per produrre un singolo modello
tridimensionale dell’arcata scansionata. L’algoritmo di allineamento già utilizzato in Cefla
Dental Group, l’Iterative Closest Point (ICP), ha il compito di confrontare la nuvola di
punti del fotogramma in esame con quella del modello fino a quel momento generato;
se esso individua una regione di sovrapposizione sufficiente riesce ad allineare il
fotogramma al modello, in caso contrario attende un nuovo fotogramma e ripete il
confronto. Quest’ultima situazione genera una perdita di continuità, cioè una
momentanea interruzione del processo di creazione del modello che, conseguentemente,
comporta una sospensione temporanea del processo di acquisizione. Se si desidera
continuare la scansione, è necessario inquadrare l’ultima area correttamente registrata al
modello stesso, in modo da consentire al sistema di riagganciare le scansioni.</p>
      <p>Al fine di migliorare l’usabilità del dispositivo, si è pensato di far fronte al
problema attraverso una procedura automatica che integra la tecnica del Simulated
Annealing con l’algoritmo ICP, minimizzando le situazioni di imprecisione e migliorandone
la performance, anche temporale.</p>
      <p>Nell’articolo si descrive lo studio, la progettazione, la realizzazione e il testing di
questa nuova metodologia di allineamento dei fotogrammi acquisiti da scanner
tridimensionali, al fine di perfezionare, in termini di accuratezza e di qualità generale, il
processo con cui vengono collezionati al fine di consentire l’ottenimento del modello
tridimensionale della cavità orale.</p>
    </sec>
    <sec id="sec-2">
      <title>Integrazione di Simulated Annealing e ICP</title>
      <p>L’algoritmo Simulated Annealing [1] è un criterio basato su nozioni di meccanica
statistica attraverso un’analogia con il comportamento di sistemi fisici durante il
processo di raffreddamento. Ciò che ha influenzato l’implementazione di tale algoritmo è
il processo fisico di formazione dei cristalli. Per realizzare un cristallo si parte da
materiali grezzi allo stato fuso, la cui temperatura deve essere adeguatamente ridotta
fino al momento in cui avviene un congelamento della struttura del cristallo stesso. Il
raffreddamento deve avvenire molto lentamente per evitare la formazione di
irregolarità al suo interno, quindi la temperatura deve essere abbassata in modo graduale
attraverso una serie di livelli. Finché essa è maggiore dello zero assoluto sono sempre
possibili variazioni in salita, al fine di evitare che la temperatura si discosti da quella
compatibile con il livello energetico del livello corrente. Nel momento in cui viene
raggiunto lo zero assoluto, tali variazioni diventano proibite, evitando in questo modo
il generarsi di effetti indesiderati nella struttura del cristallo, in quanto nessuna
transizione di stato può portare ad uno stato a più alta energia.</p>
      <p>Il Simulated Annealing è la versione algoritmica di questo processo di
solidificazione dei cristalli. Esso può essere visto come un’estensione della tecnica di
ottimizzazione locale, in cui la soluzione iniziale è ripetutamente modificata attraverso
piccole perturbazioni locali al fine di migliorarne lo stato. Questo processo mira a trovare
un minimo globale quando si è in presenza di più minimi locali.</p>
      <p>L’algoritmo Iterative Closest Point (ICP) ha il compito di allineare un
fotogramma al modello tramite roto-traslazioni consecutive. L’implementazione utilizzata è
stata ideata da Y. Chen e G. Medioni [2]. L’operazione è effettuata a partire da un
preciso starting point, corrispondente alla regione di sovrapposizione dell’ultimo
fotogramma correttamente registrato al modello, ed ha esito positivo solamente se la
distanza tra il fotogramma ed il modello, espressa da un’opportuna funzione errore, è
inferiore ad una determinata soglia. L’algoritmo associa delle coppie di punti,
appartenenti rispettivamente al fotogramma e al modello, in base a dei criteri di distanza.
La funzione errore è espressa dalla sommatoria delle distanze di queste coppie di
punti. Ad ogni rototraslazione il valore della sommatoria tenderà a diminuire a causa
dell’avvicinamento del fotogramma al modello. Questo metodo raggiunge molto
rapidamente un minimo, ma non sempre è quello globale, e quindi non corrisponde alla
zona di corretto allineamento del fotogramma. Se uno di questi minimi locali è
maggiormente adiacente allo starting point della scansione corrente rispetto al minimo
globale, può accadere che le roto-traslazioni introdotte dall’ICP trascinino la nuvola
di punti appartenente alla scansione stessa in una di queste zone.</p>
      <p>Simulated Annealing è in grado di sfuggire ai minimi locali, quindi è un algoritmo
robusto, tuttavia estremamente lento a convergere al minimo globale, quindi
inefficiente. Al contrario, ICP è molto efficiente, ma trova ostacoli nei minimi locali. Da
queste considerazioni, nasce l’idea di sviluppare una tecnica ibrida [3] in cui vengono
accostati i due metodi al fine di trovare una soluzione ottima al problema.</p>
      <p>L’algoritmo Simulated Annealing ha infatti il compito di trovare uno starting point
migliore di quello utilizzato da ICP, per portare a termine la registrazione della nuvola
di punti acquisita che, in caso contrario, sarebbe immediatamente scartata. Nella
situazione favorevole in cui venga effettivamente trovato uno starting point migliore, il
controllo torna all’algoritmo ICP che effettua l’allineamento vero e proprio.</p>
      <p>Il primo passo dell’algoritmo consiste nel generare un insieme di sei nuovi starting
point, ognuno dei quali differisce dall’originale per una differente traslazione su un
asse di riferimento, calcolando al tempo stesso la relativa funzione errore. Se già in
questa prima fase si identifica uno starting point in grado di soddisfare i requisiti per
l’allineamento, cioè se la funzione errore risulta inferiore ad una determinata soglia, si
interrompe il Simulated Annealing e si avvia immediatamente l’ICP, che riceve in
ingresso lo starting point da cui iniziare le operazioni di allineamento.</p>
      <p>Altrimenti, si avvia la seconda fase dell’algoritmo: si seleziona lo starting point
con errore associato maggiore e si effettua per esso una perturbazione alla relativa
matrice di traslazione attraverso una distribuzione di probabilità gaussiana. Il valore
della varianza della gaussiana, quindi dell’ampiezza della perturbazione, dipende
dalla temperatura del sistema, che diminuisce o aumenta in base al valore della
funzione errore e del numero di perturbazioni consecutive senza successo effettuate sullo
starting point in esame. In seguito ad una perturbazione infatti, se uno starting point
peggiora il suo stato, la temperatura aumenta per consentire un movimento più ampio.
In base alla temperatura dipende perciò la probabilità di effettuare una perturbazione
più o meno incisiva. Successivamente si ricalcola la funzione errore e, anche in questo
caso, se il valore è inferiore ad una determinata soglia si riavvia l’ICP, altrimenti si
controlla la variazione del valore della funzione errore: se esso è diminuito si
reiterano le operazioni descritte e si procede con un’ulteriore perturbazione del nuovo
starting point peggiore; altrimenti si ripristina lo starting point precedente.</p>
      <p>Al fine di interrompere l’algoritmo nel caso in cui tutti gli starting point non sono
in grado di trovare una buona convergenza, è stato introdotto un valore limite sul
numero di perturbazioni effettuate per ogni starting point: se si oltrepassa tale valore,
lo starting point in esame non è più considerato, altrimenti si procede con un’ulteriore
perturbazione. Se nessuno starting point è considerato idoneo, si interrompe
prematuramente l’algoritmo; altrimenti si reitera il procedimento. L’interruzione
dell’algoritmo tuttavia non compromette l’intero processo di creazione del modello
digitale; se il Simulated Annealing non riesce a fornire all’ICP uno starting point
alternativo per allineare il fotogramma al modello, il fotogramma viene semplicemente
rigettato, come avviene per la versione originale dell’ICP, ed il controllo torna all’ICP
stesso, che riceverà in ingresso dallo scanner un nuovo fotogramma da allineare al
modello.</p>
      <p>( a )
( b )
( c )</p>
    </sec>
    <sec id="sec-3">
      <title>Conclusione</title>
      <p>L’integrazione della tecnica Simulated Annealing con l’algoritmo ICP si è rivelata
un’ottima soluzione per far fronte al problema delle perdite di continuità dello scanner
intra-orale considerato. In particolare, grazie all’identificazione del minimo globale di
una funzione, Simulated Annealing è in grado di subentrare egregiamente nelle
situazioni in cui l’Iterative Closest Point fallisce. Il metodo si è rivelato affidabile ed in
grado di evitare le perdite di continuità nella maggioranza delle situazioni esaminate,
condizione necessaria al fine di migliorare l’usabilità del dispositivo medico.</p>
      <p>Tuttavia, al fine di rendere l’applicazione sufficientemente rapida per un utilizzo
real-time, è consigliato l’utilizzo di tale algoritmo attraverso una procedura che opera
in background al fine di evitare situazioni di interruzione temporanea generate dalla
complessità di calcolo dell’algoritmo, evitando pertanto di sospendere la sequenza di
acquisizioni. Il processo deve essere celato all’utilizzatore allo scopo di far recuperare
la continuità automaticamente mentre lo scanner è in fase di acquisizione continua,
senza quindi richiedere un intervento a livello fisico da parte dell’utilizzatore.</p>
    </sec>
    <sec id="sec-4">
      <title>Riferimenti bibliografici</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Kirkpatrick</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gelatt</surname>
            ,
            <given-names>C. D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vecchi</surname>
            <given-names>M. P.</given-names>
          </string-name>
          , “Optimization by Simulated Annealing,” Science, New Series, Vol.
          <volume>220</volume>
          , No.
          <volume>4598</volume>
          ,
          <year>1983</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Medioni</surname>
          </string-name>
          , G. “
          <article-title>Object Modeling by Registration of Multiple Range Images,”</article-title>
          <source>Proc. IEEE Conf. on Robotics and Automation</source>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Luck</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Little</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hoff</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          , “
          <article-title>Registration of Range Data Using Hybrid Simulated Annealing</article-title>
          and Iterative Closest Point,
          <source>” Proc. Of IEEE International Conference of Robotics and Automation</source>
          , San Francisco, April 24-
          <issue>28</issue>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>