优拓产品功能地图
从产品用途、客户目标、五种使用场景到五个功能模块,建立新人对优拓产品的第一层认识。
优拓产品是一个把现场信息变成业务结果的识别产品
客户现场看到的是纸张、标签、二维码、条码或设备上的文字;客户真正需要的是可以使用的码值、字段、数量和判断结果。优拓产品负责从画面中找到这些内容,读取它们,并把结果交给用户或业务系统。
客户面前有什么
可能是一个码、一张标签、一段文字,也可能是同一画面里的多个码或多张标签。
客户想得到什么
是读出一个码值、拿到标签字段、识别文字,还是一次完成批量读取和整托汇总。
产品用哪个模块
不同任务需要不同的定位、模板、OCR、解码、跟踪或排序能力,因此产品拆成多个模块。
最后交付什么
系统输出码值、字段、文字、批量列表或多标签结构化结果,完成一次业务动作。
FIVE SCENARIOS
接下来,用五种场景认识产品
先看客户面对的场景和希望得到的结果;下面的五个功能模块再说明产品具体提供哪些能力。
单码
画面中只有一个需要读取的二维码、DM 或一维码,客户不关心周围的其他内容。

单标签
画面中是一张完整标签,标签内部同时包含二维码、一维码和多类文字字段。

纯文字
画面中主要是没有条码的文字信息,客户关心的是文字本身及其字段含义。

多码
同一画面中同时出现多个二维码或条码,客户希望一次处理画面内的全部编码对象。

多标签
画面中同时出现多张标签或一整托标签,每张标签内部还可能包含多个字段。

A 产品与算法:先认识六个产品功能模块
顶部是五种使用场景,下面按优拓产品的实际能力划分六个模块;一个模块可以覆盖一种或多种场景。
解码数据难标注,所以用仿真补足覆盖
仿真的核心是答案已知、变量可控;但仿真最终要回到真实设备验证。
仿真数据的大致链路
当前示例的仿真目标是 QR 码,重点覆盖码面变形和模块粘连问题。先明确目标,再生成答案已知的码图,最后模拟相机和现场环境。
1 · 确定目标
明确码制为 QR 码,并确定需要重点解决的变形和粘连难点。

2 · 生成码图
根据目标内容生成答案已知的理想 QR 码图,作为后续模拟的基础。

3 · 模拟成像
在理想码图基础上加入成像和环境影响,得到更接近相机实际看到的 QR 图像。
一维码
Code128、Code39、EAN 等码制规律不同,通常要按码制分别制作训练数据,并维护对应模型。
简单理解:模型结合条纹特征和码制规则,逐步恢复出可读内容。
QR / DM
先通过分类能力判断类型、版本或形状,再搭配多个解码模型覆盖不同情况。
简单理解:模型结合码面结构和码制规则,逐步恢复出可读内容。
PDF417 等
后续会根据真实失败样本继续优化对应解码能力,仿真数据和真实数据会一起使用。
简单理解:针对不同码制特征,结合对应模型和解码规则恢复内容。
为什么要模拟相机和环境
理想黑白码图不等于相机看到的图。仿真需要考虑 AE 自动曝光、AF 自动对焦,以及不同距离、反光、暗光、失焦、过曝等条件,才能更接近真实测试集。
仿真图示例
下面展示当前 QR 仿真数据中的部分样例。不同参数和成像条件会形成不同程度的变形、模糊和模块粘连,用于扩充训练集和测试集。






把现场数据变成可测试、可训练的样本
无感采集和手动采集都要经过整理、标注、质检和测试,不能直接把原图当成可用数据。
从现场到生产的大致 pipeline
定位类标注
- 标签定位:标整张标签
- 条码定位:标一维码、QR、DM 等区域
- OCR 定位:标文字行或字段区域
内容类标注
- OCR 识别:录入正确文字
- 解码数据:记录码制和期望码值
- 采集前先定义目标,采集后才能自动判断是否读对
可能使用的工具
tools/EUTO_Labelme 可展示框选;tools/char_cropper 可展示字符裁剪;tools/frame_trace_player 可展示帧序和轨迹;annotation_tools/ 可作为标注入口。
把“现场读不出来”变成可复现的问题
销售、现场、数据和研发要共同补齐信息,离线回放则让问题可以重复观察和回归。
一次现场问题的基本流程
常见问题先看什么
| 现象 | 优先确认 |
|---|---|
| 标签无法定位 | 原图是否可见;距离、角度、反光、曝光是否异常;标签检测和模板匹配是否成功。 |
| 有框但无法解码 | 区分条码定位、裁剪/透视、码制分类和解码器问题。 |
| OCR 不准确 | 区分文字框错、字符识别错,还是规则转换错。 |
| 群读重复/漏读 | 查看连续帧、目标跟踪和去重是否异常。 |
离线回放怎么用
把现场的图像或帧序、配置和期望结果固定成 case,研发可以在没有客户设备的情况下重复观察问题。
新人可以参与制作 case、补充复现说明、维护期望结果和验证版本差异。
AI 可以怎么参与
把现象、case、配置、日志和期望结果交给 AI,让它帮助整理信息、比较正常/异常帧、提出定位假设和生成测试清单;最终仍由研发通过回放和真机验证。
问题上报到研发接手
演示如何补齐现象、设备、配置、样本和期望结果。
离线回放制作与验证
演示导入 case、运行回放、比较版本并加入回归集。