.png&w=1920&q=75)
GrepRAG is a Docker-based OCR submission for Match 2. It reads a single image of a licence plate, house number or road sign and writes the recognised text to JSON, following the challenge's output contract. It runs entirely on a local, open-source model, openbmb/MiniCPM-V-4.7-1B (Apache-2.0), loaded with Hugging Face transformers on top of the mandated ROCm PyTorch base image. No API calls, secrets or network access are needed at runtime. The weights, the licence text and a NOTICE file ship inside the image. To improve accuracy on hard photos, each image is turned into several variants (upscaled, contrast-adjusted, grayscale and others). The model reads each variant, and a voting step picks the most consistent result. A rule-based cleaner then follows the Match 2 conventions: it drops banners and slogans, keeps the Chinese province character on plates, keeps only the digits on house plaques, keeps the words on worded signs, and joins multi-line text with single spaces. A resident model server keeps start-up cost low. If the server is unavailable, the app answers in-process within the per-image time limit. The image is about 32 GiB uncompressed, under the 60 GiB cap, and is not squashed. The code is covered by 121 unit tests. On a Colab T4 the model read all 10 sample images correctly. No external datasets were used.
Category tags: