Mve: sistema de coordenadas de la escena

Creado en 27 oct. 2017  ·  12Comentarios  ·  Fuente: simonfuhrmann/mve

Hola
¿Hay una manera fácil de construir en MVE para transformar la nube de puntos de scene2pset en el sistema de coordenadas de la escena?
Estoy desarrollando un algoritmo de reconstrucción de mapas de profundidad y envío estos mapas a MVE para crear una nube de puntos. Usé un conjunto de datos de dino para probar que la reconstrucción está bien, pero no está en las coordenadas de la escena. Si uso el argumento del cuadro delimitador con scene2pset, obtengo un archivo de capas vacío. de lo contrario, obtengo mis puntos, lo que significa que mi nube no está en las coordenadas de la escena. ¿Cómo soluciono esto?

nota: incluso si usé dmrecon sucede lo mismo

gracias

Comentario más útil

La reconstrucción SfM tiene una ambigüedad de 7 dimensiones, es decir, posición, orientación y escala con respecto al objeto original del mundo real. Esta ambigüedad se resuelve en los primeros pasos de SfM tomando algunas decisiones arbitrarias.

Entonces, la reconstrucción no está "muy lejos", solo es diferente con respecto a esta ambigüedad.

Todos 12 comentarios

La aplicación scene2pset exporta la nube de puntos en el sistema de coordenadas de la escena. No se aplican transformaciones. Puede verificar cargando la nube de puntos y la escena en UMVE en la pestaña "Inspección de escena".

No, no lo creo. No tengo UMVE incorporado en este momento, lo revisaré más tarde. pero esta es la salida scene2pset.
screenshot from 2017-10-27 21 29 44

esto significa que todos los puntos no están en BB, por lo que no están en coordenadas de escena

Su cuadro delimitador, o cómo especifica el cuadro delimitador, debe ser incorrecto. scene2pset salidas en el sistema de coordenadas de la escena, eso es un hecho. UMVE también tiene un creador de cuadros delimitadores que puede ayudarlo a encontrar los parámetros correctos.

El cuadro delimitador no es mío. en realidad es de vision.Middelburry, y la razón por la que menciono esto es que envié mi resultado para su evaluación a Middlebury y dijeron que mis puntos no están en la coordenada correcta y me pidieron que ejecutara una verificación de cordura usando su cuadro delimitador y el la imagen de arriba es el resultado.
También de acuerdo con su respuesta para el problema 358: "Todos los resultados están en el sistema de coordenadas dictado por SfM. Si desea un sistema de coordenadas de escena específico, debe transformarlo usted mismo". los puntos no están en el sistema de coordenadas de la escena

¿Está ejecutando SfM en los conjuntos de datos de Middleburry? Básicamente, esto creará un sistema de coordenadas de escena arbitrario que no tiene nada que ver con el que espera Middleburry. Si quieres hacer esto correctamente, esto es lo que tienes que hacer:

1) Use los elementos intrínsecos y extrínsecos de la cámara como se especifica en el conjunto de datos de Middleburry y utilícelos para las vistas, es decir, inserte los parámetros en los archivos meta.ini .
2) Cree características de SfM sin ejecutar realmente SfM. Esa es la parte complicada, porque desea detectar, combinar, triangular características y luego ejecutar una optimización que no cambie los parámetros de la cámara. No creo que tengamos código para este escenario exacto en este momento.
3) Ejecute su código en la escena resultante, que está en el sistema de coordenadas de Middleburry.

oh ok, es raro y no veo la lógica detrás de esto XD. Haré lo que dijiste, pero el paso 2 va a ser difícil -__-

última pregunta y me iré a dormir x'): si ejecuto sfmrecon con este 2 arg = true

  1. args.add_option('0', "intrínsecos fijos", falso, "No optimizar los intrínsecos de la cámara");

    1. args.add_option('0', "intrínsecos compartidos", false, "Compartir intrínsecos entre todas las cámaras");

¿Funcionará?

No. Porque también tendrás que arreglar los extrínsecos. Y arreglar los elementos extrínsecos no está respaldado por la naturaleza del enfoque SfM incremental.

¿Qué tienen de raro estos pasos? El paso 1 debería explicarse por sí mismo, debe usar los parámetros proporcionados por Middleburry, ya que estos parámetros de cámara "reales" son mejores que los que puede producir cualquier SfM. Se requiere el paso 2 porque nuestro MVS requiere puntos SfM para funcionar. Si tiene un algoritmo MVS que no requiere puntos SfM, probablemente pueda omitir este paso.

Gracias por todas las respuestas que proporcionaste. es realmente útil
No son los pasos los que son raros. pero ¿por qué los parámetros de sfm están muy lejos de la verdad básica? y no, no puedo omitir el segundo paso final ya que mi trabajo se basa en su trabajo, especialmente _dmrecon_, también uso características como semilla para estimar la profundidad y las normales. Es por eso que publico muchos problemas y hago tantas preguntas ^__^

La reconstrucción SfM tiene una ambigüedad de 7 dimensiones, es decir, posición, orientación y escala con respecto al objeto original del mundo real. Esta ambigüedad se resuelve en los primeros pasos de SfM tomando algunas decisiones arbitrarias.

Entonces, la reconstrucción no está "muy lejos", solo es diferente con respecto a esta ambigüedad.

Agregué una herramienta simple que hace lo que quieres. Por favor, lea esta página.
https://github.com/simonfuhrmann/mve/wiki/Middlebury-Datasets

Muchas gracias ,

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

daleydeng picture daleydeng  ·  8Comentarios

GustavoCamargoRL picture GustavoCamargoRL  ·  13Comentarios

Jus80687 picture Jus80687  ·  11Comentarios

HelliceSaouli picture HelliceSaouli  ·  14Comentarios

MaxDidIt picture MaxDidIt  ·  30Comentarios