本发明涉及一种基于同心圆周滤波器的目标对称轴检测方法,属于数字图像处理技术领域。
背景技术:
监督学习中,分类问题通常可以分解为两个部分,对图像提取特征以及分类方法。一个强特征能够拥有良好区分不同目标的不同属性的能力,因此分类问题的核心部分就是特征提取方法。然而,很多特征并不直接具备旋转不变性,因此,样本方向不够的情况下就需要进行数据增强,在训练样本上增加了大量工作。
圆周滤波器是一个利用圆周向量的傅里叶变换进行目标检测的滤波器,本质上只利用了幅值信息,相位信息并没有发挥任何作用,造成了信息浪费。
针对这一情况,本发明通过将极坐标引入圆周滤波器中,通过相对坐标聚类,进而解得对称目标共线情况,最终计算正切函数求得对称轴方向。找到对称轴方向以后,不论目标原本方向为何,都可以旋转至特定方向,如此即可保证后续无论提取什么特征都会具备一定旋转不变性。
技术实现要素:
发明目的:针对现有技术中存在的问题,本发明提供出了一种基于同心圆周滤波器的目标对称轴检测方法。该方法通过构建同心圆周滤波器,累计共线像素点,将共线以相对角度的相似性进行量化,能有效计算目标对称轴方向。
技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种基于同心圆周滤波器的目标对称轴检测方法,该方法包括以下步骤:
(1)构建同心圆周滤波器:将输入的目标图像视为原图img,通过圆周滤波器对原图img进行滤波,通过先验知识可以提取相应频率,可以得到频率响应图,预设一个频率响应阈值,以大于频率响应阈值的频率处为中心可以构建一系列圆心相同半径逐渐增大的同心圆周,每个同心圆周也提取频率响应,将小于频率响应阈值的同心圆周舍弃,即可得到同心圆周滤波器;
(2)角度统计:首先对原图img提取边缘图像edge,将同心圆周滤波器circlefilter与边缘图像edge进行重叠,重叠处即为采样点,将采样点的坐标从笛卡尔坐标转换为极坐标,然后,以第α层圆周采样点为参考点,计算采样点相对参考点的相对角度,并在不同层采样点的相对角度之间衡量相似性,最后将相似角度视为共线角度即可进行共线统计;
(3)角度判定:将角度转换为正切值,即可解得对称轴方向角度。
进一步的,步骤(1)中,构建同心圆周滤波器具体计算方法如下:
(1.1)假定需要进行对称轴检测的目标为飞机目标,由先验知识可知,一般飞机具有左机翼、右机翼以及机翼前后的前机身与后机身,一共4个部件,如此即可在输入的光学图像为img上构建圆周,将圆周向量视为一维信号进行傅里叶变换,变换结果即可判定圆周是否包含有目标,在img上将所有坐标都更新为圆周的圆心即可判定目标在img上的坐标:
其中,π表示圆周率,sin和cos分别表示正弦与余弦函数,zk表示为圆周上的第k个像素值,length表示圆周像素点总数目,fourier(p,q)表示圆心为(p,q)的圆周向量对应的傅里叶变换响应,同时也表示将响应值置于频率响应图fourier的位置(p,q)上,通过将原图img上所有坐标依次更新为圆心进行响应提取,即可生成频率响应图fourier;
(1.2)从频率响应图fourier上,取大于频率响应阈值的频率响应位置为圆心构建同心圆周滤波器:
circlefilter=[filter0(p,q),...,filternum(p,q)]s.t.fourier(p,q)≥freqthres
其中,fourier(p,q)表示为坐标(p,q)上的频率响应,freqthres为频率响应阈值,filter0(p,q)为圆心为(p,q)的第0层圆周滤波器,即第0层圆周,同理,filternum(p,q)为圆心为(p,q)的第num层圆周滤波器,即最外层圆周,num为圆周总数量,circlefilter表示同心圆周滤波器集合;
其中,圆心为(p,q)的单层圆周曲线方程如下所示:
其中,(x,y)表示圆周上像素点的坐标,fourierk(p,q)与radiusk(p,q)分别是对应于圆周滤波器filterk(p,q)的傅里叶变换响应与半径,而filterk(p,q)是圆心为(p,q)的第k层圆周滤波器,同心圆周中每个圆周的频率响应皆大于频率响应阈值freqthres,一旦小于阈值即认定为圆周超出目标边界。
进一步的,步骤(2)中,角度统计的具体统计方法如下:
(2.1)首先对img利用canny算子提取边缘图像edge,将edge与circlefilter进行重叠,重叠部分即为采样点,采样点集合
(2.2)利用下式坐标系转换公式可得采样点的极坐标表示:
其中,
(2.3)将第α层圆周上的采样点作为参考点,即可计算其余采样点相对参考点的相对角度,下式以第γ层与第α层为例给出计算
其中,
(2.4)通过衡量其它层采样点与第β层采样点的相对角度相似性,可以将差异性小于相似阈值的两个采样点认定为共线,共线的两层圆周以相似权重
其中,
其中,m表示第α层采样点总数,swp表示第β层中第p个采样点在所有不同参考圆周起点的情况中,共线层数最多的统计结果,将第β层上所有点的统计结果全部计算完毕即可得到similarweight=[sw1,...,swn],n表示第β层采样点总数,即统计结果集合;
(2.5)将层数大于共线层数阈值的方向保留,小于阈值的方向上的采样点视为干扰:
其中,
进一步的,步骤(3)中,角度判定的具体判定方法如下:
(3.1)步骤(2)可得
symmetryangle=relativejs.t.tan(relativei)-tan(relativej)=tan(relativej)-tan(relativek)
其中,tan表示正切函数,relativei、relativek分别表示左机翼、右机翼相对角度,relativej即为机身的相对角度,而symmetryangle为对称轴的方向,由于左机翼与右机翼对称于机身,所以它们之间的相对角度之差应当一致,在实际运算的时候,为避免负数角度的计算,将所有负数角度加π以便于将所有角度都映射至[0,π],为了保证映射不干扰判断,因此利用加π前后角度的正切值一致的特性可以解决这个问题,故而若是满足上式条件,即可判定机身的对称角度即为对称轴的方向。
有益效果:与现有技术相比,本发明的技术方案具有以下有益技术效果:
(1)提出了一种基于同心圆周滤波器的目标对称轴检测方法。针对圆周滤波器没有利用相位信息的问题,从相对角度累计的角度统计了像素点的共线情况,对相对角度进行进一步判定,实现了对称轴的检测任务,对于后续特征的旋转不变性有着积极的影响。
附图说明
图1为本发明实施例的框架图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示,一种基于同心圆周滤波器的目标对称轴检测方法,该方法包括如下步骤:
第一步,将输入的目标图像视为原图img,通过圆周滤波器对原图img进行滤波,通过先验知识可以提取相应频率,可以得到频率响应图,预设一个频率响应阈值,以大于频率响应阈值的频率处为中心可以构建一系列同心圆周,每个同心圆周也提取频率响应,将小于频率响应阈值的同心圆周舍弃,即可得到同心圆周滤波器。
首先,假定需要进行对称轴检测的目标为飞机目标,飞机具有左机翼、右机翼以及机翼前后的前机身与后机身,一共4个部件,如此即可在输入的光学图像为img上构建圆周,将圆周向量视为一维信号进行傅里叶变换,变换结果即可判定圆周是否包含有目标,在img上将所有坐标都更新为圆周的圆心即可判定目标在img上的坐标:
其中,π表示圆周率,sin和cos分别表示正弦与余弦函数,zk表示为圆周上的第k个像素值,length表示圆周像素点总数目,fourier(p,q)表示圆心为(p,q)的圆周向量对应的傅里叶变换响应,同时也表示将响应值置于频率响应图fourier的位置(p,q)上,通过将原图img上所有坐标依次更新为圆心进行响应提取,即可生成频率响应图fourier。
然后,从频率响应图fourier上,取大于频率响应阈值的频率响应位置为圆心构建同心圆周滤波器:
circlefilter=[filter0(p,q),...,filternum(p,q)]s.t.fourier(p,q)≥freqthres
其中,fourier(p,q)表示为坐标(p,q)上的频率响应,freqthres为频率响应阈值,filter0(p,q)为圆心为(p,q)的第0层圆周滤波器,即第0层圆周,同理,filternum(p,q)为圆心为(p,q)的第num层圆周滤波器,即最外层圆周,num为圆周总数量,circlefilter表示同心圆周滤波器集合。
其中圆心为(p,q)的单层圆周曲线方程如下所示:
其中,(x,y)表示圆周上像素点的坐标,fourierk(p,q)与radiusk(p,q)分别是对应于圆周滤波器filterk(p,q)的傅里叶变换响应与半径,而filterk(p,q)是圆心为(p,q)的第k层圆周滤波器,同心圆周中每个圆周的频率响应皆大于频率响应阈值freqthres,一旦小于阈值即认定为圆周超出目标边界。
第二步,首先对原图img利用canny算子提取边缘图像edge,将同心圆周滤波器circlefilter与边缘图像edge进行重叠,重叠处即为采样点,将采样点的坐标从笛卡尔坐标转换为极坐标。然后,以第0层圆周采样点为参考点,计算采样点相对参考点的相对角度,并在不同层采样点的相对角度之间衡量相似性,最后将相似角度视为共线角度即可进行共线统计。
首先对img利用canny算子提取边缘图像edge,将edge与circlefilter进行重叠,重叠部分即为采样点,采样点集合
然后利用下式坐标系转换公式可得采样点的极坐标表示:
其中,
接下来将第0层圆周上的采样点作为参考点,即可计算其余采样点相对参考点的相对角度,下式以第1层与第0层为例给出计算
其中,
再然后通过衡量其它层采样点与第1层采样点的相对角度相似性,可以将差异性小于相似阈值的两个采样点认定为共线,共线的两层圆周以相似权重
其中,
其中,m表示第0层采样点总数,swp表示第1层中第p个采样点在所有不同参考圆周起点的情况中,共线层数最多的统计结果,将第1层上所有点的统计结果全部计算完毕即可得到similarweight=[sw1,...,swn],n表示第1层采样点总数,即统计结果集合。
最后将层数大于共线层数阈值的方向保留,小于阈值的方向上的采样点视为干扰:
其中,
第三步,将角度转换为正切值,即可解得对称轴方向角度。
第二步可得
symmetryangle=relativejs.t.tan(relativei)-tan(relativej)=tan(relativej)-tan(relativek)
其中,tan表示正切函数,relativei、relativek分别表示左机翼、右机翼相对角度,relativej即为机身的相对角度,而symmetryangle为对称轴的方向,由于左机翼与右机翼对称于机身,所以它们之间的相对角度之差应当一致,在实际运算的时候,为避免负数角度的计算,将所有负数角度加π以便于将所有角度都映射至[0,π],为了保证映射不干扰判断,因此利用加π前后角度的正切值一致的特性可以解决这个问题,故而若是满足上式条件,即可判定机身的对称角度即为对称轴的方向。