Quality control of 500,000 assets / 1,500,000 images (3 images per asset) on a custom, role-based QC platform forked from HaiCrowd.
A global organization building a large, multilingual image dataset for AI training needed to quality-control 500,000 assets made up of 1,500,000 images (three images per asset). The images arrived from vendors across the world, on an ad-hoc weekly and bi-weekly cadence, and were riddled with duplicates, corrupted files, look-alike backgrounds and typo-filled metadata. HaiData delivered a customized, role-based QC platform forked from our HaiCrowd platform that automates the mechanical checks and hands a clean, clustered dataset to a humans-in-the-loop team for final verification. Built for scale, the platform handled all 1.5 million records seamlessly, with no slowdown as batches accumulated. The result: a repeatable, versioned QC pipeline that removed bad data early and saved the client substantial manual effort and time.
| Total Assets | 500,000 assets (3 images each) |
| Total Images | 1,500,000 images |
| Dataset Characteristics | Multilingual, globally sourced, multiple categories and subcategories |
| Formats Supported | JPG, PNG, HEIC and other common image formats |
| Delivery Cadence | Ad-hoc batches (weekly, bi-weekly) |
Images were supplied by many different vendors, and the raw data carried a wide range of quality problems that had to be caught before it could be used for training:
The same image often arrived more than once across different vendor batches. Identical files needed to be detected and removed so the dataset was not skewed by repeats.
Beyond exact duplicates, many images were near-duplicates or shared the same background, which reduces dataset diversity. These needed to be surfaced for a human to judge.
Because each asset is a set of three images that belong together, a single corrupted image makes the whole asset unusable. The pipeline had to reject the entire asset rather than pass a partial set downstream.
Data did not arrive on a fixed schedule. Batches came in weekly, bi-weekly and ad-hoc, so QC had to be traceable batch by batch and easy to resume at any time.
The metadata accompanying the images was authored manually by vendors and contained frequent typos, which would have corrupted category and subcategory records if loaded as-is.
The dataset was multilingual and globally sourced, so reviewers frequently faced on-image text in languages they did not read, making verification slow and error-prone with a traditional workflow.
HaiData forked its HaiCrowd platform into a QC platform customized for this project, with role-based login so reviewers, supervisors and admins each see the tools and permissions they need. The platform automates the mechanical, repeatable checks and reserves human attention for the judgment calls.
Every batch that arrives is versioned (v1.0, v1.1, v1.2, and so on). This makes the whole QC history traceable, keeps ad-hoc deliveries organized, and lets the team resume, compare or export any specific version at any time.
As each dataset arrives, the platform automatically:
During manual QC the platform can translate and overlay the on-image text in place, similar to how in-browser translation works, so a reviewer can understand and verify multilingual content regardless of the original language.
A reviewer can pull up any similarity cluster and visually compare the grouped images side by side, then take the right action on the group. This is far faster and more reliable than trying to spot similar images one at a time.
After reviewer QC, a supervisor performs a second level of QC on the dataset, providing an independent check before results are considered final.
The platform handles all the image formats present in the dataset, including JPG, PNG and HEIC, so no data was left unprocessed because of its file type.
Admins can export QC results with a range of filters: a specific version, multiple versions combined, or a category-wise slice, so downstream teams get exactly the cut of data they need.
Because this is a large, continuously growing dataset, we took periodic full backups of the entire database throughout the project to keep the data safe and recoverable.
The platform was engineered to scale, and handled the full 1.5 million records seamlessly. Automated pre-filtering removed duplicate and corrupted assets on ingestion so only clean data grew the database; every batch was versioned; and QC state for all 500,000 assets stayed fast to query and export as the dataset kept growing week after week. New ad-hoc batches were simply ingested as the next version, with no slowdown and no re-processing of earlier data.
The diagram below shows the end-to-end pipeline, from vendor delivery through automated QC, humans-in-the-loop review and supervisor sign-off, to filtered export. Role-based access governs every stage, and the central database is backed up periodically.
Figure: End-to-end QC workflow. Role-based access governs every stage.
Our humans-in-the-loop team quickly understood the client's QC requirements and worked through the dataset on the customized platform, manually verifying the 500,000 assets that passed automated QC. Because automation had already removed duplicates and corrupted assets and grouped the look-alikes into clusters, reviewers could focus their attention where human judgment actually mattered.
By combining automation with a skilled humans-in-the-loop team on a purpose-built platform, HaiData solved a major data-quality problem for the client and saved a substantial amount of manual effort and time.