Digi3D



Orientación de Modelos de Fotogrametría Terrestre



Vamos a explicar aquí el proceso de orientación de un modelo de terrestre, habiendo hecho la calibración de la cámara con el programa Calibra de Aerotri.


En primer lugar será necesario generar las orientaciones internas. En caso de tratarse de una cámara digital las orientaciones internas se generarán automáticamente dado que especificaremos el tamaño del pixel (TamanoPixel) en el archivo de cámara.


Nota: Digi3D no realizará el refinamiento de fotocoordenadas por distorsiones en el proceso de orientación interna, lo realiza en la orientación externa.


En el archivo de cámara sólo se indicará la focal y el punto principal que da de salida en programa Calibra de Aerotri. Como fichero de salida, Calibra también genera un archivo de extensión .int. El fichero .int de interna contiene todos los parámetros calculados de distorsión:


\begin Orientacion interna media


f      6000

xp    1337

yp    -1066


\end


\begin Coordenadas medidas --> fotocoordenadas


Tx    136.4

Ty    -163.1

a    0.999847

b    0.000416

c    0.000416

d    1.000153


\end


\begin Funcion de distorsion


semidiag    1500


\begin Radial simetrica

modelo    Completo compensado

a2    -1.67163

a3    -0.0793779

\end


\begin Radial asimetrica

modelo    Completo compensado

b3    1.30873

b4    -1.01843

\end


\begin Tangencial

modelo    Completo compensado

c2    3.19737

d1    2.46237

d2    -3.40982

c3    1.7795

d3    -2.1809

d4    -3.30759

\end


\end Funcion de distorsion



Este fichero hay que copiarlo en el directorio de trabajo y renombrarlo para que su nombre coincida con el archivo de cámara pero con extensión .int (Ej. "nombreficherocamara.int").


De esta manera cuando Digi3D carga la cámara, detecta que existe un archivo de correcciones con el mismo nombre. Así pues, al cargar el par Digi3D debe dar un aviso indicando que se ha encontrado el archivo .int, y que se van a realizar las correcciones tomando en cuenta los parámetros de dicho archivo.



Si no recibimos este aviso, quiere decir que no se están aplicando las correcciones.


Es importante tener en cuenta que Digi3D no realiza correcciones sobre la imagen, lo que hace es realizar correcciones de posición sobre las orientaciones de las imágenes, para que los índices intersecten correctamente. Es decir, si las imágenes tienen aberraciones geométricas (esto es habitual en cámaras no métricas), conseguiremos coordenadas correctas de los puntos registrados, y seremos capaces de realizar orientaciones de forma precisa.


Una vez cargado el par para que se generen automáticamente los ficheros de orientación interna, saldremos y procederemos a cargar cada una de las imágenes de forma monoscópica (Sensor monoscópico).


Al cargar la imagen de forma monoscópica podremos ajustar la imagen mediante la orientación externa, dando al botón que nos aparece en la parte superior izquierda de la ventana de imágenes.



Entonces aparecerá el cuadro de diálogo para seleccionar el archivo de puntos y proceder a digitalizar los puntos de la imagen.



Al generar cada una de las imágenes se generará un archivo de orientación externa con extensión .orientation.xml. A partir de estos archivos habrá que construir manualmente los archivos de orientación relativa y absoluta.


Para generar el fichero de orientación absoluta se tomará el siguiente contenido (el usuario puede copiar y pegarlo en el bloc de notas):


ORIENTACIÓN ABSOLUTA

      0.000       0.000       0.000

1.000000000000000

   1.000000000000000    0.000000000000000    0.000000000000000  Omega:    0.0000

   0.000000000000000    1.000000000000000    0.000000000000000    Phi:    0.0000

   0.000000000000000    0.000000000000000    1.000000000000000  Kappa:    0.0000


POINT   -XT-       -YT-     -ZT-     -xi-     -yi-     -zi-    -Ex-   -Ey-   -Ez-

Nombre del modelo: C:\Nueva carpeta\349-350.abs2

Fecha: 24/4/2008 11:16


Para generar el de relativa tendremos que ir al fichero orientation.xml de la imágen izquierda,por ejemplo:

<?xml version="1.0" encoding="ISO-8859-1"?>

<photoParameters>

       <cam xmlns='http://schemas.digi21.net/Digi3D/ConicSensor/CameraCertificate/v1.0' name='EOS5D_imagen_mm' type='0' focal='24.922850' xpp='0.267000' ypp='-0.307200' pixelSizeX='0.008000' pixelSizeY='0.008000'>

       </cam>

       <coordinateSystem type='0' description='Rectangular' />

               <innerOrientation rotation='0' xmlns='http://schemas.digi21.net/Digi3D/ConicSensor/AffineInnerOrientation/v1.0'>

                       <pixel2fiductial>

                               <m row='0' col='0'>0.00800000000000000190</m>

                               <m row='0' col='1'>0.00000000000000000000</m>

                               <m row='0' col='2'>0.00000000000000000000</m>

                               <m row='0' col='3'>-11.64800000000000300000</m>


                               <m row='1' col='0'>0.00000000000000000000</m>

                               <m row='1' col='1'>-0.00800000000000000190</m>

                               <m row='1' col='2'>0.00000000000000000000</m>

                               <m row='1' col='3'>17.47200000000000500000</m>


                               <m row='2' col='0'>0.00000000000000000000</m>

                               <m row='2' col='1'>0.00000000000000000000</m>

                               <m row='2' col='2'>1.00000000000000000000</m>

                               <m row='2' col='3'>0.00000000000000000000</m>


                               <m row='3' col='0'>0.00000000000000000000</m>

                               <m row='3' col='1'>0.00000000000000000000</m>

                               <m row='3' col='2'>0.00000000000000000000</m>

                               <m row='3' col='3'>1.00000000000000000000</m>


                       </pixel2fiductial>

               </innerOrientation>

               <outerOrientation xmlns='http://schemas.digi21.net/Digi3D/ConicSensor/OuterOrientation/v1.0' xcp='129.490497' ycp='90.117981' zcp='102.431621' xGround='131.056000' yGround='90.785000' zGround='98.528000'>

                       <ground2photo>

                               <m row='0' col='0'>0.00352925510642099680</m>

                               <m row='0' col='1'>-0.99962539210131141000</m>

                               <m row='0' col='2'>0.02714074104907736700</m>


                               <m row='1' col='0'>0.99996068473307298000</m>

                               <m row='1' col='1'>0.00330705371910045440</m>

                               <m row='1' col='2'>-0.00822753814108304410</m>


                               <m row='2' col='0'>0.00813470015168313820</m>

                               <m row='2' col='1'>0.02716871108459611300</m>

                               <m row='2' col='2'>0.99959776299841918000</m>


                       </ground2photo>

               </outerOrientation>

</photoParameters>



De aquí tomamos los datos que aparecen marcados para pegarlos en el siguiente archivo tipo de orientación relativa, los diferentes colores indicarán al usuario dónde poner cada parámetro:


Fichero de orientación relativa resultante de este ejemplo:

RESULTADOS DE LA ORIENTACIÓN RELATIVA

    24.923     24.923

     0.267       -0.3072              0.000       0.000


129.490497 90.117981    102.431621

  0.00352925510642099680   -0.99962539210131141000    0.02714074104907736700

  0.99996068473307298000   0.00330705371910045440    -0.00822753814108304410

  0.00813470015168313820    0.02716871108459611300    0.99959776299841918000


129.497049 89.317658    102.427778

  0.00432232414506766600   -0.99975932487396368000    0.02150836677996080900

  0.99958173363497838000   0.00370451340442480960    -0.02868160322798300700

  0.02859502224646754200   0.02162334173972176700   0.99935717128298585000


131.056000 90.785000     98.528000


N       -xFizq-     -yFizq-       -xFder-     -yFder-        -xMod-      -yMod-      -zMod-

1         0.000       0.000         0.000       0.000    542092.780 4733900.860     150.000



N       -vXizq-     -vVizq-       -vXder-     -vYder--    -py- (micras)

1         0.0         0.0           0.0         0.0       0.0


Puntos medidos: 1

Puntos rechazados: 0

Desviación típica: 0.0 micras

Número de iteraciones: 0


Giros de la cámara izquierda:

Omega:   0.0 gon  Phi:    0.0 gon Kappa: 0.0 gon


Giros de la cámara derecha:

Omega:    0.0 gon  Phi:    0.0 gon Kappa: 0.0 gon


Nombre del modelo: 349

Fecha: 24/4/2008 11:16



Para obtener los datos de la siguiente matriz que aparece en el fichero de absoluta hay que recurrir al archivo .orientation.xml correspondiente a la imagen derecha del par:


Ejemplo de fichero oriention.xml de partida correspondiente a la imagen derecha del par:

<?xml version="1.0" encoding="ISO-8859-1"?>

<photoParameters>

       <cam xmlns='http://schemas.digi21.net/Digi3D/ConicSensor/CameraCertificate/v1.0' name='EOS5D_imagen_mm' type='0' focal='24.922850' xpp='0.267000' ypp='-0.307200' pixelSizeX='0.008000' pixelSizeY='0.008000'>

       </cam>

       <coordinateSystem type='0' description='Rectangular' />

               <innerOrientation rotation='0' xmlns='http://schemas.digi21.net/Digi3D/ConicSensor/AffineInnerOrientation/v1.0'>

                       <pixel2fiductial>

                               <m row='0' col='0'>0.00800000000000000190</m>

                               <m row='0' col='1'>0.00000000000000000000</m>

                               <m row='0' col='2'>0.00000000000000000000</m>

                               <m row='0' col='3'>-11.64800000000000300000</m>


                               <m row='1' col='0'>0.00000000000000000000</m>

                               <m row='1' col='1'>-0.00800000000000000190</m>

                               <m row='1' col='2'>0.00000000000000000000</m>

                               <m row='1' col='3'>17.47200000000000500000</m>


                               <m row='2' col='0'>0.00000000000000000000</m>

                               <m row='2' col='1'>0.00000000000000000000</m>

                               <m row='2' col='2'>1.00000000000000000000</m>

                               <m row='2' col='3'>0.00000000000000000000</m>


                               <m row='3' col='0'>0.00000000000000000000</m>

                               <m row='3' col='1'>0.00000000000000000000</m>

                               <m row='3' col='2'>0.00000000000000000000</m>

                               <m row='3' col='3'>1.00000000000000000000</m>


                       </pixel2fiductial>

               </innerOrientation>

               <outerOrientation xmlns='http://schemas.digi21.net/Digi3D/ConicSensor/OuterOrientation/v1.0' xcp='129.497049' ycp='89.317658' zcp='102.427778' xGround='131.056000' yGround='90.785000' zGround='98.528000'>

                       <ground2photo>

                               <m row='0' col='0'>0.00432232414506766600</m>

                               <m row='0' col='1'>-0.99975932487396368000</m>

                               <m row='0' col='2'>0.02150836677996080900</m>


                               <m row='1' col='0'>0.99958173363497838000</m>

                               <m row='1' col='1'>0.00370451340442480960</m>

                               <m row='1' col='2'>-0.02868160322798300700</m>


                               <m row='2' col='0'>0.02859502224646754200</m>

                               <m row='2' col='1'>0.02162334173972176700</m>

                               <m row='2' col='2'>0.99935717128298585000</m>


                       </ground2photo>

               </outerOrientation>

</photoParameters>



Una vez generados ambos archivos .rel y .abs2, el usuario podrá abrir el par estereoscópico que aparecerá orientado correctamente y marcando los botones correspondientes a estar orientaciones.



Fecha última modificación: 1 de Diciembre, 2009