OCR for plates and signs on AMD

A vision-language model served from a Docker container on AMD ROCm, reading US and Chinese licence plates and road signs from real photos. 22/22 on real photos, under 1 second per image on an MI300X.

View source Fetching GitHub activity…

The brief

Built for the AMD AI Challenge: read US and Chinese licence plates and road signs from real photos, delivered as a Docker container that runs on AMD ROCm hardware.

What I built

A vision-language model (Qwen2.5-VL) served from a client/server container on the required ROCm base image, published on Docker Hub. A resident server loads the model once and stays warm; the grader calls a small entry script per image. I benchmarked it on a set of real photos and a deliberately degraded “hard” set, and kept the smaller 3B model after the 7B scored the same, because the 3B is faster and lighter.

Results on an MI300X

Set Score
Real photos 22 / 22
Hard set 64 / 66
Time per image under 1 second
Startup about 16 seconds

Also: cited RAG entry

A second challenge entry answers hidden questions over a mixed document folder with the exact file and location that supports each answer. The index pass has to survive the awkward cases the harness plants on purpose: empty directories, unreadable files and a corpus that differs from the sample. Repository.