[Jderobot-dev] formato de ficheros con calibración de cámara

redouane kachach redo.robot en gmail.com
Dom Jun 17 11:22:26 CEST 2012


Hola lista,

Usar XML para expresar el fichero de configuración me parece muy
interesante. De esta manera usamos un formato estándar y mejoramos
la interoperabilidad. Sobre el propio formato del fichero creo que contiene
toda la información. Lo que no acabo de entender es porque tenemos la
información "duplicada", quiero decir tanto los intrínsecos como los
extrínsecos están expresados de dos formas:

   1. pos/foa/roll + intersicos de la cámara
   2. Matrices K, RT

Cual de estas entradas usara progeo!? (entiendo que normalmente esta
información sera la misma y dará igual si usamos #1 o #2). No sé que os
parece, pero creo que estaría bien añadir algun elemento para identificar
que elemento se esta expresando en cada caso por ejemplo en el caso de
extrinsicos:

<extrinsics>
                 <position>
                       <x>10.2</x>
                       <y>10.3</y>
                       <z>10.2</z>
                   </position>
...
</extrinsics>

<intrinsics>
<fdistx>20</fdistx>
     <fdisty>10</fdisty>
                   <u0>1</u0>
                   <v0>2</v0>
                   <skew>5</skew>
                   <rows>4</rows>
                   <columns>25</columns>
</intrinsics>

Si la información esta duplicada estaría bien soportar ficheros de
configuración XML que sólo indican un tipo de parametros: matrices KRT o
pos+foa+roll + intrinsicos .. quizas esto viene bien cuando alguien ya
tiene sus parámetros de configuración (que los ha obtenido sin pasar por el
calibrador) y quiere generar un XML para usarlo como entrada a progeo pero
no sabe como generar las matrices KRT. Es una sugerencia .. no śe que os
parece ..

Para terminar, estaría bien (no sé si en este proyecto o otro) añadir una
opción para calibrar una cámara de forma semi-automatica teniendo como
entrada los parámetros:


   1. Altura de la cámara
   2. un rectángulo sobre un plano


Con la información de arriba, hay técnicas para extraer tanto los
intrínsecos como los extrínsecos.  Esto viene muy bien muchas aplicaciones
cuando tenemos una cámara enfocando un plano (por ejemplo un pasillo, un
campo de fútbol, una carretera) donde somos capaces de extraer dos
direcciones perpendiculares. Aquí va un ejemplo de esta técnica
implementada en el trafficMonitor:

http://www.youtube.com/watch?v=_JoWBaWCNTk

En este caso al no saber la altura de la cámara, nos ayudamos del conocido
tamaño de la caja de un camión para ajustar la calibración. El resultado
final no es muy preciso, pero nos vale como herramienta para obtener
los parámetros de calibración de una cámara en un vídeo que ha sido
capturado por terceros o bajado de youtube.

Saludos,
Redo.


2012/6/15 JoseMaria <jmplaza en gsyc.es>

> Recoloco aquí un mensaje de Agustín, que está trabajando en su Proyecto
> Fin de Carrera en una nueva versión del componente 'calibrator'. Esta
> nueva versión integra el calibrador automático que hizo Redo hace unos
> años, el componente 'extrinsics' para una calibración manual de cámaras
> y mejora la usabilidad de lo existente.
>
> Un aporte del proyecto es la redefinición del formato del fichero en el
> que se expresa la calibración de una cámara, que ahora sigue XML. Otro
> aporte es la mejora de la biblioteca progeo con funciones que leen y
> escriben automáticamente en/de esos ficheros. Estas funciones permitirán
> expresar de modo estandar la calibración de una cámara y conectar más
> fácilmente la calibración de una cámara generada con el componente
> 'calibrator' con las aplicaciones que relacionan las imágenes con
> información tridimesional (monoslam, eldercare, visualmemory...).
>
> Comentarios?
>
> JoseMaria
> ---------------------------------
> Buenos días,
>
> se propone como formato de archivo para la cámara de calibración el xml
> expuesto a continuación.
>
> El formato es usado para exportar e importar los parámetros de
> calibración de TPinHoleCamera. Ya se ha actualizado la librería progeo
> con una versión en desarrollo que implementa las funciones xmlReader y
> xmlWriter. La implementación se ha realizado mediante la librería
> libxml2.
>
> Quedo atento a vuestros comentarios.
>
> Un saludo y muchas gracias,
> Agustín
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>                <calibration_camera>
>                    <name>Camera 1</name>
>                    <version></version>
>                    <date>20120512</date>
>
>                    <position>
>                        <x>10.2</x>
>                        <y>10.3</y>
>                        <z>10.2</z>
>                    </position>
>
>                    <foa>
>                        <x>10</x>
>                        <y>20.9</y>
>                        <z>10</z>
>                    </foa>
>                    <roll>10</roll>
>                    <fdistx>20</fdistx>
>                    <fdisty>10</fdisty>
>                    <u0>1</u0>
>                    <v0>2</v0>
>                    <skew>5</skew>
>                    <rows>4</rows>
>                    <columns>25</columns>
>
>                    <k_matrix>
>                        <k11>6</k11>
>                        <k12>6</k12>
>                        <k13>12</k13>
>                        <k14>32.6</k14>
>                     <k21>9</k21>
>                        <k22>12</k22>
>                        <k23>26.2</k23>
>                        <k24>12</k24>
>                        <k31>68</k31>
>                        <k32>21</k32>
>                        <k33>81.00</k33>
>                        <k34>864.0</k34>
>                    </k_matrix>
>
>                    <rt_matrix>
>                        <rt11>123.5</rt11>
>                        <rt12>126.0</rt12>
>                        <rt13>123.8</rt13>
>                        <rt14>84</rt14>
>                        <rt21>45.5</rt21>
>                        <rt22>68.0</rt22>
>                        <rt23>864.0</rt23>
>                        <rt24>84.5</rt24>
>                        <rt31>84.5</rt31>
>                        <rt32>94</rt32>
>                        <rt33>13</rt33>
>                        <rt34>27</rt34>
>                        <rt41>231.00</rt41>
>                        <rt42>1.10</rt42>
>                        <rt43>0</rt43>
>                        <rt44>1</rt44>
>                    </rt_matrix>
>                </calibration_camera>
>
> --
> http://gsyc.es/jmplaza
> Universidad Rey Juan Carlos
>
>
> _______________________________________________
> Jde-developers mailing list
> Jde-developers en gsyc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20120617/169c0428/attachment.htm 


More information about the Jde-developers mailing list