Log in or register to post comments

Multi-Vumark for large scale object

October 14, 2017 - 6:00am #1

Hello,

In an upcoming project I want to track and augment a big sculpture. It's kind of a cylinder, 3meter diameter 5m tall.

I want people to move around the cylinder and see an augmented sculpture through their tablet. They might get closer at the beginning than go few meters away and look up and down a little bit.

 

The tablet has to be Windows based so I can't use a combination of Vuforia + ARKit or ARCore to start positioning the virtual cylinder to the real one using a marker and than finish the tracking using SLAM. I have to use Vuforia only and their SLAM based approach is not released...

 

What I wanted to do is to print about 50-100 big targets, 40cm squared and to stick/hang them around the cylinder at fixed known position/orientation relative to the cylinder.

 

I saw that Vuforia has a multi-target feature but it seems more focused on small scale object than on big scale. Has anyone used it for larger scale objects?

Also if I want to create 50-100 targets I thought that VuMarks are a better choice has you can easily generate 100.

I though that I could use the VuMark ID to deduce its position/rotation so I could go from one vumark to the other using extended tracking if none are visible and switching from one to the other without loosing the augmentation.

Maybe using the wolrd center mode or the unified coordinate system or with custom software to get the augmentation transformation to the camera.

 

But in Unity the VuMark component doesn't have a predefined ID so I can't place several Vumarks around my cylinder with a fixed ID.

 

Any idea how to solve my problem? Any feature I didn't think of to handle this kind of problem?

Is it too optimistic?

Thanks a lot,

Ben

Multi-Vumark for large scale object

February 28, 2019 - 6:52am #13

I've discovered the solution to this. It had to do with my world center mode upsetting the world positions I was giving the target. It works now that I've set my world center mode to first target.

Multi-Vumark for large scale object

February 27, 2019 - 1:20am #12

Hello medabit,

Thanks for your response. Can you maybe explain what you mean by handedness? I will run a few tests with different models to see how it behaves.

Cheers,

Econ

Multi-Vumark for large scale object

February 25, 2019 - 4:10pm #11

Hello,

Thanks for the clarifications. Nothing obvious comes to mind.

One thought is that it may be related to a "handedness" difference between Vuforia and your project. Suggest that you make similar transform calls, but that you reduce the magnitude to better understand how the translation is behaving in the system.

-Vuforia Engine Support

 

Multi-Vumark for large scale object

February 25, 2019 - 1:53am #10

Hello medabit,

If I do not reposition the augmentation is does appear registered to the VuMark exactly how I positioned it in the Unity Scene view. My current respositioning works as such:

I have a script that takes a public GameObject as a reference to the model I want to reposition. In the script I check which ID of the VuMark is being registered and according to the ID change the model using model.transform.position. I have also tried using model.transform.localPosition. I know that the check for the IDs works as I also change the rotation of the model and that shows up correctly.

The only reason I need to change the position at all is because the model I want to augment is so large that when I rotate it the axis along which it rotates is so large that it doesn't show up in the way I would like it to. As such I need to reposition the model relative to the VuMark in my Scene view.

I hope this description makes sense, I can clearify further if you have any question.

Cheers,

Econ

Multi-Vumark for large scale object

February 22, 2019 - 2:26pm #9

Hello @Econstann,

Thanks for the clarifications.

You say you're trying to manipulate the position of the augmentation through code. Can you elaborate a bit more on how you're doing that?

Also curious, if you do not reposition the augmentation during run time, does the augmentation appear registered to the VuMark?

-Vuforia Engine Support

Multi-Vumark for large scale object

February 22, 2019 - 2:06am #8

Thank you for your answer. Tracking with a VuMark however is not my problem. I previously tried Model targets but found there weren't fitting,especially since the house will not be built at the time of augmentation. VuMarks printed on A0 paper work very well. I am using a supported device and the tracking works perfectly UNLESS I try to manipulate the position through code, which is what is causing my issue. Any tips on how I can accurately predict where my augmentation will end up in the real world when I position it through code, or articles I could read on the topic would help a lot.

Cheers,

Econ

Multi-Vumark for large scale object

February 21, 2019 - 11:23am #7

Hello @Econstann,

Using a small target (VuMark) to track a large object (building) is a challenging use case, and does not lend itself to tracking accuracy. Extended Tracking can result in inaccurate poses, depending upon several factors including the environment and the target.

Vuforia Fusion's use of ARCore and/or ARKit may help to stabilize tracking, but these features are dependent upon the device being used: https://library.vuforia.com/content/vuforia-library/en/articles/Training/vuforia-fusion-article.html

Primarily, I'd recommend the use of the Model Target feature for this use case. I understand that this requires a 3D model of the building, or the facade, but it is likely going to be the most robust solution we can offer. If this suggestion is a non-starter, you can also try setting FUSION_PROVIDER_VUFORIA_VISION_ONLY to see if SLAM performs better than VISLAM for your use case.

Thanks,

Vuforia Engine Support

Multi-Vumark for large scale object

February 21, 2019 - 1:36am #6

Hi,

I am working on a similar use case, in which I would like to augment a very large object (building) using 4 VuMarks placed on each corner. I am using the device tracker for extended tracking. I was wondering if you could elaborate on how I can work on the positioning of my model to make this work? I currently have a script that checks the ID of the VuMark and then rotates and positions the object in a way that would be correct when seen in the Unity Editor, but when I test on the Google Pixel 2 the augmentation often appears behind me, instead of behind the VuMark where I would like it to be. The rotation of the object appears to be correct, but the positioning is off. I have tried both localPosition and normal position, but neither appears to be working. Any tips on this would be appreciated.

Cheers,

Econ

Multi-Vumark for large scale object

October 18, 2017 - 11:58am #5

Alright, I understand better what you're trying to do. You are right, for VuMarks there will only be the one object pre-defined in the scene to represent all instances, but I believe there is a way to handle your use case. You can instead have game objects at predefined points that you can snap the instances to when a detection of a VuMark is made. This will allow you to have the positions and orientations (and any other data) defined ahead of time for all the VuMarks. If this doesn't make sense, let me know and I can elaborate further.

In relation to Model Targets for your solution, redundancy could indeed cause issues specifically with detecting your target, but there is a potential work around for this. You can make the 3D model used as the detection/tracking data be only a portion of the overall model. This would allow you to detect based on a this single portion and then augment the rest of the model after detection occurs. Depending on your model, you may still run into issues if the entire model is repeating and therefor there is no entirely unique portion of the model to get the starting point, but you could communicate to your user from which point to start the detection in order to align the augmentation properly.

Let me know if you have any further questions about any of this.

Thanks,

-Vuforia Support

Multi-Vumark for large scale object

October 17, 2017 - 3:10pm #4

So the two options are VuMarks and Multi Targets and unfortunately they don't work together.

VuMarks might let you track standing further away because of their simple barcode like nature.

Multi-targets will get you better tracking because if more than one target is in frame it use all of them to calculate the pose estimation.

Maybe you could use VuMarks and average the transforms together to get the best of both worlds.

You might have to do a VuMark solution more in code and not be able to lay it out in Unity.

Print out a VuMark at the size you want to use, go into Unity Stick a 3d model on a VuMark and test.  

See how jittery the model gets when standing further distances away to get a good feel on how well it'll work.   



 

Multi-Vumark for large scale object

October 17, 2017 - 1:59pm #3

Thank you for your answer.

 

My concerns wasn't about generating 100 VuMarks, I am used to the API and to working with VuMarks.

 

It was more about creating some Multi-Target environment with VuMarks to track large scale object. Multi-Target doesn't work with VuMarks? And is it a good option to consider for large scale object? The documentation suggests otherwise.

 

Back to VuMarks:

When You add a VuMark GameObject in Unity it's a generic one whereas an image target is specific. It's only upon detection that the VuMark has an ID spawning a clone in Unity. So I was wondering how to populate my scene with 100 VuMarks with fixed ID, not generic, placed at the correct position/orientation to copy my real scene.

Then how too add a common augmentable aligned to all the VuMarks so I could navigate around my scene going from 1 VuMark to the other to know my camera position to the real scene and to display the augmentable at the right position/orientation.

 

I saw numbers of post about tracking large scale object or doing room scale tracking with Vuforia, but no real results and I was wondering if it was a realistic goal and what options I should consider.

 

I saw the model targets and the VIP program, also had a chat with one of the commercial but I don't think it would work for me as my 3D model is really redundant and from what I understand the tracking is only based on mesh information and not on visual clues.

 

Thank you with your help.

 

PS: Why do I get auto logout after 10 minutes from the forum... I don't even have time to write an answer + if I open several tabs on the forum when I come back they are all back to Developper root page...

Multi-Vumark for large scale object

October 17, 2017 - 10:25am #2

Hello I33N,

You can pre-generate and print out your VuMark instances. Review this documentation to get more information on this:

https://library.vuforia.com/content/vuforia-library/en/articles/Solution/Working-with-VuMarks.html

https://library.vuforia.com/articles/Solution/Using-the-VuMark-Instance-Generation-API.html

Our sample app also has a VuMark scene that has a handful of pre-generated VuMark instances if you want to see some code that handles this use case.

Alternatively, we have a new feature coming in Vuforia 7 called Model Targets which allows you to detect and track based on 3D model data. It is currently in our Early Access Program. You can get more information on this as well as apply for EAP at this link: http://info.vuforia.com/modeltargets

Thanks,

-Vuforia Support

Log in or register to post comments