Start a new topic

How Do I Separate Similar Images In Group Using Code

How Do I Separate Similar Images In Group Using Code




Hi Everyone
 
i have requirement
i need to develop an application 
 
INPUT : hundreds and thousands of images
OUTPUT : similar images should be separated in a group
 
can anyone suggest what is the right approach for it.
 
articles, related information would fetch me
 

Thank you guys



 

Hi Anil,

 

Wikitude supports up to 1000 images in a single target collection. There is no hard limit at 1000 images, just a practical suggestion from our side as the target collections grow bigger with increasing number of images and take longer to load - on the other hand if you are targetting predominantly high-end devices, feel free to try as many images as you feel comfortable with in a single target collection.

You can also group your images into multiple target collections and load only the one that applies to your target group (i.e. based on location or language setting).

Wikitude will detect, track and augment a specific target image as soon as it enters the camera view. Please note that our SDK is currently not designed to report similar images at the moment but to find an exact match.

 

If you could share more details about your use case and images used with info@wikitude.com we might be able to find a practical solution together.

 

Best regards,

Nicolas

 

 

 
Hi,

I know this is a very old thread but it fits so well and I can quote you so nicely ;) , so please forgive me for resurrecting.

"There is no hard limit at 1000 images,"

Unfortunaltely that doesn't seem to be true, there is such a hard limit, at least I got an error message telling me that the limit is 1000 markers per WTC.
Funny enough the target manager allowed me to upload the 2048 markers required for my task - only to tell me about that limit when I finally ftried to download the wtc file (inside the manager it looks as if it could handle those 2048 just fine).

Unfortunately the cloud is no option for me. On the other hand the app works well with 1000 "local" targets and I see no reason why it couldn't handle 2000 in terms of performance and considering that the audience will use rather modern hardware.

Any chance to allow for more than 1000 targets per wtc file?
Or do you have any other suggestion on how to conveniently handle more than 1000 markers without the cloud service?


Thanks & best regards,

Daniel

Hello Daniel,

You are right that we have put a limit of 1000 images per wtc, but also keep in mind that the previous forum post you referred to was written 3 years ago ;)

The reasons for putting this limit are mainly technical, as we need to make sure that we keep the quality of our .wtc files as high as possible as this highly influences the performance of our SDK or Studio as well. Uploading more than 1000 images is something that makes sense if you are using cloud services, and this is one of the many reasons why we are also offering this feature. However, if you do not want to use this service what you could do is split the images into groups of 1000 and then convert these groups into .wtc files.

Regarding the fact that there was no limitation with the target manager but only after you tried to download the file, I have already forwarded this issue to our technical team.

Thanks
Eva

 

Hi Eva,

"You are right that we have put a limit of 1000 images per wtc, but also keep in mind that the previous forum post you referred to was written 3 years ago ;)"

Yes, that's the point.
One would expect that this artificial limitation has been lifted accordingly by now, e.g. considering that devices have become much faster.

"The reasons for putting this limit are mainly technical, as we need to make sure that we keep the quality of our .wtc files as high as possible as this highly influences the performance of our SDK or Studio as well."

Yes, if this was the reason three years ago the limit should at least be at, whatever, lets say 2k by now to take the technical progress into account.

However, IMHO such a limitation doesn't make too much sense at all. You should leave the decision whether and when performance becomes an issue to the programmer of the respective app. He knows best what his app needs or can or can not tolerate.

"Uploading more than 1000 images is something that makes sense if you are using cloud services, and this is one of the many reasons why we are also offering this feature."

As being said, the cloud is no option for me and current performance of my app clearly indicates that for my usecase it should be no problem to handle 2k targets with the client tracker.
(btw.: I once tried the cloud tracker out of curiosity, performance was much much lower compared to the client tracker in my case, so even if it was an option I wouldn't chose it).

"However, if you do not want to use this service what you could do is split the images into groups of 1000 and then convert these groups into .wtc files."

That it should be possible this way makes the "target limit for performance reasons" thingy even less reasonable IMHO. Because following that argumentation you actually should have disabled such "workarounds" too ;)

Anyway, I tried that and unfortunately got stuck. Actually I already expected it not to work out of the box because as the docs state there can only be one active client tracker at a time. And indeed, I can load both sets but only the one I load last is actually considered for recognition.

So please, how would I do tracking of 2000 targets simulatanously, split into two WTCs of 1000 targets each? A snippet would be what I need now. If you were so kind?

Btw., I also tried it with the latest SDK, I didn't get it to work as desired neither.
And here comes another question: I suppose it isn't for real that the app comes up with the trial-licence screen?

Thanks,
Daniel

 

Hello Daniel,

Thank you for your feedback and we understand your point. Unfortunately at the moment as I mentioned, there is no way around this 1000 image limit per .wtc. And if you wish to work with more images you can either use multiple .wtc files or work with Cloud Recognition.

Regarding the trial license screen, since you are using a trial license key it makes sense that you will see a trial logo, as our products are not for free. If you wish to remove the trial logo then you would need to purchase a commercial license. However, we are offering many other choices for those you cannot afford a commercial license, like Demo licenses and Educational Licenses.

The purpose of the trial license is that you can test the product to see if it fits your need and then you can purchase a license to remove any logos.

Thanks
Eva

 

Hi Eva,

"Unfortunately at the moment as I mentioned, there is no way around this 1000 image limit per .wtc."

Okay. That's why I tried the 2x 1000 WTC variant you proposed.

"And if you wish to work with more images you can either use multiple .wtc files"

Yes, you said so, but as I said: I can't get it to work.
If I load two sets of 1000 WTCs each then only the last one is being considered for recognition.
It looks as if the work-around you told me simply does not work at all and that there is not just a 1000-limit per WTC but also a limit of 1000 at all with the client-tracker.
But maybe I missed something, that's why I asked you for a code-snippet demonstrating the use of two large WTCs simultanously, please.

"Regarding the trial license screen, since you are using a trial license key"

I don't use a trial licence key.
Don't be mistaken: I do post with my "private" account here, but the project I'm working on is using a full licence key using the respective company's account.
So, it looks as if the latest SDK does not like the "old" licence key. Is that true? Or is that a mistake?

"The purpose of the trial license is that you can test the product to see if it fits your need and then you can purchase a license to remove any logos."

:) I know, I know. After all it was me who told your coders how to make the trial-screen harder to be patched away ;)

Anyway, all this is about the official app for an upcoming AR fairy in Cologne. We used Wikitude for last year's version and would be happy to do so again.
However, I'm about to decide now whether we have to drop Wikitude in favor of another library now or not.
Unfortunately this depends on whether there in fact is (if you could provide a working snippet) support for 2000 simultan markers via two WTCs or not.
 
Thanks and best regards,
Daniel

 

Hi Daniel,

I'd like to jump in here.

As for the multiple .wtc files approach: Unforuantely we don't have a code sample, as switching between is not the stanard approach as in this use case Cloud Recogntion is the best option in regards to performance and speed. In general you'll need to have a Tracker for each .wtc and need to switch between those e.g. if after a certain amount of time nothing is recognized in .wtc file 1 you can search in .wtc file 2. But as mentioned with this approach you'll need to have a logic to decide when to switch, as only one .wtc file can be active at a time.

As mentioned by Eva, the best approach if you have so many images definitely is to go with Cloud Recognition.

As for the trial key: From the post where you mentioned the topic with the Trial key it sounded like you have issues with the usage of the Trial key and the Watermark. If you do have a valid SDK License key which should also be valid for the latest SDK, please send an email to sales@wikitude.com, so we can investigate the issue.

Thx and greetings

Nicola




 

Hi Nicola,

thanks, yes, that's what I tried: two client trackers each of which is created with one WTC of 1000 markers.

"and need to switch between those e.g. if after a certain amount of time nothing is recognized in .wtc file 1 you can search in .wtc file 2"

That's it: how do I do that please? I didn't find an API like "MakeCurrent" or whatever to actually do that switching.
But again: maybe I missed something here or am blind or whatever. I would be truely happy if that's the case!

"As mentioned by Eva, the best approach if you have so many images definitely is to go with Cloud Recognition."

Unfortunately that's not an option in the case of that app :(

"If you do have a valid SDK License key which should also be valid for the latest SDK"

The key is valid for use with that app with ID xyz (lincense has been bought about a year ago) and is not being accepted by the lastest SDK. Only found out about that when I updated to check if something changed that probably helped with that 1000-issue ;)
Anyway, I'll mail it to you as you proposed.

Thanks & best regards,
Daniel

 

p.s.: since I will have to mimic simultan 2000-markers detection I would have to switch pretty often between the two sets. In a perfect world I'd attach to a "OnWikitudeFinishedCheckingThisFrame"-callback and do the switch there. If a marker is being detected I'd stick with the active set until the marker gets lost

 

Hi Daniel,

For the .wtc switching you generally have 2 ways:

- create first tracker -> check for recognition -> if no recognition create second tracker -> repeat

- create all trackers and use https://www.wikitude.com/external/doc/documentation/latest/Reference/JavaScript%20API/classes/ImageTracker.html#property_enabled ImageTracker.enabled = true to enable a tracker / disable the other trackers

Greetings

Nicola

 

Hi Nicola,

thanks, but unfortunately I'm using the native Android / iOS SDK (and cannot switch to the JS SDK, I tried that first back then but it didn't work well in our usecase here) and there I don't find such attributes / methods. But again: maybe I'm just blind?!

Thanks in advance,
Daniel

 

Login or Signup to post a comment