当前位置:首页 期刊杂志

智能车控制的数显仪表识别技术研究*

时间:2024-07-28

吴开田 ,陈 丹 ,2,邱 洋 ,徐哲壮 ,2,简荣贵 ,陈 剑 ,2

(1.福州大学 电气工程与自动化学院,福建 福州 350000;2.工业自动化控制技术与信息处理福建省高校重点实验室,福建 福州350000)

0 引言

随着人工智能技术的快速发展,人工智能服务经济社会发展的情况越来越普遍,各个行业智能化和自动化的程度越来越高,移动机器人是人工智能的一个重要体现,目前已经广泛应用在智能家居、航天航空、工业生产线、商场服务业、安保、物流分拣、助老助残、工业巡检、军事勘察等各个领域[1-3]。 移动机器人本体运动控制的研究虽然具有一定的基础,但机器人本体的运动功能已经无法适应目前市场的需求,许多研究者将目光集中在机器人后续功能的开发。

在工业生产的各个领域中,数显式仪表分布非常广泛, 它时刻记录着各个生产节点的数据信息,它是工业生产的关键数据来源。 由于数显式具有显示简单、使用简便、精确度高、集成度高等优点,因此其应用越来越广泛。 随着机器人技术的快速发展,使用移动机器人代替人工巡检的应用已经越来越多[4]。

目前,数显仪表的数字识别方法主要有三种:自动抄表(Automated Meter Reading,AMR)[5]、人工记录和图像识别[6]。 很多数显式仪表不具有无线通信模块或者计算机接口,无法通过AMR 技术进行自动记录数据,而且AMR 技术通常需要对仪表本身进行结构改造,这是一项高成本、长时间以及工作量巨大的工作。 传统的人工抄表无法适应应用广泛的仪表,迫使研究学者从其他方面解决这些问题。 越来越多的研究学者将目光转移到图像上,通过图像对数显仪表进行数字识别可以很好地降低成本,提升识别精度。

图像识别获取数显式仪表数据信息是读表的一种重要方式。 Rodriguez 等人[7]在 2014 年使用 Hausdorff距离[8]对仪表数字进行识别;Cui 等人[9]在 2016 提出了一种字符分割的新方法,对使用梯度方向直方图进行特征检测有较好的促进效果,字符识别则采用支持向量机(Support Vector Machine,SVM);Han 等人[10]在2018 年提出一种具有记忆优化的卷积神经网络,可以消除对全连接层的需求,大幅度减少运算量;Lin 等人[11]在 2019 年提出了一种改进的笔画宽度变换和支持向量机对目标进行检测和识别,可以有效克服字符倾斜、字符大小不一等因素对识别精度的影响;Yang 等人[12]在 2019 年提出一种全卷积序列识别网络,对数字进行识别,可以减少网络参数和计算机运算量,还提出了一个增广损失函数对数字间隙进行处理;郭兰英等人[13]在 2020 年提出一种可变性卷积神经网络模型对网络感受野的结构进行优化,有效提高了数字识别精度。

移动机器人搭载相机拍摄图片进行数字识别,不仅可以减少人工检测劳动量,还可以降低检测质量差的问题,但是收集图像与数字识别之间有一个很大的时间差,使得数字识别的时效性较低。 而移动机器人搭载摄像头可以通过图片信息适当地控制移动机器人移动,使摄像头拍摄的图片可以更加清晰。

针对智能车巡检读表受图像清晰度和色彩均衡度等因素影响的问题,本文提出了一种基于智能车控制策略和改进的图像增强算法的数字识别技术,主要内容如下:

(1)由轻量级网络对目标设备进行识别,避免其他相似设备对目标设备造成影响。 利用数显式仪表数字内容与仪表背景色具有色差的特点,对目标检测的结果进行图像膨胀,为智能车控制做准备。

(2)由于环境和智能车导航误差影响,图像膨胀效果较差。 基于图像膨胀的结果对智能车进行运动控制,更新智能车摄像头拍摄的视频帧,提高图像膨胀结果,为图像色彩增强做准备。

(3)对智能车控制策略矫正后的图像膨胀结果进行图像切割,获取仪表数字区域。 由于光照不均匀的影响,切割后图像会出现明暗不一致的现象,使用一种改进后的图像色彩均衡算法对切割图像进行色彩均衡。 最后,使用深度学习网络对经过色彩均衡后的图像进行数字识别。

1 图像膨胀

使用 YOLOv4-tiny 算法[14]可以快速并有效识别仪表。 由于数显仪表的数字与仪表背景有明显的色差,而且数字与数字之间有小间隙,因此使用RGB色彩膨胀[15]可以把每一行数字连成一块,从而达到数字切割的目的。 图像膨胀的函数表达式如下所示:

图像膨胀在去除噪声的同时会对二值图像的白色区域进行扩张。 图像膨胀的对象是二值图像,上式的E 就是一张原图的二值图像,B 是卷积核(也称为结构元素),B(x)是卷积核 B 在集合 x 中平移的结果,如果 B(x)与E 相交且不为空,则记下此时的像素点,所有这些像素点的集合则是图像膨胀后的结果。 简而言之,通过卷积核B 在二值图像E上进行卷积计算,逐个扫描E 中的像素点,卷积核B 的元素与二值图像 E 的元素做“与”运算,元素都为 0 则结果为 0,否则为 255,结果如图 1 所示。

图1 表示了一张图像从原图到二值化图再到膨胀图的三个过程。图1(b)表示原图经过二值化处理后的图像,背景色变成黑色(通道值是 0),数字则变成白色(通道为 255)。 图 1(c)是通过卷积核将两个数字之间的间隙进行扩张,使得每一行数字膨胀为一个完整的白条,有利于后面的数字切割。

智能车摄像头拍摄视频的清晰度与智能车相对于仪表的位置有关,摄像头模糊对焦造成图像膨胀的结果如图2 所示。

图2 智能车到达指定点后的模糊对焦情况

图2 中 RA1、RA2和 RA3代表相应深灰色框区域面积;GA1、GA2和 GA3代表相应浅灰色框区域面积。图2(a)代表智能车相对于数显仪表呈右偏状态,或者代表此时仪表面向智能车的左侧出现干扰(左侧有干扰光照或者左侧仪表屏幕反射光强烈),使图像出现深灰色方框相比浅灰色方框呈左边凸出的情况;图2(b)代表智能车相对于数显仪表呈左偏状态,或者代表此时仪表面向智能车的右侧出现干扰(右侧有干扰光照或者右侧仪表屏幕反射光强烈)出现深灰色方框相比浅灰色方框呈右边凸出的情况;图2(c)代表智能车距离数显仪表较远,出现深灰色方框面积RA3与浅灰色方框面积 GA3相差较大的情况。

2 智能车控制策略

智能车巡检时,可根据现场的物理世界信息,实时矫正自身的位姿,使智能车传输的的图像信息更符合机器视觉处理的图像。 为了使图像拍摄清晰, 有必要设定一个控制策略调整智能车的位置,重新拍摄图像。 针对图2 中出现的三种情况,定义一张膨胀图的坐标,如图3 所示。

图3 坐标定义

图3 的(xr1,yr1)和 (xr2,yr2)是 深 灰 色 框 的 左 上 角和 右 上 角 坐 标 ;(xg1,yg1)和 (xg2,yg2)是 浅 灰 色 框 的 左上角和右上角坐标;wr和hr是深灰色框的宽和高;wg和 hg是浅灰色框的宽和高。

对于图2 中出现的三种情况,计算它们各自的面积比,其表达式如下所示:

一张图像的坐标原点是图像的左上角,图像横向方向是坐标x 轴方向,图像纵向方向是坐标 y 轴方向。 因此,当上式 Δ1>0 时,智能车状态处于图 2的情况 1;当上式 Δ2>0 时,智能车状态处于图 2 的情况 2;当上式 Δ3<1 时,智能车状态处于图 2 的情况 3。 在实际测量中,图 3 中深灰色框左端边界和浅灰色框面积的左端边界往往无法在同一垂直线上,所以Δ1一般不为 0;深灰色框右端边界线和浅灰色框面积的右端边界往往无法在同一垂直线上,所以Δ2一般不为0;深灰色框面积和浅灰色框面积往往无法完全相等, 所以 Δ3一般不为 1。 因此,通过这三种情况的面积比以及智能车自身特性,以一定的逻辑控制和阈值设定构造智能车控制策略,如图 4 所示。

图4 的 λ1、λ2和 λ3由大量的实验数据获得,其中阈值 λ1=λ2=0.1、λ3=0.8;图 4 的 12×Δ1(cm)、12×Δ2(cm)和 12×(1-Δ3)(cm)代表智能车进行相应的厘米级移动,其中 12 代表智能车 SLAM 导航的最大误差,单位是 cm,(1-Δ3)代表 Δ3的面积越大,进行的智能车移动距离越小。 以图 4 的情况 1 为例,对智能车控制策略进行描述:首先对摄像头传输的视频帧进行图像膨胀,计算 Δ1的大小;然后判断 Δ1是否大于 0,若是,则往下执行,若否,则结束,进行情况 2 的判断;然后判断 Δ1是否大于 λ1,若是,则智能车左移 12×Δ1(cm),若否,则结束,进行情况 2的判断。 智能车控制策略将会按照顺序对图2 的三种情况进行运动调整。

图4 智能车控制策略

简而言之,首先获取摄像头传输的视频帧,然后进行图像膨胀,以情况 1、情况 2 和情况 3 的顺序判断图像膨胀属于图2 的哪一种情况;最后计算面积比 Δ1、Δ2和 Δ3的大小,比较完面积比与相应阈值的大小后,进行相应的移动,否则将结束智能车控制策略环节。 在执行智能车控制策略之后,将进行图像色彩增强。

3 图像增强

在现实应用场景中,由于光照不均匀和数显仪表屏幕反光的影响,摄像头拍摄的视频帧会出现明暗不一致的现象,如图5 所示。

图5 是一个仪表的原图,有四行数字,第一行是电压,第二行是电流,第三行是功率,第四行是电阻。 可以明显看出四行数字的明暗程度都不一样。因此,需要对图像进行色彩增强,本文使用自动色彩均衡(ACE)算法[16]进行图像增强。 ACE 首先可经过图像平滑或者低通滤波获得其低频部分,然后用原图减去低频部分获得高频部分,最后使用对比度增益对高频部分进行增强。ACE 算法的基本函数公式如下所示:

图5 图像明暗不一致的模糊图像

式中R(x)代表彩色空间调整结果,它是一个中间处理值,Subset 是图像像素集,x 是固定像素值,y 是可变化像素值,I(x)-I(y)代表两个像素之间强度差 ,d(x,y)是距离 度 量函 数(一 般 取欧 拉距离),Sα的表达式如下所示:

式中,α 是 斜 率 ,Sα是 斜 率 函 数 ,Sα在 三 个 范 围 内 取值,r=I(x)-I(y)。

然后对调整后的图像进行动态扩展。 一张彩色图像具有RGB 三个通道, 对单一通道进行线性扩展,其表达式如下所示:

其 中 ,sc斜 率 为 [(mc,0),(Mc,255)], 且 mc是 R(x)的最小值,Mc是 R(x)的最大值。 最后,将上式映射到[0,255]的空间中。

文献[17]对 ACE 算法提出了一个变分解释,其求解的最小化问题如下所示:

其中 w(x,y)=1/||x-y||。

式(3)的算法复杂度为 O(N4),其复杂度较高,一幅图像越大其计算量越大。 为了减少ACE 算法的计算量,本文针对数字识别需求对y 的范围进行改进,使用图像膨胀对数字进行切割,去除除数字外的其余像素, 可以使图像像素大量减少, 降低了ACE 算法的运算量,节省计算机运行时间,提高智能车数字识别的工作效率。 除此之外,为了可以更好地增强图像的高频部分,本文使用Huber 函数[18]对式(6)的权重进行更改,结合欧拉距离函数,得到Huber 权重函数如下所示:

其中,可变像素值 y 与固定像素 x 之间的欧拉距离为 dy=1/||x-y||,是所有 dy的 均 值 。 若 像素欧拉 距离 dy小于均值则权重 wy为 1; 若像素欧拉距离 dy大于均值则权重 wy小于 1;欧拉距离越大,也就是距离固定点越远,权重系数越小,其色彩增强效果也越小。 改进的 ACE 算法对图像色彩增强的效果如图 6 所示。

图6 图像增强前后结果对比

图6(a)是一个仪表的原图,第三行的功率可由第一行的电压和第二行的电流乘积获得,第四行的电阻基本远远小于0 Ω,所以本文不对第三行功率和第四行电阻进行识别,只识别电压和电流,电压和电流的单位分别是 V 和 A。 图 6(b)是 ACE 算法的增强结果。 图 6(c)是本文改进的 ACE 算法的增强结果,可以明显看出图像大小已经减小,数字图像色彩变得更均衡,图像更清晰。 在图像进行色彩均衡后,智能车将开始进行数字识别。

本文使用深度学习网络CRNN 对图像进行数字识别,CRNN 是一个组合网络,由 CNN+RNN+CTC 组成,其中 CNN 用于提取图像特征,RNN 在 CNN 提取特征的基础上,通过双向LSTM 对每一个特征进行学习,对标检进行预测并输出,最后用CTC 计算损失函数,以损失函数作为指标,筛选损失值最小的模型作为数字识别的最终模型,其网络结构和原理可查阅文献[17]。

4 实验结果与分析

4.1 控制策略调整实验

由于SLAM 导航算法存在误差,智能车往往无法精确到达指定位置进行工作,因此需要对智能车进行位置调整;由于仪表分布位置非常广泛,每一个仪表所处的环境也不尽相同,导致仪表屏幕反射光的位置也不一样。

为了验证本文智能车控制策略可以有效提高智能车实时传输的视频帧清晰度,在现实实验环境中,模拟摆放一组数显式仪表,并在不同时间段和实验位置的情况下,智能车依靠事先准备好的建图和路径规划,进行总计100 次 SLAM 导航实验,统计图2 的三种情况所出现的个数,并计算式(2)中面积比 Δ1、Δ2和 Δ3的大 小。 然 后 根据 Δ1、Δ2和 Δ3与阈值 λ1、λ2和 λ3大小比较结果,进行相应的智能车控制策略,计算 Δ1、Δ2和 Δ3在智能车控制策略后的大小,并统计它们在智能车控制策略调整前后的出现概率,验证本文智能车控制策略的可行性。 上述的实验结果如图7 所示。

图7 执行智能车控制前后效果对比

调整前Δ1曲线波动范围较小,出现的最大正数是 0.197,最小负数是-0.449;调整前 Δ2曲线的波动范围比调整前 Δ1曲线略大,其中调整前 Δ2曲线的最大正数是 0.393,最小负数是-0.446;调整前 Δ3的曲线波动范围比调整前 Δ1和调整前 Δ2两条曲线的波动范围都要大, 其中调整前Δ3曲线出现的最大值是 1.317,最小值是 0.364 6。

调整后 Δ1曲线几乎没有波动,Δ1的大小多为0,出现的最大正数是 0.019,最小负数是-0.075,调整后 Δ2曲线的波动范围比调整后 Δ1曲线略大,其中调整后Δ2曲线的最大正数是 0.042, 最小负数是-0.139;调整后 Δ3的曲线波动范围比调整后 Δ1和调整后Δ2两条曲线的波动范围都要大,其中调整后 Δ3曲线出现的最大值是 1.068,最小值是 0.861。图 7 中出现的 Δ1小于 0 的值,代表此时智能车状态不属于情况 1;图 7 中出现的 Δ2小于 0 的值,代表此时智能车状态不属于情况 2。 总之调整后,Δ1的正数值和Δ2的正数值只在小数点后第二位开始具有数值大小,可以默认调整后的 Δ1的正数值和 Δ2的正数值为 0;调整后的 Δ3最大值接近 1,最小值大于智能车控制策略设定的阈值λ3。

智能车在SLAM 导航到目标位置后,出现Δ1>0.1的概率是0.02%;同样地,出现Δ2>0.1 的概率是15%;出现 Δ3<0.8 的概率是 30%。 经过智能车控制策略后,出现 Δ1>0.1 的概率是 0%;同样地,出现 Δ2>0.1的概率是 0%;出现 Δ3<0.8 的概率是 0%。 因此,通过智能车控制策略后,图像膨胀的结果得到提升,这验证了本文智能车控制策略的有效性。

4.2 图像色彩增强实验

本文使用的计算机处理器是Intel®CoreTMi5-4210U CPU@1.70 GHz 2.40 GHz;运行内存是 12.0 GB。

在本文的数字识别技术中,首先使用目标检测深度学习网络YOLOv4-tiny 识别数显式仪表,利用预测盒坐标切割仪表表盘区域,一方面有效避免其他设备对目标设备识别造成干扰,另一方面可避免其他相同颜色对基于颜色膨胀的算法造成干扰。

使用图像膨胀对图像进行数字切割,缩小一张图像的大小,减少了ACE 算法的计算量。 本次实验使用ACE 算法计算一张1 280×720 的原图和使用改进的ACE 算法计算这张原图经过图像膨胀切割后的运行时间,进行 100 次计算,其结果如表 1 所示。

表1 运行时间 (s)

在数字领域,使用颜色膨胀可以有效地限制图像自动均衡算法的计算量。 如表 1 所示,改进的ACE 算法比文献[16]的 ACE 算法的运行时间要短,最大运行时间节省 2.843 s,最小运行时间节省2.421 s,平均运行时间节省 2.649 s,运行效率平均提高了95.82%。

为了更好地比较ACE 算法和改进的 ACE 算法对图像的色彩增强效果,本将使用图像的信息熵和平均梯度这两个指标来评估图像增强效果[19]。

信息熵代表一张图像的信息量,所以熵越大,代表图像增强的效果越好。 由于图像具有 RGB 三个通道,因此需要分别求出各个通道的信息熵(Er、Eg和Eb),然后再对三个通道的信息熵进行平均得到平均信息熵

图像平均梯度代表图像像素之间的局部方差,平均梯度越大,可以更好地分辨图像。

同样地,由于图像具有RGB 三个颜色通道,因此需要分别求出各个通道的平均梯度(Gr、Gg和 Gb),然后再对三个通道的平均梯度进行平均得到平均值

如表 2 所示,本文使用 100 张 1 280×720 图像对图像信息熵和平均梯度进行实验。 结果表明,改进的ACE 算法的信息熵和平均梯度均比ACE 算法和原图的信息熵和平均梯度高,证明了本文算法的有效性。

表2 信息熵和平均梯度

4.3 数字识别实验

为了验证本文技术在数字识别中的可行性,现场采集了500 张不同光照和不同清晰度的图片进行验证,其结果如表3 所示。

表3 数字识别结果

表 3 表明,数字识别的正确率达到94.6%,错误识别率是 3.6%,无效识别率是 1.8%。 造成无效识别的主要原因是仪表屏幕反光过于严重,图像膨胀不理想,数字切割不完整。 对于降低强光直接照射仪表屏幕导致反光严重的问题,可以在智能车上搭载遮光板,对强光反射有一定的抑制作用。

5 结论

目前,有关数字识别的工作主要集中在图像采集、图像处理以及识别算法上面,而对于移动机器人的实时控制则甚少涉及。 本文提出了一种使用深度学习、智能车控制策略和图像色彩增强算法对数字进行识别的技术。 为了避免其他相似设备在定位目标仪表时造成干扰,使用了目标检测网络对目标仪表进行识别。 在实时的数字识别中,为了提高图像膨胀的鲁棒性,使用智能车控制策略调整智能车位置,可以实时提高摄像头拍摄的图片清晰度。 并结合了图像处理技术,使用改进的ACE 算法对图像色彩进行均衡化,提高数字的细节部分。 最后使用了卷积循环神经网络对数字进行识别。 实验结果表明,智能车在运动控制策略的作用下有效地改善了图像膨胀的结果;改进的图像增强算法也有效提高了图像信息度。 这证明了本文技术的可行性,此技术对工业数字识别有良好的促进意义。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!