一种基于计算机视觉的无纺布袋自动定位方法
技术领域
本发明涉及自动测量与控制领域,尤其涉及一种无纺布袋在生产流水线上的实时、自动定位方法。
背景技术
随着人们环保意识的增强,无纺布袋的需求越来越多。但现有的流水线生产过程中,由于无纺布袋具有柔性的特点,很难用机械的方式进行准确定位,导致其在印染、粘贴及黏合等生产工序中需要大量的人工进行手动辅助定位,生产效率低下,无法满足快速、高品质的生产。因此,发展一种快速、准确的无纺布袋自动定位方法是当前生产企业的迫切需求。
而目前,随着图像处理和人工智能技术的发展,以计算机视觉为基础的产品自动检测与定位方法逐渐得到发展与应用,通过图像处理可以对物件的位置和角度进行计算。计算机技术的发展使得通过图像计算获取无纺布袋的位置和角度信息成为可能。
发明内容
为解决现有技术对无纺布人工定位效率低下、定位不准确的问题,提供一种基于计算机视觉的无纺布袋定位方法,这种方法充分利用图像处理的优势,能快速、精确地对生产流水线上的无纺布袋进行定位,以配合生产的需求。
为实现上述目的,本发明采用以下技术方案:
一种基于计算机视觉的无纺布袋自动定位方法,包括如下步骤:
步骤一,通过视觉设备获取流水线上无纺布袋的实时影像;
步骤二,通过帧间差分法,获取无纺布袋前端线和背景图像,具体过程如下:
步骤2.1 计算连续两帧图像的差分图像,计算公式为
G1=Pk-Pk-1
其中Pk-1为前一时刻的图像,PK为当前时刻的图像,G1为当前时刻差分图像;
步骤2.2 对差分图像进行高斯滤波计算,消除噪声,计算公式为
其中x为差分图像的像素值;σ为高斯函数的宽度;
步骤2.3 计算滤波后差分图像的纵向一阶导数的积分投影,计算公式为
其中Sj(x)为图像在纵向坐标j点下的积分投影值,N为图像的高度,i为横坐标,M为图像的宽度;
步骤2.4计算纵向积分投影的拐点,计算公式为
H(j)=Max(S
j
(x))
其中,H(j)为拐点j位置处的积分投影值,Max(Sj(x))为求取序列Sj(x)的峰值点;
步骤2.5把H(j)与设定的阈值参数相比较,若大于设定的阈值,则判断有无纺布袋到来,并把前一时刻图像作为背景图像存储;若小于设定的阈值,则返回步骤一;
步骤三,通过背景差法计算k+n时刻的差分图像,计算公式为
Gn=Pk+n-Pk-1
其中n 为根据流水线速度设定的差分参数;
步骤四,计算新的差分图像的前端线,将其位置记为U,计算方法同步骤二;
步骤五,分别在新的差分图像的左、右端线上寻找两个点,计算过程为:
步骤5.1计算滤波后差分图像的横向一阶导数的积分投影,计算公式为
其中
为图像在横向坐标下的前端线左边积分投影序列,
为图像在横向坐标下的中线左边积分投影序列,
为图像在横向坐标下的前端线右边积分投影序列,
为图像在横向坐标下的中线右边积分投影序列,
i为横坐标,j为纵坐标,N为图像的高度,U为前端线位置,K为根据图像精度和允许的倾斜角度设置的积分宽度;
步骤5.2计算横向积分投影的拐点,并把其位置分别作为左、右端线上的四个位置点;计算公式为
其中,
为拐点i位置处的积分投影值,其对应位置记为L1,
为拐点i位置处的积分投影值,其对应位置记为L2,
为拐点i位置处的积分投影值,其对应位置记为R1,
为拐点i位置处的积分投影值,其对应位置记为R2,
Max(Sj(x))为求取序列Sj(x)的峰值点;
步骤六,计算无纺布袋的偏转角度θ,公式为:
最终得出无纺布袋的前端线位置、左右端线的四个点的位置,以及无纺布袋的偏转角度,完成对无纺布袋的定位。
上述的一种基于计算机视觉的无纺布袋自动定位方法,其特征在于步骤2.2中高斯函数的宽度σ值取3、5或7。
本发明是利用无纺布袋的实时影像,通过计算机视觉处理的方法实现自动定位;以通过帧间差分法实现无纺布袋的位置定位触发,通过积分投影法实现前端线及左、右端线位置检测,最终获取无纺布袋的前端线位置、右端线上两点位置、左端线上两点位置以及无纺布袋与流水线轴向的夹角数据为准。
在计算时,在获取无纺布袋实时影像的基础上,首先通过帧间差分法判断是否有无纺布袋到来,把此时的前一帧图像作为背景图像;然后根据测定的流水线速度,设置差分参数n,并把背景图像后的第n+1帧图像与背景图像的差分作为处理图像;对图像滤波处理后,利用横向积分投影法和纵向积分投影法,分别计算出前端线位置点、左端线和右端线上的四点;最后根据左端线和右端线上的四个位置点计算出无纺布袋与流水线轴线的夹角。
本发明可以作为独立的算法模块嵌入到无纺布袋自动化生产的实时控制系统中,通过位置信息实现对搬运机械臂、印染设备、粘贴及黏合等设备的控制,达到无纺布袋快速、自动化生产的目的。计算速度快、智能化程度高、定位准确,并且定位效果与无纺布袋的大小无关。
这一切都受益于图像处理和人工智能技术的发展,特别是以计算机视觉为基础的产品自动检测与定位方法的发展与应用,本发明这种快速的无纺布袋视觉定位方法,通过对视频图像的计算,得到前端线、左端线和右端线的位置,以及无纺布袋相对于流水线轴线的偏移角度,并据此得出具体工序需要的位置。这种方法在高速工业摄像机的辅助下,可以得到每秒60帧以上的影像,将位置定位精度控制在2mm以下。
附图说明
图1为本发明的工作流程框图。
图2为本发明采集到的无纺布图像示意图。
图3为检测到无纺布袋到来前一时刻图像的示意图。
图4为检测到无纺布袋到来当前时刻图像示意图。
图5为无纺布袋到来前一时刻和当前时刻的差分图像示意图;
图6为50帧后的检测图像示意图。
图7为50帧后的检测图像与当前时刻的差分图像示意图。
图中标记为:1无纺布袋,2左端线的位置点L1,3左端线的位置L2,4前端线位置,5右端线位置R1,6右端线位置R2,7生产流水线。
具体实施方式
实施例一
参照附图,一种基于计算机视觉的无纺布袋自动定位方法,步骤如下:
步骤一,从高速工业摄像机获得分辨率为800×600的无纺布袋实时影像Pk,图像的高度为800,宽度为600;
步骤二,通过帧间差分法,获得无纺布袋前端线和背景图像,具体过程如下:
步骤2.1 计算连续两帧图像的差分图像,计算公式为
G1=Pk-Pk-1
其中Pk-1为前一时刻的图像,Pk为当前时刻的图像,G1为当前时刻差分图像;
步骤2.2 对差分图像进行高斯滤波计算,消除噪声,设高斯函数的宽度为5,计算公式为
其中x为差分图像的像素值;
步骤2.3 计算滤波后差分图像的纵向一阶导数的积分投影,计算公式为
其中Sj(x)为图像在纵向坐标j点下的积分投影值,i为横坐标。
图像的宽度为800,高度为600;
步骤2.4计算纵向积分投影的拐点,计算公式为
H(j)=Max(S
j
(x))
设对应的j值为60,求得H(j)的值8000;
步骤2.5设定阈值参数为5000,H(j)的值8000与设定阈值参数5000相比较,8000大于5000, 即判断有无纺布袋到来,并把前一时刻图像Pk-1作为背景图像存储;
步骤三,根据流水线速度设定差分参数n为50,通过背景差法计算k+50时刻的差分图像,计算公式为
G50=Pk+50-Pk-1
步骤四,计算新的差分图像G50的前端线,计算方法同步骤二,得到的j点的位置为300,标记为U;
步骤五,分别在新的差分图像G50的左、右端线上寻找两个点,计算过程为:
步骤5.1计算滤波后差分图像的横向一阶导数的积分投影,计算公式为
其中U值为300,K 为根据图像精度和允许的倾斜角度设置的积分宽度,设K值为5,N值图像宽度为600,计算参数代入上述四个公式如下:
其中:
为图像在横向坐标下的前端线左边积分投影序列,
为图像在横向坐标下的中线左边积分投影序列,
为图像在横向坐标下的前端线右边积分投影序列,
为图像在横向坐标下的中线右边积分投影序列,
i为横坐标,
j为纵坐标;
步骤5.2计算横向积分投影的拐点,并把其位置分别作为左、右端线上的两位置点,计算公式为
求得
的值为6100,其对应位置L1为56,
的值为6200,其对应位置L2为80,
的值为5900,其对应位置R1为710,
的值为6300,其对应位置R2为732;
步骤六,计算无纺布袋的偏转角度θ:
式中值为56,L2值为80,R1值为710,R2值为732,代入上式求得无纺布袋的偏转角度:
经过以上步骤计算,最终得到:前端线位置为300(步骤四中得到),左右端线两点位置分别为,L1值为56,L2值为80,R1值为710,R2值为732,以及无纺布袋的偏转角度θ为-12.95o。