In 2014 a professional photo lab asked us to develop an image processing system. The system was intended to automatically remove a solid color background from photos and correct the problematic issues such as improper exposure, shadows in background or bad lightning setup.
A large digital photo services company.Industry
Professional photography studios
and color–processing labs.
The previous system in place produced 50% error rate leaving lots of false transparent areas on photos and the company hired employees to manually correct them using tools like Adobe Photoshop.
This led to a higher cost per image, long learning curve and made it hard to scale up in busy seasons and reduce costs when load is low.
The desktop app would require more investment and would limit opportunities to run business in distributed, cost effective manner. That is why TeamDev developed a cloud application for automatic background removal and final stage image post-processing. The solution also provides business process management tools.
Computer vision algorithm is the core of the automatic background removal. This is a computation-intensive process. 85% of the images produced by this algorithm require no further processing.
TeamDev developed a web photo editing tool to post-process the remaining 15% images. An operator can spot and correct any defects left after the previous step.
With a per-minute billing of Google Compute Engine we were able to run lots of instances and process tens of thousands photos for less than 2 cents per image.
The introduction of Preemptible VMs, lower priced and short-lived compute instances suitable for batch jobs, allowed our team to decrease the costs by a factor of 3.
Client’s photo lab processed up to 150K images per month. With that scale in mind and the goal to avoid the burden of maintaining the infrastructure, we chose the Google Cloud Platform as a solution for business process management.
Photo editing tool runs on top of Google App Engine, part of Google Cloud Platform suite, that manages instances, load balance requests and provides auto-scaling, high performant NoSQL data storage called Google Datastore.
The core image processing algorithm relies on the compute power of Google Compute Engine instances. Integration between Google App Engine and Google Compute Engine allowed us to automatically scale up and down instances running our custom-built VMs, based on the size of the incoming batch of photos and the number of users logged on at the same time.
Google Cloud Storage is a key part of the Google Cloud Platform and offers durable and highly available object storage at a low cost. We store thousands of photos reliably and can provide access to them with low latency.
Less expenses per image with our Google Cloud solution
Customer is happy to bank all of their scalability and traffic concerns on Google App Engine. TeamDev in its turn doesn’t need a system administrator or anyone dedicated to deploying the app, so 99 percent of our time is spent working on the application development.
To the current date our team delivered background removal solution which helped our client to process more than one million images.
The number of processed images grew 13 times with Compute Engine
A good autoprocessing rate minimized human interference so that only 150 out of 1,000 photos need to be manually retouched. This ratio is still decreasing with our machine learning solution.