• Non ci sono risultati.

L’analisi granulometrica consente di caratterizzare il materiale in base alla dimensione dei suoi grani, in modo da capirne il comportamento per l’ottenimento di parametri ingegneristici. Questi fungono da importante base per la progettazione di interventi di stabilizzazione del pendio (prima che si inneschi una possibile frana) o di interventi di contenimento del materiale franato.

Il primo passo è stato quello di entrare in possesso dei dati granulometrici utili per il confronto e la validazione dei codici implementati. Questi sono stati ottenuti conducendo su un campione di terreno misto, formato sia da materiale grosso che da materiale più fine, un’analisi granulometrica in laboratorio mediante setacciatura. Successivamente sono state scattate le fotografie sia per l’applicazione delle tecniche di Image Processing sia per quella della fotogrammetria digitale (il cui modello tridimensionale, come descritto nei prossimi paragrafi, è stato oggetto di ulteriore elaborazione).

Per capire il funzionamento dei vari comandi (sia in MATLAB, sia in VisualSFM che in CloudCompare) è stato progettato di lavorare prima con una frazione e poi con più frazioni, al fine di comprendere le differenze e i limiti tra il caso più semplice e il caso più reale, ovvero quello di avere grani tra di loro sovrapposti (alcuni parzialmente ed altri completamente). Poiché il metodo servirà allo studio del materiale franoso, è necessario capire il margine di errore commesso quando non tutte le particelle (e le stratificazioni) del terreno sono visibili. Sono stati riportati i passaggi del codice più significativi alla comprensione del suo funzionamento, i risultati per ogni applicazione e il loro confronto complessivo.

Analisi granulometrica in laboratorio

La parte teorica e normativa di una prova granulometrica di laboratorio è stata trattata ampiamente e precedentemente nel Capitolo 1, paragrafo §1.4.

Sia la parte grossa che fine sono state sottoposte a lavaggio con acqua ed a successiva essiccatura in forno per eliminare ogni residuo di liquido. Questa fase è servita a pulire il campione dalla presenza di parti organiche e frammenti di cemento.

Figura 4.1. Frazione grossa del campione, non ancora lavata.

Il campione essiccato è stato quindi fatto passare attraverso una pila di setacci, dal 4 pollici al n. 10 (secondo la standardizzazione ASTM), intervallo limite che è stato volontariamente scelto di assegnare alla granulometria poiché, dati la novità del metodo e l’obiettivo di applicarlo a materiale di grossa pezzatura, non si conoscevano a priori il suo funzionamento e la risposta che si sarebbe ottenuta.

Per ogni passaggio al setaccio il corrispettivo trattenuto è stato isolato in contenitori muniti di targhetta identificativa, in modo da avere ogni frazione separata dalle altre. Il motivo di questa suddivisione è stato lo stesso che ha portato alla decisione di lavorare con un campione ricostruito e di limitare la granulometria a un certo intervallo. Tuttavia, anche per osservare prima i dati ottenuti dall’analisi di una frazione e successivamente di più frazioni.

I risultati ottenuti dalla prova granulometrica sono riportati in Tabella 4.1. Figura 4.3. Campione essiccato e pronto ad essere sottoposto alla setacciatura.

Riportando la percentuale del passante in relazione ai diametri delle maglie dei setacci è stata ottenuta la curva granulometrica.

Tabella 4.1. Dati granulometrici dalla prova in laboratorio. Vaglio

n.

D Vaglio Peso netto (g) % Trattenuto % Passante

4" 101,6 0 100 3" 76,2 0 100 2" 50,8 0 100 1" 1/2 38,1 1646,6 13,03 86,97 1" 25,4 3294,3 26,07 60,90 3/4" 19,1 1991,6 15,76 45,13 1/2" 12,7 1758,4 13,92 31,22 3/8" 9,52 981,7 7,77 23,45 4 4,76 1713,4 13,56 9,89 10 2 1204,4 9,53 0,35 20 0,84 0 0,35 40 0,42 0 0,35 60 0,25 0 0,35 80 0,177 0 0,35 140 0,105 0 0,35 200 0,074 0 0,35

Come evidenzia la Figura 4.4, la curva conferma la natura del campioneche risulta formato prevalentemente da ghiaia di varia dimensione (grossa, media e fine).

Il passo successivo è stato quello di procedere con l’ideazione del codice in ambiente MATLAB.

Applicazione dell’Image Processing

Prima di applicare in MATLAB le operazioni di Image Processing, è stata preparata la fase di acquisizione delle fotografie. Nello specifico, è stato costruito un telaio in acciaio per delimitare l’area da fotografare e per fare da supporto alla macchina fotografica verso il campione.

Sul pavimento del laboratorio è stato posto un vassoio su cui sono stati sistemati i grani. Il fondo del vassoio è stato coperto da cartone colorato, altrimenti sarebbe apparso troppo simile al campione; in questo modo, il contrasto cromatico tra l’oggetto studiato e lo sfondo ha dato un primo aiuto alla segmentazione delle immagini.

Frazione non sovrapposta con grani separati

Come sopra riportato, la frazione (il trattenuto al setaccio ¾ in, secondo lo standard ASTM) utilizzata per questo primo tentativo di granulometria automatica è stata selezionata tra quelle più grosse e disposta sul vassoio in maniera tale da porre una certa distanza tra i grani. Questa scelta è dovuta alla facilità di operare con oggetti facilmente riconoscibili e che proiettassero delle ombre ben definite.

Le fotografie sono state eseguite con una fotocamera digitale Canon EOS 550D, dotata delle caratteristiche base di una macchina fotografica (quali messa a fuoco manuale o automatica, flash, telecomando per l’autoscatto) e ottimale risoluzione delle fotografie.

(a) (b) Figura 4.5. Fase di preparazione (a) e acquisizione fotografica (b).

La Figura 4.6 rappresenta la fotografia della frazione che è stata sottoposta all’elaborazione in MATLAB.

Il primo passaggio è stato quello di calcolare il fattore di conversione da pixel a millimetri. È quest’ultima l’unità convenzionale per la granulometria e nell’immagine una lunghezza è data dalla distanza tra i due pixel presi come estremi. Importante, quindi, è conoscere almeno una dimensione contenuta nella foto (in questo caso, la misura di un lato del cartone sul fondo), oppure porre all’interno dello scatto un oggetto noto (nel caso successivo, il copri-obiettivo della macchina fotografica).

% calcola il fattore di conversione pixel-mm

L=580; % lunghezza usata per il fattore di scala [mm] scale = L/sqrt((x1-x2)^2+(y1-y2)^2); % mm/px

Il fattore di scala è stato calcolato da una semplice proporzione tra pixel e misura nota. Figura 4.6. Trattenuto al setaccio ¾ in, i cui grani sono stati volutamente disposti in modo da non entrare a contatto tra loro.

Nel codice è stato per comodità inserito anche il comando crop in modo da consentire il caricamento in MATLAB di qualsiasi fotografia e successivamente delimitare, tagliando il resto, l’area di interesse. Ad esempio, spesso risultavano nell’immagine i bordi del vassoio o parti di pavimento.

I_thres = createMask2(im_crop);

Come prima segmentazione è stato inserito questo comando, che fa riferimento alla funzione in MATLAB generata dall’app Color Thresholder presente nel pacchetto Image Processing

Toolbox. Questo permette di lavorare in maniera semplice e veloce: l’immagine può essere

caricata nell’app e analizzata con diversi modelli di colori, agendo su ogni canale fino a quando non si arriva al risultato migliore: quello che consente una buona distinzione dei grani rispetto allo sfondo. Esportando nel workspace le variabili e come codice a parte la funzione, è possibile richiamare la seconda nel codice come sopra riportato.

Figura 4.7. Selezione dell’area di interesse, contenente anche la misura nota per il calcolo della scala.

Come mostra la Figura 4.7, dall’applicazione del threshold si ha un’immagine binaria in cui i pixel bianchi sono i foreground pixel e i neri sono i background pixel. Questo consente a MATLAB di riuscire a leggere le proprietà delle regioni di pixel bianchi e quindi misurare nei vari oggetti quello che interessa.

In questo caso, per ognuno sono stati calcolati:  Coordinate dei centroidi,

 Semiasse maggiore,  Semiasse minore,  Diametro equivalente,  Eccentricità,

 Orientamento.

Quello che più interessa in questa applicazione sono i valori dei semiassi minori e dei diametri equivalenti, ma le coordinate dei centroidi, come si vedrà di seguito, serviranno a capire come l’algoritmo di calcolo delle proprietà approssimi i grani con delle ellissi che più o meno riflettono la loro forma originaria.

Riprendendo in esame la Figura 4.7, è chiaro come ci siano dei puntini bianchi che sicuramente non sono grani del campione. Per eliminare queste impurità, si può prendere una proprietà limite e impostare il calcolo delle nuove proprietà in modo che ogni oggetto analizzato venga preso in considerazione soltanto se è maggiore di quel valore limite.

for i=1:size(centers0,1) if area0(i,1)>A_lim centers(k,1:2)=centers0(i,1:2); max_axis(k,1)=max_axis0(i,1); min_axis(k,1)=min_axis0(i,1); area(k,1)=area0(i,1); equivDiam(k,1)=equivDiam0(i,1); eccentr(k,1)=eccentr0(i,1); orient(k,1)=orient0(i,1); k=k+1; else end end

Le nuove proprietà sono state convertite poi in millimetri e raccolte in una tabella.

Sia con i diametri equivalenti che con i semiassi minori di ogni grano individuato dalla segmentazione è stata rappresentata la curva granulometrica.

Si è scelto di tenere entrambe le grandezze (diametro equivalente e semiasse minimo) per capire quale delle due più si avvicina ai dati di laboratorio e quanto errore si commette nel considerare i grani perfettamente circolari oppure come ellissi.

Tenendo in considerazione che un grano durante la setacciatura tende a passare tra le maglie ponendosi lungo l’asse minore dei tre nelle tre direzioni, allora è più veritiera la curva ottenuta considerando soltanto i semiassi minori. Non è un caso, infatti, che la loro frequenza sia più alta rispetto a quella dei diametri equivalenti (come mostra la Figura 4.7).

Tralasciando gli errori commessi, il codice per una frazione non sovrapposta è di semplice e veloce applicazione e abbastanza coincidente con i dati di laboratorio.

Frazioni sovrapposte e mescolate

I ragionamenti e i calcoli, fin qui presentati, si complicano quando vi sono più frazioni sovrapposte di grani di differenti dimensioni. Potrebbe, infatti, essere presente del materiale fine coperto completamente da altro simile o di pezzatura maggiore, oppure potrebbero essere visibili in fotografia (ma anche ad occhio nudo) soltanto alcune parti delle effettive dimensioni del grano.

Queste prima considerazioni rendono l’implementazione del codice già a priori affetta da errori. Tuttavia, anche solo riuscire a stimare la granulometria del visibile e del parzialmente visibile consente di ottenere dei risultati accettabili e non di poco conto. Si ricordi che la stessa curva granulometrica è una curva di probabilità che riferisce quanta percentuale del campione contiene grani appartenenti a un certo intervallo di diametro e, in aggiunta, i grani tendono a passare dalle maglie con la loro dimensione minore (ragionevolmente anche misurare solo una piccola parte di essi potrebbe andare bene).

Per questo campione sono state tenute in considerazione soltanto le frazioni riportate in Tabella 4.2.

Da qui è stata ottenuta la curva granulometrica in Figura 4.8.

Tabella 4.2. Dati di laboratorio per le frazioni dal setaccio 3 in al n. 10 (standard ASTM). Vaglio

n.

D Vaglio Peso netto (g) % Trattenuto % Passante 4" 101,6 3" 76,2 2" 50,8 100,00 1" 1/2 38,1 1646,1 13,08 86,92 1" 25,4 3293,8 26,17 60,75 3/4" 19,1 1991,1 15,82 44,93 1/2" 12,7 1754,6 13,94 30,98 3/8" 9,52 981,7 7,80 23,18 4 4,76 1712,9 13,61 9,57 10 2 1204,6 9,57 0,00 20 0,84 0,00 0,00 40 0,42 0,00 0,00 60 0,25 0,00 0,00 80 0,177 0,00 0,00 140 0,105 0,00 0,00 200 0,074 0,00 0,00

Il nuovo campione è stato riposto nel vassoio e sistemato mescolando tutte le frazioni presenti; in questo modo, i grani si sono disposti con casualità, come potrebbe accadere in un caso reale.

In un primo tentativo si potrebbe pensare di ragionare allo stesso modo, come nel caso di una singola frazione, e provare ad analizzare il campione con il codice precedente.

Figura 4.9. Granulometria delle frazioni dai dati di laboratorio.

Tuttavia, il Color Thresholder ha interpretato l’immagine come un’unica grande regione di pixel bianchi, in cui è possibile notare davvero una minima parte di pixel neri. Ciò accade perché i grani hanno colori simili e il codice precedente non riesce a differenziare bene i pixel scuri da quelli chiari.

Per questo, il primo passo è stato quello di sottoporre l’immagine a varie segmentazioni, sia applicate ai singoli canali dei modelli di colori e sia ai gradienti (per la teoria dell’Image

Processing si rimanda al paragrafo §3.2). Inoltre, per poter effettuare operazioni di somma o

sottrazione tra le immagini, tra i gradienti e tra immagini e gradienti insieme, è stato necessario normalizzare ogni canale, in modo che risultassero matrici della stessa tipologia.

Sono state fatte varie prove ed elaborazioni, ma si è scelto di riportare come esempio quelle condotte su uno dei canali che hanno risposto meglio alle operazioni.

Figura 4.11. Canale Cb, appartenente al modello YCbCr, a cui è stato sottratto il proprio gradiente.

In Figura 4.11 al canale Cb, appartenente al modello YCbCr, è stato sottratto il proprio gradiente per evidenziare di nero i contorni degli oggetti.

La Figura 4.12 è stata ottenuta dalla Figura 4.10, su cui sono state eseguite alcune operazioni di morfologia matematica, quali: imopen e imreconstruct. La prima identifica l’operazione di opening, illustrata al paragrafo §3.2, e la seconda esegue più operazioni di dilate (anche questa spiegata all’interno dello stesso paragrafo) in modo che una (detta marker) si adatti a un’altra (mask).

Figura 4.12. Canale Cb risultante dall’applicazione delle operazioni di morfologia matematica.

In Figura 4.13, invece, è stata rielaborata il canale che ha subito le prime modifiche (Figura 4.11), sottraendo ad esso il gradiente somma di tutti quelli dei canali.

Figura 4.13. Canale Cb modificato dalla differenza tra la prima elaborazione e il gradiente somma di quelli di tutti i canali.

Dalla Figura 4.14, ovvero la binaria della Figura 4.13, è stata fatta una prima scrematura di ciò da tenere e da scartare, poiché non tutti gli oggetti che il codice è riuscito a segmentare potrebbero appartenere ai grani o sono da tenere in conto.

La Figura 4.15 è stata ottenuta applicando alla Figura 4.14 il comando bwareaopen che consiste nel trascurare le aree degli oggetti minori di un limite imposto.

Infine, come verifica e per capire quanto sia stato l’errore commesso con il nuovo codice, sono state disegnate sull’immagine di partenza le ellissi (di coordinate e proprietà ricavate con lo stesso ciclo della prima applicazione).

Le misure sono state anche qui convertite da pixel a millimetri grazie alle dimensioni note di un grano del campione.

Infine, è stata ricavata la curva granulometrica con il diametro equivalente e il semiasse minore.

Anche in questo caso, come nel precedente, è possibile notare la non esatta corrispondenza con i dati ottenuti in laboratorio. In più, è stata eseguita come un’ulteriore verifica che consiste nel disegnare nell’immagine di partenza le ellissi approssimate dal codice e dai valori che ha calcolato.

In Figura 4.17 è evidente come alcuni grani sono stai analizzati male, nonostante la maggior parte di essi sono stati ben elaborati.

Poiché è stato ritenuto di aver raggiunto un primo limite dell’applicazione dell’Image

Processing, è stato scelto di provare un altro approccio: la fotogrammetria digitale.

Applicazione della Fotogrammetria Digitale

La fotogrammetria digitale è stata utilizzata per ottenere una ricostruzione tridimensionale del campione, di cui analizzare in MATLAB la granulometria grazie alle curve di livello, l’insieme di punti che si trovano alla stessa quota da un punto zero. Questa proprietà è stata utilizzata per un nuovo approccio alla segmentazione de i grani associati. È chiaro che, più in scende di livello, più parti e più grani sono presi.

Il campione su cui si è lavorato è lo stesso del caso precedente di più frazioni sovrapposte (i dati di laboratorio, quindi, non sono cambiati).

Prima di effettuare le fotografie da utilizzare in VisualSFM per ottenere la nuvola di punti, è stata condotta una prova per la valutazione dell’effettiva accuratezza del metodo, ricostruendo oggetti (di cui sono note le dimensioni) diversi dai grani.

Sensibilità e accuratezza

Al fine di valutare il funzionamento e l’accuratezza dell’approccio fotogrammetrico prima di applicarlo al campione, sono stati ricostruiti i modelli tridimensionali degli oggetti riportati in Figura 4.18.

Come nelle applicazioni precedenti, si sta lavorando ancora con fotografie costituite da un insieme di pixel. Per la conversione in millimetri sono stati inseriti nell’insieme di oggetti sei

target points di coordinate x e y note su un sistema arbitrario di assi.

Le fotografie sono state scattate da diverse angolazioni.

Il set è stato formato con 30 fotografie, numero ragionevole tramite cui è stato possibile ottenere la nuvola di punti rappresentativi in VisualSFM.

La dense points cloud è stata aperta in CloudCompare che automaticamente è riuscito a riprodurre il modello tridimensionale. Inserendo le coordinate dei target points in corrispondenza degli stessi punti nel modello, è stato possibile scalare tutto in millimetri.

Figura 4.19. Fotografie da diverse angolazioni.

Per vedere se la conversione è andata a buon fine, è possibile nel programma controllare le coordinate dei punti noti.

Come si può ben notare in Figura 4.21, il modello ottenuto riproduce perfettamente gli oggetti e la loro disposizione spaziale.

Il passo successivo è stato l’ottenimento del modello 3D del campione e la sua analisi in MATLAB, utilizzando le curve di livello, per ricavarne la granulometria.

Figura 4.20. Ricostruzione tridimensionale in CloudCompare.

Applicazione al campione

I passaggi per la costruzione del modello tridimensionale in CloudCompare sono stati gli stessi utilizzati nella valutazione della sensibilità e accuratezza della fotogrammetria digitale.

La nuvola di punti è stata calcolata in VisualSFM.

E, infine, è stato ricostruito il modello tridimensionale in CloudCompare. Figura 4.22. Fotografie da diverse angolazioni.

Dopo aver scalato il modello grazie ai target points nelle fotografie e averlo “pulito” tenendo soltanto la parte d’interesse, dallo stesso programma è stato possibile ricavare ed esportare le curve di livello sottoforma di matrice contenente le coordinate x e y dei vertici.

In MATLAB è stato è visualizzato il campione formato soltanto da tali curve. Figura 4.24. Modello tridimensionale del campione in CloudCompare.

In successione, sono state condotte delle analisi simili alle applicazioni precedenti a seconda della curva di livello. Ad esempio, in quelle più alte il materiale appare poco e abbastanza separato.

Alla prima curva di livello in cui è stato notato che venivano considerati come unico due grani vicini, è stato applicato il Watershed per segmentarli.

Sommando più curve di livello con applicato questo algoritmo, è stato possibile portare avanti l’analisi applicandolo di volta in volta dove necessario.

Per ogni curva sono state calcolate le solite proprietà e dalla loro valutazione è stata calcolata la curva granulometrica.

Anche in quest’ultima applicazione i risultati sono accettabili e simi a quelli ottenuti in laboratorio. A differenza degli altri metodi si nota una più omogeneità di frequenza tra le due grandezze calcolate e ciò è dovuto al fatto di aver lavorato con curve di livello, linee chiuse dalla forma quasi circolare o ellittica.

È possibile adesso confrontare ogni istogramma con la curva granulometrica di laboratorio per indagare i limiti e i possibili sviluppi di questa metodologia.

Confronto dei risultati

Partendo dai dati di laboratorio è possibile fare un confronto dei risultati ottenuti nelle varie applicazioni, al fine di evidenziarne limiti ed errori commessi per le semplificazioni dovute al voler utilizzare solo fotografie digitale e algoritmi di calcolo.

Nel caso di una singola frazione con grani separati, rispetto alla curva granulometrica in laboratorio, è possibile notare come l’istogramma rappresenti abbastanza bene le dimensioni dei grani del trattenuto ai ¾ in: l’intervallo in cui cadono la maggior parte delle particelle è abbastanza prossimo a quello ottenuto in laboratorio. È doveroso fare una distinzione tra

diametro equivalente e semiasse minore: come già riportato, il diametro equivalente tende a sovrastimare le dimensioni poiché approssima i grani a cerchi, quando sono evidentemente più simili a ellissi (anche se hanno molteplici forme differenti). Inoltre, si notano anche alcuni valori troppo piccoli e separati dal resto e altri troppo grandi, rispetto alla granulometria in laboratorio. Questo è dovuto all’algoritmo del calcolo delle proprietà di MATLAB che, oltre ad approssimare la forma dei grani a ellissi, si basa su un calcolo probabilistico tra la reale misura e l’approssimazione.

Oltre al confronto tra curva granulometrica ottenuta con il metodo convenzionale attraverso vagliatura (Figura 4.28), si riportano inoltre in Figura 4.29 le due curve granulometriche ottenute mediante le due tecniche di analisi. Risulta immediato notare come la curva derivante

(a) (b)

Figura 4.27. Confronto curva granulometrica in laboratorio (a) e istogramma granulometrico del caso di una frazione non sovrapposta (b).

(a) (b)

Figura 4.28. Confronto curva granulometrica in laboratorio (a) e istogramma granulometrico del caso di una frazione non sovrapposta (b).

da Image Processing ben coglie l’andamento di quella sperimentale. Un ulteriore miglioramento di tali risultati sarà possibile aumentando la qualità della segmentazione dell’immagine elaborata, così da ridurre la errata interpretazione di alcune forme.

Questo caso presenta una buona distribuzione all’interno dell’intervallo granulometrico scelto in laboratorio. Presenta alcuni dati troppo elevati rispetto al limite superiore, ma l’errore è abbastanza accettabile.

In questo caso si nota come la maggior parte dei grani abbia dimensioni tra otto e undici millimetri, dovuto all’applicazione del Watershed in quasi tutte le curve. Come già illustrato,

Documenti correlati