If you’ve decided to take the plunge, and adopt a computer vision AI platform, you’re not alone. In addition to being one of the most popular forms of AI, last year, CV AI was heralded as the “most powerful manifestation of AI” yet. One recent Gartner study predicted that by next year, 99% of visual content captured by enterprises will be analyzed by CV-powered machines, with CV becoming a "massive disruptor" through 2023.
Still, now that you’ve decided to utilize this technology, you’ve probably realized you have a few other important decisions to make, with one, in particular, standing out: How will you run the system/AI? You have 3 options: Cloud API, On-Premises (though often called “on-premise”) and Computer Vision Software Development Kit (SDK,) with each offering businesses distinct benefits. We’ll be looking at each in turn below.
1) Cloud API
As I explained here, application programming interfaces (APIs) refer to a set of commands, functions, protocols, and objects that allow developers to create software more easily. Cloud API is a web-based API that lets users connect with their AI provider’s services via the internet. Here, the data used to train your AI platform is transmitted to the AI provider to run computation.
One of the biggest benefits of using a cloud API is that it allows your models to learn from the AI provider’s curated data sets, not just your own. While models don’t need a lot of data to learn your concepts, the more examples it gets, the better it becomes at recognizing them. Cloud APIs also consolidate knowledge. That means, while your data will remain confidential, per your AI provider’s security measures, as each user’s model learns concepts and improves, the overall platform gets even better, making every model on the platform more effective.
For most users, the benefits of using a cloud API far exceed any trade-offs. Further, computer vision providers likely have data protection measures on their servers that match, if not exceed, your own. Cloud APIs for computer vision also allow you to quickly add these capabilities to your platform and have immediate and full access to the most updated AI available from your provider. While cloud APIs, on-premise, and SDKs will all keep improving in accuracy over time without your intervention, cloud APIs also require no maintenance on your side to keep it going and will be available 99.99% of the time.
For companies or developers that would prefer not to share their data, however, there is another option: On-Premise. Here, your data doesn’t have to leave your private network. So, while Clarifai’s on-premise tool still gives you to access all of our visual recognition services, it lets you keep your data in-house. This gives you the most control over your system and keeps your data separate from external networks. Both cloud APIs and on-premise allow you to interact with inputs and outputs over the web, but with the latter, your AI provider doesn't do the computation.
On-premise is most valuable for large businesses as they often have a lot of sensitive proprietary data under their control and many customers. To keep that information in accordance with their business’ data protection policies, many choose to keep that information off the cloud.
The trade-off here is while you will still be able to gain from any upgrades your AI service provider makes to its tools, your models will only have your own private data to learn from. This is why it is best for only large companies to utilize this option, as they will typically have enough of their own data to keep their models accurate. Without that large and/or constant flow of data, the model would not be able to improve in performance. Keep in mind that this data will also need to be well-labeled and of high quality. Unlike a Cloud API solution, on-premise models do not benefit from the collective knowledge of the rest of the AI provider’s customer base. Further, while you will have access to any updates made to the AI from your provider, these updates will not be as immediate.
3) Software Development Kit for Edge Devices
An SDK is a set of programming tools that allows developers to build apps for edge devices, like smartphones, in our case, with computer vision that works without users having to stay connected to the internet. Here, the data is processed on the phone itself, so developers can build apps that can be used in even the most remote corners of the world.
One Clarifai customer, i-Nside, used our mobile SDK to build an app that allows doctors to use a small phone attachment to take medical grade images of the inner ears of patients. The images are then processed through their custom diagnostic platform which was trained to recognize ear with almost 99% accuracy. With the SDK, medical professionals in outlying areas can still make diagnoses, even where they aren’t Ear, Nose, and Throat specialists, and have no internet access.
The most significant benefit of these SDKs is that they do not require an internet connection to work and can run smoothly on edge devices. Apps built with such an SDK will keep working, in real-time, wherever the users may be. When users get an internet connection, they can connect to the cloud services, and gain the advantages of aggregated knowledge from the AI provider, making their app even more accurate. Another critical caveat for SDKs: they are often “lite” versions of the full functionality offered via Cloud API or On-Premise.
Whether it’s over the internet, cloud or on their mobile devices, with these tools, anyone in the world can access the power of computer vision.