Mve: sistema de coordenadas de cena

Criado em 27 out. 2017  ·  12Comentários  ·  Fonte: simonfuhrmann/mve

Olá
Existe uma maneira fácil de construir no MVE para transformar a nuvem de pontos de scene2pset no sistema de coordenadas de cena.
Estou desenvolvendo um algoritmo de reconstrução de mapa de profundidade e alimentar esses mapas no MVE para criar uma nuvem de pontos, usei o conjunto de dados do dino para testar a reconstrução, mas não está na coordenada da cena. Se eu usar o arg da caixa delimitadora com scene2pset, recebo um arquivo ply vazio. caso contrário, recebo meus pontos, o que significa que minha nuvem não está na coordenada da cena, como faço para corrigir isso

nota: mesmo que eu usei dmrecon acontece a mesma coisa

obrigada

Comentários muito úteis

A reconstrução SfM tem uma ambiguidade de 7 dimensões, ou seja, posição, orientação e escala em relação ao objeto original do mundo real. Essa ambiguidade é resolvida nos primeiros passos do SfM tomando algumas decisões arbitrárias.

Portanto, a reconstrução não está "fora do caminho", apenas diferente em relação a essa ambiguidade.

Todos 12 comentários

O aplicativo scene2pset exporta a nuvem de pontos no sistema de coordenadas da cena. Nenhuma transformação é aplicada. Você pode verificar carregando a nuvem de pontos e a cena no UMVE na guia "Scene Inspect".

Não, eu não penso assim. Eu não tenho UMVE integrado agora, vou verificar mais tarde. mas esta é a saída scene2pset.
screenshot from 2017-10-27 21 29 44

isso significa que todos os pontos não estão em BB, portanto, eles não estão na coordenada de cena

Sua caixa delimitadora, ou como você especifica a caixa delimitadora, deve estar errada. scene2pset sai no sistema de coordenadas da cena, isso é um fato. O UMVE também possui um criador de caixa delimitadora que pode ajudá-lo a encontrar os parâmetros corretos.

A caixa delimitadora não é minha. na verdade, é da visão.Middelburry, e a razão de eu trazer isso à tona é que enviei meu resultado para avaliação para Middlebury e eles disseram que meus pontos não estão na coordenada correta e me pediram para executar a verificação de sanidade usando sua caixa delimitadora e o imagem acima é o resultado.
Também de acordo com sua resposta para a questão 358: "Todos os resultados estão no sistema de coordenadas ditado por SfM. Se você deseja um sistema de coordenadas de cena específico, você mesmo deve transformá-lo". os pontos não estão no sistema de coordenadas da cena

Você está executando o SfM nos conjuntos de dados Middleburry? Isso basicamente criará um sistema de coordenadas de cena arbitrário que não tem nada a ver com o que Middleburry espera. Se você quiser fazer isso corretamente, é isso que você deve fazer:

1) Use os intrínsecos e extrínsecos da câmera conforme especificado no conjunto de dados Middleburry, e use isso para as visualizações, ou seja, insira os parâmetros nos arquivos meta.ini .
2) Crie recursos SfM sem realmente executar o SfM. Essa é a parte complicada, porque você deseja detectar, combinar, triangular recursos e, em seguida, executar uma otimização que não altere os parâmetros da câmera. Eu não acho que temos código para este cenário exato agora.
3) Execute seu código na cena resultante, que está no sistema Middleburry corrdinate.

oh ok, é estranho e eu não vejo a lógica por trás disso XD. Vou fazer o que você disse, mas o passo 2 vai ser difícil -__-

última pergunta e eu vou dormir x'): se eu executar o sfmrecon com este 2 arg = true

  1. args.add_option('0', "fixed-intrinsics", false, "Não otimizar os intrínsecos da câmera");

    1. args.add_option('0', "shared-intrinsics", false, "Shared intrinsics entre todas as câmeras");

será que vai dar certo?

Não. Porque você também terá que consertar os extrínsecos. E corrigir os extrínsecos não é suportado pela natureza da abordagem incremental de SfM.

O que há de estranho nessas etapas? A etapa 1 deve ser bastante autoexplicativa, você deve usar os parâmetros fornecidos pelo Middleburry, pois esses parâmetros de câmera de "verdade do terreno" são melhores do que qualquer SfM pode produzir. A etapa 2 é necessária porque nosso MVS requer pontos SfM para funcionar. Se você tiver um algoritmo MVS que não exija pontos SfM, provavelmente poderá omitir esta etapa.

Obrigado por todas as respostas que você forneceu. é realmente útil.
Não são os passos que são estranhos. mas por que os parâmetros sfm estão longe da verdade. e não, não posso omitir a 2ª etapa, pois meu trabalho é baseado em seu trabalho especialmente _dmrecon_ , também uso recursos como semente para estimar profundidade e normais. É por isso que estou postando muitos problemas e fazendo tantas perguntas ^__^

A reconstrução SfM tem uma ambiguidade de 7 dimensões, ou seja, posição, orientação e escala em relação ao objeto original do mundo real. Essa ambiguidade é resolvida nos primeiros passos do SfM tomando algumas decisões arbitrárias.

Portanto, a reconstrução não está "fora do caminho", apenas diferente em relação a essa ambiguidade.

Eu adicionei uma ferramenta simples que faz o que você quer. Por favor, leia esta página.
https://github.com/simonfuhrmann/mve/wiki/Middlebury-Datasets

Muito obrigado ,

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

daleydeng picture daleydeng  ·  8Comentários

HelliceSaouli picture HelliceSaouli  ·  14Comentários

MaxDidIt picture MaxDidIt  ·  30Comentários

Jus80687 picture Jus80687  ·  11Comentários

GustavoCamargoRL picture GustavoCamargoRL  ·  13Comentários