Direct answer
A full-page menu test is about layout and association, not merely whether a camera can recognize some words. The reviewer should verify that the workflow preserves distinct regions, reading sequence, and which price or description belongs to which item. `OCR-DEDICATED-01` describes recognized text as structured blocks, lines, and elements; `COVE-OCR-01` records a checked product path with a structured visible-text field and copy/export actions. Neither fact proves that a full-page menu is segmented in a particular way or that translation preserves every visual relationship. This guide narrows the test to region-to-text mapping and reading order for a long menu image. It does not claim that a named application supports full-page capture offline, that a language pair is available, or that every menu layout can be read. General camera setup such as lighting and distance should be recorded as controlled inputs, but the primary test question is whether the output still maps text to the right region. A crop-by-crop workflow and a full-page workflow are different conditions and should not be treated as equivalent. Create a fixture with intentionally labeled regions: section headings, two or more columns, item names, descriptions, prices, footnotes, and a repeated marker such as a dietary label. A fluent reader should prepare the literal source transcription and mark the expected order and region association. Include a second fixture with a narrow or obscured region, but do not infer missing text. Store image ID, orientation, crop and resize operations, and the OCR result. Avoid actual personal data in the image and use authorized menu material. The output contract should keep source recognition distinct from translation and interpretation. Each OCR span should retain its source region or order identifier where the selected recognizer exposes one. The translation stage should not silently reorder columns or move a price to another item. If the pipeline returns only a flat string, the reviewer cannot assume that layout association survived; record that limitation, and test whether the UI lets a person compare each translated block against the original. Do not use a fluent model summary as proof that all menu items were captured. Assess task stages independently: image capture/import, orientation correction, region detection, reading order, literal text, translated text, user review, correction, export, and deletion. Vary one factor at a time when testing crop or perspective. Save intermediate output for review with synthetic identifiers, but avoid storing private content in analytics. Check that cancellation or recognition failure does not leave a result falsely marked complete. When the page is too dense or clipped, the expected safe outcome may be to request a closer region rather than invent an omitted item. Write acceptance rules before viewing output. For example, does every fixture region have an output state; are item and price pairs still matched; are headings and footnotes distinguishable; can unreadable regions be rejected; and does the reviewer see the source beside translation? Those are structural properties, not translation-accuracy scores. A reviewer may separately evaluate meaning using a checked target reference, but any score requires a documented corpus, scoring policy, and retained raw results. Do not produce an ungrounded percentage from a few menus. Report the exact build, image fixture IDs, camera/import path, preprocessing configuration, OCR structure, translation stage, and known limitations. A pass supports only the tested page layouts and configuration. It does not imply support for all scripts, languages, paper sizes, restaurant menus, or devices. This distinct region-and-order test complements—not replaces—single-section camera checks by asking whether a long image retains usable mapping from visible text to the menu item a person intends to select.
A reviewer checks a two-column menu with separate prices
The image contains section headings, dish names, descriptions, and prices in two columns. A single flat OCR string could be readable yet attach a price or translated description to the wrong dish.
Decision
Use a labeled region map and reviewed reading order, then verify each translated block remains associated with its source item and price.
Expected outcome
The test reports layout association and uncertainty states separately from language quality or broad camera capability.
Evidence to collect
The claim becomes reviewable only when the following evidence is attached to the same artifact and test run:
- Full-page menu image corpus
- Region and reading-order record
- Translation, correction, and failure outcomes
Task quality needs a versioned corpus and acceptance rules. Fluent sample output is not an accuracy result.
Implementation workflow
- Build a region-labeled fixture set. Collect authorized full-page images with IDs for headings, columns, dish names, descriptions, prices, and footnotes. Prepare literal transcription and expected order before running the app.
- Record image transforms. Log orientation, crop, resize, perspective correction, and capture/import route. Treat a changed crop as a different condition rather than attributing every output change to the model.
- Inspect OCR regions and reading order. Compare returned blocks/lines with the fixture map. Record regions missing, merged, duplicated, or reordered; do not fill obscured text from context.
- Check translation-to-item association. Verify each translation, price, and description remains linked to the intended source region. Present original and translated blocks together for reviewer correction.
- Test failure, review, and export. Cover dense/clipped pages, cancellation, recognition failure, user correction, export, and deletion. Ensure incomplete output is marked partial or rejected, not complete.
Keep each transition observable. A failure should identify the stage, artifact, runtime, and recovery action without logging private user content.
Acceptance criteria
- Each fixture region has an explicit output state and expected reading order, including missing or unreadable areas.
- Dish names, descriptions, and prices remain associated with the same source region or are visibly marked uncertain.
- The report separates structure from translation meaning, records build and transforms, and limits conclusions to tested layouts.
Decision table
| Dimension | Choice or evidence | How to interpret it |
|---|---|---|
| Single cropped menu item | One local region at a time | Easier to inspect, but does not test whole-page segmentation or column order. |
| Full-page multi-column image | Region mapping and reading-order test | Tests associations across the page; a flat readable string may still lose layout. |
| Typed transcription | Translation-only control | Can isolate translation but bypasses capture, OCR, and layout preservation. |
Failure patterns to prevent
- Using one cropped dish as full-page proof
- Guessing obscured menu text
Also prevent silent fallback, unpinned artifacts, missing cancellation, and conclusions that combine unlike configurations. Store unsuccessful runs alongside successful ones.
Minimum reproducibility record
| Layer | Record |
|---|---|
| Device | Manufacturer, model, chipset, RAM class, operating-system build |
| Software | Application version and git commit |
| Model | Family, variant, revision, format, file length, hash, quantization |
| Runtime | Name, revision, requested backend, observed backend evidence |
| Workload | Fixture revision, input hash, prompt hash, output policy |
| Outcome | Completed, failed, cancelled, fallback, and privacy-safe diagnostics |
Release checklist
- ☐ The primary query is answered without an unsupported number.
- ☐ Every artifact and runtime is pinned.
- ☐ The representative task and failure policy are explicit.
- ☐ Lifecycle, cancellation, cleanup, and fallback are tested.
- ☐ User-content and network boundaries are documented.
- ☐ Result wording applies only to the recorded configuration.
- ☐ The page links to raw method or evidence when results are added.
Sources and related evidence
- ML Kit text recognition
- Cove benchmark method
- Google ML Kit text recognition v2
- Android CameraX image analysis
- Android CameraX ImageAnalysis reference
Chinese deployment and troubleshooting content is organized in the .奇连 AI 端侧专题.
Frequently asked questions
If every menu word appears, did the full-page test pass?
Not necessarily. Reading order and association matter: a price can be attached to the wrong item even when every recognized word is present.
Can a model infer text hidden by glare or cropping?
It may guess, but the test must mark that region unreadable or uncertain. Do not present inferred wording as captured source text.
Does one full-page menu prove all camera translation works?
No. It applies only to the recorded layout, image conditions, build, and language configuration. Other scripts, devices, or menu styles require separate evidence.