文档扫描与图像处理

条码识别速度究竟可以有多快?

速度和准确率是条码识别的两个重要指标。在保证准确率的前提下,条码识别的速度可以有多快?我们使用 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天免费试用版本