Start a new topic

Disabling Targets ?

Disabling Targets ?


Hi! 

In my project, I am loading a wtc where several targets are defined. I would like to tell Wikitude Engine to not try to detect a particular target at some point, and to "concentrate" to other concurrent targets. Is that possible ?

Thanks.

A. Belin.

Hi Amaury,

Could you please try and explain your use case and what it is exactly that you wish to achieve? Because it is not clear based on what you have provided us. For example, what do you mean when you say "at some point"?

Thank you

Hi Eva  !

We are using an indoor positionning system, and given the position and orientation of the phone in the room, we would like to tell wikitude engine to ignore particular targets.

Let me try to examplify our problem. We are working in a museum, and we have a big painting. In our WTC we have of photo of the overall painting, we call the corresponding target target_full. We also have a detail in the painting. We took a pictures of the part of the painting related to this detail, and we put it in our wtc, leading to a new target :  target_detail.

When the visitor is close to the painting, and he points his phone toward the detail , target_detail is tracked, great !

When the visitor is far from the painting, and he points his phone toward the painting, target_full is tracked, great !

When the visitor is far from painting, with target_full being tracked, and he moved toward the painting, targetting the detail, target_full is still tracked, even if it would be more relevant to track target_detail instead. Not great :-(

As we have the position of the user in the room, we know when we should stop tracking (or ignoring) target_full. But we can't find any function in Wikitude Api to do that.

 

Is it more clear ?

Thanks :-)

Hi Amaury,

Thanks for all the details and clarifying your use case. However, the expected behaviour of our SDK product should be able to cover all your use cases. What I mean by that is that when a user is tracking the target_full image then he sees the augmented object you have defined. If he moves closer to the paint then he should loose focus of the target_full image and the SDK would track the target_detail image and show the augmented object that you have defined for that target. 

Could you maybe send a video of this behaviour so that we can see how it works for your use case?

Thank you

Hi Eva !

This is a video showing the problem :

https://lookback.io/watch/BhrQMm3d2WEsamkeH

Have a good weekend :-)

Amaury

 

Hello Amaury,

Thank you for sending the video. The reason why you are having these problems with the target images are the target images themselves. The problem is that, the global target image that you have selected contains unique feature points that are the same with the local target image. Therefore, when you target the local target image and then move back to the global target image the focus is not lost because the most unique feauture points of the global target image are also part of the local target image and the algorithm cannot detect that there was a change in the target image. What you could do is try to change slightly the target images. For example, have as the global target image only the left part of the image, that contains only text.

I hope this helps.

Hi Eva,

Thanks for the advice. Yeah I think we still need to learn a lot about optimizing our target images !

However, in some cases, in order to strengthen recognition, we need to have target image that shares some feature points. These targets are therefore in competition, and it would be nice to indicate the recognition engine to ignore a particular target when we know that it is not relevant (based for instance on indoor positionning in our case). In wikitude API it is possible to enable/disable Tracker and Drawable Objects, but not Targets objects. IMHO, such option would be an nice and coherent addition to the Wikitude SDK API.

Thanks a lots for your rapid and precise feedback.

Amaury.

Hi,

The problem is not that these target images are sharing some feature points but mainly that the unique feature points of the global target image are the same with the feature points of the local target image. What I mean is that the algorithm can identify a target image based on some feature points. The global target image that you have selected is mainly identified by the feature points that are located in the right side of the whole image. But, the right side of the whole image is also a different target image by itself. Therefore, when you target the local image and then go to the global image, the algorithm is still tracking the feature points of the right side and cannot realise that the target image has changed. 

You can still have on global target image and inside  that a local target image, you just need to make sure that the global target image has some unique feature points (the text is not a unique feature point) that are not the same with the local target image. Therefore, the algorithm can track when a target image is changing.

I hope I have better explained that for you!

Thanks Eva for these precisions, that will definitely help us to better prepare our different targets in the future :-)

In addition to the work we can do on targets, I still think that being able to programatically disable a target when needed would be a nice option. Indeed, you said : 

" the algorithm is still tracking the feature points of the right side and cannot realise that the target image has changed. "

=> therefore, we should be able to tell the algorithm : stop tracking the first target and ignore it in the recognition process.
Login or Signup to post a comment