Suggerimenti sul Photogrammetry per Face e Bodyscan con una fotocamera

CHOOSE LANGUAGE / SCEGLI LINGUA

Pillole di saggezza ricavate facendo esperimenti con Agisoft Photoscan

Di seguito alcuni trucchi ed idee per ottenere risultati decenti con programmi di Photogrammetry (Agisoft Photoscan, 3DF Zephyr) nel Body / Face Scan ad una sola Fotocamera.

Nota generale : Il corpo umano è in continuo micro-movimento. E’ impossibile ottenere risultati perfetti con una sola fotocamera, sopratutto nei dettagli (ad esempio solo viso). Al fine di ottenere una scansione “decente” le foto DEVONO essere scattate nel minor tempo possibile (pochissimi secondi).

IDEE GENERALI

  • FOTOCAMERA E AMBIENTE
    • Utilizzate come ottica un 35mm o 50mm senza zoomare (consigliato 50mm perchè producono meno distorsione)
    • Prestate attenzione al file finale. Se la vostra camera supporta 35mm ma utilizzate un 50mm va eseguita una taratura corretta altrimenti il software di Photogrammetry avrà difficoltà coi punti. Una Focale più lunga è migliore per gli oggetti curvi (come un viso) perchè viene prodotta meno distorsione nella angolazione
    • Per ottenere un discreto Depth of Field è consigliabile, come diaframma, non scendere sotto F5.6, in molti casi anche F8 o F11. Questo darà all’immagine un maggior numero di dettagli e risulterà meno sfumata nello sfondo. Secondo alcuni l’impostazione migliore si aggira tra F11 e F14.
    • La velocità di scatto (Shutter Speed) deve essere tarata in modo tale da evitare movimenti involontari e blur.
    • Non ruotate mai la fotocamera mentre prendete gli shot (devono essere tutti verticali o tutti orizzontali)
    • Eseguite la scansione in un ambiente ampio e con una alta luminosità ma senza ombre (leggesi meglio in una giornata nuvolosa)
    • Impostate gli ISO BASSI in modo tale che la foto abbia il minor rumore digitale possibile (consigliati valori bassi 50, 100, 200)
    • Ruotate intorno al soggetto prendendo le foto da più angolazioni
    • Evitate le “deformazioni” dell’immagine (tipo soggetto che risulta allungato nella inquadratura)
    • Evitate sovra esposizioni e sfocature
    • Cercate di fotografare tenendo in mente che le foto devono sovrapporsi di almeno un terzo tra loro (per sincronizzare i punti)
    • Riempite l’intero fotogramma con il soggetto, ci saranno più dettagli.
    • Usate il massimo dei MegaPixel e immagini senza compressione (RAW). Le immagini RAW nella maggior parte delle fotocamere non vengono elaborate e non subiscono variazioni di forma, colore, sharp o blur e compressione. Per questo motivo sono preferibili ad altri formati (JPG, ecc, ecc)
  • SOGGETTO
    • Il soggetto deve stare il più fermo possibile e voi dovete cercare di essere i più veloci possibile. Il corpo umano esegue continuamente piccoli movimenti di compensazione che si rifletteranno sul risultato finale (tipo bolle nella mesh)
    • I bambini hanno difficoltà a stare fermi, dovete essere velocissimi
    • La pelle di un adulto presenta molti punti che possono essere letti bene dal programma, mentre la pelle di un bambino darà problemi durante la produzione del Cloud / Dense Cloud in quanto più liscia ed uniforme
    • Utilizzate una sedia oppure il pavimento o il muro per tenere il soggetto fermo
    • Per i primi esperimenti provate a fotografare oggetti statici con buone texture e senza riflessi (come ceppi di legno o sassi)
    • Evitate di fotografare specchi, vetri o occhiali. I programmi di photogrammetry non sono in grado di gestire i riflessi.
  • POST PROCESSING
    • Cancellate le immagini che sono uscite sfocate
    • Non ridimensionate le immagini in post-processing
    • Non ruotate le immagini in post-processing
    • Non applicate distorsioni manuali (ci pensa il programma di Photogrammetry)
    • Rinominate le immagini in sequenza per ottimizzare il lavoro del programma (alcune fotocamere danno nomi casuali)
    • Aumentate leggermente il contrasto
    • Accertatevi di non modificare / cancellare gli EXIF dalle immagini, sono essenziali per la mappatura in PhotoScan
    • Se usate dei formati RAW (tipo CR2 della Canon) convertiteli in TIF usando IrfanView (vedi guida più sotto) o Photoshop 

PREPARAZIONE DELLE IMMAGINI

CONVERTIRE I FILE RAW ORIGINALI

  • Aprite IrfanView
  • Selezionate File –> Batch Conversion / Rename
  • In Output Format –> TIF – Tagged Image File Format
  • Options : None (file circa il doppio dell’originale senza compressione) oppure provate qualche tipo di compressione
  • Selezionate i file da convertire
  • Premete ADD
  • Selezionate la cartella di destinazione
  • Premete Start Batch
  • In qualche minuto verranno creati i File TIF con lo stesso nome delle immagini originali. Irfanview non tiene però i dati EXIF per i posizionamenti della camera e le dimensioni.

TRASFERIRE I DATI EXIF

  • Eseguite EXIFTOOLGUI (scaricabile qui)
  • Selezionate i vostri TIF appena convertiti
  • Cliccate su Export / Import –> Copy Metadata into All JPG or TIF files…
  • Rispondete YES al riquadro che vi chiede se devono essere processati anche i file nelle sottocartelle (poco importa)
  • Selezionate un file originale da cui prima avete estratto i TIF (nel mio caso un CR2)
  • Il programma cercherà i file con lo stesso nome ed incollerà gli EXIF nei TIF

ACCENNI ALLE MASCHERE

Agisoft Photoscan permette di “mascherare” le parti di foto non desiderate. Questo processo può essere eseguito direttamente in Photoscan oppure in un programma di manipolazione d’immagini come PhotoShop o The Gimp.

L’utilità di utilizzare le maschere

  • Riduce il carico di lavoro di Photoscan
  • Permette di ottenere una Mesh più definita e perfettamente ritagliata

Svantaggi

  • E’ un processo noioso
  • Si può ottenere dei risultati simili con un semplice crop dei punti in Photoscan

Come vengono utilizzate le maschere in Photoscan?

  • Durante ALIGN PHOTOS è possibile selezionare “constrain features by mask”. (scelta sconsigliata). Il programma eseguirà il posizionamento della camera solo in base ai punti liberi della maschera, ma questo potrebbe portare a problemi di allineamento per mancanza di punti e profondità di campo
  • Durante DENSE CLOUD le maschere (se sono state caricate) verranno sempre utilizzate, ritagliando la figura.
  • Durante la TEXTURE GENERATION le maschere verranno sempre utilizzate evitando i colori non necessari.

IMPOSTAZIONI PER AGISOFT PHOTOSCAN

Le impostazioni seguenti sono basate principalmente per ottenere un Body / Face Scan decente

STEP 0 : IMPORTARE LE IMMAGINI E CAMERA CALIBRATION

  • Create un nuovo Chunk
  • Importate le foto
  • Entrate in Tools –> Camera Calibration
  • Verificate che la Focale sia impostata giusta (35mm o 50mm) in base alla fotocamera
  • Cliccate il tasto sinistro del mouse sul gruppo in alto a sinistra e scegliete SPLIT GROUPS (Creerà un singolo gruppo per ogni foto e Photoscan utilizzerà i dati di ogni singola foto per la mappatura)

STEP 1 : ALIGN PHOTO

  • Entrate in Workflow –> Align Photo
  • ACCURACY
    • HIGH per utilizzare l’allineamento alla massima risoluzione delle foto originali (consigliato)
    • MEDIUM utilizza le immagini al 50%
    • LOW utilizza le immagini al 25%
  • PAIR PRESELECTION
    • GENERIC se non si conosce la posizione della camera
    • GROUND CONTROL se sono presenti i dati GPS (mappature di terreni)
  • POINT LIMIT : il numero massimo di punti da estrapolare per immagine. Valore consigliato tra i 40.000 e i 60.000 punti.
    In alternativa potete provare ad impostare il Point Limit con questa formula : numero dei MegaPixel x 6400 (formula derivata dalla seguente tabella trovata in un forum )

    • With 6MP Fujifilm S6500 i got ~35000 keypoints
      With 12MP Nikon D90 i got ~70000 keypoints
      With 16MP Nikon D7000 i got ~110000 keypoints
      With 24MP Sony NEX7 i got ~150000 keypoints
      With 36MP Nikon D800 i got ~240000 keypoints
      With 50MP Canon 5DSR i got ~320000 keypoints

STEP 1.1 CORREZIONE ERRORI PROIEZIONE

L’obiettivo di questo step è quello di “limare” gli errori di proiezione.

Abilitate la finestra Ground Control e guardate il valore medio degli errori di proiezione sulla destra. Un buona valore dovrebbe essere sotto i 0.8

  • Cliccate su EDIT –> GRADUAL SELECTION
  • Impostate un valore leggermente più alto della media dei vostri dati di errore di proiezione
  • Alcuni punti verranno selezionati
  • Premete CANC per cancellarli (cliccate nella vista dei punti se non si cancellano e riprovate)

STEP 1.2 : CANCELLARE PUNTI SUPERFLUI

  • Utilizzando la selezione a mano libera cerchiate la figura che volete mantenere
  • Cliccate il tasto CROP
  • Ruotate la vista di circa 90°
  • Eseguite la stessa operazione finchè necessario

STEP 1.3 : SELEZIONARE L’AREA MASSIMA DEI PUNTI

  • Cliccate sul tasto RESIZE REGION
  • Tirate i punti fintanto che il BOX di selezione non occupa l’area da cui volete estrarre la Mesh finita. Il programma lavorerà solo in questa area ottimizzando i tempi di lavorazione.
  • Usando ROTATE REGION o ROTATE OBJECT potete raddrizzare negli assi la figura scansionata

STEP 2 : BUILD DENSE CLOUD

  • Impostate QUALITY: MEDIUM oppure HIGH
  • Impostate DEEP FILTERING : AGGRESSIVE

STEP 2.1 : PULIRE DENSE CLOUD

  • Utilizzare la Selezione Libera
  • Selezionate i punti che sono evidentemente fuori posizione oppure i punti bianchi
  • Cliccate CANC e cancellate
  • Di norma è meglio un pò di più che un pò di meno per la Mesh finita

STEP 3 : GENERARE LA MESH

  • Selezionate BUILD MESH
  • SURFACE TYPE
    • ARBITRARY se non avete le altezze GPS
    • HEIGHT OF FIELD se state mappando un terreno da Drone
  • SOURCE DATA : DENSE CLOUD
  • POLYGON COUNT : HIGH
  • INTERPOLATION
    • NONE per la sola figura in base ai punti
    • ENABLE per la chiusura dei fori
    • EXTRAPOLATED per la generazione di copertura dove mancano i punti (da un risultato qualitativo identico ad ENABLE ma cerca di chiudere i buchi)

 

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *