2. 西北工业大学 自动化学院, 陕西 西安 710072;
3. 陕西学前师范学院, 陕西 西安 710072
图案编码标志在室内移动机器人(autonomous mobile vehicle, AGV)视觉定位中不可或缺。图案编码特别是二维码(2-dimensional bar code), 用某种特定的几何图形按一定规律组织形成符号信息。常用有Data Matrix、Maxi Code、Aztec、QR Code、Vericode、PDF417、Ultracode和Code 49等多种编码[1]。其中各种自定义Data Matrix如同心圆、三角形等特征图像组合的编码在早期研究中占据重要地位[2]。而QR Code作为应用最广泛的一种编码, 也在移动机器人定位与导航中越来越受到关注[3]。
由于应用场合与对象相对单一, 二维码的识别主要以经典模式识别方法为主[2]。如文献[4]针对不同条件如不同角度、照明条件等进行了算法优化研究。文献[5]在条码变形的情况下实现了条码的准确识别。文献[6]设计了一种改进的条形码结构以改善其识别性能和算法复杂度。针对运动条件包含条码和检测设备间的相对运动带来的干扰问题, 文献[2]设计了基于移动设备的图像处理系统, 能够实现一定速度下的QR Code解码。文献[7]在给定条件下能够在30 km/h的运动条件下准确读取二维码。文献[3]则重点研究了基于二维码的AGV定位与导航问题; 文献[8]则利用天花板的图案编码实现了室内AGV的定位。虽然这些方法提出并对识别算法进行了改进, 提高了复杂条件下二维码识别的性能[9], 但基于先验知识的模式识别方法限制了其进一步的提高。
近几年, 随着深度学习技术在图像识别领域的快速发展, 利用深度学习实现二维码定位与检测, 提高二维码的使用范围是一大发展趋势[10]。文献[11]通过聚类实现复杂环境下QR码图像的定位并对运动模糊QR码实现复原技术; 文献[12]使用YOLO实现条码的快速定位, 但这些方法的解码工作仍然为模式识别方法。文献[13]基于深度学习方法解决光照不均匀、变形和遮挡问题, 识别精度达到了93%, 但并未考虑运动码值的识别。文献[14]介绍了一种基于语义分割的新型快速深度学习检测器, 在ArTe-Lab 1D数据集获得了99.5%的检测率; 文献[1]使用端对端网络实现QR码的快速定位和分类, 结合多尺度特征融合层来提高复杂环境中小尺度条码的监测精度。可见这些研究中大多仍直接使用YOLO[15]对二维码的部分特征如定位特征进行识别, 在解码部分仍多采用模式识别方法。因此, 在低分辨率、运动模糊等干扰条件下的识别与解码率仍然有限。
值得关注的是在深度学习领域深度置信网络(deep belief networks, DBN)是一种应用更为广泛的信号特征识别方法[16]。但在一般图像识别中, 需要将图像这种特殊信号转换为DBN所接受的信号矩阵进行学习。得益于矩阵不变性特征, 包括尺寸不变性、旋转不变性等, Hu不变矩在经典模式识别[17]和近期的机器学习方法中得到关注[18]。这是图像这类特殊信号转换为一般(Hu矩)信号的一种重要实现方法。
本文提出一种优化的低分辨率二维码识别方法, 通过图像预处理将包含特征元素对象的轮廓集合转换为其Hu矩, 从而将图像分类识别问题转换为Hu矩特征信号的分类识别问题, 以此为基础构建Hu-DBN分类学习模型实现特征元素的精准识别与过滤, 从而实现低分辨率二维码影像在较高运动容差条件下的准确识别。通过搭载分辨率为640×480图像传感器的移动机器人实例展开测试, 在0.5 m/s运动条件及给定视距范围内的平均识别率为96.3%, 证明了本文方法的有效性。
1 基于Hu-DBN的二维码识别方法 1.1 基于机器视觉的自定义二维码识别框架基本的识别框架主要由四部分组成, 如图 1所示。分别为图像预处理、图像-Hu矩特征信号计算、基于DBN的特征信号识别模型, 以及码值识别。其中, 步骤①图像预处理分为图像输入、图像均衡与二值化、特征轮廓查找几个部分。然后, 在步骤②中获取包含特征轮廓在内的所有轮廓, 再通过计算得到其Hu矩。这一过程与经典模式识别方法类似。所不同的在于本文方法中并非直接进入步骤④, 尝试通过规则对步骤②获得模式特征进行过滤识别以得到码值。在步骤③中, 通过将Hu矩特征作为输入数据集, 送入构建的Hu-DBN模型中进行学习训练, 以加强自定义模板元素特征的识别率。
1.2 基于Hu不变矩的特征评价函数Hu不变矩可通过模板元素对包含特征的图像进行直接匹配, 查找潜在特征对象的位置。具备平移、尺度和旋转不变性, 识别速度快、计算代价较低。这是本文选择以Hu不变矩作为特征评价函数的主要原因。
设图像为f(x, y), 其p+q阶标准矩可表示为
(1) |
对于具有R行、C列的图像, 对(1)式进行离散化可得
(2) |
(2) 式的零至三阶矩分别代表了特征图像的质量(面积)、质心、旋转半径和扭曲程度。因此, Hu矩被设计为能够反映平移、尺度和旋转空间变换的不变性矩。
特征图像的质心坐标f(x0, y0)可根据零阶和一阶原点矩得到
(3) |
根据(2)式, 中心矩upq可表示为
(4) |
这样, 依据(3)式计算矩时只考虑区域中各点与该区域质心的相对位置关系, 因而具备平移不变性。进一步的, 归一化中心矩ηpq可被构造以消除尺度变化带来的影响
(5) |
式中, r=(q+p)/2。并且, 由于零阶矩表示特征区域的面积。因此, 其零阶中心矩也会随区域的尺度变化而改变。这样, 矩具备了尺度不变性。进一步地通过二阶和三阶归一化中心矩可构建典型Φ1~Φ7 7个不变矩[17], 并将其作为特征图像识别中特征元素。
在经典方法中, 对于实际观测值Φ′i和质心Φil的差ΔΦi可建立特征评价函数
(6) |
在经典方法中, 可通过对大量样本的统计结果如拟合方法确定特征的权重参数。并且, 如果获得的图像质量较高并且噪声较少, 则可以只选择Φ1和Φ2 2个关键矩, 以减少计算量提高识别速度。但低分辨率运动图像易受干扰, 使得基于统计的方法准确率较低。因此, 本文选择DBN构建Hu矩特征学习模型, 在基本模型中学习图像的Hu矩特征, 以提高识别率, 因此(6)式可改写为
(7) |
为了克服样本数量少和干扰问题, 可将二维码特征图像作为一个特征分量Φi+1, 尽可能充分利用样本图像, 以进一步提升识别率
(8) |
在前面的预处理中, 首先将图像转换为包含特征元素的轮廓图像, 然后再转换为对应的Hu矩。这就将图像识别问题转换为一般信号识别问题。
由于特征轮廓对应的Hu矩可能是多维的, 例如典型Φ1~Φ7。因此, 需要对(8)式所示的特征评价函数进行求解, 确定各特征的权重系数, 从而区分特征轮廓并确定其所属模板。因此可以将多个Hu矩作为输入到DBN模型的训练条件。选择DBN作为基本模型的另一个原因是模型较为简单、运算量较少。
DBN是一个多层神经网络, 由一系列的受限玻尔兹曼机(restricted boltzmann machine, RBM)按一定规则堆叠而成[19]。典型的RBM是一个2层的神经网络, 其上层为可见层(visible layer)、下层为隐层(hidden layer), 如图 2所示。其中第一层是输入节点Vv, 其状态空间为{0, 1}或实数R。第二层是隐藏节点Vh, 状态空间为{0, 1}。W是Vv和Vh的连接权重系数矩阵。
每个节点都可表示不同的状态。模型的状态随节点状态的确定而确定。
由于默认的基于Gibbs采样的RBM训练方法效率较低[20], 本文选用k-step对比发散法(k-step contrastive divergence method, k-CDM)进行训练[21]。主要有2种单步方法CD-1, 分别是CD-1二进制模型方法(CD-1 binary to binary, CD-1 B2B)和CD-1高斯模型方法(CD-1 Gaussian to Gaussian, CD-1 G2G)。
在CD-1 B2B模型中, 当Vv∈{0, 1}, Vv和Vh的元素数量分别为lV和lH, 能量函数定义为
(9) |
式中, 对于输入节点V∈{Vv}, 损失函数L的定义为
(10) |
在第二层中, 对于p(h|v)和随机值rand(·), 如果ph>rand(0, 1), 则h=1, 否则h=0。
在计算完毕后返回重构的数据, 并且可以确定p(h|v)。将数据传递回隐层时, 输出为
(11) |
式中, △We, △ae和△be的可表示为
(12) |
因此, We+1, ae+1和be+1可被计算
(13) |
在CD-1 G2G模型中, 能量函数被重新定义为
(14) |
如果将k-step设置为单步, 则σi=1, σj=1, (11)式可改写为
(15) |
而(12)式可改写为
(16) |
这样, 就可以通过链接多个RBM层来构建Hu-DBN模型。
1.4 自定义码值模板图像选择与构建虽然, Hu不变矩评价算法简洁、速度快, 但其对复杂图形的识别能力较弱。因此, 适于Hu矩评价函数的特征图案不能过于复杂。既要便于设计和使用, 还要考虑模板元素之间应具有足够的差异显著性以便于识别。例如, 本文选择了如图 3所示的4种模板元素作为模板集合F={F1, F2, F3, F4}:
分别计算模板元素的Φ1和Φ2矩, 其对比结果如表 1所示。通过训练ω1与ω2可以获得具有足够差异的f(Φ)评价函数。因此, 这4个模板元素适于自定义二维码的构建。
这样, 具有M行N列的二维码B可定义为
(17) |
不考虑码值方向时, 其总数量为M×N×FF。较大矩阵可获得更多节点表达, 但码值运算量和存储空间需求同比增加, 模板元素的尺寸与MN成反比, 这样, 在限制相机分辨率的条件下, 其识别率会显著降低。并且, 过小的尺寸会使得成像困难, 更易受到如点扩散(point spread function, PSF)的影响, 特征图像变得更模糊也更易误识别。因此, 在设计具有对称性即M=N的矩形标定板时, 应在满足定位节点数量需要的同时, 尽可能选择较小的标定板矩阵。其中, 诸如特化带权连通图表达的分层导航地图在较少标定板节点的情况下也可标识较为复杂的大型场景[22]。此外, 选择M=N标定矩阵的原因在于可以支持标定矩阵值的旋转不变性特性。
1.5 码值识别过程当通过Hu-DBN模型确定特征元素所属的类别后, 下一步工作是在节点库中查找并验证其对应的码值。由于采用了旋转不变性评价, 因此可能出现2个标定板Bi和Bj代表相同码值的情况。例如, 当M=N=2时, 可能的情况有
(18) |
通常的识别过程中需要根据现场实时计算的标准码值来执行旋转矫正, 即将二维码Bi的3种旋转矩阵Bi|2、Bi|3和Bi|4转换为正码值Bi|1。
为提高算法的实时性, 本文提出码值静态识别方案, 即本文算法部署到AGV之前, 提前计算各节点的正码值及其旋转表示形式。并将计算的结果存储到AGV控制器中, 减少矩阵旋转带来的代价, 如图 4所示。
这种静态存储结构所需的存储空间约为原始空间的2倍。对于文献[22]使用的增强节点地图表示方法中, M=N=2对应72个无重复节点仅需2 304字节存储空间。即便如STM32F410这样的处理器的RAM也可缓存全部矩阵。并且可基于二维码及其旋转矩阵均已知这一条件, 构建有序数组, 配合Hash算法以支持节点的直接查找, 进一步提升算法的效率。相比较而言, 本文方法所需的存储空间为动态计算过程的2倍, 但去除了矩阵旋转计算过程。并且计算量恒定, 适用于受限计算能力条件下的性能提升应用场合。
2 验证与结果分析 2.1 实验准备工作分析本文准备的测试环境如图 5所示。测试场地为封闭式“8”字型环路, 其中路面黑色引导线用于AGV的运行轨迹和方向校验。在测试环路的7个边中分别部署7个测试节点N1~N7, 其中N1~N4位于环路单边中部, 此时AGV可达最高运行速度; N5~N7则随机置于另外3个边不同位置, 可以分别测试不同直线速度和转角速度下的识别情况。
并设定如下测试参数:
·运行速度:AGV在直线引导线上的平均运行速度为0.5±0.05 m/s, 即确保其以较高的速度运行以接近实际工作所需要的速度如0.7 m/s[22]。
·相机为Sony PlayStation Eye, 分辨率为640×480RGB, 帧率30 frame/s。
·模板元素的尺寸约为13 mil(33 mm)。
·样本距离:选择相机成像范围FOV的中部一般图像(原图的35%)和上部(原图的23%)2组距离样本。
2.2 测试与结果分析基于上述测试条件, 通过在不同时段在循环线路中运行AGV采集样本, 获取有效样本6万余帧, 并对全部样本进行了人工标记。其中代表性样本如表 2所示。
将其中的80%作为训练集, 剩余20%作为测试集, 对Hu-DBN模型进行训练和验证。根据每组样本分别计算其平均识别误差, 平均准确率约为96.3%, 如表 3所示。
类别 | 尺寸 | F1 | F2 | F3 | F4 |
标准 | 标准 | 0.015 0 | 0.009 2 | 0.011 2 | 0.003 7 |
俯视 | 35% | 0.017 7 | 0.012 3 | 0.016 6 | 0.008 2 |
俯视 | 23% | 0.018 9 | 0.014 0 | 0.014 2 | 0.010 4 |
透视 | 35% | 0.032 7 | 0.016 0 | 0.022 7 | 0.017 7 |
逆透视变换 | 93% | 0.002 1 | 0.061 7 | 0.037 2 | 0.010 9 |
透视 | 23% | 0.047 1 | 0.013 1 | 0.041 6 | 0.034 4 |
逆透视变换 | 94% | 0.016 8 | 0.008 7 | 0.029 1 | 0.039 9 |
运动模糊 | 35% | 0.076 7 | 0.064 1 | 0.073 8 | 0.075 2 |
抗模糊 | 35% | 0.060 7 | 0.047 5 | 0.047 4 | 0.061 1 |
此外, 不同距离下各特征元素的识别误差率对比如图 6所示。
可见, 本文选用的4种模板元素整体识别率较高。除模板F1十字在较低分辨率下的误差超过了预期外, 其他模板在有效FOV中均能得到正确识别。通过上述测试可以证明本文提出的Hu-DBN算法的有效性。
3 结论本文针对AGV视觉导航中的图案编码识别关键问题进行了探讨。针对低分辨率运动影响识别定位标定板的问题, 提出了一种优化的识别算法。能够在兼顾系统效率的同时, 支持在多种条件下如运动模糊、图象畸变、透视等情况下的准确识别。
由于实际运行环境十分复杂, 本文研究中未能充分讨论各种条件下的算法识别效果。例如在不同光照强度、背光、逆光、高光反射、复杂背景纹理等条件。未来将进一步拓展本研究的适用条件和范围, 从而尽可能满足多种环境下的算法适应性, 以提升研究的实用性价值。
[1] | ZHANG J, JIA J, ZHU Z, et al. Fine Detection and Classification of Multi-Class Barcode in Complex Environments[C]//International Conference on Multimedia and Expo, 2019: 306-311 |
[2] | LIU Y, YANG J, LIU M, et al. Recognition of QR Code with Mobile Phones[C]//Chinese Control and Decision Conference, 2008: 203-206 |
[3] | LEE S J, LIM J, TEWOLDE G S, et al. Autonomous Tour Guide Robot by Using Ultrasonic Range Sensors and QR Code Recognition in Indoor Environment[C]//IEEE International Conference on Electro/Information Technology, 2014: 410-415 |
[4] | GU Y, ZHANG W. QR Code Recognition Based on Image Processing[C]//International Conference on Information Science and Technology, 2011: 733-736 |
[5] | FORMIGA A D, LINS R D, SIMSKE S J, et al. An Assessment of Data Matrix Barcode Recognition under Scaling, Rotation and Cylindrical Warping[C]//ACM Symposium on Applied Computing, 2011: 266-267 |
[6] | THIELECKE L, ARANYOSSY T, DAHL A, et al. Limitations and Challenges of Genetic Barcode Quantification[J]. Scientific Reports, 2017, 7(1): 43249-43263. |
[7] | HOGPRACHA W, VONGPRADHIP S. Recognition System for QR Code on Moving Car[C]//International Conference on Computer Science and Education, 2015: 14-18 |
[8] | GORONZY G, PELKA M, HELLBRUCK H, et al. QRPos: Indoor Positioning System for Self-Balancing Robots Based on QR Codes[C]//International Conference on Indoor Positioning and Indoor Navigation, 2016: 1-8 |
[9] | HUANG Q, CHEN W, HUANG X, et al. Data Matrix Code Location Based on Finder Pattern Detection and Bar Code Border Fitting[J]. Mathematical Problems in Engineering, 2012, 2012: 1-13. |
[10] | CHEN Y, CHI K, HUA K, et al. Design of Image Barcodes for Future Mobile Advertising[J]. Eurasip Journal on Image and Video Processing, 2017, 2017(1): 1-12. |
[11] | NIZAMPATNAM S, SAHA D, CHANDAK R, et al. Dynamic Contrast Enhancement and Flexible Odor Codes[J]. Nature Communications, 2018, 9(1): 1-35. |
[12] | HANSEN D K, NASROLLAHI K, RASMUSEN C B, et al. Real-Time Barcode Detection and Classification using Deep Learning[C]//9th International Joint Conference on Computational Intelligence, 2017 |
[13] | ZHANG H, SHI G, LIU L, et al. Detection and Identification Method of Medical Label Barcode Based on Deep Learning[C]//International Conference on Image Processing, 2018: 1-6 |
[14] | ANDREY Zharkov, IVAN Zagaynov. Universal Barcode Detector via Semantic Segmentation[C]//2019 International Conference on Document Analysis and Recognition, 2019 |
[15] | REDMON J, FARHADI A. YOLO9000: Better, Faster, Stronger[C]//Computer Vision and Pattern Recognition, 2017: 6517-6525 |
[16] | ZHONG P, GONG Z. A Hybrid DBN and CRF Model for Spectral-Spatial Classification of Hyperspectral Images[J]. Statistics, Optimization and Information Computing, 2017, 5(2): 75-98. |
[17] | UNIC J, HIROTA K, ROSIN P L, et al. A Hu Moment Invariant as a Shape Circularity Measure[J]. Pattern Recognition, 2010, 43(1): 47-57. |
[18] | LI Z, GUO T, BAO F, et al. Teeth Category Classification via Hu Moment Invariant and Extreme Learning Machine[C]. International Conference on Computer Modeling and Simulation, 2018 |
[19] | TRAN V T, ALTHOBIANI F, BALL A, et al. An Approach to Fault Diagnosis of Reciprocating Compressor Valves Using Teager-Kaiser Energy Operator and Deep Belief Networks[J]. Expert Systems with Applications, 2014, 41(9): 4113-4122. |
[20] | TAO J, LIU Y, YANG D, et al. Bearing Fault Diagnosis Based on Deep Belief Network and Multisensor Information Fusion[J]. Shock and Vibration, 2016, 2016: 1-9. |
[21] | ZHANG L, GAO H, WEN J, et al. A Deep Learning-Based Recognition Method for Degradation Monitoring of Ball Screw with Multi-Sensor Data Fusion[J]. Microelectronics Reliability, 2017, 75: 215-222. |
[22] | ZHANG T, ZHOU W, MENG F, et al. Efficiency Analysis and Improvement of an Intelligent Transportation System for the Application in Greenhouse[J]. Electronics, 2019, 8(9): 946-971. |
2. School of Automation, Northwestern Polytechnical University, Xi'an 710072, China;
3. Shaanxi Xueqian Normal University, Xi'an 710072, China