一种实现视觉跟随运动的方法技术

技术编号:18238654 阅读:37 留言:0更新日期:2018-06-17 02:20
本发明专利技术公开了一种实现视觉跟随运动的方法,包括以下步骤:34)采用中值滤波算法实现对采集图像进行处理;35)采用膨胀算法对图像进行二次处理;36)采用腐蚀算法对目标图像进行三次处理;37)进行CAMSHIFT算法对目标进行迭代并根据迭代结果进行目标跟踪;38)将跟踪目标区域进行R、G、B均值计算,每50帧进行一次卡尔曼加权滤波计算,根据计算结果驱动电机完成跟随运动。本发明专利技术提供了一种能够快速排除干扰并能够适应动态目标的方法,使机器人能够有效跟随适应运动目标,并排除其他干扰并实现视觉跟随。提高机器人跟随的准确性,增加机器人跟随实现的稳定性,减少跟随误差。 1

A method of realizing visual following motion

The invention discloses a method of realizing visual following motion, which includes the following steps: 34) using median filter algorithm to process the acquisition image; 35) using the expansion algorithm to handle the image two times; 36) using the corrosion algorithm to treat the target image three times; 37) the CAMSHIFT algorithm iterates the target and iterates the target. Target tracking is carried out according to the iterative results; 38) the tracking target area is calculated by R, G and B mean, and every 50 frames is calculated by Calman weighted filtering, and the motor is driven to follow the following motion according to the calculation results. The invention provides a method that can quickly eliminate interference and adapt to dynamic targets, so that the robot can follow the moving target effectively and eliminate other interference and realize visual following. The accuracy of robot following is improved, the stability of robot following is increased, and the following error is reduced. One

【技术实现步骤摘要】
一种实现视觉跟随运动的方法
本专利技术涉及机器人
,特别是涉及一种实现视觉跟随运动的方法。
技术介绍
随着机器人智能化发展,机器人识别跟随越来越受到关注,但是随着跟随目标的运动,机器人很受到各种环境的干扰导致可能无法识别运动后的跟随目标,或者对识别产生干扰,因此现有技术中,缺少一种能够快速排除干扰并能够适应动态目标的方法,使机器人能够有效跟随适应运动目标,并排除其他干扰并实现视觉跟随。因此本领域技术人员致力于开发一种能够快速排除干扰并能够适应动态目标的方法,使机器人能够有效跟随适应运动目标,并排除其他干扰并实现视觉跟随。
技术实现思路
有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是提供一种能够快速排除干扰并能够适应动态目标的方法,使机器人能够有效跟随适应运动目标,并排除其他干扰并实现视觉跟随。为实现上述目的,本专利技术提供了一种实现视觉跟随运动的方法,包括以下步骤:34)采用中值滤波算法实现对采集图像进行处理;35)采用膨胀算法对图像进行二次处理;36)采用腐蚀算法对目标图像进行三次处理;37)进行CAMSHIFT算法对目标进行迭代并根据迭代结果进行目标跟踪;38)将跟踪目标区域进行R、G、B均值计算,每50帧进行一次卡尔曼加权滤波计算,根据计算结果驱动电机完成跟随运动。较优的,在步骤34)中,按照下列步骤进行处理:341)设th为门限:m为整个识别窗口的长度像素值,n为整个识别窗口的宽度像素值,当m、n均为奇数时,当m、n其中至少一个为偶数时,则342)将检测到的目标窗口每一个像素值进行排序,建立窗口像素的直方图H,确定其中中值mnm,记下亮度小于等于mnm的像素个数nmn。343)对于最左亮度的每个像素pgli,做:H(pgli')=H(pgli)-1nnmgli'=nnmgli-1其中,H(pgli)为计算前的pgli像素灰度值;H(pgli')为计算后的pgli像素灰度值;nnmgli'为计算后的亮度小于等于mnm的像素个数;nnmgli为计算前的亮度小于等于mnm的像素个数;344)对于最右列亮度的每个像素pgri,做:H(pgri')=H(pgri)+1nnmgri'=nnmgri-1其中,H(pgri)为计算前的pgri像素灰度值;H(pgri')为计算后的pgri像素灰度值;nnmgri'为计算后的亮度小于等于mnm的像素个数;nnmgri为计算前的亮度小于等于mnm的像素个数;345)如果nnmgri'=th则跳转至348);346)如果nnmgri'>th则跳转至347);如果nnmgri'<th,按照下列公式对mnm、nnm进行变换:mnm'=mnm+1nnm'=nnm+H[mnm]以mnm'、nnm'值重复步骤341)至346);347)当nnmgri'>th,按照下列公式对mnm、nnm进行变换:mnm”=mnm+1nnm”=nnm+H[mnm]以mnm”、nnm”值重复步骤341)至346);348)如果窗口的右侧不是图像的右边界,则跳转至344);如果窗口的右侧不是图像的右边界,则跳转至349);349)对于最上行亮度的每个像素pgai,做:H(pgai')=H(pgai)-1nnmgai'=nnmgai-1其中,H(pgai)为计算前的pgai像素灰度值;H(pgai')为计算后的pgai像素灰度值;nnmgai'为计算后的亮度小于等于mnm的像素个数;nnmgai为计算前的亮度小于等于mnm的像素个数;3410)对于最下行亮度的每个像素pgri,做:H(pgbi')=H(pgbi)-1nnmgbi'=nnmgbi-1其中,H(pgbi)为计算前的pgri像素灰度值;H(pgbi')为计算后的pgri像素灰度值;nnmgbi'为计算后的亮度小于等于mnm的像素个数;nnmgbi为计算前的亮度小于等于mnm的像素个数;3411)如果nnmgbi'=th则跳转至348);3412)如果nnmgbi'>th则跳转至347);如果nnmgbi'<th,按照下列公式对mnm、nnm进行变换:mnm'=mnm+1nnm'=nnm+H[mnm]以mnm'、nnm'值重复步骤349)至3410);3413)当nnmgbi'>th,按照下列公式对mnm、nnm进行变换:mnm”=mnm+1nnm”=nnm+H[mnm]以mnm”、nnm”值重复步骤349)至3410);如果窗口的底行不是图像的下边界,则跳转至341);如果窗口的底行是图像的下边界,则结束。较优的,在步骤35)中,按照下列步骤进行图像的二次处理:351)用3X3的结构元素,扫描二值图像的每一个像素,用结构元素与其覆盖的二值图像做“与”运算,如果都为0,结构图像的该像素为0,否则为1;352)取所有值为1的像素作为二次处理完的图像结果。较优的,在步骤36)中,按照下列步骤进行图像的三次处理:361)用3X3的结构元素,扫描二值图像的每一个像素,用结构元素与其覆盖的二值图像做“与”运算,如果都为1,结构图像的该像素为1,否则为0。362)取所有值为1的像素作为三次处理完的图像结果。较优的,在步骤37)中,按照下列步骤进行图像的目标迭代:371)按照下列步骤实现反向投影:3711)首先将图像从RGB空间转换到HSV空间;3712)对其中的H分量作直方图,取得颜色概率查找表;3713)将图像中每个像素的值用其颜色出现的概率对替换,得到颜色概率分布图;372)通过光流检测目标,找出目标窗口X;373)根据下列步骤实现CAMSHIFT迭代,3731)按照下列公式计算零阶距:其中,rows为目标窗口的总行数;clos为目标窗口的总列数;(xi,yi)为目标图像X中的点I的坐标;其中,x、y为每个图像中每个像素的坐标;3732)计算一阶距:3733)按照下列公式计算目标窗口X的质心C;xc=M10/M00yc=M01/M00其中,(xc,yc)为质心C的坐标;3734)移动目标窗口的中心M(xm,ym)到质心C(xc,yc),如果移动距离大于预设的固定阈值,则重复上面步骤计算质心C',直到目标窗口的中心M与质心C'间的移动距离小于预设的固定阈值;当循环运算的次数达到最大值,停止计算,反馈出目前目标窗口中心M的坐标;374)将视频的所有帧做步骤3731)至3734)的运算,并将上一帧的结果,即上一帧目标窗的大小和中心,作为下一帧目标窗的初始值,持续迭代。较优的,所述步骤38)中,按照下列步骤实现将跟踪目标区域进行R、G、B均值计算,每50帧进行一次卡尔曼加权滤波计算:381)每50帧记录跟随目标的RGB均值,并存储;382)利用步骤381)计算的前5次记录,将每次记录分配权重,得到前5次记录的数值集和对应的权重集;383)利用所述步骤382)中记录的前5次记录的数值集和对应的权重集根据卡尔曼滤波公式算法计算下一次的目标RGB均值,得到下一个50帧时的预测目标RGB值;384)跟据步骤383)的预测目标RGB值,找到与预测目标RGB值近似的目标,确定其为跟随目标。较优的,所述方法还包括以下步骤实现机器人的将图像坐标中的x,y转换成以图像中心为圆心o的坐标,并换算出第一、二、三、四象限:41)追踪到目标以后,按照下列公式将目标中心本文档来自技高网...
一种实现视觉跟随运动的方法

【技术保护点】
1.一种实现视觉跟随运动的方法,其特征是:包括以下步骤:

【技术特征摘要】
1.一种实现视觉跟随运动的方法,其特征是:包括以下步骤:34)采用中值滤波算法实现对采集图像进行处理;35)采用膨胀算法对图像进行二次处理;36)采用腐蚀算法对目标图像进行三次处理;37)进行CAMSHIFT算法对目标进行迭代并根据迭代结果进行目标跟踪;38)将跟踪目标区域进行R、G、B均值计算,每50帧进行一次卡尔曼加权滤波计算,根据计算结果驱动电机完成跟随运动。2.如权利要求1所述实现视觉跟随运动的方法,其特征是:在步骤34)中,按照下列步骤进行处理:341)设th为门限:m为整个识别窗口的长度像素值,n为整个识别窗口的宽度像素值,当m、n均为奇数时,当m、n其中至少一个为偶数时,则342)将检测到的目标窗口每一个像素值进行排序,建立窗口像素的直方图H,确定其中中值mnm,记下亮度小于等于mnm的像素个数nmn。343)对于最左亮度的每个像素pgli,做:H(pgli')=H(pgli)-1nnmgli'=nnmgli-1其中,H(pgli)为计算前的pgli像素灰度值;H(pgli')为计算后的pgli像素灰度值;nnmgli'为计算后的亮度小于等于mnm的像素个数;nnmgli为计算前的亮度小于等于mnm的像素个数;344)对于最右列亮度的每个像素pgri,做:H(pgri')=H(pgri)+1nnmgri'=nnmgri-1其中,H(pgri)为计算前的pgri像素灰度值;H(pgri')为计算后的pgri像素灰度值;nnmgri'为计算后的亮度小于等于mnm的像素个数;nnmgri为计算前的亮度小于等于mnm的像素个数;345)如果nnmgri'=th则跳转至348);346)如果nnmgri'>th则跳转至347);如果nnmgri'<th,按照下列公式对mnm、nnm进行变换:mnm'=mnm+1nnm'=nnm+H[mnm]以mnm'、nnm'值重复步骤341)至346);347)当nnmgri'>th,按照下列公式对mnm、nnm进行变换:mnm”=mnm+1nnm”=nnm+H[mnm]以mnm”、nnm”值重复步骤341)至346);348)如果窗口的右侧不是图像的右边界,则跳转至344);如果窗口的右侧不是图像的右边界,则跳转至349);349)对于最上行亮度的每个像素pgai,做:H(pgai')=H(pgai)-1nnmgai'=nnmgai-1其中,H(pgai)为计算前的pgai像素灰度值;H(pgai')为计算后的pgai像素灰度值;nnmgai'为计算后的亮度小于等于mnm的像素个数;nnmgai为计算前的亮度小于等于mnm的像素个数;3410)对于最下行亮度的每个像素pgri,做:H(pgbi')=H(pgbi)-1nnmgbi'=nnmgbi-1其中,H(pgbi)为计算前的pgri像素灰度值;H(pgbi')为计算后的pgri像素灰度值;nnmgbi'为计算后的亮度小于等于mnm的像素个数;nnmgbi为计算前的亮度小于等于mnm的像素个数;3411)如果nnmgbi'=th则跳转至348);3412)如果nnmgbi'>th则跳转至347);如果nnmgbi'<th,按照下列公式对mnm、nnm进行变换:mnm'=mnm+1nnm'=nnm+H[mnm]以mnm'、nnm'值重复步骤349)至3410);3413)当nnmgbi'>th,按照下列公式对mnm、nnm进行变换:mnm”=mnm+1nnm”=nnm+H[mnm]以mnm”、nnm”值重复步骤349)至3410)...

【专利技术属性】
技术研发人员:郑光胜谭鹏郑侃樊清涛徐林樊晏如
申请(专利权)人:重庆锐纳达自动化技术有限公司
类型:发明
国别省市:重庆,50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1