I recently presented a talk on how GumGum implements a scalable computer vision solution in a cloud-only environment, at the annual Embedded Vision Summit, organized by the Embedded Vision Alliance in Santa Clara this May. Here is the abstract of my talk followed by the video of the presentation.
A growing number of applications utilize cloud computing for execution of computer vision algorithms. In this presentation, we introduce the basics of creating a cloud-based vision service, based on GumGum's experience developing and deploying a computer vision-based service for enterprises. We explore the architecture of a cloud-based computer vision solution in three parts: an API, computer vision modules (housing both algorithm and server), and computer vision features (complex pipelines built with modules).
Execution in the cloud requires the API to handle a continuous, but unpredictable, stream of data from multiple sources and task the appropriate computer vision modules with work. These modules consist of an AWS Simple Queue Service and an EC2 auto-scaling group and are built to handle both images and video. We discusse in detail how these modules optimally utilize instance hardware for executing a computer vision algorithm. Further, we discusses GumGum's method of inter-process communication, which allows for the creation of complex computer vision pipelines that require several modules to be linked. We also addresse cost and run-time tradeoffs between GPU and CPU instances.