Forum MicMac

Ce forum est destiné aux utilisateurs des logiciels Pastis, Apero et MicMac


Heures au format UTC + 1 heure



Poster un nouveau sujet Répondre au sujet  [ 18 messages ]  Aller à la page 1, 2  Suivante
Auteur Message
Hors ligne

Inscription: Juil 2016
Messages: 9
Sexe: Non specifié
Posté: 27 Juil 2016, 08:41 

Hello everyone,

I am working on incremental SfM using MicMac binaries. I have 20 images and i have created sparse cloud using 10 images. Now i want to add remaining 10 images to the existing sparse cloud using previous calibration, what would be the best approach?

I tried few things with Tapas-
1. I generated the tie points for new images(11-20) using Tapioca
2. In Tapas, I select Autocal, give all the images as input(1-20) and InCal = previous calib
3. I am getting Fatal error as cPackObsLiaison::ObsMulOfName

I thing i am doing something wrong in second step.

Please help me in this regard.

Thank You!


Haut
  Profil 
 
Hors ligne

Inscription: Juil 2014
Messages: 116
Sexe: Masculin
Age: 39
Posté: 27 Juil 2016, 09:29 

Hi!

vaibhav8810 a écrit:
1. I generated the tie points for new images(11-20) using Tapioca


Maybe I'm wrong, but I think you have to compute tie points initially for all the images, and not not block by block, because in this case you can't compute correlation between your two blocks by this approach.
Look at this tuto, for example.


Haut
  Profil 
 
Hors ligne

Inscription: Juil 2016
Messages: 9
Sexe: Non specifié
Posté: 28 Juil 2016, 08:34 

Hi Xavier,

Thanks for the information. It worked for me. Is there any other method to get incremental sfm efficiently and much faster than this one?
My current approach- Tapioca on all images->Tapas on the subset of images->Tapas-Autocal on entire images (with InCal=previous step calibration and frozen poses for previous images)->Apericloud on entire set

Thanks!


Haut
  Profil 
 
Hors ligne

Inscription: Mar 2013
Messages: 163
Localisation: UMR MAP (3495CNRS/MCC)
Sexe: Non specifié
Posté: 28 Juil 2016, 10:49 

Hello,

Here is a pipeline I use more or less everyday for incremental processing with micmac :

<On the initial block>
Tapioca (use the appropriate mode and settings according to your data acquisition)
Tapas specifying an output like Out=Iter0
AperiCloud .*ext Iter0 (if necessary)

<New block>
Tapioca (use the appropriate mode and settings according to your data acquisition) PatternIter1 SameSizeAsInIter0
Tapioca All PatternIter0 SameSizeAsInIter0 (to gain time of computation) and option Pat2=PatternIter1
This will only create links in between the two blocks
Tapas AutoCal .*ext InCal=Iter0 InOri=Iter0 Out=Iter1
AperiCloud .*ext Iter1 (again, if necessary)

<New iter>
Just repeat the process
It could be way faster using Martini instead of Tapas but I think this command is not working on Windows exe (even the very last release 6702) with
Martini .*ext OriCalib=LastIter

Important point is to use the same Tapioca resize to not recompute every time new packs of homol.
Dont forget to use the InOri if you want to inject new pictures in the same orientation (I think it's relevant in an incremental approach) and if needed use to FrozenPoses option to constraint a bit more the degree of freedom in the new orientation computation.
The Pat2 option becomes more and more useful when the size of the dataset increase, but at the beginning the All approach on all pictures could be enough.
It could be also interesting to integrate some command like MergeHomol (to process separately some dataset and merge it afterward) or Schnaps (to filter bad tie-points so as to gain in robustness and velocity)

If you are working on a bash/python script to automated it with loops, feel free to share it ;)

Regards
Anthony


Haut
  Profil 
 
Hors ligne

Inscription: Juil 2016
Messages: 9
Sexe: Non specifié
Posté: 28 Juil 2016, 11:43 

Anthony a écrit:
Hello,

Here is a pipeline I use more or less everyday for incremental processing with micmac :

<On the initial block>
Tapioca (use the appropriate mode and settings according to your data acquisition)
Tapas specifying an output like Out=Iter0
AperiCloud .*ext Iter0 (if necessary)

<New block>
Tapioca  (use the appropriate mode and settings according to your data acquisition) PatternIter1 SameSizeAsInIter0
Tapioca All PatternIter0 SameSizeAsInIter0 (to gain time of computation) and option Pat2=PatternIter1
This will only create links in between the two blocks
Tapas AutoCal .*ext InCal=Iter0 InOri=Iter0 Out=Iter1
AperiCloud .*ext Iter1 (again, if necessary)

<New iter>
Just repeat the process
It could be way faster using Martini instead of Tapas but I think this command is not working on Windows exe (even the very last release 6702) with
Martini .*ext OriCalib=LastIter

Important point is to use the same Tapioca resize to not recompute every time new packs of homol.
Dont forget to use the InOri if you want to inject new pictures in the same orientation (I think it's relevant in an incremental approach) and if needed use to FrozenPoses option to constraint a bit more the degree of freedom in the new orientation computation.
The Pat2 option becomes more and more useful when the size of the dataset increase, but at the beginning the All approach on all pictures could be enough.
It could be also interesting to integrate some command like MergeHomol (to process separately some dataset and merge it afterward) or Schnaps (to filter bad tie-points so as to gain in robustness and velocity)

If you are working on a bash/python script to automated it with loops, feel free to share it ;)

Regards
Anthony



Hi Anthony,

Thanks for the useful information. But i am bit confused with Tapioca command. I am running micmac in windows binary.
I would like to know what is PatternIter1, PatternIter0 and SameSizeAsInIter0 in the new image block?

Procedure i am following as per your instructions is-
let say i have 15 images.
<for initial block of images(1-10)>
Tapioca(multiscale 300 900) - The result is stored in Homol Folder
Tapas(fraserBasic out=itr0)

<New Block>
could you please let me know the meaning of PatternIter1, PatternIter0 and SameSizeAsInIter0?
I am bit confused with this and also why you are using Tapioca twice in new block? Also, The result Tapioca will be saved in Homol folder which overwrites the previous block folder

Thanks!

Regards,
Vaibhav


Haut
  Profil 
 
Hors ligne

Inscription: Mar 2013
Messages: 163
Localisation: UMR MAP (3495CNRS/MCC)
Sexe: Non specifié
Posté: 28 Juil 2016, 13:35 

Sorry if it was not clear, i'm describing literally the command line,
just replace PatternIter1 with the correct expression to select your pattern, i dont know something like :
IMG_000[1-9].JPG

So as an example :
mm3d Tapioca All "IMG_000[1-9].JPG" 1500 Pat2=IMG_001[0-9].JPG

and for Tapas:
mm3d Tapas FraserBasic .*JPG InCal=Iter0 InOri=Iter0 Out=Iter1 FrozenPoses="IMG_000[1-9].JPG"

I'm running Tapioca twice, the first time to match only pictures within the new block, the second time to match this new block with a previous (already matched).
Tapioca will not overwrite, but add new images and matches.

Hope i made my explanation more clear :)


Haut
  Profil 
 
Hors ligne

Inscription: Juil 2016
Messages: 9
Sexe: Non specifié
Posté: 28 Juil 2016, 16:19 

Anthony a écrit:
Sorry if it was not clear, i'm describing literally the command line,
just replace PatternIter1 with the correct expression to select your pattern, i dont know something like :
IMG_000[1-9].JPG

So as an example :
mm3d Tapioca All "IMG_000[1-9].JPG" 1500 Pat2=IMG_001[0-9].JPG

and for Tapas:
mm3d Tapas FraserBasic .*JPG InCal=Iter0 InOri=Iter0 Out=Iter1 FrozenPoses="IMG_000[1-9].JPG"

I'm running Tapioca twice, the first time to match only pictures within the new block, the second time to match this new block with a previous (already matched).
Tapioca will not overwrite, but add new images and matches.

Hope i made my explanation more clear :)



Hi,

Thanks a lot! That worked for me. Only thing i changed is i take at least one image common in the two groups(Otherwise it was giving me an fatal error of a BestCam=0 in Tapas ).

Regards,
Vaibhav


Haut
  Profil 
 
Hors ligne

Inscription: Juil 2016
Messages: 9
Sexe: Non specifié
Posté: 01 Aoû 2016, 07:46 

Anthony a écrit:
Sorry if it was not clear, i'm describing literally the command line,
just replace PatternIter1 with the correct expression to select your pattern, i dont know something like :
IMG_000[1-9].JPG

So as an example :
mm3d Tapioca All "IMG_000[1-9].JPG" 1500 Pat2=IMG_001[0-9].JPG

and for Tapas:
mm3d Tapas FraserBasic .*JPG InCal=Iter0 InOri=Iter0 Out=Iter1 FrozenPoses="IMG_000[1-9].JPG"

I'm running Tapioca twice, the first time to match only pictures within the new block, the second time to match this new block with a previous (already matched).
Tapioca will not overwrite, but add new images and matches.

Hope i made my explanation more clear :)



Hi Anthony,

I am trying to add two groups of images incrementally without any overlap between two groups(no image is common between the two).
Group1 - image009 - image122
Group2 - image123-image129

I am getting the error as below-

BEGIN Init Inconnues
NUM 0 FOR Image009.jpg
NUM 1 FOR Image010.jpg
NUM 2 FOR Image011.jpg
NUM 3 FOR Image012.jpg
NUM 4 FOR Image013.jpg
NUM 5 FOR Image014.jpg
NUM 6 FOR Image015.jpg
NUM 7 FOR Image016.jpg
NUM 8 FOR Image017.jpg
NUM 9 FOR Image122.jpg
MST 5
=== NON INIT : Image123.jpg
=== NON INIT : Image124.jpg
=== NON INIT : Image125.jpg
=== NON INIT : Image126.jpg
=== NON INIT : Image129.jpg
------------------------------------------------------------
| Sorry, the following FATAL ERROR happened
|
| aBestCam==0
|
------------------------------------------------------------
-------------------------------------------------------------

Could you please help me in this regards.
Thanks!


Haut
  Profil 
 
Hors ligne

Inscription: Mar 2013
Messages: 163
Localisation: UMR MAP (3495CNRS/MCC)
Sexe: Non specifié
Posté: 01 Aoû 2016, 10:46 

Hmm, the answer is your question there is no solution if your two blocks are "without any overlap"...or at least not in a automated way, without control points.

If by this you mean small or really small overlap, increase the scale and /or activate SFS option (documentation Advanced Tie Points)


Haut
  Profil 
 
Hors ligne

Inscription: Juil 2016
Messages: 9
Sexe: Non specifié
Posté: 01 Aoû 2016, 10:59 

Anthony a écrit:
Hmm, the answer is your question there is no solution if your two blocks are "without any overlap"...or at least not in a automated way, without control points.

If by this you mean small or really small overlap, increase the scale and /or activate SFS option (documentation Advanced Tie Points)

Hi,

I think i put my question in wrong way.. There is no common image in 2 groups but they share certain overlap of the object between 2 groups.
My question is - is there any requirement that 2 groups should have any image in common between the two?
If no, then how should i resolve the error i have mentioned.

Hope my explanation is clear to you.


Haut
  Profil 
 

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

Permissions de ce forum:

Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Poster un nouveau sujet Répondre au sujet  [ 18 messages ]  Aller à la page 1, 2  Suivante


Créer un forum | © phpBB | Entraide & support | Forum gratuit