Check and clean a dataset
Label typos, empty images, duplicates across splits, blurry frames and mislabeled objects are cheap to fix before training and expensive to discover after. OvalBee has nodes that profile a dataset, point at the suspicious parts, and fix what the findings show — all as regular nodes, so the same checks run again on the next batch of data.
Profile a dataset
The Dataset quality control template is the smallest useful flow in OvalBee: a dataset and an Annotation quality node. Its report shows how many images carry labels, how classes balance across splits, how objects are sized and placed, and a list of findings that need a look — unlabeled images, labels outside the frame, duplicate images, leakage between splits, rare and possibly misspelled classes.
Two more nodes look at other sides of the data:
- Image quality measures every image from its pixels — sharpness, exposure, flat or broken files — so it works on data nobody has labeled yet.
- Dataset insights reads the statistics and findings of the other nodes and writes a short verdict on what they mean for training. It uses an LLM and needs an Anthropic API key stored as a secret.
See it running: live example · case study: reading a quality report
Fix it with rules
The Filter-based data cleanup template turns findings into fixes and proves they worked: profile the dataset, remove the images that should carry labels but don’t with Filter images, rename a misspelled class with Transform annotations, and profile the cleaned copy next to the original. The source dataset is never changed, so the two reports compare directly.
Other rule-based tools for the same job:
- Filter annotations removes the individual labels that match your conditions, or keeps only those.
- Remove assets takes images out of a dataset.
- Transform annotations also keeps only some classes or one shape per class, which training nodes often need.
See it running: live example · case study
Look deeper with embeddings
Some problems don’t show in statistics: two classes that look the same, an object labeled as the wrong class, a batch of images unlike anything the model trained on. The embedding nodes compare images and objects by what they look like. Start with AI index embeddings, which embeds a dataset into the workspace’s index — every node below reads from that index.
Each writes its candidates into a review dataset, so the natural next step is a labeling stage where someone confirms or corrects them.
Let the model point at label errors
Once you have a model, its confident disagreements with the ground truth are a strong signal. After Evaluate object detection, Review suspected label errors collects the images the evaluation flagged as probable label mistakes into a dataset a labeler can open. Find annotation gaps does the same for objects the model finds confidently but nobody labeled.
Make it yours
- Check every batch. Put the quality nodes after your import, so each new batch of data gets a report before it enters labeling.
- Gate labeling. Send the review datasets of Similar pairs or Label diagnostics into a labeling stage with outcomes such as Keep, Fix and Remove.
- One verdict for everything. Pass the reports of Annotation quality, Similar pairs and Label diagnostics to Dataset insights through its Findings from other nodes input, and get one summary instead of three reports.