artoolkit5
artoolkit5 copied to clipboard
How to integrate with Server CMS
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...
- Do you stream the video (could be like very low fps) from the camera to the cloud, where all the markers are kept.
- Do you sample the video and upload images to compare.
- 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?
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
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.
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.
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:
- In Firebase Storage upload your marker images
- In Firebase, create json referencing your marker images
- Create an App that uses Firebase and ARToolkit
- App, on startup, loads json from Firebase
- App then downloads Firebase resources mentioned in json
- ARToolkit starts up, referencing downloaded markers
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
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.
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.
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)
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
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.
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?
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.
@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