If you’re a former user of IQEngines, you probably got caught by the recent acquisition by Yahoo. So, we thought we would lend a helping hand when it comes to migration and show you how easy it can be with Catchoom’s APIs and our scripts.
If you were not using IQEngines but you need to connect your existing data to our system, we are sure you will find this post useful, well we hope!
Introduction to Catchoom Image Recognition APIs
There are two APIs: Management and Recognition. We’ll use the Management API to create and delete collections, items and images. And, the Recogniton API for the actual recognition, once the images are in our system.
Uploading your data automatically
The Management API let’s you do the same as you see in the web panel when you login. Since you probably don’t want to do the migration manually one-image at a time on the web panel, the Management API is your place.
Now we need scripting to make it automatic. You can take our Python and PHP code that implement this API. They’re open source and available in our github repository. You just need to write your piece of script that calls them.
Connecting the blocks
Our Recognition API will be used by your application when your users requests an object to recognize from your database. We provide SDKs for iOS and for Android and example applications that show you how to use them.
We also offer something special in this area – we allow your backend to act as a proxy server for Catchoom’s service. In other words, if you have already a backend implemented, or you require a special control (e.g. application logic on top of our results), you can easily configure the mobile SDKs to send the requests to your backend, and then forward them to Catchoom via API.
This lets you have more control on the content you return upon recognition. This may add some delay in obtaining the results, but if you need this kind of special control it can be achieved easily.
Of course, you can always use the standard approach where the mobile SDKs communicate directly with Catchoom.
To sum it all up, you have two basic options for connecting the blocks:
- I want my app to talk directly to Catchoom’s service.
- I want my backend to act as a proxy: my app will connect to my backend, and my backend will talk to Catchoom’s service.
In the first case, take the SDK right away and you’re ready to go. In the second case, our SDK has an option to send queries to your back-end and you just need to forward them via API to our service. You can read more about how to pass the URL to your backend to our SDK in the documentation.
Do I need to use your SDK or can I leave my app as it is?
The advantage with our SDK is you don’t need to take care of the optimal way to capture the image and send it for the best round-trip speed. We’ve done that for you.
On the other hand, we leave this option open and provide some guidelines about how to capture them, see below for a little more explanation.
Prepare your images for best recognition
Whether you use our SDK or not, you won’t regret taking a look at this. We’ve prepared an article explaining what works and what doesn’t, and how to improve the overall performance by taking a look at the reference images that you upload and how the camera captures the queries. Read more about best practices with images.
And last but not least. We know in IQEngines you had a limitation of 300×300 pixels in reference images. Forget about it, go ahead and upload images that are larger than that. In fact, our recommendation is that you upload images around 500-600 pixels wide or tall. Larger is fine, but won’t help the system much.
Come join us, Beamboard, Eyelevel and many others who have already migrated!