- Messaggi: 850
- Ringraziamenti ricevuti 118
Analisi anomalie foto Apollo con strumenti matematici
Intendevo usando le coordinate nel riferimento 3D e le corrispondenti nel riferimento 2D dell'immagine, solo con i vettori spostamento non si riesce a concludere granchè...Se uno ha le coordinate 3D può proiettare invece che su un piano su uno schermo curvo, partendo dalle coordinate dei punti sull'immagine si può provare a ricavare la superficie che produce la corrispondente distorsione. Però io non posso fare questo lavoro se non ho a disposizione le coordinate di almeno 5-6 punti (l'ideale sarebbe averne 9 per poter prendere in considerazione tutte le superfici quadriche).doktorenko ha scritto: Nel messaggio 8618 avevo allegato l`immagine con il vettore dello spostamento dei riferimenti rispetto al modello, e con i valori che indicano il rapporto tra lo scostamento assoluto e la distanza orizzontale dal centro (ero in cerca di una qualche regolarita`).
FranZη
Si prega Accesso a partecipare alla conversazione.
- doktorenko
- Autore della discussione
- Offline
- Utente
- Messaggi: 169
- Ringraziamenti ricevuti 8
(ho scalato l`immagine e cercato di far combaciare la forma del rilievo principale):
Direi che in generale l`aspetto e` simile; la differenza che si nota potrebbe essere dovuta alla diversa lunghezza focale.
Invece nella mia ricostruzione il cambiamento e molto piu` drastico:
Escludendo un errore nei dati altimetrici (ma si dovrebbe notare anche nei dettagli) e nelle impostazioni del programma (che sono le stesse usate per le collimazioni quasi perfette di A17), rimane solo un errore nel posizionamento della camera; ma la discrepanza mi sembra comunque esagerata.
Si prega Accesso a partecipare alla conversazione.
- doktorenko
- Autore della discussione
- Offline
- Utente
- Messaggi: 169
- Ringraziamenti ricevuti 8
kamiokande ha scritto: @ Franzeta
Ho rifatto l'analisi sulla panoramica proiettata in Google Moon ed il risultato è curioso, anche se dubito sia attendibile proprio per via del metodo di proiezione usato da Google Moon. Proverò anche con la panoramica originale.
Questa mi sembra sempre la stessa immagine pero` (basta guardare la posizione delle crocette).
Ho provato invece con il mio sistema:
Si prega Accesso a partecipare alla conversazione.
- doktorenko
- Autore della discussione
- Offline
- Utente
- Messaggi: 169
- Ringraziamenti ricevuti 8
Si prega Accesso a partecipare alla conversazione.
- doktorenko
- Autore della discussione
- Offline
- Utente
- Messaggi: 169
- Ringraziamenti ricevuti 8
Ho cercato quindi applicare il mio metodo alle due foto in questione (AS15-82-11178/9):
Sarebbe di grande aiuto sapere il procedimento esatto usato da O., cosi` da poter replicare i suoi risultati: con il mio non noto nessuna anomalia grave.
Dopo la trasformazione, ho collimato a mano l`omografia girandola di 3.4 gradi in senso antiorario e spostandola di circa 30 pixel a dx.
Si prega Accesso a partecipare alla conversazione.
- doktorenko
- Autore della discussione
- Offline
- Utente
- Messaggi: 169
- Ringraziamenti ricevuti 8
Si prega Accesso a partecipare alla conversazione.
- doktorenko
- Autore della discussione
- Offline
- Utente
- Messaggi: 169
- Ringraziamenti ricevuti 8
Pero` mi risultano anomalie gravi nelle dimensioni delle montagne, se riprese con una lunghezza focale di 61 mm:
Calcolata sulla A15-11850, mi torna una lunghezza focale di 68 mm; la 11849, con la stesse impostazioni, rimarrebbe comunque abbastanza deformata rispetto alla ricostruzione basata sui dati altimetrici (mi risulta piu` compatibile con una F di 65mm, ma secondo il risultato della mia omografia i due scatti hanno la stessa lunghezza focale).
E` da notare che questi scatti sono "espansi", mentre quelli precedenti erano "compressi". Sarebbe importante capire se gli astronauti avevano a disposizione macchine con lunghezze focali differenti.
Per una verifica piu` accurata, mi sono scritto una procedura per calcolare la posizione della camera.
I passi sono i seguenti (Cx,Cy,Cz = coordinate atterraggio, R raggio di spostamento astronauti):
1) individuare i punti di riferimento nel modello 3D P_i(x,y,z)
2) individuare gli stessi riferimenti sulla foto Nasa P'_i(u,v)
3) calcolare la proiezione dei punti P"_i di P_i per tutte le combinazioni di 8**3 valori ax,ay,az angolazione camera e 8**3 di posizione Cx,Cy,Cz, con un passo k*2pi/8 per gli angoli e k*R/8 per la posizione: a+k*2pi/8, c+k*R/8
4) sommare le differenze assolute S_j = abs(P_ij"-P_ij') [ con j l`indice delle 8**6 combinazioni di posizione e angolazione]
5) prendere la posizione C e angolazione alpha dove S e` minore come nuovo riferimento
6) ripetere i punti da 3 a 5 dimezzando il valore di k ogni volta e fermarsi quando la soluzione converge ad un punto.
Pur usando questo sistema (milioni di equazioni convergenti, come dice O.) non sono ancora riuscito -per le foto di Apollo 15- a trovare una posizione della camera compatibile con la mia ricostruzione 3d.
Si prega Accesso a partecipare alla conversazione.
- doktorenko
- Autore della discussione
- Offline
- Utente
- Messaggi: 169
- Ringraziamenti ricevuti 8
Se fosse una questione di lunghezza focale differente i rilievi non coinciderebbero mai; invece nel primo quarto (da dx) sono sovrapponibili, e fino a meta` c`e` una lieve differenza; differenza che esplode nella seconda meta`.
Sarebbe molto utile alla discussione poter avere una conferma indipendente dei miei risultati; i dati della sonda Kaguya sono disponibili a questo indirizzo:
l2db.selene.darts.isas.jaxa.jp/index.html.en
Questo dovrebbe essere il collegamento diretto all`archivio copresso (e` un tar.gz ridenominato sl2):
DTMTCOs01_03020N260E0039SC.sl2 (79 MB, 0b2517ac1373902a3db4599047132441 md5)
Se non funziona usate queste impostazioni nel campo di ricerca:
All`interno dell`archivio, la mappa contenente i dati altimetrici e` la seguente :
Si prega Accesso a partecipare alla conversazione.
- kamiokande
- Offline
- Utente
- Messaggi: 489
- Ringraziamenti ricevuti 158
Grazie mille per gli sforzi! Ho scaricato i dati anche se non so se avrò tempo per dedicarmici, nel poco tempo che ho sto lentamente portando avanti un'altro studio sulle radiazioni.
@ Franzeta
Se tu avessi del tempo da dedicare alla cosa, in Matlab esiste un toolbox di cartografia 2/3D che permette di usare i dati altimetrici ed in combinazione con google moon si potrebbe provare a fare qualche studio in merito ...
"La stampa è morta" (Egon Spengler - Ghostbuster)
Si prega Accesso a partecipare alla conversazione.
- doktorenko
- Autore della discussione
- Offline
- Utente
- Messaggi: 169
- Ringraziamenti ricevuti 8
Si prega Accesso a partecipare alla conversazione.
L'unica cosa simile che conosco in matlab serve per fare robe di questo tipo:kamiokande ha scritto: @ Franzeta
Se tu avessi del tempo da dedicare alla cosa, in Matlab esiste un toolbox di cartografia 2/3D che permette di usare i dati altimetrici ed in combinazione con google moon si potrebbe provare a fare qualche studio in merito ...
Però ad essere sincero lascio volentieri le ricostruzioni 3D a voi, non sono il mio genere. Non credo nemmeno di avere installata l'applicazione che intendi tu (a dirla tutta ho una licenza 3-4-all, non so se mi spiego). Al limite per il discorso della forma dello schermo mi accontento di sapere dove viene mappato qualche punto qua e là.
FranZη
Si prega Accesso a partecipare alla conversazione.
- kamiokande
- Offline
- Utente
- Messaggi: 489
- Ringraziamenti ricevuti 158
Se mi riesce provo a darci un occhio anche se credo ci voglia una certa quantità di tempo da dedicargli che non penso di riuscire a trovar facilmente.
@ doktorenko
Hai provato a confrontare i tuoi risultati con le ricostruzioni 3D di Google Moon? Teoricamente sono basate anche sui dati Kaguya ed in più ci sono le posizioni nelle quali le foto sono state effettuate.
"La stampa è morta" (Egon Spengler - Ghostbuster)
Si prega Accesso a partecipare alla conversazione.
- doktorenko
- Autore della discussione
- Offline
- Utente
- Messaggi: 169
- Ringraziamenti ricevuti 8
kamiokande ha scritto:
@ doktorenko
Hai provato a confrontare i tuoi risultati con le ricostruzioni 3D di Google Moon? Teoricamente sono basate anche sui dati Kaguya ed in più ci sono le posizioni nelle quali le foto sono state effettuate.
Ho provato e i in effetti le mappe sono diverse, credo a meno di una proiezione che pero` non e` stata necessaria per la ricostruzione di Apollo 14 e 17.
Confronto dati della sonda Kaguya come li ho scaricati e G.M.:
Nella distanza tra i due crateri presi come riferimento c`e` una differenza di circa 2 km.
Confronto i dati Kaguya e la mappa topografica Nasa, si vede la diversa proiezione:
Si prega Accesso a partecipare alla conversazione.
- doktorenko
- Autore della discussione
- Offline
- Utente
- Messaggi: 169
- Ringraziamenti ricevuti 8
Si prega Accesso a partecipare alla conversazione.
- doktorenko
- Autore della discussione
- Offline
- Utente
- Messaggi: 169
- Ringraziamenti ricevuti 8
Non capisco pero` perche` questo tipo di proiezione sia adottato solo per il sito Apollo 15 (forse per una questione di latitudine?).
Una verifica "paranoica" potrebbe essere quella di verificare la rotondita` media dei crateri, per capire quale proiezione sia quella corretta.
Si prega Accesso a partecipare alla conversazione.
- kamiokande
- Offline
- Utente
- Messaggi: 489
- Ringraziamenti ricevuti 158
Interessante, ma fammi capire, se applichi x*cos(lat) sulla penultima mappa che hai mostrato non ti trovi con le coordinate?
"La stampa è morta" (Egon Spengler - Ghostbuster)
Si prega Accesso a partecipare alla conversazione.
- doktorenko
- Autore della discussione
- Offline
- Utente
- Messaggi: 169
- Ringraziamenti ricevuti 8
kamiokande ha scritto: @ doktorenko
Interessante, ma fammi capire, se applichi x*cos(lat) sulla penultima mappa che hai mostrato non ti trovi con le coordinate?
La Nasa -da quello che ho capito e per il solo sito Apollo 15- ha distribuito i dati in proiezione cilindrica:
wms.lroc.asu.edu/lroc/view_rdr_product/N...LO15_M111571816_50CM (questa mappa e` deformata, , nonostante nel l`intestazione si parli di ortofoto)
Per riportarli in proiezione ortografica devo quindi moltiplicare per coseno(lat); per le altre mappe non e` necessario perche` sono gia` in quella proiezione.
Ci sarebbe da far causa alla Nasa, solo per il tempo che mi ha fatto perdere Che senso ha distribuire delle mappe locali deformate in quel modo?
Si prega Accesso a partecipare alla conversazione.
- doktorenko
- Autore della discussione
- Offline
- Utente
- Messaggi: 169
- Ringraziamenti ricevuti 8
Nel prossimo messaggio vorrei tornare a parlare di matematica e di come si potrebbe calcolare la giusta collimazione tra la coppia di immagini stereoscopiche (quella sopra non e` stata collimata, ma e` il risultato della sola rotazione prospettica dell`immagine).
Si prega Accesso a partecipare alla conversazione.
- doktorenko
- Autore della discussione
- Offline
- Utente
- Messaggi: 169
- Ringraziamenti ricevuti 8
Per calcolare l`omografia questa procedura non funziona:
Credo a causa di un conflitto di convenzioni usate; andando per tentativi, ho risolto in questo modo:
Praticamente, andando per tentativi, ho dovuto:
1) scomporre la matrice di rotazione delle camere negli angoli di Eulero corrispondenti
2) calcolare la differenza tra questi angoli a[3]
3) scambiare gli assi z e y di a[3] e invertire il segno a y
4) calcolare la matrice di rotazione complessiva R come il risultato della moltiplicazione delle matrici degli assi ry*rz*rx
Esiste un modo piu` matematico di procedere ?
Come accennavo sopra, vorrei trattare l`argomento della collimazione delle coppie di immagini stereoscopiche prodotte mediante omografia.
Oleynik collima usando lo sfondo (nelle due immagini lo sfondo non deve cambiare posizione); questo sistema e` senz`altro corretto, ma nell`ipotesi dello sfondo non immutabile (falsificazione o parallasse), come procedere?
Io pensavo di tracciare gli spostamenti tra i punti che giacciono piu` o meno alla stessa altezza (ad esempio le impronte sul terreno vicino al fotografo) congiungendoli con delle rette: queste, dopo corretta collimazione (traslazione), dovrebbero convergere tutte nello stesso punto P.
E questo punto potrebbe essere pure utile per calcolare la direzione dello spostamento del fotografo rispetto a quella dell`orientamento della camera: una prima approssimazione -senza cioe` tener conto di tutte le angolazioni della camera- dovrebbe essere alpha = atan(P_x/F).
In seguito cerchero` di spiegare meglio questa procedura con dei modellini tridimensionali.
Si prega Accesso a partecipare alla conversazione.
Innanzitutto gli angoli di Eulero non sono quelli che usi tu, ma sono precessione, nutazione e rotazione propria definiti qui , spesso chiamati zxz o più precisamente zx'z'', dagli assi di rotazione corrispondenti. Per calcolare la rotazione totale R che trasforma il riferimento Oxyz in OXYZ si calcolano le rotazioni parziali Oxyz-->Ox'y'z'-->Ox''y''z''-->OXYZ (alla fine R risulterà comunque essere una rotazione attorno a un certo asse passante per O, è il teorema di Eulero), il fatto che per far tornare i conti devi sottrarre degli angoli mi fa pensare che non li misuri nei sistemi di riferimento intermedi, ma tutti in quello iniziale. Però non ho capito bene cosa intendi per R1 (nè perchè usi la rotazione inversa...) e nemmeno le altre notazioni sono chiare per cui non saprei bene dove sta l'errore nel procedimento, sicuramente quando si trattava di trovare la rotazione della camera nei commenti #8671 e seguenti usavi una terna di angoli corretta, visto che alla fine il risultato era identico al mio ottenuto con gli angoli di Eulero.doktorenko ha scritto:
Praticamente, andando per tentativi, ho dovuto:
1) scomporre la matrice di rotazione delle camere negli angoli di Eulero corrispondenti
2) calcolare la differenza tra questi angoli a[3]
3) scambiare gli assi z e y di a[3] e invertire il segno a y
4) calcolare la matrice di rotazione complessiva R come il risultato della moltiplicazione delle matrici degli assi ry*rz*rx
Esiste un modo piu` matematico di procedere ?
Anche in questo caso esiste già una teoria collaudata che fa uso delle coordinate omogenee, dovrebbe essere quella -suppongo- usata da Oleynik nella seconda parte del suo lavoro, quando risolve il "milione di equazioni". La teoria si basa sulla matrice essenziale che stabilisce la corrispondenza fra punti di due immagini proiezioni dello stesso punto nello spazio 3D. In teoria con cinque coppie di punti corrispondenti si può ricavare questa matrice (ma con soli cinque punti la precisione sarà quella che sarà). Qui trovi anche delle procedure pratiche per i tuoi scopi.Come accennavo sopra, vorrei trattare l`argomento della collimazione delle coppie di immagini stereoscopiche prodotte mediante omografia.
Oleynik collima usando lo sfondo (nelle due immagini lo sfondo non deve cambiare posizione); questo sistema e` senz`altro corretto, ma nell`ipotesi dello sfondo non immutabile (falsificazione o parallasse), come procedere?
Io pensavo di tracciare gli spostamenti tra i punti che giacciono piu` o meno alla stessa altezza....
Bisogna anche dire che lo sfondo delle immagini Apollo presenta una distorsione molto ridotta, per cui credo che le complicazioni derivanti dall'uso del metodo qui sopra saranno ben maggiori degli eventuali benefici...
FranZη
Si prega Accesso a partecipare alla conversazione.
- doktorenko
- Autore della discussione
- Offline
- Utente
- Messaggi: 169
- Ringraziamenti ricevuti 8
Altra cosa non chiara è perchè cerchi di stimare la rotazione tra le due foto, se hai a disposizione le due matrici camera K1, K2 relative alle due immagini Apollo, quindi con K1,K2: R^3-->P^2 che ad ogni punto della tua ricostruzione 3D associano il corrispondente punto sulle due immagini Apollo, allora l'omografia H fra l'immagine 1 e la 2 è H12=K2 K1^-1 e non c'è bisogno di stimare la rotazione.
La rotazione non la stimo, me la fornisce il programma. Io vorrei usare la tua formula, pero` prima devo capire come sono composte le matrici Kn.
Ho provato cosi`:
La matrice di trasformazione H 1->2:
Funziona, ma solo per due angoli su tre.
La mia difficolta` principale e` che di questi argomenti non ho trovato molte informazioni; devo quindi procedere per intuito e tentativi.
Si prega Accesso a partecipare alla conversazione.
Così ad occhio direi che una prima correzione sarebbe questa:doktorenko ha scritto: Ho provato cosi`:
Code:... Kn = Rn * K (R: matrice rotazione associata alla camera n)
La matrice di trasformazione H 1->2:
Code:H = K2*K1^1
Funziona, ma solo per due angoli su tre.
Idem! Ho studiato geometria proiettiva astratta, la computer grafica è un tantino più improntata all'aspetto pratico...La mia difficolta` principale e` che di questi argomenti non ho trovato molte informazioni; devo quindi procedere per intuito e tentativi.
FranZη
Si prega Accesso a partecipare alla conversazione.
- doktorenko
- Autore della discussione
- Offline
- Utente
- Messaggi: 169
- Ringraziamenti ricevuti 8
I punti individuati nelle immagini sono (li copio da geogebra, perdonate l`eccesso di precisione nei punti):
Pero` ho un dubbio: nel calcolare la correzione della matrice H come nel punto 2, devo tener conto anche della traslazione o solo della rotazione?
Si prega Accesso a partecipare alla conversazione.
Inizio dalla fine: se intendi la traslazione della camera non puoi tenerne conto tramite un'omografia perchè ti serve un'omografia nello spazio 3D. Ma questo aspetto è secondario rispetto a quanto scrivi nella prima parte. Siccome la questione tecnica è parecchio più complessa di come l'hai messa giù risponderò dopo aver studiato bene la questione, onde evitare di risponderti con sciocchezze. Nel frattempo però potresti iniziare anche tu a pensare bene a quello che vuoi effettivamente ottenere, per esempio quando dici:doktorenko ha scritto: Pero` ho un dubbio: nel calcolare la correzione della matrice H come nel punto 2, devo tener conto anche della traslazione o solo della rotazione?
Ora finchè assumevamo lo sfondo fisso potevamo cercare un'omografia tale che A=H*B a patto che con A e B si intendano le porzioni comuni di sfondo fra le due immagini, se anche lo sfondo ha parallasse non esiste nessun punto per cui valga la relazione sopra, per definizione.si stima una prima matrice omografica H: H*B=A
La condizione che le rette AnCn siano concorrenti esprime il fatto che le camere hanno la stessa orientazione (ma andrebbe dimostrato!), quindi in sostanza la procedura serve a collimare le due camere, non fornisce però un'omografia fra le due immagini, ma su questo torneremo in seguito.
FranZη
Si prega Accesso a partecipare alla conversazione.
- doktorenko
- Autore della discussione
- Offline
- Utente
- Messaggi: 169
- Ringraziamenti ricevuti 8
Adesso passo alla stima della camera nella foto AS-11-40-5866 (quella del famigerato controluce lunare); la procedura si divide in due fasi:
1) calcolo della posizione e angolazione della camera relativa al modulo lunare centrato e in bolla:
2) fatto cio`, vincolo i movimenti del modulo alla camera, e ruoto quest`ultima per collimare il paesaggio lunare con quello del modellato:
Angoli del Sole (ricavati da Stellarium):
Risultato:
Sto ricostruendo il modulo (semplificato) perche` i modelli liberamente disponibili mi sembrano poco accurati nelle misure.
Si prega Accesso a partecipare alla conversazione.