Pergunta

No matlab eu calculei o Matriz fundamental (de duas imagens) usando o normalizado Algoritmo de oito pontos. Daquele eu preciso triangular os pontos de imagem correspondentes no espaço 3D. Pelo que entendi, para fazer isso, eu precisaria da rotação e tradução das câmeras da imagem. A maneira mais fácil, é claro, seria Calibre as câmeras Primeiro, tire as imagens, mas isso é muito restritivo para o meu aplicativo, pois exigiria esta etapa extra.

Então isso me deixa com calibração automática (self) da câmera. Eu vejo menção de Ajuste do pacote, no entanto Um convite para a visão 3D Parece que requer uma tradução e rotação inicial, o que me faz pensar que uma câmera calibrada é necessária ou meu entendimento está aquém.

Portanto, minha pergunta é como posso extrair automaticamente a rotação/tradução para que eu possa reproduzir/triangular os pontos de imagem no espaço 3D. Qualquer código ou pseudocódigo MATLAB seria fantástico.

Foi útil?

Solução

Você pode usar a matriz fundamental para recuperar as matrizes da câmera e triangular os pontos 3D de suas imagens. No entanto, você deve estar ciente de que a reconstrução que você obterá será uma reconstrução projetiva e não euclidiana. Isso é útil se o seu objetivo é medir invariantes projetivos na cena original, como a proporção cruzada, cruzamentos de linha etc. Mas não será suficiente para medir ângulos e distâncias (você terá que calibrar as câmeras para isso).

Se você tem acesso a Livro didático de Hartley e Zisserman, você pode verificar a seção 9.5.3 onde encontrará o que precisa ir da matriz fundamental para um par de matrizes de câmera que permitirão calcular uma reconstrução projetiva (acredito que o mesmo conteúdo aparece na Seção 6.4 do livro de Yi Ma Ma ). Desde o O código -fonte dos algoritmos do livro está disponível online, Você pode verificar as funções VGG_P_FROM_F, VGG_X_FROM_XP_LIN e VGG_X_FROM_XP_NONLIN.

Outras dicas

O código do MATLAB de Peter seria muito útil para você, eu acho:

http://www.csse.uwa.edu.au/~pk/research/matlabfns/

Peter publicou várias soluções fundamentais da matriz. Os algoritmos originais foram mencionados no livro Zisserman

http://www.amazon.com/EXEC/OBIDOS/TG/DETAIL//0521540518/QID=1126195435/sr=8-1/ref=pd_bbs_1/103-805115-0657421?21?vgd_bbs_1/103-805115-0657421?

Além disso, enquanto você estiver nisso, não se esqueça de ver a música fundamental da matriz:

http://danielwedge.com/fmatrix/

Uma boa composição na minha opinião honesta!

Se o seu espaço 3D puder ser escolhido arbitrariamente, você poderá definir sua primeira matriz de câmera como

P = [I | 0]

Sem tradução, sem rotação. Isso deixaria você com um sistema de coordenadas definido na câmera 1. Em seguida, não deve ser muito difícil calibrar a segunda câmera.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top