
Retail · AI in production
Printed promotions, cropped and read by machine
Computer vision crops each advertisement off the page, reads printed and handwritten text, and classifies the offer, at a volume no manual team could match.
- Client
- Collects printed retail ads and coupons into a product and offer database
- Segment
- Retail, pricing and promotions data
- Requirement
- about 20,000 ad blocks a day, at least 80% of processing automated
- Timeline
- 3 months, 9 person-months
- PyTorch
- ONNX
- YOLOv4
- YOLOv5
- CRAFT
- Bidirectional LSTM
- SynthText
- MJSynth
Before
What was true before
Promotional data was gathered from printed advertisements by hand. Each page was cropped, read and categorised by a person, which capped coverage and made the data late. The new system had to handle about 20,000 ad blocks a day, automate at least 80% of processing, and read text with accuracy close to 100%.
After
What we did
A pipeline that crops an ad page into individual blocks, reads printed and handwritten text, extracts brand, price, volume and product type, and classifies the offer type.
Build log
How it was built
- 01
Prepared training data from real-world and synthetic examples
- 02
Trained YOLOv4 and YOLOv5 to detect each ad on a page and crop it into a block
- 03
Applied CRAFT text detection on real and synthetic data
- 04
Recognised text with a spatial transformer, bidirectional LSTM, CTC and an attention module
- 05
Extracted brand, price, volume and product type, and classified the offer type
- 06
Tuned for speed and accuracy, and retrained as new data arrived
Measured
Results
As reported in the published case.
- cropping accuracy
- 99.3%
- accuracy recognising the offer type
- Almost 93%
Engagements
The services behind it
Engagement
Where this work sits
Next step
Yours would be the next one.
Tell us where it breaks, and you get a written answer on what breaks first and what it costs.