论文阅读:超高分辨率图像中快速、准确的条码检测

摘要

由于目标对象的尺度不同,超高分辨率 (UHR) 图像中的对象检测长期以来一直是计算机视觉中的一个具有挑战性的问题。在条码检测方面,将 UHR 输入图像调整为更小的尺寸通常会导致相关信息的丢失,而直接处理它们的效率很高且计算成本很高。在本文中,我们建议使用语义分割来快速准确地检测 UHR 图像中各种尺度的条形码。我们的管道涉及大小大于 10k×10k 的图像上的修改后的区域提议网络 (RPN) 和新提出的 Y-Net 分割网络,然后是用于在每个分割的条形码掩码周围拟合边界框的后处理工作流程。端到端系统的延迟为 16 毫秒,比 YOLOv4 快 2.5 倍,比 Mask R-CNN 快 5.9 倍。在准确度方面,我们的方法在合成数据集上分别以 5.5% 和 47.1% 的 mAP 优于 YOLOv4 和 Mask R-CNN。 我们在 http://www.github.com/viplabB/SBD/ 提供了生成的合成条形码数据集及其代码。
关键词: 使用深度神经网络检测条码、条码分割、超高分辨率图像。
作者的网址为:http://www-video.eecs.berkeley.edu/~avz/
论文的地址为:https://www.researchgate.net/publication/349336332_Fast_Accurate_Barcode_Detection_in_Ultra_High-Resolution_Images

1 引言

条形码是数字标志,通常由相邻和交替的黑白小矩形组成,已成为人类社会的固有部分。 例如,在管理中,它们用于编码、保存和检索各种用户的信息。 在杂货店,它们被用来跟踪销售和库存。 在电子商务中更有趣的是,它们用于跟踪和加快仓库和履行中心的处理时间。
在经典信号处理中,用于检测的滤波器是特定于图像的,因为输入图像不一定都是使用相同的照明、亮度、角度或相机获取的。 因此,需要自适应图像处理算法,这会影响检测精度 [1]。 此外,由于经典信号处理方法通常在中央处理单元上运行,因此与在图形处理单元 (GPU) 上轻松优化的深度学习实现相比,它们往往要慢得多。
多年来,已经提出了许多使用经典信号处理检测条形码的方法 [1, 2, 3, 4, 5],但几乎所有方法都需要很长时间来处理超高分辨率 (UHR) 图像 . 更具体地说,[5] 使用平行线段检测器,该检测器改进了他们之前的工作 [6],在霍夫空间中寻找具有最大稳定极值区域的假想垂直线来检测条形码。 卡托纳等人 [3] 使用形态学操作进行条码检测,但由于不同的条码类型具有不同的检测性能,因此该方法不能很好地概括。 类似地,[7] 提出使用 x 和 y 导数差异,但不同的输入图像会产生不同的输出,并且在 UHR 图像上使用这种操作通常会变得非常低效。
使用神经网络,虽然条形码检测任务有了很大改进,但很少有人解决 UHR 图像中快速准确的检测问题。赞贝莱蒂等 [8] 为使用神经网络通过研究霍夫空间来检测条形码铺平了道路。随后是 [9],它采用了 You Only Looked Once (YOLO) 检测器来查找低分辨率 (LR) 图像中的条形码,但众所周知,YOLO 算法在处理长形物体(例如代码 39 条形码)时表现不佳。 Mask R-CNN [10] 等实例分割方法在 1024 × 1024 像素大小的图像上表现更好,但在较小尺寸的图像上,输出的兴趣区域 (RoI) 与长的一维条码结构不能很好地对齐。这是因为无论对象大小如何,它通常都会预测 28×28 像素上的掩码,从而在某些条码预测上产生“摆动”伪影,从而失去空间分辨率。以同样的方式,专用对象检测管道,例如 YOLOv4 [11],虽然它们在较低的联合 (IoU) 阈值上表现良好,但在较高的 IoU 阈值下会受到准确性的影响。在使用 LR 图像分割作为检测手段的那些中,[12] 在更高的 IoU 阈值下也往往表现不佳。
在本文中,我们提出了一种使用深度神经网络检测条形码的管道,如图 1 所示,它由分别训练的两个阶段组成。与经典的信号处理方法相比,神经网络不仅提供了更快的推理时间,而且产生了更高的准确度,因为它们学习了有意义的过滤器以进行最佳特征提取。如图 1 所示,在第一阶段,我们扩展了 Faster R-CNN [13] 中引入的区域提议网络 (RPN),以提取可能存在条形码的潜在位置的高清区域。这个阶段允许我们显着减少在第二阶段本来需要的推理计算时间。在第二阶段,我们引入 Y-Net,这是一种语义分割网络,可检测给定输出 RoI 图像 (400 × 400) 中的所有条码实例。然后我们对预测的掩码应用形态学操作来分离和提取相应的边界框,如图 2 所示。
图 1. 提议的方法,修改后的 RPN 后面是 Y-Net 和边界框提取器
在这里插入图片描述图 2. 我们管道的示例输出; 黄色 - 分段条码像素; 紫色 - 分割的背景像素; 框 - 提取的边界框; (a) 合成条码图像; (b) 真实的条码图像;© (a) 的预测结果; (d) (b) 的预测结果。

现有条码检测工作的局限性之一是训练示例数量不足。 ArTe-Lab 1D Medium Barcode Dataset [8] 和 WWU Muenster Barcode Database [14] 是现有可用数据集的两个示例。 它们分别包含 365 和 595 张图像,地面实况掩码的分辨率为 640 × 480。ArTe-Lab 数据集中的大多数样本每个样本图像只有一个 EAN13 条形码,而在 Muenster 数据库中很少有超过 给定图像上的一个条形码实例。 为了解决此数据集可用性问题,我们发布了 100,000 个 UHR 和 100,000 个 LR 合成条形码数据集以及它们相应的边界框地面实况和地面实况掩码,以促进进一步研究。 本文的大纲如下:在第 2 节中,我们描述了我们的方法的细节; 在第 3 节中,我们总结了我们的实验结果,在第 4 节中,我们总结并扩展了我们未来的工作。

2 建议的方法

如图 1 所示,我们提出的方法由三个阶段组成:修改后的区域建议网络阶段、我们的 Y-Net 分割网络阶段和边界框提取阶段。
我们的 Y-Net 架构类似于英文字母“Y”,与 [15] 不同,[15] 使用预训练的编码器网络,该网络使用未经训练的镜像网络和解码器网络进行增强。

2.1 修改后的区域建议网络

区域建议在计算机视觉中具有影响力,在 UHR 图像中的对象检测方面更是如此。 在 UHR 图像中,条形码聚集在图像的一个小区域中是很常见的。 为了过滤掉大部分非条形码背景,我们修改了 Faster R-CNN [13] 中引入的 RPN,为我们的下一阶段提出条形码区域。 首先将 UHR 输入图像转换为 256×256 大小的 LR 输入图像,训练 RPN 以识别 LR 图像中的斑点。 一旦在识别出的斑点周围放置了一个边界框,所产生的提议边界框就会通过透视变换重新映射到输入的 UHR 图像,并裁剪出结果区域。 选择 RPN 的 LR 输入大小为 256 × 256,因为较低的分辨率会导致相关信息的丢失。 非最大抑制 (NMS) 用于预测以选择最可能的区域。

2.2 Y-Net 分割网络

如图 3 所示,Y-Net 由分布在 2 个分支中的 3 个主要模块组成:一个以蓝色显示的正则卷积模块构成左分支,一个以棕色显示的金字塔池化模块,以及一个扩张的橙色显示的卷积模块经过串联和卷积后构成了右分支。
在这里插入图片描述图 3. Y-Net 架构

常规卷积模块接收 RPN 的 400 × 400 输出图像,并由卷积层和池化层组成。 它从 64 通道 3 × 3 内核开始,每层的数量翻倍。 我们在卷积和最大池化之间交替,直到我们达到 25 × 25 像素的特征图大小。 该模块允许模型学习输入图像中任何位置的一般像素信息。
膨胀卷积模块利用条形码具有交替的黑白矩形的事实来学习其结构中的稀疏特征。 这个模块的动机来自这样一个事实,即扩张卷积算子在双正交小波分解的“算法”中发挥着重要作用 [16]。 因此,这种过滤器可以更准确地学习条形码中交替图案的不连续性和锐利边缘。 此外,它们利用多分辨率和多尺度分解,因为它们允许内核以从 1 到 16 的膨胀率扩大其感受野。这里也使用了 400 × 400 输入图像,我们保持 32 – 通道 3 × 3 内核遍及整个模块,而层的维度使用 2 的步幅逐渐减小,直到获得 25 × 25 像素的特征图。
Pyramid Pooling Module 允许模型学习关于不同尺度条形码潜在位置的全局信息,并且其层与膨胀卷积模块上的层连接,以保留从两个模块中提取的特征。
然后将来自右分支的结果特征图添加到正则卷积模块的输出中,这允许修正任一分支可能遗漏的特征。换句话说,每个分支的输出构成了另一个分支的残余校正,从而改进了每个节点的结果,如白色所示。然后对节点进行上采样并与以相应维度的红色和黄色显示的转置卷积特征图连接。在整个网络中,我们在每一层之后使用 ReLU 作为非线性,并添加 L2 正则化以解决训练期间可能发生的过拟合情况。在所有数据集上,我们将 80% 用于训练集,10% 用于验证集,其余 10% 用于测试集。我们使用一个 NVIDIA Tesla V100 GPU 进行训练。由于这是一个分割网络,我们对分类背景和条形码感兴趣,我们使用二进制交叉熵作为损失函数。

2.3 边界框提取

由于一些图像包含彼此非常接近的条形码,它们的 Y-Net 输出反映了相同的配置,这使得单个条形码边界框的提取变得复杂,如图 4(a)所示。 为了有效地分离它们,我们使用像素校正余量执行腐蚀、轮廓提取和边界框扩展。 如图 4(b) 所示,腐蚀阶段允许算法扩大分段条码之间的间隙,这些条码可能由 1 个或多个像素分隔。 然后在图 4© 中的轮廓提取阶段,通过边界跟踪,使用得到的掩码来推断单个条形码边界框。 如图 4(d) 所示,在扩展阶段使用像素校正余量来恢复原始边界框的尺寸。 我们流水线的这个后处理阶段的平均处理时间为 1.5 毫秒 (ms),因为它由一组 Python 矩阵操作组成,可以有效地从预测掩码中提取边界框。
在这里插入图片描述图 4. (a) Y-Net 输出; (b) 侵蚀后的 Y-Net 输出; © 在侵蚀输出上提取边界框——红色,真实边界框——绿色; (d) Y Net 输出的像素校正余量后的最终边界框; (e) 被遮挡条码场景的 Y-Net 输出; (f) 由于输入图像中的条形码重叠,最终提取的边界框在像素校正余量后分组

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507662.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 多线程 场景,精选Android初中级面试题 (三): 深探Handler,多线程,Bitmap

码个蛋(codeegg) 第 930 次推文作者:Focusing链接:https://juejin.im/post/5c85cead5188257c6703af47Handler1、谈谈消息机制Handler作用 ?有哪些要素 ?流程是怎样的 ?参考回答:负责跨线程通信,…

通过超分辨率重构来提高二维码的对比度

1 问题描述 (1)图像分辨率小。例如一些嵌入在海报(如图1)或远距离拍摄的码,其分辨率远小于通常情况下的码图像。 图1.海报中的二维码占比很小 (2)图像质量较低。有很多是经过了多次的压缩和转…

android web 访问数据库,Web下的JDBC访问数据库的基本步骤

Web下的JDBC访问数据库的基本步骤(2012-06-02 12:09:33)在Java程序中连接数据库的一般步骤分为一下几部分,我摘录出来,跟大家分享。(1)将数据库的JABC驱动加载到classpath中,在基于JavaEE的Web应用开发过程中,通常把JDBC驱动放在W…

linux 磁盘扩容_记录一次ESXi Linux在线扩容,不重启系统

因为工作需要,需要将运行在ESXi主机上面的一台Centos 里面的一个LV卷进行扩容,下面记录了此次扩展的详细过程,整个过程,不需要重启服务器。1. 首先通过df-h 查看当前磁盘结构如下:我们此次的最终目标,就是将…

android item三种,Android RecyclerView中的ItemDecoration的几种绘制方法

如题,我们使用recyclerview的时候,如果没有设置显示条目的margin,或者padding的话,是没有分割线效果的。那么除去使用margin或padding,其余的方法是用itemdecoration绘制分割线我们绘制分割线的时候通常会使用drawable去绘制&…

上传文件和提交textfield_0基础掌握Django框架(37)文件上传

为了更好的学习效果,请搭配视频教程一起学习:Django零基础到项目实战 - 网易云课堂​study.163.com文件上传:文件上传是网站开发中非常常见的功能。这里详细讲述如何在Django中实现文件的上传功能。前端HTML代码实现:在前端中&…

华为p10刷原生android,华为p10怎么刷机 华为p10刷机方法【详细介绍】

喜欢折腾手机的用户一定对于手机root权限获取不陌生,root后虽然不能享受官方联保服务但同时带来的好处不用小编多说。前面给大家介绍了 华为p10 刷入第三方recovery教程,现在华为p10刷机包已经放出来,小编给大家带来华为p10刷机权限获取教程。…

使用container的嵌套_ElementUI 技术揭秘(4)— Container 布局容器组件的设计与实现。...

前言上一篇文章我们分析了 Layout 布局组件的设计和实现,它的应用场景通常是局部布局。对于整个页面的布局,element-ui 提供了 Container 布局容器组件,专门用于 PC 管理后台页面的整体布局。需求分析我们先通过几幅图看一下页面的常见布局。…

宝马屏幕共享android,宝马屏幕共享功能怎么用

【太平洋汽车网】使用宝马屏幕共享要先打开车载电脑多媒体功能,再选择屏幕共享手机投屏,勾掉宝马互联选项,然后再打开手机wifi,选择BMW输入密码即可使用屏幕共享。车手机互联映射即车机互联,就是将手机投屏到车载显示器…

“用于无监督图像生成解耦的正交雅可比正则化”论文解读

Tikhonov regularization terms https://blog.csdn.net/jiejinquanil/article/details/50411617 本文是对博客https://baijiahao.baidu.com/s?id1710942953471566583&wfrspider&forpc的重写。 1 简介 本文是对发表于计算机视觉和模式识别领域的顶级会议 ICCV 2021 的…

html带正方形项目列表,5种简单实用的css列表样式实例,可以直接用到项目中。...

谁不希望有一个好看而又干净的列表?这篇文章中我们给出几个实用的例子,你可以把他们直接用到自己的工作中。我们从一个带有动画效果的垂直列表开始,接着是一个图文混排的例子,然后是一个只有图片的list例子跟一个水平菜单的例子&a…

pb 打印html页面,用PB开发WEB应用

用PB开发WEB应用用PB开发WEB应用烟台教育学院网络中心 孙连三一、PB Window plug -in 的用途PowerBuilder Window plug -in 的用途是在HTML 页面中插入PowerBuilder 中定义的窗口对象,此窗口对象上定义的功能在浏览器中一样被执行&#xff0…

html加上百度统计,vue单页面应用加入百度统计

版权声明:本文为CSDN博主「钟文辉」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_39753974/article/details/80322643在单页面中,要是只加在head中的话那…

推荐系统:猜你喜欢

0 简介 网络的迅速发展带来了信息超载(information overload)问题。解决信息超载问题一个非常有潜力的办法是推荐系统,它根据用户的信息需求、兴趣等,将用户感兴趣的信息、产品等推荐给用户。推荐系统最典型应用领域是电子商务领…

量子计算机九章能否预测未来,张礼立 : 中国 “九章”量子计算机到底厉害在哪?...

原标题:张礼立 : 中国 “九章”量子计算机到底厉害在哪?【背景信息】12月4日,《科学》杂志公布了 中国 “九章” 的重大突破。 这台由中国科学技术大学潘建伟、陆朝阳等学者研制的76个光子的量子计算原型机,推动全球量…

利用GAN实现QR Code超分辨率的研究

文章目录1 传统方案2 基于CNN的实现方案2.1 SRCNN2.2 WeChat AI3 基于GAN的实现方案3.1 SRGAN3.2 ESRGAN3.3 Real-ESRGAN4 基于GAN的QR Code的实现方案1 传统方案 https://blog.csdn.net/caomin1hao/article/details/81092134?utm_mediumdistribute.pc_relevant.none-task-bl…

如何用计算机截部分屏,电脑如何长屏幕的截图?电脑截取长屏的方法

新手用户对windows系统截取长屏的方法比较陌生,正常情况下,我们截取屏幕内容是登录QQ,按ctrlalta来截取屏幕的,只能截取部分内容,无法截图整个页面。日常的工作生活中,截图是经常会用到的,如果你…

Audio-based snore detection using deep neural networks解读

0 摘要 Background and Objective: 打鼾是一种普遍现象。 它可能是良性的,但也可能是阻塞性睡眠呼吸暂停 (OSA) 一种普遍存在的睡眠障碍的症状。 准确检测打鼾可能有助于筛查和诊断 OSA。 Methods: 我们介绍了一种基于卷积神经网络 (CNN) 和循环神经网络 (RNN) 组合…

2018计算机专业考研报名人数,2018年全国考研报考人数、各省市考研报考人数、历年考研录取率、全日制及非全日制硕士研究生比例及考研动机分析【图】...

一、考研报考人数、录取率及报录比分析从上世纪末开始,研究生和本科生招生数量一样在逐步增多。本科扩招的同时,研究生也在扩招。1999年,全国报考研究生人数31.9万,录取人数7.3万,录取率22.8%。2008年,报考…

用计算机怎样搜wifi网,笔记本电脑搜索不到无线网络(Wifi)怎么办

在使用Windows 10工作时会遇到形形色色的问题,比如笔记本电脑搜索不到无线网络。那么如何排除故障呢?下面小编与你分享具体步骤和方法。工具/材料Windows 10操作系统操作方法第1:启动Windows 10操作系统,如图所示。点击任务栏&quo…