速度和准确率是条码识别的两个重要指标。在保证准确率的前提下,条码识别的速度可以有多快?我们使用 Dynamsoft Barcode Reader 做了一个简单的测试,模拟工业生产流水线上的扫码识别场景,得到的结果是在 30 秒内成功读取 745 个条码并解析了 250 个单一的值。
我们将在本文中详细介绍测试过程的各个方面,包括场景搭建,测试方法,硬件信息和结果分析。
场景模拟
为了更好地模拟工业场景,我们使用乐高玩具搭建了一个小型的传送带,位于侧边的电动马达会带动整个传送带顺时针旋转,一分钟时间可以旋转 20 圈,即 3 秒钟旋转一圈。本实验中传送带将在 30 秒内旋转 10 圈。
我们在传送带上固定 25 个零件,每个零件上都有一个单独的 Code 93 条码。它们的值按照顺序打印,从 A0000-A 起始,至 A0024-Y 结束。我们的期望是 Dynamsoft 的条码扫描软件在每个 3 秒钟的周期里都能正确识别出全部的 25 个条码。
硬件参数
硬件设备方面我们采用的是华为 Mate 20 手机和其自带的后置摄像头,摄像头参数如下:1200 万像素(广角,f/1.8光圈)+ 1600 万像素(超广角,f/2.2光圈)+ 800 万像素(长焦,f/2.4光圈),支持自动对焦(激光对焦、相位对焦、反差对焦),支持 AI 防抖。视频拍摄最大支持 4K 录制。
其他方面,手机尺寸为 6.53 寸,操作系统为 Android 10。
SDK 参数设置
为了进一步提升识别速度,Dynamsoft 厂家建议同时开启 Dynamsoft Camera Enhancer (DCE) 和 Dynamsoft Barcode Reader。Dynamsoft Camera Enhancer 是该公司专门用于控制手机摄像头的高级模块,在此次的评测中,为了减少等待解码的时间,我们将开启帧队列模式。在此模式下,无需等待解码时间较长的帧,DCE 会自动跳过这些帧,从帧队列中抓取最新的帧进行识别,这样一来将大幅度节省解码时间。
在整个识别过程中,屏幕分辨率为 1920*1080 像素,每秒帧数(FPS)设置为 25。单帧的期望解码数为 1,即每一帧中有且仅有一个码会被识别到。需要注意的是,相邻帧之间识别到的码可能会重复,但是为了更好地展示结果,我们不会在最终结果中过滤这些码。在得到所有最终结果之后,我们将手动计算在整个过程当中,我们一共识别到了多少单一的码值。
最后,定位算法采用的是 Dynamsoft Barcode Reader SDK 的 Scan Directly 模式。
评测结果
我们将 30 秒内识别到的所有结果输出并统计整理,如下所示:
值 | 识别次数 | 值 | 识别次数 |
---|---|---|---|
A0000-A | 32 | A0014-O | 29 |
A0001-B | 24 | A0015-P | 24 |
A0002-C | 27 | A0016-Q | 33 |
A0003-D | 22 | A0017-R | 26 |
A0004-E | 30 | A0018-S | 34 |
A0005-F | 33 | A0019-T | 33 |
A0006-G | 30 | A0020-U | 31 |
A0007-H | 36 | A0021-V | 29 |
A0008-I | 35 | A0022-W | 27 |
A0009-J | 33 | A0023-X | 30 |
A0010-K | 30 | A0024-Y | 33 |
A0011-L | 27 | 总计 | 745 |
A0012-M | 26 | ||
A0013-N | 31 |
- 不过滤重复结果
基于 FPS 25,我们可以计算得出 30 秒的视频中共有 750 帧。Dynamsoft 的条码软件共计处理了 745 帧。平均处理一帧并返回条码结果的速度为 40.27 ms。
- 过滤重复结果后
由于传送带是周期性旋转的,因此所有条码都是按照固定顺序出现的。本实验进行了 10 次旋转,过滤掉所有相邻 6 帧内的重复值,每个循环都得到了 25 个返回结果。去重后最后共得到 250 个单一的解码值。对结果进行分析,我们发现 Dynamsoft Barcode Reader 每秒可读取约 8.33 个不重复的值。
我们在逐一比对结果后分析得到,在 30 秒内没有漏解任何一个条码,并且读取的正确率也达到了 100%。
我们同时对比了市场上其他流行的商业性条码识别 SDK ,发现 Dynamsoft Barcode Reader 加上 Dynamsoft Camera Enhancer 的组合拥有更快的解码速度和识别性能。
在这次的评测过程中,唯一的缺憾是马达速度有限,无法让传送带以更快的速度旋转,因此我们无法深挖 Dynamsoft Barcode Reader 的解码速度极限。不过仅以目前的情况来看,Dynamsoft Barcode Reader 已经可以满足绝大部分对快速读码有高要求的工业场景,同时兼顾准确率。
关于大名软件
杭州大名软件有限公司成立于2004年,是一家民营软件企业。自成立以来,公司一直致力于为客户提供更稳定优质的服务。大名软件是加拿大软件公司 Dynamsoft 在中国大陆地区的唯一战略合作伙伴。独家负责 Dynamsoft 各项业务在中国的运营,包括产品销售、技术支持和市场营销。官网: www.damingsoft.com
关于Dynamsoft Barcode Reader SDK
- Dynamsoft Barcode Reader 让开发人员能够轻松地在不同的平台上集成条码和二维码识别功能。它支持所有主流的条形码类型,适用于各种复杂的扫码识别场景。仅需几行代码,您就可以将快速、准确、高效的扫码识别功能集成到应用当中,节省大量开发时间和成本。
- 支持平台:桌面端、服务器端、移动设备端、网页端。
- 联系大名软件获取30天免费试用版本 。