Sommario:
- Passaggio 1: espandi la gamma dinamica della tua immagine o delle tue immagini
- Fondamento logico:
- Passaggio 2: elaborare le immagini o eseguire la visione artificiale, l'apprendimento automatico o simili
- Passaggio 3: ricomprimere la gamma dinamica del risultato
- Passaggio 4: potresti provare alcune altre varianti
- Passaggio 5: andare oltre: ora provalo con i compositi di immagini HDR
Video: Elaborazione quantimetrica delle immagini: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
(La figura sopra illustra il confronto del metodo di elaborazione delle immagini esistente con l'elaborazione quantimetrica delle immagini. Notare il risultato migliorato. L'immagine in alto a destra mostra strani artefatti che derivano dall'ipotesi errata che le immagini misurino qualcosa come la luce. L'immagine in basso a destra mostra un risultato migliore facendo la stessa cosa quantimetricamente.)
In questo Instructable imparerai come migliorare notevolmente le prestazioni dei sistemi di imaging o di rilevamento della visione esistenti utilizzando un concetto molto semplice: rilevamento dell'immagine quantimetrico
L'elaborazione quantimetrica delle immagini migliora notevolmente uno dei seguenti:
- Elaborazione delle immagini esistente come la sfocatura delle immagini;
- Apprendimento automatico, visione artificiale e riconoscimento di modelli;
- Riconoscitore facciale indossabile (vedi https://wearcam.org/vmp.pdf), visione basata su AI e HI, ecc.
L'idea di base è quella di pre-elaborare quantimetricamente e post-elaborare le immagini, come segue:
- Espandere la gamma dinamica dell'immagine o delle immagini;
- Elabora l'immagine o le immagini come faresti normalmente;
- Comprimi la gamma dinamica dell'immagine o delle immagini (ad esempio annulla il passaggio 1).
In Instructables precedenti, ho insegnato alcuni aspetti del rilevamento HDR (High Dynamic Range) e del rilevamento quantimetrico, ad es. linearità, sovrapposizione, ecc.
Ora mettiamo a frutto questa conoscenza.
Prendi qualsiasi processo esistente che desideri utilizzare. L'esempio che mostrerò è la sfocatura delle immagini, ma puoi anche usarlo per qualsiasi altra cosa.
Passaggio 1: espandi la gamma dinamica della tua immagine o delle tue immagini
(Figure adattate da "Intelligent Image Processing", John Wiley and Sons Interscience Series, Steve Mann, novembre 2001)
Il primo passo è espandere la gamma dinamica dell'immagine in ingresso.
Idealmente, dovresti prima determinare la funzione di risposta della fotocamera, f, e quindi applicare la risposta inversa, f inversa, all'immagine.
Le fotocamere tipiche sono a compressione della gamma dinamica, quindi in genere vogliamo applicare una funzione espansiva.
Se non conosci la funzione di risposta, inizia provando qualcosa di semplice come caricare l'immagine in un array di immagini, trasmettere le variabili a un tipo di dati come (float) o (double) e aumentare ogni valore di pixel a un esponente, come, ad esempio, la quadratura di ciascun valore di pixel.
Fondamento logico:
Perché stiamo facendo questo?
La risposta è che la maggior parte delle fotocamere comprime la propria gamma dinamica. Il motivo per cui lo fanno è che la maggior parte dei display multimediali espande la gamma dinamica. Questo è del tutto casuale: la quantità di luce emessa da un televisore a tubo catodico è approssimativamente uguale alla tensione elevata all'esponente di 2,22 per cui quando la tensione video in ingresso è circa a metà, la quantità di luce emessa è molto meno della metà.
I media fotografici sono anche espansivi nella gamma dinamica. Ad esempio, una carta fotografica grigia "neutra" emette il 18% della luce incidente (non il 50% della luce incidente). Questa quantità di luce (18%) è considerata nel mezzo della risposta. Quindi, come puoi vedere, se osserviamo un grafico dell'output in funzione dell'input, i display media si comportano come se fossero display lineari ideali che contengono un espansore di gamma dinamica prima della risposta lineare ideale.
Nella figura in alto, sopra, puoi vedere il display racchiuso da una linea tratteggiata, ed è equivalente ad avere un espansore prima del display lineare ideale.
Poiché i display sono intrinsecamente espansivi, le telecamere devono essere progettate per essere compressive in modo che le immagini abbiano un bell'aspetto sui display esistenti.
Ai vecchi tempi, quando c'erano migliaia di schermi di ricevitori televisivi e solo una o due stazioni di trasmissione (ad esempio solo una o due telecamere), era una soluzione più semplice inserire una non linearità di compressione nella telecamera piuttosto che richiamare tutti i televisori e metterne uno in ogni ricevitore televisivo.
Per caso, questo ha anche aiutato con la riduzione del rumore. Nell'audio lo chiamiamo "Dolby" ("companding") e concediamo un brevetto per questo. In video è successo totalmente per caso. Stockham propose di prendere il logaritmo delle immagini prima di elaborarle, e poi l'antilog. Quello che non si è reso conto è che la maggior parte delle fotocamere e dei display lo fa già per caso. Invece, quello che ho proposto è di fare l'esatto contrario di quello che ha proposto Stockham. (Vedi "Elaborazione intelligente delle immagini", John Wiley and Sons Interscience Series, pagine 109-111.)
Nell'immagine in basso, vedete la proposta di elaborazione dell'immagine anti-omomorfa (quantitativa), dove abbiamo aggiunto lo step di espansione e compressione della gamma dinamica.
Passaggio 2: elaborare le immagini o eseguire la visione artificiale, l'apprendimento automatico o simili
Il secondo passo, dopo l'espansione della gamma dinamica, è elaborare le immagini.
Nel mio caso, ho semplicemente eseguito una deconvoluzione dell'immagine, con la funzione di sfocatura, ovvero di sfocatura dell'immagine, come è comunemente noto nell'arte.
Esistono due grandi categorie di rilevamento dell'immagine quantimetrico:
- Aiutare le persone a vedere;
- Aiutare le macchine a vedere.
Se stiamo cercando di aiutare le persone a vedere (che è l'esempio che sto mostrando qui), non abbiamo ancora finito: dobbiamo riportare il risultato elaborato in imagespace.
Se stiamo aiutando le macchine a vedere (ad esempio il riconoscimento facciale), ora abbiamo finito (non è necessario andare al passaggio 3).
Passaggio 3: ricomprimere la gamma dinamica del risultato
Quando lavoriamo in una gamma dinamica estesa, si dice che siamo in "spazio luce" (spazio immagine quantimetrico).
Alla fine del passaggio 2, siamo in lightspace e dobbiamo tornare a imagespace.
Quindi questo passaggio 3 riguarda il ritorno a imagespace.
Per eseguire il passaggio 3, è sufficiente comprimere la gamma dinamica dell'output del passaggio 2.
Se conosci la funzione di risposta della fotocamera, applicala semplicemente per ottenere il risultato, f(p(q)).
Se non conosci la funzione di risposta della fotocamera, applica semplicemente una buona ipotesi.
Se hai squadrato i pixel dell'immagine nel passaggio 1, ora è il momento di prendere la radice quadrata di ciascun pixel dell'immagine per tornare alla tua ipotesi sullo spazio immagine.
Passaggio 4: potresti provare alcune altre varianti
Il deblur è solo uno dei tanti possibili esempi. Si consideri, ad esempio, la combinazione di più esposizioni.
Scatta due foto qualsiasi come le due che ho sopra. Uno è stato preso durante il giorno e l'altro di notte.
Combinali per creare un'immagine simile al crepuscolo.
Se li fai solo la media insieme sembra spazzatura. Provalo tu stesso!
Ma se prima espandi la gamma dinamica di ogni immagine, quindi le aggiungi e quindi comprimi la gamma dinamica della somma, sembra fantastico.
Confronta l'elaborazione delle immagini (aggiunta di immagini) con l'elaborazione quantimetrica delle immagini (espansione, aggiunta e quindi compressione).
Puoi scaricare il mio codice e altro materiale di esempio da qui:
Passaggio 5: andare oltre: ora provalo con i compositi di immagini HDR
(Immagine sopra: il casco per saldatura HDR utilizza l'elaborazione quantimetrica delle immagini per le sovrapposizioni di realtà aumentata. Vedi Slashgear 2012 settembre 12.)
In sintesi:
acquisire un'immagine e applicare i seguenti passaggi:
- espandere la gamma dinamica dell'immagine;
- elaborare l'immagine;
- comprimere la gamma dinamica del risultato.
E se vuoi un risultato ancora migliore, prova quanto segue:
catturare una pluralità di immagini diversamente esposte;
- espandere la gamma dinamica in lightspace, come nel mio precedente Instructable su HDR;
- elaborare l'immagine quantimetrica risultante, q, in lightspace;
- comprimere la gamma dinamica attraverso il tonemapping.
Divertiti e per favore fai clic su "Ce l'ho fatta" e pubblica i tuoi risultati, e sarò felice di commentare o fornire un aiuto costruttivo.
Consigliato:
Sistema di riconoscimento ed estinzione incendi basato sull'elaborazione delle immagini: 3 passaggi
Sistema di riconoscimento ed estinzione incendi basato sull'elaborazione delle immagini: Ciao amici, questo è un sistema di rilevamento ed estinzione incendi basato sull'elaborazione delle immagini che utilizza Arduino
Elaborazione delle immagini con Raspberry Pi: installazione di OpenCV e separazione del colore dell'immagine: 4 passaggi
Elaborazione delle immagini con il Raspberry Pi: installazione di OpenCV e separazione dei colori dell'immagine: questo post è il primo di numerosi tutorial sull'elaborazione delle immagini che seguiranno. Diamo un'occhiata più da vicino ai pixel che compongono un'immagine, impariamo come installare OpenCV sul Raspberry Pi e scriviamo anche script di test per catturare un'immagine e anche c
Gesture Hawk: Robot controllato con gesti della mano che utilizza un'interfaccia basata sull'elaborazione delle immagini: 13 passaggi (con immagini)
Gesture Hawk: Robot controllato con gesti della mano che utilizza un'interfaccia basata sull'elaborazione delle immagini: Gesture Hawk è stato presentato in TechEvince 4.0 come una semplice interfaccia uomo-macchina basata sull'elaborazione delle immagini. La sua utilità sta nel fatto che non sono necessari sensori aggiuntivi o indossabili tranne un guanto per controllare l'auto robotica che funziona su diversi
Pulsantiera LED Arduino che guida l'elaborazione delle animazioni: 36 passaggi (con immagini)
Pulsantiera LED Arduino che guida l'elaborazione delle animazioni: cosaQuesta pulsantiera è realizzata utilizzando un PCB e altri componenti prodotti da Sparkfun. È pilotato da un Arduino Mega. Ogni pulsante è bello, morbido e soddisfacente da premere, e ha un LED RGB all'interno! L'ho usato per controllare le animazioni che
Un'introduzione all'elaborazione delle immagini: Pixy e le sue alternative: 6 passaggi
Un'introduzione all'elaborazione delle immagini: Pixy e le sue alternative: in questo articolo spiegheremo il significato di Digital Image Processing (DIP) e le ragioni per utilizzare hardware come Pixy e altri strumenti per eseguire un processo su immagini o video. Alla fine di questo articolo, imparerai: Come si forma un'immagine digitale