Log in or register to post comments

One or more Target databases ?

September 4, 2020 - 3:43am #1

Hi

I am making a obile app, that needs around 3500 Image targets

At first i was just planning to have one Target database with 3500 entries.

However, i read somwhere (old post 2015ish) that there is a max of around 1000 iamge targets pr Target database

 

So i think..seen from a performance perspective (and it has to be possible in Vuforia/Unity) what is best ?

1) One Target database with 3500 entries

2) Four Target databases with 850ish entries each

3) 35 Target databases with 100 each...or any number of databases between 4 and 35 :)

 

I was not planning to use cloud recos, but maybe is the way forward ?

(Although this will come with a price...this app is a one man project that i plan that will be free)

 

Thanks for any advice for a Vuforia newbie :-)

One or more Target databases ?

September 15, 2020 - 2:39am #2

Hi,

Yes, we recommend for device databases, a maximum of 1000 targets per db, in your case we would recommend to use Cloud Reco. However it really depends also on your use-case etc.

An option as you have already found out is to split the db in more databases, which would be a viable option. If price is a concern, than the Basic license is the best option as with Cloud Reco you can go over your reco quota which would imply an additional cost.

If you choose to split the database in smaller ones, you should be mindful of the amount of memory and CPU that your application will use when loading a large device databases. Vuforia adds each target in the device database to a dynamic search tree in your app's memory. Dynamic loading and unloading of device databases can be utilized to optimize memory usage (see DataSet APIs below). This technique can also help with CPU utilization during detection and tracking as Vuforia will require additional processing when attempting to detect large numbers of Image Targets in each camera frame. This is especially true for target detection, which is more CPU intensive than tracking.

Here are pointers to the DataSet APIs:

https://library.vuforia.com/content/vuforia-library/en/reference/cpp/classVuforia_1_1DataSet.html

https://library.vuforia.com/content/vuforia-library/en/reference/java/classcom_1_1vuforia_1_1DataSet.html

https://library.vuforia.com/content/vuforia-library/en/reference/unity/classVuforia_1_1DataSet.html

I would also highlight the fact that we have the possibility to create Image Targets at Run-time, maybe this will also help, more info here: https://library.vuforia.com/content/vuforia-library/en/articles/Solution/how-to-create-and-load-targets-in-unity.html#image-target-from-file-at-runtime

Thank you.

Vuforia Engine Support

Log in or register to post comments