Image Annotation

License Plate Annotation for Vehicle Recognition System

Image

What happens when a computer vision pipeline depends on complex license plate data — and the data doesn’t exist yet? Our team had 14 days to annotate 100,000 images across regions, languages, and formats, down to every digit and symbol. Here’s how we built a high-accuracy dataset under pressure — and why synthetic data couldn’t compete.

Image

Task

A long-term client approached us with a task critical for their computer vision pipeline: to accurately annotate vehicle license plates across various regions for use in traffic camera systems. Unlike previous projects, this time the complexity was significantly higher. They needed not only bounding boxes for entire license plates, but also precise annotations for each individual digit, the region code, and specific regional symbols — including those in Arabic script.

Speed and accuracy were paramount. The client planned to train a neural network on this data to automate plate recognition in real-world conditions, and the annotated dataset had to reflect real diversity across regions, styles, and lighting conditions.

Solution

Task Design & Guidelines Development:

  • Domain Research and Client Interviews: We began by exploring the structure of license plates and regional variations across the target geography. This involved consultations with the client to clarify all edge cases and potential ambiguities.
  • Detailed Annotation Guidelines: We developed a comprehensive annotation manual covering every object class: full license plate, individual digits, region codes, and national/regional symbols.
    The guide included visual examples, rules for difficult cases (e.g., partially occluded plates), and standardized labeling logic.
  • Edge Case Library & Reference Materials: A shared library of rare or borderline cases was created to ensure consistency when annotators encountered unexpected formats or damaged plates.
  • Pilot Run & Calibration: A small batch of images was annotated and reviewed collaboratively with the client to lock in quality standards before full-scale production.

Scalable Team Setup & Training:

  • Specialist Team Assembly: We onboarded a dedicated team of over 30 trained annotators with prior experience in computer vision tasks, ensuring minimal ramp-up time.
  • Rapid Onboarding Process: Annotators went through structured training sessions, completed a qualification test, and participated in guided walkthroughs of the annotation platform.
  • Live Helpdesk Support: A real-time support system was launched to provide answers to annotators' questions on edge cases and tool usage, ensuring uninterrupted productivity.
  • Monitoring Infrastructure: A custom dashboard tracked real-time annotation rates, validator load, and individual accuracy metrics to maintain speed without sacrificing quality.
  • Balanced Workflows: The project was carefully scheduled to avoid annotator fatigue and ensure consistent throughput, with task assignments adjusted dynamically based on performance.

Iterative Delivery & Quality Assurance Loop:

  • Client Feedback Integration: Early deliveries were used to fine-tune both annotation rules and internal QA processes. Feedback from the client was immediately incorporated into updated guidelines.
  • Layered QA Process: A two-stage validation approach was used: manual reviews of random samples and logic-based consistency checks across labels (e.g., size coherence between digits and the plate bounding box).
  • Versioning & Rule Updates: As new plate formats and exceptions were discovered, the guidelines were updated, and annotators were briefed accordingly. Change logs were maintained and version-controlled.
  • Reporting & Transparency: Weekly reports summarized quality metrics, identified bottlenecks, and included recommendations for further refinements or automation opportunities.
StageInputWorkflow ScopeMain Quality Checks
Task Design & ResearchClient requirements, regional plate formatsStructure analysis, edge case identificationCoverage of formats, ambiguity reduction
Guidelines DevelopmentPlate samples, annotation requirementsCreation of detailed annotation manualClarity, completeness, edge case handling
Team Setup & TrainingAnnotator poolTraining, testing, onboardingQualification results, readiness
Image AnnotationRaw license plate imagesBounding boxes for plates, digits, symbolsLabel precision, structural consistency
ValidationAnnotated datasetManual review, logic-based checksAccuracy, inter-label consistency
Final QA & DeliveryValidated datasetDataset packaging and reportingConsistency, client acceptance
Pilot & Sampling
5 days
Guidelines & Metrics Alignment
5 days
Labeling
7 days
QA & Final Dataset Delivery
3 days

The Results

  • We delivered 100,000 images annotated with multilayered structure: bounding boxes for full plates, digits, region codes.
  • Delivered on time thanks to early team onboarding, pilot-phase efficiency testing, and a fallback plan involving ML-assisted pre-labeling.
  • >97.5% accuracy verified through manual QA and automated checks
  • No revisions required — all batches approved on first delivery
  • Improved model performance for the client’s plate recognition pipeline, outperforming datasets built with synthetic data
License plate annotation requires precise handling of multilayered data structures and regional variability. High model accuracy depends on detailed guidelines, consistent handling of edge cases, and continuous quality control throughout the annotation process.
Roman Lukoshin
Roman Lukoshin
Speech and Generative Data Manager

Similar Cases

  • Image
    NLP Annotation services

    Banking Call Categorization for NLP Automation

    Fast-tracked annotation of 363,000 banking calls with strict privacy — boosting NLP automation for debit, credit, and deposit queries.

    Lean more
  • Image
    Data Collection

    Data for Simulations: 3D Scanning for Robot Training

    Simulation environments need real geometry. Building them by hand requires a full production team — scanning them from reality requires three tools and one field visit. How do you turn a lidar sweep and 150 photographs into an IsaacSim-ready scene?

    Lean more
  • Image
    Data Collection

    Alopecia Image Collection for Medical Research

    How do you capture subtle differences in male hair loss at scale? We collected 350 multi-angle photo sets, labeled with expert precision using the Norwood Scale.

    Lean more
  • Image
    Image Annotation

    Image Annotation for Construction and Heavy Machinery

    We successfully completed a project annotating construction equipment, labeling approximately 5,000 images using object detection methods. Our approach ensured high accuracy and fast turnaround, fully meeting the client’s requirements.

    Lean more
  • Egocentric Data Collection for Humanoid Robot Training
    Data Collection

    Egocentric Data Collection for Humanoid Robot Training

    Open egocentric datasets give you 2D video with no depth, no pose, no tactile signal. Humanoid training requires all three. How do you build a multimodal setup that captures what open data structurally cannot?

    Lean more

Ready to get started?

Tell us what you need — we’ll reply within 24h with a free estimate

    What service are you looking for? *
    What service are you looking for?
    Data Labeling
    Data Collection
    Ready-made Datasets
    Human Moderation
    Medicine
    Other
    What's your budget range? *
    What's your budget range?
    < $5,000
    $5,000 – $25,000
    $25,000 – $50,000
    $50,000 – $100,000
    $100,000+
    Not sure yet
    • United States+1
    • United Kingdom+44
    • Afghanistan (‫افغانستان‬‎)+93
    • Albania (Shqipëri)+355
    • Algeria (‫الجزائر‬‎)+213
    • American Samoa+1684
    • Andorra+376
    • Angola+244
    • Anguilla+1264
    • Antigua and Barbuda+1268
    • Argentina+54
    • Armenia (Հայաստան)+374
    • Aruba+297
    • Australia+61
    • Austria (Österreich)+43
    • Azerbaijan (Azərbaycan)+994
    • Bahamas+1242
    • Bahrain (‫البحرين‬‎)+973
    • Bangladesh (বাংলাদেশ)+880
    • Barbados+1246
    • Belarus (Беларусь)+375
    • Belgium (België)+32
    • Belize+501
    • Benin (Bénin)+229
    • Bermuda+1441
    • Bhutan (འབྲུག)+975
    • Bolivia+591
    • Bosnia and Herzegovina (Босна и Херцеговина)+387
    • Botswana+267
    • Brazil (Brasil)+55
    • British Indian Ocean Territory+246
    • British Virgin Islands+1284
    • Brunei+673
    • Bulgaria (България)+359
    • Burkina Faso+226
    • Burundi (Uburundi)+257
    • Cambodia (កម្ពុជា)+855
    • Cameroon (Cameroun)+237
    • Canada+1
    • Cape Verde (Kabu Verdi)+238
    • Caribbean Netherlands+599
    • Cayman Islands+1345
    • Central African Republic (République centrafricaine)+236
    • Chad (Tchad)+235
    • Chile+56
    • China (中国)+86
    • Christmas Island+61
    • Cocos (Keeling) Islands+61
    • Colombia+57
    • Comoros (‫جزر القمر‬‎)+269
    • Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)+243
    • Congo (Republic) (Congo-Brazzaville)+242
    • Cook Islands+682
    • Costa Rica+506
    • Côte d’Ivoire+225
    • Croatia (Hrvatska)+385
    • Cuba+53
    • Curaçao+599
    • Cyprus (Κύπρος)+357
    • Czech Republic (Česká republika)+420
    • Denmark (Danmark)+45
    • Djibouti+253
    • Dominica+1767
    • Dominican Republic (República Dominicana)+1
    • Ecuador+593
    • Egypt (‫مصر‬‎)+20
    • El Salvador+503
    • Equatorial Guinea (Guinea Ecuatorial)+240
    • Eritrea+291
    • Estonia (Eesti)+372
    • Ethiopia+251
    • Falkland Islands (Islas Malvinas)+500
    • Faroe Islands (Føroyar)+298
    • Fiji+679
    • Finland (Suomi)+358
    • France+33
    • French Guiana (Guyane française)+594
    • French Polynesia (Polynésie française)+689
    • Gabon+241
    • Gambia+220
    • Georgia (საქართველო)+995
    • Germany (Deutschland)+49
    • Ghana (Gaana)+233
    • Gibraltar+350
    • Greece (Ελλάδα)+30
    • Greenland (Kalaallit Nunaat)+299
    • Grenada+1473
    • Guadeloupe+590
    • Guam+1671
    • Guatemala+502
    • Guernsey+44
    • Guinea (Guinée)+224
    • Guinea-Bissau (Guiné Bissau)+245
    • Guyana+592
    • Haiti+509
    • Honduras+504
    • Hong Kong (香港)+852
    • Hungary (Magyarország)+36
    • Iceland (Ísland)+354
    • India (भारत)+91
    • Indonesia+62
    • Iran (‫ایران‬‎)+98
    • Iraq (‫العراق‬‎)+964
    • Ireland+353
    • Isle of Man+44
    • Israel (‫ישראל‬‎)+972
    • Italy (Italia)+39
    • Jamaica+1876
    • Japan (日本)+81
    • Jersey+44
    • Jordan (‫الأردن‬‎)+962
    • Kazakhstan (Казахстан)+7
    • Kenya+254
    • Kiribati+686
    • Kosovo+383
    • Kuwait (‫الكويت‬‎)+965
    • Kyrgyzstan (Кыргызстан)+996
    • Laos (ລາວ)+856
    • Latvia (Latvija)+371
    • Lebanon (‫لبنان‬‎)+961
    • Lesotho+266
    • Liberia+231
    • Libya (‫ليبيا‬‎)+218
    • Liechtenstein+423
    • Lithuania (Lietuva)+370
    • Luxembourg+352
    • Macau (澳門)+853
    • Macedonia (FYROM) (Македонија)+389
    • Madagascar (Madagasikara)+261
    • Malawi+265
    • Malaysia+60
    • Maldives+960
    • Mali+223
    • Malta+356
    • Marshall Islands+692
    • Martinique+596
    • Mauritania (‫موريتانيا‬‎)+222
    • Mauritius (Moris)+230
    • Mayotte+262
    • Mexico (México)+52
    • Micronesia+691
    • Moldova (Republica Moldova)+373
    • Monaco+377
    • Mongolia (Монгол)+976
    • Montenegro (Crna Gora)+382
    • Montserrat+1664
    • Morocco (‫المغرب‬‎)+212
    • Mozambique (Moçambique)+258
    • Myanmar (Burma) (မြန်မာ)+95
    • Namibia (Namibië)+264
    • Nauru+674
    • Nepal (नेपाल)+977
    • Netherlands (Nederland)+31
    • New Caledonia (Nouvelle-Calédonie)+687
    • New Zealand+64
    • Nicaragua+505
    • Niger (Nijar)+227
    • Nigeria+234
    • Niue+683
    • Norfolk Island+672
    • North Korea (조선 민주주의 인민 공화국)+850
    • Northern Mariana Islands+1670
    • Norway (Norge)+47
    • Oman (‫عُمان‬‎)+968
    • Pakistan (‫پاکستان‬‎)+92
    • Palau+680
    • Palestine (‫فلسطين‬‎)+970
    • Panama (Panamá)+507
    • Papua New Guinea+675
    • Paraguay+595
    • Peru (Perú)+51
    • Philippines+63
    • Poland (Polska)+48
    • Portugal+351
    • Puerto Rico+1
    • Qatar (‫قطر‬‎)+974
    • Réunion (La Réunion)+262
    • Romania (România)+40
    • Russia (Россия)+7
    • Rwanda+250
    • Saint Barthélemy+590
    • Saint Helena+290
    • Saint Kitts and Nevis+1869
    • Saint Lucia+1758
    • Saint Martin (Saint-Martin (partie française))+590
    • Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)+508
    • Saint Vincent and the Grenadines+1784
    • Samoa+685
    • San Marino+378
    • São Tomé and Príncipe (São Tomé e Príncipe)+239
    • Saudi Arabia (‫المملكة العربية السعودية‬‎)+966
    • Senegal (Sénégal)+221
    • Serbia (Србија)+381
    • Seychelles+248
    • Sierra Leone+232
    • Singapore+65
    • Sint Maarten+1721
    • Slovakia (Slovensko)+421
    • Slovenia (Slovenija)+386
    • Solomon Islands+677
    • Somalia (Soomaaliya)+252
    • South Africa+27
    • South Korea (대한민국)+82
    • South Sudan (‫جنوب السودان‬‎)+211
    • Spain (España)+34
    • Sri Lanka (ශ්‍රී ලංකාව)+94
    • Sudan (‫السودان‬‎)+249
    • Suriname+597
    • Svalbard and Jan Mayen+47
    • Swaziland+268
    • Sweden (Sverige)+46
    • Switzerland (Schweiz)+41
    • Syria (‫سوريا‬‎)+963
    • Taiwan (台灣)+886
    • Tajikistan+992
    • Tanzania+255
    • Thailand (ไทย)+66
    • Timor-Leste+670
    • Togo+228
    • Tokelau+690
    • Tonga+676
    • Trinidad and Tobago+1868
    • Tunisia (‫تونس‬‎)+216
    • Turkey (Türkiye)+90
    • Turkmenistan+993
    • Turks and Caicos Islands+1649
    • Tuvalu+688
    • U.S. Virgin Islands+1340
    • Uganda+256
    • Ukraine (Україна)+380
    • United Arab Emirates (‫الإمارات العربية المتحدة‬‎)+971
    • United Kingdom+44
    • United States+1
    • Uruguay+598
    • Uzbekistan (Oʻzbekiston)+998
    • Vanuatu+678
    • Vatican City (Città del Vaticano)+39
    • Venezuela+58
    • Vietnam (Việt Nam)+84
    • Wallis and Futuna (Wallis-et-Futuna)+681
    • Western Sahara (‫الصحراء الغربية‬‎)+212
    • Yemen (‫اليمن‬‎)+967
    • Zambia+260
    • Zimbabwe+263
    • Åland Islands+358
    Where did you hear about Unidata? *
    Where did you hear about Unidata?
    Andrew
    Head of Client Success

    — I'll guide you through every step, from your first
    message to full project delivery

    Thank you for your
    message

    It has been successfully sent!

    We use cookies to enhance your experience, personalize content, ads, and analyze traffic. By clicking 'Accept All', you agree to our Cookie Policy.