基于帧差法与SURF匹配的异纤机棉流速度测量
2022-12-21冯育龙
冯育龙, 许 涛
(西安工程大学 机电工程学院, 陕西 西安 710048)
近年来,随着我国经济结构的调整,棉花种植面积从2014年的418.0万公顷下降到2021年的302.8万公顷;与此同时,棉花采摘的机械化水平从70.74%逐年递增至81.18%。相对人工采摘而言,机械化采摘速度快,但同时也导致采摘的棉花中含有大量异性纤维[1]。这些外来纤维在纺纱过程中难以去除,严重影响纱线品质。因此,在纺制棉纤维之前,必须去除棉花中的异性纤维[2]。目前,基于机器视觉的检测系统已广泛应用于识别棉花中的异性纤维[3-5]。
棉花异纤清除机就是用来清除棉花中异性纤维的自动化设备。棉花异纤清除机通过视觉系统检测到异性纤维,随即给打击执行部件发出打击指令,实现高速气流截断控制。但是由于棉流速度的不确定性,异纤清除效率难以提高[6]。
基于机器视觉的速度测量是利用目标跟踪技术,通过匹配目标的位置、大小、形状和颜色,建立运动目标和前景目标之间的对应关系。根据匹配原理不同,可分为基于灰度的模板匹配算法以及基于特征的匹配算法。Jin等[7]通过图像相关性比较,计算相关系数,找到估计速度的最大可能距离;Mosorov等[8]基于获得的一系列层析图像,利用互相关技术测量了粒子速度,并考虑了传感器体积内存在的流型。Yajun等[9]提出了一种基于双CCD相机的棉花速度接触式测量方法,采用互相关法获得了棉花流动的分区速度;实验结果表明,该方法可以有效地弥补超声波传感器方法的不足。
由于归一化互相关(normalized cross correlation,NCC)可以达到较高的精度,但是NCC的计算成本很高,并且随着模板的尺寸变大,其计算时间会急剧增加。CHEN等[10]提出一种模板匹配的加速度算法。代阳等[11]提出了一种基于图像互相关和卡尔曼滤波算法的混合方法,采用连通域法进行预处理和分割,得到分离后的棉花图像,并利用图像互相关配准技术计算坐标变换参数;在图像配准中,采用卡尔曼滤波方法预测可能的位置,从而加快图像配准速度;研究结果表明,该方法可以有效提高检测的准确性以及实时性。
李庆园[12]提出一种基于时空域的车辆测速方案,并使用局部邻域一致性约束对误匹配点对进行剔除。李继辉[13]通过采用混合高斯背景建模算法实现运动车辆目标提取,通过SIFT检测算法实现特征点提取以及匹配,通过标定相机计算车辆与摄像机之间的距离,求出车辆速度。田杰等[14]针对复杂背景下的图像匹配精度与运算速度较低的问题,基于Hu不变矩和区域面积的感兴趣区域特征提取方法,缩小识别匹配区域;结合Harris角点算法对SURF算法进行改进,剔除不稳定的特征点,有效提高图像匹配精度。常子霆等[15]针对无法获取运动车辆的全景图片且车辆之间有遮挡的现实问题,利用车轮之间的位置关系来限制匹配区域,提高了匹配精度;用模板匹配对关键点进行追踪,获得多帧图像之间的车轮位移;实验结果表明,所提方法使得测速结果的均方根差(root mean square error,RMSE)下降了20%~40%,更加适用于车辆以较快速度(10~20 km/h)通过高速公路入口测速点的实际场景。
综上所述,基于灰度的模板匹配算法在进行速度测量时,需要逐像素匹配并计算相关系数,计算量较大;基于特征的匹配算法往往又会因为特征点数量较多增加匹配难度。针对运动棉团与背景差异性较小导致难以准确匹配的问题,课题组提出一种帧间差分法和形态学结合的SURF特征匹配算法。首先,课题组利用帧间差分法提取棉团边缘轮廓;其次,通过形态学开闭运算得到完整的棉团信息;而后,基于SURF特征匹配算法选取特征点进行匹配并计算同名点之间的像素差;最后,进行坐标转换得到实际移动距离并计算棉团运动速度。
1 棉流速度测量理论
棉流速度测量有以下特点:①背景单一,异纤机在正常工作的情况下,光源及光照强度不会发生变化,高速CCD相机位置固定,获取到的图像背景在短时间内不会发生变化;②大小不一、形状各异的棉团会同时存在;③棉团与背景图像灰度图差别不大。
课题组提出将帧差法与SURF特征点匹配算法相结合计算棉团运动速度。对于帧差法只能提取目标轮廓的问题,采用形态学开闭运算进行填充,得到完整棉团信息,同时减少特征点数量,通过对相邻帧间同名点的像素距离进行坐标系转换得到实际移动距离,计算棉流速度。
1.1 帧间差分法提取运动目标
依据图像非运动区域变化较小的原理,在视频流中选取相近的2帧图像作差来提取目标轮廓,但该算法只能提取部分边缘信息而不能获得完整的目标信息。假设Fk(X,Y)和Fk-1(X,Y)分别表示视频流中第k和第k-1帧的图像,则差分图像:
D(X,Y)=|Fk(X,Y)-Fk-1(X,Y)|。
(1)
式中:(X,Y)表示像素点,D(X,Y)表示提取的目标轮廓。
对目标轮廓D(X,Y)二值化处理获取运动目标像素点的位置,二值化过程如下:
(2)
式中:R(X,Y)为二值化后的图像,T为选定的阈值。
1.2 形态学开闭运算
1) 膨胀,实现图像中的高亮部分的扩张,以获得更大的高亮范围。膨胀定义为:
(3)
式中:src表示原始图像;dst (x,y)表示输出图像,主要实现用(x,y)周边区域(x+x′,y+y′)内的最大值代替(x,y)的值。
2) 腐蚀,求局部最小值,缩小图像中的高亮范围,腐蚀定义:
(4)
式(4)中,用(x,y)周边区域(x+x′,y+y′)内的最小值代替(x,y)的值。
1.3 SURF特征点匹配
尺度不变特征变换(speeded up robust feature, SURF)特征点具有平移、旋转和多尺度的不变性优势,在进行特征点匹配时能保持很好的鲁棒性。因此课题组基于SURF特征点来提取感兴趣点。
算法具体流程:
1) 构建积分图像I(x,y)以及Hession矩阵。
(5)
(6)
(7)
式中:I(x,y)表示图像原点(x,y)整个区域内所有像素点灰度值之和;H[I(x,y)]表示Hession矩阵,H(X,σ)表示滤波后的Hession矩阵,σ表示尺度;Lxx(x,y,σ),Lxy(x,y,σ)和Lyy(x,y,σ)表示的是滤波后二阶微分在点(x,y)处与图像I的卷积。
以H矩阵的特征值作为判别式,根据判定结果的符号将点分类
det (H)=LxxLyy-(ωLxy)2。
(8)
式中,ω表示用盒式滤波器替代高斯滤波器的加权系数。
2) 构建尺度空间。
H矩阵构建的尺度空间以9×9作为第1组第1层盒状滤波器的尺寸L0,盒状滤波器尺度σ就是图像尺度s0,其他层图像尺度:
(9)
3) 特征点定位。
将经过Hessian矩阵处理的每个像素点与其3层尺度空间内的3×3×3个点进行比较,极大值点即为初步选定关键点,去除误定位点得到特征点。
4) 特征点主方向分配。
建立以特征点为圆心,12s为直径的区域,用60°的扇形窗口扫描区域,计算区域内所有点的响应值之和,值最大的方向就是特征点的主方向。主方向计算如图1所示。
图1 特征点主方向
5) 特征点描述子的生成。
以特征点为中心,沿着主方向建立正方形窗口,并等分为4×4的子区域。计算16个子域内像素点的小波特征dx和dy,形成包含∑dx,∑dy,∑|dx|和∑|dy|的四维向量,生成64维描述符。
6) 特征点匹配。
SURF特征点匹配主要通过计算两点的欧氏距离和H矩阵的迹来评价匹配效果好坏;欧氏距离值越小越匹配。计算矩阵主对角线上元素之和,符号相同的2个特征点进行匹配,否则不予以匹配。
计算特征向量P1,P2中元素的欧式距离,满足要求即可视为同名点。特征匹配计算公式:
(10)
SURF特征点匹配结果中有少量不包括棉团运动信息的特征点,因此需要将背景特征点与运动特征点进行区分。2个特征点的像素距离:
(11)
式中:(x1m,y1m),(x1n,y1n)分别表示特征点1,2在图像中的像素位置;DL表示2个特征点之间的像素距离,DL接近于0的标记为背景特征点,DL远大于0的标记为运动特征点。
1.4 坐标系转换
SURF特征点匹配算法实现了给定时间间隔内棉团运动像素距离大小的检测。为了获得棉团运动速度,需要将像素距离与实际距离进行转换,单目相机转换原理如图2所示。
图2 距离转换原理
通过计算标尺在图片中显示的尺寸得到比例关系,计算整个图片实际尺寸;根据成像图片的分辨率计算得到单个像素对应的实际距离;SURF算法计算出特征点之间的像素差,再与单个像素对应的实际距离相乘得到实际移动距离,进而计算得到棉团运动速度。设图像像素与实际距离之间的转换单位为μ,实际距离为D,则有:
(12)
(13)
式中:l为标尺实际长度,L为标尺在成像图片中的长度,fps为相机拍摄帧率,pix为标尺在图像中的像素数,Δpix为像素差,t为棉团运动时间,v为棉团运动速度。
2 棉流速度测量
2.1 棉速测量实验平台
选用帧率高、可视化好的高速CCD相机搭建如图3所示的棉流速度测量平台。相机型号为Photron FastCAM,采用了高感光度C-MOS传感器,难以拍摄的低亮度拍摄对象也能实现可视化。为了降低实验中外界因素的影响,实验所用的棉花大小、形状应有一定的差异性。在测试过程中,保持相机位置固定。
图3 棉速测量实验平台
2.2 帧差法提取运动目标
相机获取的棉团图像灰度转换结果如图4(b)所示。运动棉团与通道背景之间灰度值差异不明显,直接进行SURF特征点匹配,结果如图5所示。匹配结果表明:①特征点数量多;②存在误匹配点对;③与棉团信息特征点数量少。
图4 棉流图像
图5 SURF特征点粗匹配
运用帧间差分法提取棉团边缘轮廓,如图6所示。图中可以看到帧差法前后,棉团边缘轮廓得到很好的提取,但是棉团内部信息不完整,会增加后续匹配难度。
图6 帧间差分法提取棉团边缘轮廓
2.3 形态学运算填充内部轮廓
对二值化图像运用形态学开闭运算进行噪点去除以及内部填充,结果如图7所示。从图7中可以看出,背景区域的噪点实现去除,同时得到了整个棉团信息。
图7 形态学开闭运算
2.4 SURF特征点匹配
对形态学开闭运算后的2帧图像进行SURF特征点匹配,得到如图8所示的匹配结果。匹配结果表明:匹配的像素点数为28,有2个背景特征点,3个误匹配点。去除不需要的匹配点后,计算剩余匹配点对的像素差平均值,作为给定时间内棉团运动的像素距离。与直接对灰度图像进行SURF粗匹配的结果进行对比,得到表1所示的结果。从表1中可以看出,本文算法将特征点数从87减少到28,无效匹配点对数从79减少到2,误匹配点对数从5减少到3,提高了算法的运算速度。
图8 SURF特征点匹配
表1 直接匹配与所提算法对比结果
2.5 棉流速度测量
由式(11)~(13),计算选取的同名点像素移动距离,在进行像素距离与实际距离的转换后,计算得到给定入口速度vin=15 m/s时输棉通道内棉流速度。输棉通道进棉口横向长度为1 380 mm,圆形速度入口(优棉出口)位于通道中间,在对称通道内以55 mm为间隔,选取12个点,计算12个点处的棉流速度。其中,通道中间位置为1号位置,通道边界位置为12号位置,结果如图9所示。
图9 课题组提出算法的对称通道棉流速度分布
与直接计算得到的棉流速度进行比较,结果如图10所示。对本文算法与直接计算所得的速度之间的误差进行计算,误差如图11所示。
图11 误差变化曲线
由图10和11可知,对称通道内,本文算法所得速度与直接计算所得速度间的误差基本保持在4.0%左右,在通道边缘位置误差逐渐增大。此种情况的出现与输棉通道的弯形管道结构有关。
图10 直接计算和课题组提出算法的对称通道棉流速度分布
3 结论
课题组针对异纤机输棉通道内棉流速度分布特性无法确定的问题,提出了基于帧间差分法和SURF特征点匹配相结合的棉流速度测量方法。同时,使用形态学腐蚀、膨胀运算去除背景噪点同时得到完整的棉团信息。实验结果表明,与直接匹配相比,特征点数量减少67.8%,无效匹配点对减少97.47%,本文算法计算所得速度与直接计算所得速度误差约为4.0%。课题组设计的算法准确率能满足实际要求。该算法虽然能够准确获得不同位置的棉流速度,但是算法实时性不高,后续研究可以围绕提高算法运算速度展开研究。