Blog archive

IBM Dev Creates AI-Driven App To Automate Image Labeling

I was reminded today that developers are action-oriented -- at least when it comes to problems that can be solved with software. IBM developer advocate Nicholas Bourdakos knew his colleagues were spending hours manually labeling thousands of images for their machine learning models, and he railed against this injustice to the heavens, "This shall not stand!"

Okay, he probably didn't do that. (I like to think all developers do it in their hearts.) In fact, when I talked with him on a video call today, he was the definition of "chill."

"My goal was just to make it a lot easier for developers and non-developers to label their own custom data for training machine learning models," Bourdakos said. "It was a totally manual process, pretty much like hard coding files. This tool lets you just drag and drop videos and images and mark them up. It's still a little bit manual, but it's a lot better than it was before."

See? Chill.

The open source tool Bourdakos created is called Cloud Annotations. It leverages AI to assist with the labeling process. It's built on top of IBM Cloud Object Storage, so you need an IBM Cloud account to use it. Big Blue offers a "lite" tier of object storage, which includes 25 GB, free. Along with its reliability, cloud object storage opens up the potential for collaboration, Bourdakos pointed out, because a team can use the tool to annotate a dataset simultaneously in real-time.

"You need a lot of images to train a computer vision model," Bourdakos said. "Right now, it takes 200 to 500 samples of hand-labeled images for a model to detect one specific object. you need a lot of images.

Cloud Annotations supports uploading of both photos and videos. The tool can be accessed when using the Cloud Annotations GUI. Here's how it works:

  • A user uploads and labels a subset of photos via the Cloud Annotations GUI. 
  • The user then trains a model following the instructions on the "Training a model" page.
  • The tool uses that model to label more photos.
  • The user selects the "Auto label" button in the GUI and the tool autolabels the images that are being uploaded.
  • The user reviews the new labels.

Here's a link to a video on Twitter that shows how the auto-labeling function works. There's also a video on the Web site featuring images of a puppy playing in the sand at the beach. (Truly adorable.)

The Cloud Annotation auto labeling feature is currently live on GitHub and available to anyone.

Posted by John K. Waters on January 30, 2020