artoolkit5 icon indicating copy to clipboard operation
artoolkit5 copied to clipboard

How to integrate with Server CMS

Open ThorstenBux opened this issue 7 years ago • 15 comments

Issue by georgeedwards Wednesday Sep 07, 2016 at 09:31 GMT Originally opened as https://github.com/artoolkit/artoolkit5/issues/189


Is there, or can we make a tutorial outlining how one might approach having a dynamic marker base, held in a cloud CMS. Similar to Blippar, or this demo from Kudan. For mobile applications, this seems a bit tricky...

  1. Do you stream the video (could be like very low fps) from the camera to the cloud, where all the markers are kept.
  2. Do you sample the video and upload images to compare.
  3. Do you download the images from the server to the mobile to be compared to the video?

Either way, there is potentially large amounts of data being moved between the server and the handset, potentially not on 4G or 3G?

It strikes me that this isn't an uncommon use case, i.e. not having static markers baked into the application. Are there any docs on this?

ThorstenBux avatar Jan 28 '18 09:01 ThorstenBux

Comment by SilviyaRepo Wednesday Sep 07, 2016 at 10:34 GMT


Hi !

Did you find the solution for this?

ThorstenBux avatar Jan 28 '18 09:01 ThorstenBux

Comment by georgeedwards Wednesday Sep 07, 2016 at 14:11 GMT


@SilviyaRepo I'm afraid not yet... hoping someone on here could help. I have also posted this on the forum

ThorstenBux avatar Jan 28 '18 09:01 ThorstenBux

Comment by gannebamm Wednesday Oct 19, 2016 at 07:06 GMT


Hi, I am working for an university of applied sciences (www.hs-owl) and am part of the researchlab nextPlace (www.nextplacelab.de) and we are currently working on a client (Android) + server (Spring) application which will capture pictures, send them to the server to process the iset data and sending them back as zip file. It is still a prototype and we have to squash some bugs but if we are done with it we will release the code here on github.

ThorstenBux avatar Jan 28 '18 09:01 ThorstenBux

Comment by ThorstenBux Wednesday Oct 19, 2016 at 07:21 GMT


That is awesome. Keep it up. That is great. And let me know if you need someone to host the backend. I'd be happy to do that.

ThorstenBux avatar Jan 28 '18 09:01 ThorstenBux

Comment by felixvolz Tuesday Oct 25, 2016 at 09:04 GMT


georgeedwards - re dynamic marker base, take a look here - https://firebase.google.com/docs/

You could use a combination of firebase realtime database (cloud-hosted database. Data is stored as JSON) and storage (Store marker images etc).

If you went down this path you could do something like:

  1. In Firebase Storage upload your marker images
  2. In Firebase, create json referencing your marker images
  3. Create an App that uses Firebase and ARToolkit
  4. App, on startup, loads json from Firebase
  5. App then downloads Firebase resources mentioned in json
  6. ARToolkit starts up, referencing downloaded markers

ThorstenBux avatar Jan 28 '18 09:01 ThorstenBux

Comment by gannebamm Tuesday Oct 25, 2016 at 10:11 GMT


@felixvolz yes, that is possible and almost the workflow we set up using a native android app calling a spring server app. You have to process the marker images to generate the iset data somewhere - we do it server side.

Some news from our approach:

  • [x] Image upload
  • [x] Image storage (PostgreSQL with PostGIS for geolocation)
  • [x] Image processing (.iset datafiles and zipping them)
  • [x] Geolocation based query for processed imagesets
  • [x] Imageset (.zip) download
  • [x] adding new imagesets for projection (BUG: ID already exists)

So it is just one step from working properly. But for some unknown reasons we are unable to load additional markers into ARToolkit. We have a similar error like described here: http://answers.unity3d.com/questions/1219434/artoolkit-load-and-unload-markers.html

terminating with uncaught exception of type vision::Exception: ID already exist

ThorstenBux avatar Jan 28 '18 09:01 ThorstenBux

Comment by georgeedwards Friday Nov 18, 2016 at 11:52 GMT


@gannebamm Is your project open-source? Or is there any detail on your approach written up? Would be useful to see how different people are approaching this and what results they are getting.

ThorstenBux avatar Jan 28 '18 09:01 ThorstenBux

Comment by gannebamm Friday Nov 18, 2016 at 12:52 GMT


@ThorstenBux @georgeedwards Yes it uses OpenSource Libraries and will be published on github, soon. We just finished our prototype which you can see here (in german, video included): https://www.nextplacelab.de/?p=303

We are currently busy with some other high priority tasks and therefore it will take some time to bring the prototype to the point at which we can publish it.

ThorstenBux avatar Jan 28 '18 09:01 ThorstenBux

Comment by gannebamm Friday Nov 18, 2016 at 13:01 GMT


@georgeedwards ADDED for some more insight: In a nutshell, our architecture is as follows: CLIENT:

  • take a picture of a configurable resolution
  • send the picture and geo-coordinates via POST to the server

SERVER:

  • store the picture in filesystem and import picture ID and geo-coordinates into the geo DBMS (PostgreSQL+PostGIS)
  • scheduled image feature extraction algorithm will query the DB for unprocessed images and extract the features (.iset generation through genTexData)
  • flag image as processed and create .zip file with image recognition files

CLIENT:

  • query DB for newly processed images around device
  • download .zip files for processed images
  • try to track them (any of them)

ThorstenBux avatar Jan 28 '18 09:01 ThorstenBux

Comment by SilviyaRepo Saturday Nov 19, 2016 at 04:15 GMT


yes.. yes,,, exactly this error I am getting all the time!!!! `terminating with uncaught exception of type vision::Exception: ID already exist

May I know the solutions for this one? My project is ARToolkit without Unity

ThorstenBux avatar Jan 28 '18 09:01 ThorstenBux

Comment by ThorstenBux Sunday Nov 20, 2016 at 18:54 GMT


@gannebamm Link is not working :(

ThorstenBux avatar Jan 28 '18 09:01 ThorstenBux

Comment by ThorstenBux Sunday Nov 20, 2016 at 21:32 GMT


Hi there, I can potentially help with that add marker error. Is it possible to share your project with me so that I can have a look at your sources and get up to speed faster.

ThorstenBux avatar Jan 28 '18 09:01 ThorstenBux

Comment by Mehdi-saber Tuesday Feb 07, 2017 at 07:20 GMT


is there any project source that do cloud image(nft) recognition with artoolkit?

ThorstenBux avatar Jan 28 '18 09:01 ThorstenBux

Comment by VladVuk Thursday May 25, 2017 at 06:12 GMT


Hello collegues,

I work on client side NFT recognition of multiple NFT markers but I would like to move recognition in near future to the server side.

At this moment I am facing MAX_PAGES limit equals 64 (in ARController.h within ARWrapper). Increasing MAX_PAGES to 1024 and recompiling ARToolkit and trying to get more than 64 NFT markers/pages added within one set of data causes android application to exit without any message.

Can anyone suggest or explain what is needed to be changed in ARToolkit in order to get possibility of 1024 NFT markers to be recognized simultaneously ?

I open the same question on : https://github.com/artoolkit/artoolkit5/issues/311 - so you can answer there as well.

ThorstenBux avatar Jan 28 '18 09:01 ThorstenBux

@gannebamm did you publish your solution to any open-source repository? I'd love to pick that up and if possible get it into artoolkit

ThorstenBux avatar Jan 28 '18 09:01 ThorstenBux