Closed FilipeOCosta closed 6 years ago
Olá professor @miguelriemoliveira
A estimativa inicial não está muito boa, penso que seja alguma transformação, que ainda não encontrei, que esteja errada. Mas já está próximo do valor correto:
Filipe
Olá @FilipeOCosta ,
Como é que avalia a estimativa inicial da transformação?
Pode colocar o ID dos arucos na cena? E a estimativa inicial das camaras? E já agora consegue ter uma fotografia da cena em questão?
Miguel
Também não percebo as imagens da direita ... o que são?
A estimativa inicial é testada aplicando as transformações dos pontos do referencial global para pixeis na imagem, e depois represento-os na imagem da direita onde estes se deveriam sobrepor nos cantos dos marcadores. Os ids já estão representados, mas estão um pouco pequenos. Esta disposição dos arucos não é a mellhor mas pelo menos a estimativa inicial deveria funcionar. Já fiz uma com mais marcadores, mas com muitos marcadores tem um erro grande associado devido à estimativa inicial.
Hi @FilipeOCosta,
So this has been a rough problem, but do not give up.
I made a few tests this morning and I was able to go from one aruco to another using a single camera (dataset 6). Check commit f5aff98dbe9aebde682c81794bc1331e397a1000 , file ArucoTransformTest.py lines 402 through 441.
Yesterday I was saying it would not make sense but it does ... I was confused. Anyway, the test I did today proves we can use a Aruco_i -> Camera -> Aruco_j combination of transformations.
The other case, Camera_i -> Aruco -> Camera_j was already proven yesterday, am I correct?
Please take a look at the test and tell me if you agree with it. If so we should then try to make this work in the for cycle that iterates through the graph nodes, and later in a larger dataset.
Miguel
Hi @FilipeOCosta , do you have any news concerning this? I am curious to see if this worked or not... Regards, Miguel
Hi teacher @miguelriemoliveira
I think that what the teacher did is the same thing that we have done. But this proves that the calculus is right. Maybe the problem is in detections.
Regards, Filipe
Olá @FilipeOCosta ,
pode falar por telefone? Dê-me o número que eu ligo.
Abraço,
Miguel
sim, 912050127.
Filipe
olá professor @miguelriemoliveira
Acho que já encontrei a solução! E já sei o que nos estava a induzir em erro!
Filipe
Neste exemplo parece que a câmara está mal representada, mas na realidade não está porque como nós estamos a assumir o referêncial global como sendo o referêncial do aruco, a representação que nos é dada é em relação a esse aruco. Por isso basta o plano x-y deste aruco não estar paralelo ao referêncial x-y da câmara esta representação vai parecer um bocado desfigurada, mas na realidade está bem. A melhor maneira de confirmar esta teoria era assumir o referencial da câmara como sendo o referêncial global.
Filipe
Este é o exemplo em que a câmara é o referêncial global:
olá professor @miguelriemoliveira
A sua solução vai ao encontro da minha. Já estive a ver o DataSet que tem 5 câmaras e 6 arucos e a representação 3D está bastante próxima da disposição real. Acho que este problema está resolvido.
Filipe
Muito bom :grinning: ! Finalmente! Parabéns.
Por favor coloque aqui umas imagens dos datasets mais complicados para ver como fica.
Depois feche este issue azarento :)
Olá professor @miguelriemoliveira
Este é o dataset mais complexo que tenho com 5 câmaras e 6 arucos. (o aruco mais à esquerda na imagem da esquerda não faz parte). Na projeção 3D estou a definir o referêncial global como sendo a câmara 0. Fica um projeção bem conseguida!
Filipe
Acho que está mesmo bem! Podemos tentar com um dataset ainda mais complexo mas eu diria que para já podemos avançar com a otimização, concorda?
Miguel
Sim, inclusive já está a funcionar. Mas ainda não está a funcionar muito bem porque não está a fazer nenhuma redução no custo. Já fiz o commit com esta atualização da otimização a funcionar.
Filipe
issue relacionado #8