一种椭圆特征检测方法及装置与流程

文档序号:20707951发布日期:2020-05-12 16:43阅读:194来源:国知局
一种椭圆特征检测方法及装置与流程

本发明涉及航天技术领域,特别是一种椭圆特征检测方法及装置。



背景技术:

常见的空间飞行器上存在大量的椭圆特征,为了实现空间飞行器的导航制导任务,通常需要快速准确地检测目标上的圆特征。而目前已有的椭圆特征检测方法存在检测速度慢、内存消耗大等问题,因此,迫切需要改进椭圆特征的检测方法,降低其内存需求、提高计算速度,使其满足在轨硬件系统的要求。

常用的椭圆特征检测方法主要分为霍夫变换法、最优化法和弧段跟踪法。其中,霍夫变换法的检测精度直接取决于霍夫空间的大小,椭圆方程包含五个参数,因此霍夫空间是五维空间,这将带来沉重的计算负担和大量的存储需求,无法在资源有限的硬件系统中实现;最优化法通过选择合理的约束建立方程组,通过最小化该方程组的残差解出方程组的解,这种方法存在的问题是:无法忽视离群值带来的影响,算法的鲁棒性较差;弧段跟踪法将椭圆检测分为两部分,首先通过连接边缘点形成弧段,然后利用椭圆的数学模型、边缘点的连接性、曲率、凹凸性等一些性质将弧段分组归类,形成椭圆特征,这种方法具有较快的计算速度和较小的存储需求。

常用的椭圆特征检测方法包括:

1、通过计算椭圆边缘弧段存在的曲率形成弧段,然后利用直方图将弧段分组归类。这种方法计算量较大,并且没有考虑内存消耗的问题,因此不适合在资源有限的硬件系统中实现。

2、为了提高椭圆特征的检测速度,通过判断梯度符号是否相同跟踪边缘点形成弧段,这相当于对检测到的弧段上的边缘点加入了非常严格的约束,因此不需要对检测到的弧段进行优化处理,具有很高的计算速度。此种方法加入的约束过于严格,导致原本完整的弧段被强制分割而产生大量无意义的小弧段,因此无法检测边缘点较少的椭圆。另一方面,当图像噪声较大时,分割而形成的弧段变多也会导致后续算法计算量增加。同样没有考虑算法内存消耗的问题。

3、针对工业图像中的小孔检测,提出了结合椭圆边缘弧段的连续性、凹凸性和曲率改进弧段检测方法,保证了检测到的弧段上曲率变化时均匀的。此种方法对图像质量要求较高,无法检测噪声较大的图像,也没有考虑算法内存消耗的问题。

基于上述内容可知,现有技术椭圆特征检测方法难度较大,受限于功耗、体积、重量等因素,在轨硬件系统的资源、性能有限,椭圆特征检测难以实时地实现。



技术实现要素:

本发明解决的技术问题是:克服现有技术中椭圆特征检测方法难度较大,受限于功耗、体积、重量等因素,在轨硬件系统的资源、性能有限,椭圆特征检测难以实时地实现的不足,提供了一种椭圆特征检测方法及装置。

本发明的技术解决方案是:

为了解决上述技术问题,本发明实施例提供了一种椭圆特征检测方法,应用于空间飞行器,包括:

获取所述空间飞行器对应的目标图像;

根据所述目标图像中的所有边缘点,确定所述所有边缘点中的多个有效边缘点;

基于所述多个有效边缘点,确定多个椭圆弧;

根据所述多个椭圆弧,确定弧段分组;

根据所述弧段分组中的椭圆弧对应的有效边缘点,确定所述空间飞行器的椭圆特征。

优选地,所述根据所述目标图像中的所有边缘点,确定所述所有边缘点中的多个有效边缘点的步骤,包括:

对所述目标图像进行二值化处理,生成边缘图像;

根据所述边缘图像中的所有边缘点的互相关性,删除所述所有边缘点中的无效边缘点,生成所述边缘图像对应的单像素边缘图像;

根据所述单像素边缘图像,确定所述多个有效边缘点。

优选地,所述基于所述多个有效边缘点,确定多个椭圆弧的步骤,包括:

连接所述多个有效边缘点,形成轮廓;

优化所述轮廓,生成所述多个椭圆弧。

优选地,所述根据所述多个椭圆弧,确定弧段分组的步骤,包括:

计算得到每个所述椭圆弧的弧段长度;

删除多个所述弧段长度小于20pixel的椭圆弧,生成至少一个有效椭圆弧;

对各所述有效椭圆弧进行分组,确定弧段分组。

优选地,所述根据所述弧段分组中的椭圆弧对应的有效边缘点,确定所述空间飞行器的椭圆特征的步骤,包括:

对所述弧段分组中的有效椭圆弧对应的有效边缘点进行拟合处理,获取椭圆参数;

根据所述椭圆参数,确定所述空间飞行器的椭圆特征。

为了解决上述技术问题,本发明实施例还提供了一种椭圆特征检测装置,应用于空间飞行器,包括:

目标图像获取模块,用于获取所述空间飞行器对应的目标图像;

有效边缘点确定模块,用于根据所述目标图像中的所有边缘点,确定所述所有边缘点中的多个有效边缘点;

椭圆弧确定模块,用于基于所述多个有效边缘点,确定多个椭圆弧;

弧段分组确定模块,用于根据所述多个椭圆弧,确定弧段分组;

椭圆特征确定模块,用于根据所述弧段分组中的椭圆弧对应的有效边缘点,确定所述空间飞行器的椭圆特征。

优选地,所述有效边缘点确定模块包括:

边缘图像生成子模块,用于对所述目标图像进行二值化处理,生成边缘图像;

单像素图像生成子模块,用于根据所述边缘图像中的所有边缘点的互相关性,删除所述所有边缘点中的无效边缘点,生成所述边缘图像对应的单像素边缘图像;

有效边缘点确定子模块,用于根据所述单像素边缘图像,确定所述多个有效边缘点。

优选地,所述椭圆弧确定模块包括:

轮廓形成子模块,用于连接所述多个有效边缘点,形成轮廓;

椭圆弧生成子模块,用于优化所述轮廓,生成所述多个椭圆弧。

优选地,所述弧段分组确定模块包括:

弧段长度计算子模块,用于计算得到每个所述椭圆弧的弧段长度;

有效弧生成子模块,用于删除多个所述弧段长度小于20pixel的椭圆弧,生成至少一个有效椭圆弧;

弧段分组确定子模块,用于对各所述有效椭圆弧进行分组,确定弧段分组。

优选地,所述椭圆特征确定模块包括:

椭圆参数获取子模块,用于对所述弧段分组中的有效椭圆弧对应的有效边缘点进行拟合处理,获取椭圆参数;

椭圆特征确定子模块,用于根据所述椭圆参数,确定所述空间飞行器的椭圆特征。

本发明与现有技术相比的优点在于:本发明实施例提供的椭圆特征检测方案,通过获取空间飞行器对应的目标图像,根据目标图像中的所有边缘点,确定所有边缘点中的多个有效边缘点,基于多个有效边缘点,确定多个椭圆弧,根据多个椭圆弧,确定弧段分组,并根据弧段分组中的椭圆弧对应的有效边缘点,确定空间飞行器的椭圆特征。本发明实施例解决了在资源、性能有限的在轨硬件系统中实现复杂的椭圆特征检测问题,极大地降低了椭圆特征检测所需的存储空间、提高了检测速度。

附图说明

为了更清楚地说明本发明的实施例的技术方案,下面将对本发明的实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种椭圆特征检测方法的步骤流程图;

图2为本发明实施例提供的一种边缘点八邻域分布的示意图;

图3为本发明实施例提供的一种硬件系统的结构框图;

图4为本发明实施例提供的一种椭圆特征检测装置的结构示意图。

具体实施方式

下面将结合本发明的实施例中的附图,对本发明的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的实施例一部分实施例,而不是全部的实施例。基于本发明的实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明的实施例保护的范围。

实施例一

参照图1,示出了本发明实施例提供的一种椭圆特征检测方法的步骤流程图,该椭圆特征检测方法可以应用于空间飞行器,具体可以包括如下步骤:

步骤101:获取所述空间飞行器对应的目标图像。

在本发明实施例中,空间飞行器是指在地球大气层以外的宇宙空间,基本上按照天体力学的规律运行的各类飞行器。

空间飞行器可以为人造地球卫星、空间探测器、载人航天器等飞行器中的任一种。

在某些示例中,可以在空间飞行器处于飞行状态时,获取空间飞行器对应的目标图像。

在某些示例中,可以在空间飞行器处于静止状态时,获取空间飞行器对应的目标图像。

可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。

在具体实现中,可以通过相机采集空间飞行器对应的目标图像,也可以通过设备采集空间飞行器对应的目标图像,具体地,可以根据业务需求而定,本发明实施例对此不加以限制。

在获取空间飞行器对应的目标图像之后,执行步骤102。

步骤102:根据所述目标图像中的所有边缘点,确定所述所有边缘点中的多个有效边缘点。

有效边缘点是指目标图像的所有边缘点中存在互相关性的边缘点。

在获取空间飞行器对应的目标图像之后,可以根据目标图像中的所有边缘点,确定出所有边缘点中的多个有效边缘点,具体地,可以结合下述优选实施例进行详细描述。

在本发明的一种优选实施例中,上述步骤102可以包括:

子步骤a1:对所述目标图像进行二值化处理,生成边缘图像;

子步骤a2:根据所述边缘图像中的所有边缘点的互相关性,删除所述所有边缘点中的无效边缘点,生成所述边缘图像对应的单像素边缘图像;

子步骤a3:根据所述单像素边缘图像,确定所述多个有效边缘点。

在本发明实施例中,首先,可以采用五阶高斯算子对目标图像进行二值化处理,即将目标图像二值化,从而可以形成只含有边缘点的边缘图像。

其次,可以依据各边缘点八邻域像素中其他边缘点的分布情况,按照公式(1)计算所有边缘点的互相关性c。如图2所示,每个边缘点pi八邻域方向指向八个像素ai,i=0,1,...,7,判断这八个像素是否为边缘点。

上述公式(1)中,ai为边缘点的i方向邻域是否是边缘点,若是,ai=1,否则,ai=0。

查询互相关性表,若表中含有当前边缘点计算得到的互相关性c,说明该点为多余点,从边缘图像上删除,否则保留该点。遍历整个边缘图像,删除多余的边缘点即可完成边缘细化,得到单像素边缘图像。

在单像素边缘图像中存在的边缘点即为有效边缘点。

在根据目标图像中的所有边缘点,确定所有边缘点中的多个有效边缘点之后,执行步骤103。

步骤103:基于所述多个有效边缘点,确定多个椭圆弧。

在确定所有边缘点中的多个有效边缘点之后,可以基于多个有效边缘点确定出多个椭圆弧,具体地,可以结合下述优选实施例进行详细描述。

在本发明的另一种优选实施例中,上述步骤103可以包括:

子步骤b1:连接所述多个有效边缘点,形成轮廓;

子步骤b2:优化所述轮廓,生成所述多个椭圆弧。

在本发明实施例中,在单像素边缘图像中连接边缘点形成轮廓。为了降低算法对内存的需求,本发明在该步骤中采取了一种基于互相关性的边缘轮廓跟踪方法。在轮廓中约定后一边缘点相对于当前边缘点的方向为当前边缘点的方向d,约定当前边缘点相对于前一边缘点的方向为当前边缘点的逆方向方向和逆方向的取值范围为0,1,2,...,7。算法具体流程如下:

(1)按照边缘点的互相关性将其量化归类。当边缘点的互相关性满足:c=0,即该点八邻域像素没有其他边缘点存在,该点的量化值为0;当边缘点的互相关性满足:c=2i,i=0,1,...,7,即该点八邻域像素仅有一个其他边缘点存在,该点的量化值为1;当边缘点的互相关性满足:c=2i+2j,i,j=1,2,...,7,i≠j,即该点八邻域像素有两个其他边缘点存在,该点的量化值为2;其他情况下边缘点八邻域像素有超过两个其他边缘点存在,该点的量化值为3。

(2)任取量化值为1的边缘点作为轮廓的起点,设该点的坐标为(x,y)且互相关性为c,若该点没有定义逆方向,该点的方向可由互相关性计算:d=log2c,轮廓上后一个边缘点的坐标可由表1查询;若该点定义了逆方向该点的方向可由公式(3)计算,轮廓上后一个边缘点的坐标可由下述表1查询。

表1

(3)若跟踪过程中的当前边缘点量化值为2,设前一边缘点的方向为可由公式(2)计算当前边缘点的逆方向然后可由公式(3)计算后一边缘点相对于该点的方向,轮廓上后一边缘点的坐标可由表1查询。

4)若跟踪过程中的当前边缘点量化值为3,轮廓在该点处终止,同时利用公式(2)计算其八邻域像素相对于该点的方向更新八邻域像素的量化值为1。

5)重复(2)~(4)直至遍历整个单像素边缘图像。

6)输出得到的跟踪轮廓,轮廓以边缘点集的形式表示。

优化跟踪的轮廓形成椭圆弧。根据上述跟踪流程,无法保证跟踪得到的轮廓满足椭圆弧段必须是光滑的这一要求,因此本发明在该步骤中以曲率作为判断依据搜索轮廓中的分割点,将轮廓在不光滑的位置分割形成新的弧段,保证新弧段的光滑性。首先通过计算梯度方向角度的变化作为曲率的评价,若边缘点的梯度方向角度变化较大,将该点作为候选分割点;然后在轮廓上候选分割点前后分别取5个轮廓点,拟合生成两条直线,若这两条直线的夹角大于30°,则将该候选分割点判定为分割点,轮廓在该点处分割;否则,轮廓在该点处不进行处理。

根据跟踪轮廓即可得到多个椭圆弧。

在基于多个有效边缘点确定出多个椭圆弧之后,执行步骤104。

步骤104:根据所述多个椭圆弧,确定弧段分组。

弧段分组是指将多个椭圆弧进行区分得到的分组。

在确定出多个椭圆弧之后,可以根据多个椭圆弧确定出弧段分组,具体地,可以结合下述优选实施例进行详细描述。

在本发明的一种优选实施例中,上述步骤104可以包括:

子步骤c1:计算得到每个所述椭圆弧的弧段长度;

子步骤c2:删除多个所述弧段长度小于20pixel(像素个数)的椭圆弧,生成至少一个有效椭圆弧;

子步骤c3:对各所述有效椭圆弧进行分组,确定弧段分组。

在本发明实施例中,在得到多个椭圆弧之后,可以每个椭圆弧的弧段长度,进而,可以删除边缘点不足20的小弧段的椭圆弧。

有效椭圆弧是指由有效边缘点组成的椭圆弧。

对得到的弧段分组归类,使得同一类的弧段属于相同的椭圆。为了避免大量地繁琐运算、提高计算速度,采用分级逐渐严格的判断准则,可快速地排除错误分组。算法具体流程如下:

(1)任取弧段1和弧段2,对其进行第一级准则判断:分别计算两条弧段在椭圆上的“相对位置”,如果它们的“相对位置”相同,说明它们不可能是同一椭圆上的弧段,输出判断结果:这两条弧段不属于同一椭圆;如果它们的“相对位置”不相同,说明它们可能是同一椭圆上的弧段,进入下一级准则。具体实现如下:(a)取弧段1,该弧段由边缘点集表示:o1=((x1,y1),(x2,y2),...,(xn,yn))。(b)计算从边缘点集中点(xn/2,yn/2)到端点连线中点(的向量为:(c)依据梯度方向角计算弧段的灰度梯度方向。灰度梯度方向可由式(4)计算,它表示了弧段边缘内外梯度的变化方向。当k取1时,表示弧段内侧灰度值大于外侧;当k取-1时,表示弧段内侧灰度值小于外侧。

(d)归一化弧段上边缘点的梯度方向角度。依据k的值对弧段上边缘点的梯度方向角进行归一化,使得位于椭圆上不同位置的边缘点的梯度方向角度唯一,归一化公式见公式(5)。

(e)计算弧段上边缘点的归一化梯度方向角度集s1=[minθ′imaxθ′i],给出弧段在椭圆上的“相对位置”。(f)取弧段2,按照(a)~(e)计算归一化梯度方向角度集。(g)给出第一级判断准则(公式(6)),优选地,阈值th1取5°。若结果输出1,说明弧段1和弧段2满足第一级判断准则,进入更加严格的下一级准则进行判断;若结果输出0,说明弧段1和弧段2不满足第一级判断准则,输出归类结果:弧段1和弧段2不属于同一椭圆。

(2)对弧段进行第二级准则判断:分别计算两条弧段的许可区域和禁用区域,如果它们同时位于彼此的许可区域,说明它们可能是同一椭圆上的弧段,进入下一级准则;否则,说明它们不可能是同一椭圆上的弧段,输出判断结果:这两条弧段不属于同一椭圆。具体实现如下:(a)取弧段1,计算连接弧段1的两个端点形成直线l1的方程f(x)=ax+by+c=0,a≥0;(b)定义弧段1相对于直线l1的量化区域为

(c)取弧段2,计算弧段2上满足f(x)=ax+by+c≥0边缘点的数量为计算弧段2上满足f(x)=ax+by+c<0边缘点的数量为可按照公式(8)计算弧段2相对于直线l1的量化区域。优选地,阈值th2取10%。

(d)取弧段2,同理可计算弧段1和弧段2相对于直线l2的量化区域(e)给出第二级判断准则(公式(9)),若结果输出1,说明弧段1和弧段2满足第二级判断准则,进入更加严格的下一级准则进行判断;若结果输出0,说明弧段1和弧段2不满足第二级判断准则,输出归类结果:弧段1和弧段2不属于同一椭圆。

(3)对弧段进行第三级准则判断:计算弧段上边缘点的椭圆拟合误差,如果拟合误差小于阈值,说明它们是同一椭圆上的弧段,输出判断结果:这两条弧段属于同一椭圆;否则,说明它们不可能是同一椭圆上的弧段,输出判断结果:这两条弧段不属于同一椭圆。具体实现如下:(a)取弧段1和弧段2上所有的边缘点,按照公式(10)进行椭圆方程的最小二乘拟合,得到椭圆参数ell;(b)按照公式(11)和公式(12)计算最小二乘拟合误差;(c)给出第三级判断准则(公式13),若结果输出1,说明弧段1和弧段2满足第三级判断准则,输出归类结果:弧段1和弧段2属于同一椭圆;若结果输出0,说明弧段1和弧段2不满足第三级判断准则,输出归类结果:弧段1和弧段2不属于同一椭圆。

上述公式(10)中:n为弧段上边缘点的数量;

f(ell,oi)为边缘点oi带入椭圆方程的代数误差。

上述公式(11)中,r(f(ell,oi))为边缘点oi是否满足椭圆方程,可由公式(12)计算。

在根据多个椭圆弧确定出弧段分组之后,执行步骤105。

步骤105:根据所述弧段分组中的椭圆弧对应的有效边缘点,确定所述空间飞行器的椭圆特征。

本发明首先利用matlab在pc下进行了编程仿真,然后利用verilog语言和c语言在硬件系统中编程实现,硬件系统框图,如图3所示,采用了fpga+dsp的硬件结构,将运算量较大的边缘点检测、细化算法在fpga中实现,而轮廓跟踪、优化、分组归类算法在dsp中实现。

在确定出弧段分组之后,可以根据弧段分组中的椭圆弧对应的有效边缘点确定出空间飞行器的椭圆特征,具体地,可以结合下述优选实施例进行详细描述。

在本发明的一种优选实施例中,上述步骤105可以包括:

子步骤d1:对所述弧段分组中的有效椭圆弧对应的有效边缘点进行拟合处理,获取椭圆参数;

子步骤d2:根据所述椭圆参数,确定所述空间飞行器的椭圆特征。

在本发明实施例中,在确定出弧段分组之后,可以对弧段分组中的有效椭圆弧对应的有效边缘点进行拟合处理,从而可以获取有效椭圆弧的椭圆参数,通过椭圆参数可以确定出空间飞行器的椭圆参数。在实际应用中,椭圆检测一般是中间过程,后续还需要利用检测到的椭圆进行其他拓展应用,大部分情况下都需要利用椭圆的数学表达,即椭圆参数。本文也可以给出形成椭圆的边缘点。

本发明实施例提供的椭圆特征检测方法,通过获取空间飞行器对应的目标图像,根据目标图像中的所有边缘点,确定所有边缘点中的多个有效边缘点,基于多个有效边缘点,确定多个椭圆弧,根据多个椭圆弧,确定弧段分组,并根据弧段分组中的椭圆弧对应的有效边缘点,确定空间飞行器的椭圆特征。本发明实施例解决了在资源、性能有限的在轨硬件系统中实现复杂的椭圆特征检测问题,极大地降低了椭圆特征检测所需的存储空间、提高了检测速度。

实施例二

参照图4,示出了本发明实施例提供的一种椭圆特征检测装置的结构示意图,该椭圆特征检测装置可以应用于空间飞行器,具体可以包括如下模块:

目标图像获取模块210,用于获取所述空间飞行器对应的目标图像;

有效边缘点确定模块220,用于根据所述目标图像中的所有边缘点,确定所述所有边缘点中的多个有效边缘点;

椭圆弧确定模块230,用于基于所述多个有效边缘点,确定多个椭圆弧;

弧段分组确定模块240,用于根据所述多个椭圆弧,确定弧段分组;

椭圆特征确定模块250,用于根据所述弧段分组中的椭圆弧对应的有效边缘点,确定所述空间飞行器的椭圆特征。

优选地,所述有效边缘点确定模块220包括:

边缘图像生成子模块,用于对所述目标图像进行二值化处理,生成边缘图像;

单像素图像生成子模块,用于根据所述边缘图像中的所有边缘点的互相关性,删除所述所有边缘点中的无效边缘点,生成所述边缘图像对应的单像素边缘图像;

有效边缘点确定子模块,用于根据所述单像素边缘图像,确定所述多个有效边缘点。

优选地,所述椭圆弧确定模块230包括:

轮廓形成子模块,用于连接所述多个有效边缘点,形成轮廓;

椭圆弧生成子模块,用于优化所述轮廓,生成所述多个椭圆弧。

优选地,所述弧段分组确定模块240包括:

弧段长度计算子模块,用于计算得到每个所述椭圆弧的弧段长度;

有效弧生成子模块,用于删除多个所述弧段长度小于20pixel的椭圆弧,生成至少一个有效椭圆弧;

弧段分组确定子模块,用于对各所述有效椭圆弧进行分组,确定弧段分组。

优选地,所述椭圆特征确定模块250包括:

椭圆参数获取子模块,用于对所述弧段分组中的有效椭圆弧对应的有效边缘点进行拟合处理,获取椭圆参数;

椭圆特征确定子模块,用于根据所述椭圆参数,确定所述空间飞行器的椭圆特征。

本发明实施例提供的椭圆特征检测装置,通过获取空间飞行器对应的目标图像,根据目标图像中的所有边缘点,确定所有边缘点中的多个有效边缘点,基于多个有效边缘点,确定多个椭圆弧,根据多个椭圆弧,确定弧段分组,并根据弧段分组中的椭圆弧对应的有效边缘点,确定空间飞行器的椭圆特征。本发明实施例解决了在资源、性能有限的在轨硬件系统中实现复杂的椭圆特征检测问题,极大地降低了椭圆特征检测所需的存储空间、提高了检测速度。

以上所述仅为本发明的实施例的较佳实施例而已,并不用以限制本发明的实施例,凡在本发明的实施例的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的实施例的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1