时间:2024-05-04
叶俊杰 高丙团* 陈 昊 徐伟伦
1(东南大学电气工程学院 江苏 南京 210096) 2(国网江苏省电力公司检修分公司 江苏 南京 211102)
随着现代控制技术的不断发展,机器人开始逐步替代重复、繁杂、危险性高的人工工作,但是在工厂巡检、室内抢修、家居服务等场景中,机器人往往需要独立实现开锁和开门操作[1]。以变电站的巡检机器人为例,目前变电站巡检机器人已经广泛应用[2],但其只能对仪器进行基本的外部监测工作,不具备对变电站现场设备的操作功能,难以监测变电站现场如端子箱、汇控柜、机构箱、消防应急箱等电力箱柜内部的设备状态,对于电力器件的监测能力不足、事故处理能力欠缺,具体的维修检测等工作仍旧需要人工进行,人员工作量并未减少,且在变电站处于危险情况时,人员抢险可能负伤。本文针对机器人在进行现场开锁时环境复杂、锁孔多样、需要快速完成开锁操作的问题提出一种基于多种机器视觉技术的可见光图像锁孔检测算法,可以使机器人快速完成开锁前必需的锁孔检测任务,为赋予机器人开锁能力做出贡献。
目前鲜见针对不确定情况下的锁孔识别问题的研究。已知有文献采用HOG(Histogram of Oriented Gradients,方向梯度直方图)-SVM(Support Vector Machines,支持向量机)实现锁孔与门把手的融合特征识别[3],但该研究的对象主要针对办公场所常见门把手和锁孔的识别融合。参考已有机器视觉算法思路,针对可见光图像中锁孔的检测可以分解为图像圆形检测与圆形区域锁孔正负样本分类两个子问题,或直接使用目标检测算法。圆形检测主要有霍夫圆检测及其改良算法[4],图像分类器主要有HOG-SVM[5-7]分类器与卷积神经网络[8](Convolutional Neural Networks,CNN)分类器,图像目标检测算法主要有区域-卷积神经网络(Region-Convolutional Neural Networks,R-CNN)及其衍生算法[9-11]和YOLO[12]等。
本文结合机器人开锁开门的操作实际应用需求和计算机图像识别算法的研究进展,提出一种基于边缘特征圆形检测的锁孔快速检测算法,采用基于边缘特征的圆形检测法检测图像圆形的可能位置,再搜集锁孔及对照素材训练HOG-SVM分类器实现圆形区域是否是锁孔的分类。通过实验验证了提出算法的可行性,并通过对比实验表明HOG-SVM分类器较CNN分类器对于锁孔快速识别具有更高的效率和精度。
当电力巡检机器人进行开锁操作时,首先按照路线运动至电力屏柜前,接着调整姿态正对电力屏柜,再进行锁孔定位操作,最终控制机械臂进行开锁。且根据常见锁孔均为圆形,给出如下两条假设:
假设1锁孔外围的形状必为圆形,且锁孔表面无遮挡。
假设2在进行锁孔检测时,电力巡检机器人已经调整正对电力屏柜。
根据上述假设,可将图像中锁孔识别定位任务分解为如下步骤:
步骤1对摄像机获取的可见光图像进行预处理,过滤无关信息,压缩运算量。
步骤2根据上述假设,锁孔在图像中呈现圆形,对图像进行圆形检测,即可定位到图像中锁孔可能的存在位置。
步骤3构建分类器,对圆形区域图像是否为锁孔进行分类,从而确定锁孔的准确位置。
根据锁孔检测任务的分析,通过实时采集可见光图像,从图像中检测出锁孔的具体像素位置,主要包括图像预处理、圆形检测与锁孔鉴别三个方面,下面分别给出相应内容的具体实现方法。
摄像头获取的实时图像为三通道彩色图,数据量大,为了提取图像的有用信息,降低运算量,通过灰度化和局部阈值二值化进行预处理。
将摄像机获取的RGB三通道彩色图片采用加权平均法将原图三通道分量数值与不同权重相乘后得到其灰度图,像素点灰度值计算公式如下:
Gray=0.299R+0.587G+0.144B
(1)
式中:R、G、B分别为可见光图像红、绿、蓝三分量值,Gray则是灰度化后图像的灰度值。
经过灰度化后像素点取值范围是0~255。为了进一步降低运算量,对灰度化图片进行二值化处理,将灰度图转换为黑白图。最简单的方法就是全局阈值二值化,首先根据OTSU[13](最大类间方差法)计算出最合适的分割阈值,然后进行如下计算完成二值化处理:
(2)
式中:q表示选取的灰度阈值;gij表示图像上某一像素点的灰度值;bij为对应像素点二值化后像素值。
全局阈值二值化对于存在部分偏亮或偏暗区域的图像(例如受光不均的图像)无法选取合适的分割阈值。本文采用Niblack法[14],根据像素周围r×r区域的像素灰度均值与方差计算分割阈值q,然后根据式(2)进行二值化,阈值q的计算公式如下:
q=m+t×s
(3)
式中:q为图像中某一像素点的局部阈值;m为区域内灰度均值;s为区域内灰度方差;t为调整量。
图像预处理后,可结合锁孔均为圆形的假设1,对二值化图像进行连通域边界标定,再基于边缘特征构建条件筛选出圆形连通域。
根据假设2并结合电力屏柜的金属材质特性,在锁孔区域经过二值化处理均为白色,首先采用Two-Pass[15]法标记图像中的白色连通域,然后遍历已标记过的所有白色连通域内像素点。当像素点周围四个点中有黑色像素点,则此白色点即为其所在连通域的边界点,据此得到标定连通域的边界坐标集合,降低数据存储量,且便于后续边缘特征提取。
完成白色连通域边界标定后,根据圆形边界点到圆心距离相等特征构建判定条件以筛选出圆形连通域。
首先读取连通域的边界坐标集合根据下式计算连通域中心坐标:
(4)
式中:B为标定连通域的n个边界坐标集合;(xc,yc)为计连通域中心坐标。
当连通域为圆形,(xc,yc)可视为圆心坐标,据此计算边界点指向圆心的向量:
R(i)=B(i)-(xc,yc)
(5)
式中:R为边界点指向圆心的向量的集合。
为了排除连通域自身跨度对于后续计算的影响,对向量集合进行归一化操作,计算如下:
(6)
式中:Rx表示边界向心向量x分量集合;Ry表示边界向心向量y分量集合;Bx表示边界坐标x分量集合;By表示边界坐标y分量集合;R′x与R′y表示归一化后边界向心向量x、y方向上的分量集合。
而后计算归一化后的每个边界点到中心点距离:
r(i)=‖(Rx1(i),Ry1(i))‖i=1,2,…,n
(7)
根据式(7)可得归一化边界向心向量模长集合r,结合圆形特征,选取集合标准差f作为连通域边界粗糙度的评判标准,即:
f=std(r)<0.15
(8)
标准差f越小,说明边界点到中心距离波动越小,连通域形状越接近圆形,考虑到噪声和分辨率影响及后续代码相应情况,经过多次测试后选取判定阈值为0.15,即f<0.15时认为此连通域是圆形。
为了进一步降低运算量,本文提出如下两条快速筛选条件以降低上述圆形判定法的调用次数从而提高代码运行速度。
快速筛选条件1:连通域面积筛选。在进行连通域标定时,可以在Two-Pass法的第二次遍历时记录下每个连通域的像素面积,像素面积过小的连通域识别无意义,采用下式进行筛选:
(9)
式中:S(i)表示第i个连通域的像素面积;Sgraph表示图像总像素面积。
快速筛选条件2:连通域xy方向跨度差筛选。根据圆形任意方向上直径相等,连通域边界在xy方向跨度差过大时不符合圆形特征,可采用下式进行筛选:
(10)
式中:xmax和xmin表示边界坐标集合x方向上的最大值和最小值;ymax和ymin表示边界坐标集合y方向上的最大值和最小值。
(1) HOG-SVM算法。经过圆形检测定位出锁孔的可能存在区域,但锁孔自身几何形状并没有明显的线性特征,难以依据直线检测等传统模式识别方法直接构建有效的分类条件,可通过训练锁孔正负样本分类器对其进行分类。考虑到锁孔外圆中锁孔形状、颜色和位置均具备一定的特殊性,本文提取其HOG特征向量[3]作为分类依据,单个HOG特征向量的生成由图像的纹理方向和纹理颜色共同决定,可以有效反映锁孔的形状和颜色特征,多个cell内HOG特征的排列顺序可以有效体现锁孔的位置特征。确定分类依据后,选取SVM算法[5]进行HOG特征的分类,原因如下:
1) SVM计算复杂度取决于支持向量的数量,可以有效避免为保证精度导致HOG向量长度过长带来的计算量过大的问题。
2) SVM采用支持向量分类而非传统统计思路,适合处理本文样本素材有限的小样本分类问题。
3) SVM寻找最大划分超平面思路可以有效解决本文中涉及的锁孔正负样本二分类问题。
(2) 锁孔分类。准备锁孔正负样本素材样例如图1所示。正样本为网上寻找截取,并进行适当的形态变换的锁孔图,共208张。负样本由网络随机图、几何形状图与圆形检测中检测到的非锁孔图,共256幅。针对训练样本集,设置HOG特征提取参数为:cell为8×8,block为2×2,相邻block重叠cell数为1×1,bins数目为9,角度范围为0°~180°;将所有训练素材图像均缩放为256×256大小并灰度化便于适配cell大小,据此提取HOG特征向量长度为34 596,再对其进行标签,锁孔图对应的HOG向量标签为1,非锁孔图的HOG向量标签为-1。
(a) 锁孔图
(b) 非锁孔图图1 训练素材样例
至此得到464×34 596的训练素材矩阵(前208行为锁孔图像HOG向量,后256行为非锁孔图像HOG向量)和464×1的标签矩阵(前208行为1,后256行为-1),而后生成一个1到464的随机数字顺序数组,选取前300个随机数对应的HOG向量为训练集,剩余为测试集,采用SVM进行分类训练。
在Windows 10系统MATLAB R2017b平台上测试本文算法,使用DELL公司Inspiron 3 559笔记本计算机,其配置为Intel i5-6200U CPU,主频2.30 GHz,8.00 GB内存。调用笔记本自带的摄像头,摄像头拍摄设置为MJPG_960×540,30帧每秒。
选取一幅含有多个圆形的图片作为测试素材,对代码的圆形检测可行性进行测试,并采用霍夫梯度法检测同一图片,对比检测效果。
检测结果见图2,图2(a)是基于边缘特征的圆形检测,图2(b)是设定像素半径为10~30的霍夫圆检测效果,图2(c)是像素半径为10~100的霍夫圆检测。
(a) 基于边缘特征的圆形检测
然后对比圆形检测代码的运行速度,将之前的测试图片用其他电子设备展示于笔记本摄像头前,在不运行在图像中绘制圆形和图像展示的代码的前提下,将三种圆形检测方法各自运行50次,记录代码运行时间如图3所示。对比可知:(1) 霍夫梯度法在宽半径范围时检测效果较好,但运行速度较慢,在窄半径范围时运行较快,但检测效果差。在本平台硬件配置中,霍夫梯度法不能兼顾检测效果与检测速度。(2) 基于边缘特征的圆形检测法运行速度最快,同平台单次运行时间比宽半径范围霍夫梯度法少0.4 s左右,略短于窄半径范围霍夫梯度法,且其不受圆形半径范围影响,检测效果最好。
图3 圆形检测时间对比
在同样的锁孔图片和非锁孔图片作为训练素材的前提下(图1),分别使用HOG-SVM和CNN网络划分训练集和测试集进行训练,挑选训练效果较好的分类器进行同平台对比测试。为了避免划分训练集时随机抽样带来的影响,在进行检测效果评价时将全部图片作为测试对象。测试结果如表1所示。
表1 锁孔鉴别效果对比
进一步对分类器运行速度进行对比,统一选取基于边缘特征的圆形检测法进行圆形检测,其他控制条件与圆形检测速度对照实验时一致,识别到圆形后,分别使用HOG-SVM与CNN分类器进行50次圆形分类测试并记录运行时间(HOG-SVM分类前所需的图像缩放、灰度化、HOG特征提取时间和CNN分类器的图像缩放时间均包括在内),如图4所示。
图4 锁孔鉴别运行时间对比
根据表 1可知,两种分类器的预测准确率均高于85%,HOG-SVM在正负两部分的识别的准确率相对于CNN高于13.79%。根据图 4可见加入CNN分类器的算法的响应速度非常慢,最高的延迟可以达到2~3 s,加入HOG-SVM分类器的算法单次检测耗时大约在0.4 s左右。由此可见:
(1) HOG-SVM的整体运算量较小,适用于解决本实验中低配置、小样本条件下的快速锁孔正负样本二分类问题。
(2) CNN的运算量大,在高运算硬件平台、大样本的条件下可能会训练出更高精度的分类器。
综上,本文提出的锁孔识别算法具有对可见光图片进行实时锁孔检测的能力。且经过同平台测试,本文算法的检测效果、响应速度均优于其他同类算法。
本文针对电力巡检机器人开关电力屏柜门的研究背景,提出一种基于锁孔圆形边缘特征的锁孔快速识别算法。通过对图像边缘矩阵构建特征评判参数实现对于圆形区域的快速检测,通过HOG-SVM训练分类器实现对于圆形区域的锁孔正负样本分类。通过多种筛选条件的构建在保证识别准确率的前提下降低了代码的运算量和对硬件的运算能力要求,使代码具备在低配置硬件平台上进行实时锁孔检测的能力。
本文提出的锁孔快速算法为赋予电力巡检机器人现场开锁能力打下基础;同时,文中的锁孔识别算法也可以为室内锁孔或其他典型圆形特征的机器视觉识别研究提供参考和借鉴。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!