Are you considering the use of a cloud-based, managed computer vision service like Amazon Rekognition or Google Cloud Vision in your application? Do you want to know how the Amazon and Google services compare to one another feature by feature? By cost? By constraint?
Then you’re in the right place.
I compiled this information when I was evaluating Amazon Rekognition for @AircraftML, an aircraft classification system that uses Rekognition to assist in aircraft detection. This information helped me decide which service was right for AircraftML and ultimately led to me choosing Amazon Rekognition for my use case.
To broaden the comparison beyond just Amazon and Google (I was already familiar with both), I included other providers identified in Gartner’s Infrastructure as a Service (IaaS) Magic Quadrant. I left out Alibaba and Oracle because they do not currently offer managed computer vision services.
At the end of this article, I’ve included several examples demonstrating the results obtained from each of the services for tasks performed by AircraftML.
Providers generally use the same terminology when describing features, but where necessary, I’ve attempted to normalize descriptions for clarity. Features common across all providers are listed at the top of the table, and features unique to single providers are at the bottom. Providers are listed left to right in alphabetical order.
- Amazon does not allow images to be specified by URI. For images larger than 5MB, users would need to first upload to S3, then process with Rekognition.
- Microsoft only allows URI-based image specification and also restricts image sizes to just 4MB.
Locations and access
- US East (N. Virginia)
- East US 2 Region
The examples below represent a sample of the tests I did with each of the services and the results they provided. All of these tests were done using the web consoles found here:
AircraftML uses Amazon Rekognition to decide whether an image contains an aircraft or not. It does this by requesting image labels from Amazon Rekognition and then inspecting those labels for aircraft-related terms. The example below shows the different labels returned by each of the provider services. Notes:
- This table includes only labels returned with greater than 50% confidence by each service.
Tail number recognition
AircraftML uses Rekognition to extract aircraft tail numbers from images and augment the aircraft classification process. The example below shows the results of tail number detection using each of the provider services. “Y” indicates that the tail number was correctly identified by the service; “N” means it wasn’t. Notes:
- Microsoft UI consistently returned a limit error when images were less than 4MB in size. It turns out there is also a 3200x3200 pixel limit when performing OCR.
- IBM consistently failed all attempts at tail number recognition. In their defense, this is feature is listed as in “limited beta.”
- AircraftML processes nowhere near two million images per month. Most months, it would qualify under each provider’s free tier.
I hope you find this information helpful and that it's useful in your search for a managed computer vision service. Please let me know if you find any errors or omissions, or there are other details that you think might also be helpful to include. Good luck on your next project!