Back to Case Studies

Faster blood cell labeling with live training

Label a few blood smears by hand and let a model that learns as you go prelabel the rest. Before long, your team just reviews.

Related templates

Faster blood cell labeling with live training

Blood smears are some of the most tiring images to label. Every image is full of small round cells that look almost the same, and the cells that matter are rare: red blood cells infected with the malaria parasite and white blood cells. In the original dataset, an expert malaria researcher labeled the cells by hand. This work needs an expert’s eye, and it is slow.

In this post we turn hours of drawing boxes into a quick check, with the same quality. The expert labels only a few images. A model trains on them right during labeling, and soon the next images arrive with the boxes already drawn. People only check them.

The first images: the expert draws every box by hand.

The first images: the expert draws every box by hand.

A blood smear where every red blood cell has a full frame drawn by a person
From the third image, the model joins in and speeds things up. The annotator makes only small fixes.

From the third image, the model joins in and speeds things up. The annotator makes only small fixes.

A blood smear where the model marked almost every red blood cell. The annotator added a few missed cells, deleted one extra box and resized one box; each change has a badge.
Once the model's quality is high, it does all the work.

Once the model's quality is high, it does all the work.

A blood smear where every red blood cell was marked by the model and nothing was changed
The model helps after2 images

Its boxes appear right in the labeling tool

Quality is measured after10 images

The model scores itself on images it has not seen

Cells found on new images99%

After 12 images labeled by hand

Measured by the live training session during this run.

The graph is built from three ready blocks from the template library: Import images by drag & drop, Live training module and Basic labeling pipeline, here in a simple form without review. Add the three blocks, connect them, and the setup wizard configures them for your data. You can add the Live training module to any labeling graph the same way.

Here is the live graph from this run. Open any node to see its settings.

The live graph from this post. Open it in OvalBee ↗

How it works

The idea is simple: labeling and training happen at the same time. The scheme below shows it in three acts:

  1. Label a few images by hand. People label the first images themselves. Every submitted image goes to two places at once: to the labeled dataset, as usual, and to live training. The model learns from the very first image.
  2. The model starts helping. The model keeps learning and now also sends its boxes back to the labeling tool. People still add, fix or delete a few of them, and each image goes faster.
  3. Whole batches arrive prelabeled. The model reaches the quality it needs, and the Quality gate opens. Every new batch goes to the model at once, comes back with the boxes drawn and lands in the labeled data.

The further you go, the less there is to do: after a few images, people check boxes instead of drawing them.

imagesLabeling pool4039Labeling1 expert01Live trainingLabeled data3imagesboxesLabeling pool3635Labeling1 expert01Live trainingLabeled data7imagesboxesNew batch3029282726Quality gatequality ≥ 60%Prelabel batchLive trainingQuality 99%Labeled data1920212223imagesLabeling pool40Labeling1 expert1Live trainingLabeled data3imagesboxesLabeling pool36Labeling1 expert1Live trainingLabeled data7imagesboxesNew batch28Quality gatequality ≥ 60%Prelabel batchLive trainingQuality 99%Labeled data20

1Label a few images by hand

  1. Labeling An expert draws every box by hand.
  2. Live training Each submitted image also trains the model.

2The model starts helping

  1. Suggested boxes The model draws boxes in the labeling tool.
  2. Labeling The expert fixes a few, so it goes faster.
  3. Live training The model keeps learning from each image.

3Whole batches arrive prelabeled

  1. Quality gate The model is above 60% quality, so new batches pass.
  2. Prelabel batch It collects a batch and sends it to the model.
  3. Live training The model returns boxes for the whole batch, then it moves on.

Label a few images by hand

The images we start with: many small, similar cells on every one.

The images we start with: many small, similar cells on every one.

A grid of blood smear images in the Input data dataset: different stains, many small round cells per image

We took the images from the public Blood Cell Segmentation dataset on Dataset Ninja. To keep the case simple, we label boxes instead of masks, with three classes: red blood cell, infected red blood cell and white blood cell. The class names are plain words on purpose: the model reads them as a text prompt, so it knows what to look for from the start.

Dataset: Blood Cell Segmentation on Dataset Ninja, MIT.

The expert opens the labeling tool and labels the first images as usual. The live training session starts after two submitted images. The model picks up the patterns quickly, and from the third image on it already helps.

The labeling tool shows the session right on the image. Before training starts, it tells you how many images are left to submit.

Before training starts: the tool asks for two submitted images.

Before training starts: the tool asks for two submitted images.

The labeling tool with a status chip that says Submit 2 more images and the Live Training button in the top bar

Then the session starts learning, and the Predict button draws the model’s boxes on the current image. The annotator keeps the good ones and fixes the rest. The Live Training menu picks the session and the confidence threshold, and No AI Assistance switches the help off at any time.

The session is learning: Predict draws the model's boxes, the menu turns the help on or off.

The session is learning: Predict draws the model's boxes, the menu turns the help on or off.

The labeling tool while the session is learning: the status chip with the Predict button, and the Live Training menu with the session, the confidence threshold and the No AI Assistance option

Very soon the model’s boxes need only a couple of fixes per image: the annotator adds a missed cell or changes a class and submits.

Left: the model's boxes. Right: the same images after the annotator's few fixes.

Left: the model's boxes. Right: the same images after the annotator's few fixes.

Two blood smears, each shown twice: on the left with the model's boxes, on the right as the annotator submitted them, with a few added, deleted or fixed boxes marked by badges

The model starts prelabeling

After 10 labeled images, the live training session reports its prelabel quality: how well it labels images it has not trained on yet. Before an image joins the training set, the model labels it first, and its boxes are compared with what the person submitted. The labeling tool shows how the model is doing as you work.

The tool shows the model's quality while people label.

The tool shows the model's quality while people label.

The labeling tool with the status chip that says Learning: Good quality (99%) over an image with model boxes on every cell

The Quality gate node watches this number. While it is below the threshold, new images go to people as they are. Once it passes the threshold, the prelabel branch opens: every new batch is prelabeled by the model before it reaches the labeling pool. In this run the threshold is 60%, and the model reached 99%.

The model is ready, so new batches are prelabeled automatically.

The model is ready, so new batches are prelabeled automatically.

Part of the graph: Live training feeds the Quality gate node with the condition prelabel quality at least 60 and the current value 99. The Yes branch goes to Prelabel batch with 30 images, the No branch goes straight to Move to labeling.

The result

From this point, people no longer label images from scratch. Whole batches arrive with every box already drawn, and the annotator only looks them over.

A prelabeled batch: every image arrives with the boxes already drawn.

A prelabeled batch: every image arrives with the boxes already drawn.

A grid of prelabeled blood smear images: every cell already has a box, infected cells are marked in red

The Prelabel efficiency node measures how much of this work the model does. It compares what the model drew with what the annotator submitted.

We built this public example as a demo, and after only 12 images labeled by hand the model already shows these numbers on the next 30:

Correct boxes88.6%

Kept by the annotator as they were

Extra boxes0.0%

Nothing for the annotator to delete

Wrong class0.0%

Every class is right

Prelabel efficiency on 30 prelabeled images with 2,212 cells.

The expert labeled only a few images by hand. Everything after that came from the model, so the team saves hours of drawing boxes, and the expert’s time goes where it matters. The model keeps learning from every submitted image, so the prelabels keep getting better while the team works.

Try it on your data

The Live training module works on any detection task, and it pays off most where images hold many small, similar objects, like cells, seeds, parts on a conveyor or products on a shelf. Add Live training module to your labeling graph, connect it, and let the setup wizard do the rest: an expert labels a few images, and the model takes over most of the drawing.