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.
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.