本发明涉及动态检测和qr码识别领域,尤其涉及一种高速运动背景下运动物体检测及二维码识别与解码的方法。
背景技术:
运动目标检测在视频监控、机器人导航等领域有着广泛的应用,动态背景下的运动目标检测旨在通过运动估计与补偿技术来消除背景运动,将问题转化为静态背景下的运动目标检测。最常用的运动补偿方法是采用特征匹配算法确定连续帧中图像相匹配的特征点,针对计算出的运动矢量进行运动补偿,但这种方法下的运动估计在匹配时易产生较多错误点对,且耗时较大,不太适用于实时性要求较高的场合。
针对二维码,目前常用canny算子进行边缘检测,并利用位置探测图形的图像宽度比(1:1:3:1:1)特征、形态学处理或hough变换对二维码进行定位后完成检测识别工作。但仍然存在不足之处:面对不同的失真情况,简单的边缘检测容易造成边缘细节丢失,再加上单一的定位检测方法,更易导致二维码检测识别效果不够理想,
技术实现要素:
本发明提供了一种基于改进surf复合算法的高速动态二维码识别方法,能够有效改善agv在高速运动过程中检测识别二维码时时效性差的问题:包括相机运动时前景点与背景点检测混淆、运动补偿实时性不高以及高速运动下致使采集二维码图像失真难以识别读取。
本发明为解决上述问题的技术方案,提出一种基于高速运动状态下的二维码实时识别方法,包括以下步骤:
s1:采集图像,在动态背景下采用相位相关算法、harris角点检测与surf特征点匹配算法相结合进行图像的全局运动估计与补偿,得到稳定的图像序列;
s2:对稳定的图像序列采用三帧差分算法检测得到运动的区域,提取出运动目标;
s3:对提取的运动目标图形进行预处理;
s4:采用改进的canny算法结合hough直线检测进行图像边缘检测与畸变矫正;
s5:对采集到的图像进行解码。
其中,s1中全局运动估计与补偿的方法包括步骤:
根据已有运动图像,利用相位相关算法初步确定前后帧图像中相位相关区域,并通过平移变换进行一次运动补偿;
对粗略补偿后的图像利用harris算法检测特征点,并结合surf描述子进行特征点匹配完成运动估计;
利用6参数仿射运动参数模型构建运动模型,确定全局运动参量,再根据上述参量做运动补偿,得到稳定图像序列,后续工作近似于做静态背景下运动目标的检测。
其中,对相关性能良好的图像利用harris算法检测特征点的过程中,当窗口发生[u,v]移动时,移动前后对应的像素点灰度变化描述如下,
其中w(x,y)代表窗口函数,如果窗口中心点是角点时,移动前与移动后,该点的灰度变化最为剧烈。
其中,静态背景下运动目标检测的步骤包括:
对匹配后的图像使用三帧帧差法得到运动的区域,并做形态学处理以精确性定位。
其中,三帧帧差法是在得到相邻两帧的差值图像后,将两个差分图像进行与运算、取交集以得到目标轮廓。
其中,对提取的运动目标图形进行预处理的步骤包括:
对图像进行灰度处理;
采用otus方法对运动目标图形进行二值化。
其中,采用改进的canny算法结合hough直线检测进行图像边缘检测与畸变矫正的步骤包括:
s4.1:对二值化图形改用中值滤波以消除易产生的椒盐噪声;
s4.2:利用canny算子进行卷积计算,得出图像的梯度幅值与方向;
s4.3:对梯度幅值进行非极大值抑制;
s4.4:采取四阈值算法进行边缘检测与连接;
s4.5:采用hough变换进行旋转矫正;
s4.6:选用透视变换法矫正图形畸变。
其中,检测和连接边缘的具体步骤为:
根据边缘点占梯度模极大值点的比例设定上、下限阈值tup、tdown,选择大于上限阈值的局部模极大值点作为边缘起始点,选择大于下限阈值且与边缘起始点连通的局部模极大值点;
将小于下限阈值或者无法实现连通的局部模极大值点删除,形成广义边缘链;
通过预先设定的链长度阈值tn和tavr(tdown<tavr<tup),删除链长度小于tn、链平均局部模极大值小于tavr的广义边缘链,形成图像边缘。
本发明为解决上述问题的技术方案,提出一种计算机设备,包括输入输出单元、存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如前述技术方案所述的基于改进surf复合算法的高速动态二维码识别方法中的步骤。
本发明为解决上述问题的技术方案,提出一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如前述技术方案所述的基于改进surf复合算法的高速动态二维码识别方法中的步骤。
与现有技术相比,本发明技术方案的有益效果为:
本发明提出将相位相关算法、harris特征检测与surf特征匹配算法结合使用,减少了运算量并且实现了对相关性匹配的多重验证,加强了准确性和时效性;
本发明提出对canny算法进行优化:改用了中值滤波以更好的消除二维码图像易产生的椒盐噪声;在进行边缘检测时改用四阈值算法确定阈值以准确分割边缘信息,相较于二阈值算法减少了有效边缘信息的丢失、提升了边缘定位的准确度;
本发明提高了agv在高速运动背景下对二维码扫描读取与识别的稳定性,确保了实时图像处理的快速性,实现了动态背景下识别二维码的应用价值。
附图说明
图1为一种基于改进surf复合算法的高速动态二维码识别方法的流程图。
图2是待处理的视频图像序列的相邻两帧图像,其中图2(a)是前一帧图像,图2(b)是后一帧图像。
图3是特征匹配的效果图,其中图3(a)对两帧图像进行相位相关处理后再进行surf特征匹配效果,图3(b)是对两帧图像进行相位相关处理,采用harris特征点检测后,用surf特征描述向量进行特征匹配效果。
图4是canny算法改进前后的边缘检测效果图,其中图4(a)是采用双阈值法划分边缘信息,图4(b)是采用四阈值法划分边缘信息。
具体实施方式
下面结合具体附图及实施例对本发明进行详细描述。
结合图1,本发明提出的一种基于改进surf复合算法的高速动态二维码识别方法,步骤如下:
s1:采集图像,在动态背景下采用相位相关算法、harris角点检测与surf特征点匹配算法相结合进行图像的全局运动估计与补偿,得到稳定的图像序列。
采集的相邻两帧图像,如图2(a),(b)所示,通过对他们求取互功率谱的傅立叶反变换,得到一个狄拉克函数,再寻找函数峰值点对应的坐标,得到我们所要求得的配准点,初步判定图像中相位相关部分。利用峰值点位置得到相邻图像平移量,对其进行运动补偿,消除背景运动产生的部分偏移量。
对进行一次补偿后的图像进行harris角点检测,检测到特征点后用surf进行关键点特征的描述,从而完成特征点匹配,具体为:
首先采用harris检测角点,当窗口发生[u,v]移动时,移动前后对应的像素点灰度变化描述如下,
对精确匹配后的图像帧再次利用仿射变换模型进行运动背景补偿,从而得到稳定的图像序列,具体为:
采用ransac方法在整个特征点集中搜索到最多点满足的一致性,删除掉剩余的点,然后使用最小二乘法求解全局运动参数,对当前帧进行仿射变换,背景补偿后获得稳定图像序列,此处仿射变换模型采用6参数模型,公式如下,
其中,x1,y1为当前帧特征点位置,x,y为前一帧特征点位置,(a1,a2,a3,a4,t1,t2)为仿射运动模型参数;
s2:对得到的稳定图像序列采用三帧差分算法检测得到运动的区域,提取出运动目标。
三帧帧差法是在得到相邻两帧的差值图像后,将两个差分图像进行与运算、取交集以得到目标轮廓,之后对目标区域做形态学处理以精确性定位
s3:对提取的运动目标图形进行预处理。
对于提取出的目标图像进行灰度处理和otsu阈值二值化。
s4:采用改进的canny算法结合hough直线检测进行图像边缘检测与畸变矫正。
采用改进后的canny算法对二值化图形进行边缘检测:采用中值滤波对目标图像进行平滑处理,更好的去除图像中易产生的椒盐噪声;利用canny算子与相应的图像原数据进行卷积运算,计算图像中每个像素点的梯度强度和方向;对计算出的梯度幅值进行非极大值抑制;用四阈值算法检测和连接边缘。
检测和连接边缘的具体步骤为:首先根据边缘点占梯度模极大值点的比例设定上、下限阈值tup,tdown,然后选择大于上限阈值的局部模极大值点作为边缘起始点,再选择大于下限阈值且与边缘起始点连通的局部模极大值点,将小于下限阈值或者无法实现连通的局部模极大值点删除,形成广义边缘链,最后通过预先设定的链长度阈值tn和tavr(tdown<tavr<tup),删除链长度小于tn、链平均局部模极大值小于tavr的广义边缘链,形成图像边缘。
在基于改进后的canny算子进行边缘检测后,对图像做hough变换寻查直线信息,可得到顶点信息,且含有二维码寻位图形边缘处直线拟合效果较好,尤其正放时左上角寻位图形效果最好,可比余下寻位图形多获得一对垂直相交的直线信息,并由直线关系获得二维码的方向及其畸变控制点。
可通过如下公式进行旋转校正:
其中x0,y0为旋转前像素坐标值,x1,y1为旋转后对应的像素坐标值。
根据获取的畸变控制点,在假设发生形变的图像上取点(x,y),正常情况下对应点为(u,v),按照以下公式进行映射,矫正形变:
s5:对采集到的图像进行解码。
图3(a)(b)是几种特征匹配的效果图,其中图3(a)是结合相位相关和surf特征匹配效果,图3(b)是对两帧图像进行相位相关处理,采用harris特征点检测后,用surf特征描述向量进行特征匹配效果,可以看出使用相位相关做过粗匹配后,将surf特征匹配中的检测特征点方法改良为harris,能有效减少运算量,提升实时匹配效果。
图4(a)(b)是对canny算法改进前后的效果对比图,其中图4(a)是传统双阈值法划分边缘信息,图4(b)是改用中值滤波后进行四阈值边缘信息划分效果。可以看出中值滤波对椒盐噪声的平滑作用优于高斯滤波,且四阈值划分法提高了边缘信息提取精度,减少了弱边缘信息的误检率。
此外,本发明还提供了一种计算机设备,包括输入输出单元、存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如前述技术方案所述的基于改进surf复合算法的高速动态二维码识别方法中的步骤。
本发明提出一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如前述技术方案所述的基于改进surf复合算法的高速动态二维码识别方法中的步骤。
以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。