CN114791994A - 一种引入法向量优化的ransac点云平面拟合方法 - Google Patents

一种引入法向量优化的ransac点云平面拟合方法 Download PDF

Info

Publication number
CN114791994A
CN114791994A CN202210366176.3A CN202210366176A CN114791994A CN 114791994 A CN114791994 A CN 114791994A CN 202210366176 A CN202210366176 A CN 202210366176A CN 114791994 A CN114791994 A CN 114791994A
Authority
CN
China
Prior art keywords
point cloud
current point
normal vector
cloud plane
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210366176.3A
Other languages
English (en)
Other versions
CN114791994B (zh
Inventor
马宗方
徐捷
张国飞
王嘉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Architecture and Technology
Original Assignee
Xian University of Architecture and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian University of Architecture and Technology filed Critical Xian University of Architecture and Technology
Priority to CN202210366176.3A priority Critical patent/CN114791994B/zh
Publication of CN114791994A publication Critical patent/CN114791994A/zh
Application granted granted Critical
Publication of CN114791994B publication Critical patent/CN114791994B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种引入法向量优化的RANSAC点云平面拟合方法:步骤1,将待拟合的点云数据集作为当前点云数据集;步骤2,生成当前点云平面:步骤3,得到当前点云平面模型;步骤4,判断迭代次数是否到达设定次数,则输出当前点云平面模型;否则返回执行步骤2;步骤5,令j=1;步骤6,设定当前点pj;步骤7,计算当前点pj的法向量nj;步骤8,计算当前点pj与其任意一个邻域点的法向量夹角β;步骤9,若β不小于平滑度阈值,则剔除该点,得到更新后的点云平面模型,将其作为当前点云平面模型;遍历所有点,输出当前点云平面模型;否则,令j=j+1,返回步骤6;本发明的方法能够较精确拟合除连续完整平面之外的点云平面模型。

Description

一种引入法向量优化的RANSAC点云平面拟合方法
技术领域
本发明属于三维点云数据处理技术领域,具体涉及一种引入法向量优化的RANSAC点云平面拟合方法。
背景技术
随着点云数据处理技术和三维测量技术的不断进步,点云的平面拟合成为三维重建工程的重要研究方向。由于三维场景中有大量的平面特征,如工件表面、机械设备平面、道路桥梁等,将三维测量得到的点云数据拟合成平面,经过点云去噪、采样后可实现高精度重建该物体的三维模型,这使得点云的平面拟合成为了多数平面重建工程的重要组合部分。
点云的平面拟合技术主要有最小二乘拟合和随机采样一致法(RANSAC),其中:
传统的最小二乘拟合只考虑到观测向量中的误差,忽略了系数矩阵中的误差,拟合平面的精度差,不具有鲁棒性。
随机采样一致法(RANSAC)是一种以随机采样确定初始模型并根据距离阈值,迭代多次寻求最佳参数估计的算法。其最大的优点就是能够在数据中包含大量噪声点的情况下,拟合出指定规律的平面模型。但同时RANSAC算法也存在以下局限性:提取精度不高,对输入的点云数据随机选取点集计算预设的判别模型参数,使用欧氏距离这一个阈值判别,对于不连续平面点云模型中一些空洞等平面特征不能够高精度的拟合,也就不能得到完整精确的平面建模结果。
发明内容
针对现有点云的平面拟合技术存在的提取精度不高的技术问题,本发明的目的在于,提供一种引入法向量优化的RANSAC点云平面拟合方法解决该问题。
为了实现上述目的,本发明所采用的技术方案如下:
一种引入法向量优化的RANSAC点云平面拟合方法,具体包括如下步骤:
步骤1,将待拟合的点云数据集作为当前点云数据集;初始的迭代次数为0;
步骤2,从当前点云数据集中随机选取三个点p1,p2,p3生成点云平面,作为当前点云平面:
ax0+by0+cz0+d=0
该式为平面方程的一般表达式,其中,a、b、c、d为方程系数,c≠0;
步骤3,分别计算当前点云数据集中除p1,p2,p3以外的点pi与当前点云平面的欧氏距离dpi;如果点pi与当前点云平面的欧氏距离dpi满足如下公式,则将点pi视为当前点云平面模型内的点,否则将其剔除;最后得到当前点云平面模型;
Figure BDA0003585930790000021
其中,dT为距离阈值;本发明中,取值为0.02。
步骤4,判断迭代次数是否到达设定次数,则输出当前点云平面模型;否则将当前点云平面模型内的点的集合作为当前点云数据集,并将迭代次数加1,返回执行步骤2;
步骤5,令j=1;j表示当前点云平面模型中点的序号;
步骤6,将当前点云平面模型中的第j个点作为当前点pj
步骤7,计算当前点pj的法向量nj
步骤8,计算当前点pj与其任意一个邻域点的法向量夹角β:
β=arccos|ni Tnj|
其中,ni表示当前点pj的任意一个邻域点的法向量;
步骤9,若β小于平滑度阈值,则当前点pj仍然属于当前点云平面模型内的点,否则剔除该点,得到更新后的点云平面模型,将其作为当前点云平面模型;判断当前点云平面模型中的点是否已经遍历,是则输出当前点云平面模型;否则,令j=j+1,返回步骤6;
进一步的,所述步骤3中,所述距离阈值dT为0.02。
进一步的,所述步骤4中,所述设定次数为641。
进一步的,所述步骤7具体包括如下子步骤:
步骤7.1,根据当前点的k个邻域点计算当前点pj对应的协方差矩阵Cj,公式如下:
Figure BDA0003585930790000022
其中,
Figure BDA0003585930790000023
表示最邻域元素的质心;k是点pj的邻域点的数目。
步骤7.2,计算协方差矩阵Cj的每个特征值对应的特征向量,公式如下:
Figure BDA0003585930790000024
其中,λm是协方差矩阵Cj的第m个特征值,
Figure BDA0003585930790000025
是λm对应的特征向量;
步骤7.3,将协方差矩阵Cj的最小特征值对应的特征向量作为当前点pj的法向量nj
进一步的,所述步骤7还包括如下步骤:
步骤7.4,设置一个如下式所示的法向偏差权函数:
Figure BDA0003585930790000031
Figure BDA0003585930790000032
其中:nj分别为当前点的法向量,ni表示当前点pj的第i个邻域点的法向量;σθ表示角度带宽值,取为3。
步骤7.5,对当前点pj的各邻域点赋予对应的权值wi,将所有邻域点的法向量的加权平均值作为调整后得到的当前点pj的法向量nj
进一步的,所述步骤9中,所述平滑度阈值为5。
本发明的有益效果如下;
本发明通过在传统RANSAC算法里引入法向量角度差作为一个约束,设置平滑度阈值,结合欧式距离阈值改进拟合过程,优化了RANSAC算法在距离阈值迭代后的平面模型,能够较精确拟合除连续完整平面之外的点云平面模型,保证拟合结果准确性的同时,较大程度提高了点云模型中平面特征的拟合精度。
附图说明
图1是随机采样一致(RANSAC)算法的拟合效果图。
图2是本发明的引入法向量优化的RANSAC点云平面拟合方法的拟合效果图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明给出的引入法向量优化的RANSAC点云平面拟合方法,如图1所示,具体包括如下步骤:
步骤1,将待拟合的点云数据集作为当前点云数据集;初始的迭代次数为0;
步骤2,从当前点云数据集中随机选取三个点p1,p2,p3生成点云平面,作为当前点云平面:
ax0+by0+cz0+d=0
该式为平面方程的一般表达式,其中,a、b、c、d为方程系数,c≠0;
步骤3,分别计算当前点云数据集中除p1,p2,p3以外的点pi与当前点云平面的欧氏距离dpi;如果点pi与当前点云平面的欧氏距离dpi满足如下公式,则将点pi视为当前点云平面模型内的点,否则将其剔除;最后得到当前点云平面模型;
Figure BDA0003585930790000033
其中,dT为距离阈值;本发明中,取值为0.02。
步骤4,判断迭代次数是否到达K,本实施例中迭代次数K=641,则输出当前点云平面模型M;否则将当前点云平面模型内的点的集合作为当前点云数据集,并将迭代次数加1,返回执行步骤2;
步骤5,令j=1;j表示当前点云平面模型中点的序号;
步骤6,将当前点云平面模型中的第j个点作为当前点pj
步骤7,计算当前点pj的法向量nj
确定点云中任何一点法向量的问题近似于估计一个该点相切面的法线,因此本发明中采用主元平面分析。具体包括如下子步骤:
步骤7.1,根据当前点的k个邻域点计算当前点pj对应的协方差矩阵Cj,公式如下:
Figure BDA0003585930790000041
其中,
Figure BDA0003585930790000042
表示最邻域元素的质心;k是点pj的邻域点的数目。
步骤7.2,计算协方差矩阵Cj的每个特征值对应的特征向量,公式如下:
Figure BDA0003585930790000043
其中,λm是协方差矩阵Cj的第m个特征值,
Figure BDA0003585930790000044
是λm对应的特征向量;
步骤7.3,将协方差矩阵Cj的最小特征值对应的特征向量作为当前点pj的法向量nj
步骤8,计算当前点pj与其任意一个邻域点的法向量夹角β:
β=arccos|ni Tnj|
ni表示当前点pj的任意一个邻域点的法向量,是将其作为当前点pj并采用步骤7的同样的方式计算得到;
步骤10,若β小于平滑度阈值(本发明中设为5),则当前点pj仍然属于当前点云平面模型内的点,否则剔除该当前点,得到更新后的点云平面模型,将其作为当前点云平面模型;判断当前点云平面模型中的点是否已经遍历,是则输出当前点云平面模型;否则,令j=j+1,返回步骤6;
具体的,随着迭代过程的进行,点云平面模型内的一些点会被剔除,在步骤7中,若在平面空洞区域内的点选择邻域时,邻域点数量k会较连续平面区域邻域点数量大幅减少,导致该点的法向量计算偏差较大,此时,本发明通过设置法向偏差权函数,用于修正邻域点数量对该点法向量计算的影响,使得本发明的方法的拟合结果更为准确。因此,步骤7还包括:
步骤7.4,设置一个如下式所示的法向偏差权函数:
Figure BDA0003585930790000051
Figure BDA0003585930790000052
其中:nj分别为当前点的法向量,ni表示当前点pj的第i个邻域点的法向量,是将其作为当前点并采用步骤7的同样的方式计算得到;σθ表示角度带宽值,本发明中设置为3。
步骤7.5,对当前点pj的各邻域点赋予对应的权值wi,将所有邻域点的法向量的加权平均值作为调整后的当前点pj的法向量nj
上述步骤中,由于协方差矩阵Cj是根据点pj的数量为k的邻域点中创建,k越大时细节越不清晰,越容易在不同区域的边缘处产生过平滑,所以本发明中设置当k小于15时,进行上述调整过程对结果准确性是一个有力的保证。
为了证明本发明的方法的可行性和有效性,本发明给出了如下试验:
利用Matlab2018对不连续点云平面数据分别进行RANSAC算法拟合和基于本发明优化算法的拟合。为了更清楚地体现本算法优势,从侧视图的放大图能直观地看到,图1所示的RANSAN算法拟合结果对于点云模型中较平直的部分可以正确拟合,但是对平面特征为凹陷的区域,存在明显的拟合误差,即一些小凹陷没有被拟合,在一些三维表面重建中,这些凹陷属于平面特征的有效数据,所以需要进一步优化。而本发明的方法进行了有效的优化,拟合结果如图2所示,能够对上述区域较精确的拟合。

Claims (6)

1.一种引入法向量优化的RANSAC点云平面拟合方法,其特征在于,具体包括如下步骤:
步骤1,将待拟合的点云数据集作为当前点云数据集;初始的迭代次数为0;
步骤2,从当前点云数据集中随机选取三个点p1,p2,p3生成点云平面,作为当前点云平面:
ax0+by0+cz0+d=0
该式为平面方程的一般表达式,其中,a、b、c、d为方程系数,c≠0;
步骤3,分别计算当前点云数据集中除p1,p2,p3以外的点pi与当前点云平面的欧氏距离dpi;如果点pi与当前点云平面的欧氏距离dpi满足如下公式,则将点pi视为当前点云平面模型内的点,否则将其剔除;最后得到当前点云平面模型;
Figure FDA0003585930780000011
其中,dT为距离阈值;
步骤4,判断迭代次数是否到达设定次数,则输出当前点云平面模型;否则将当前点云平面模型内的点的集合作为当前点云数据集,并将迭代次数加1,返回执行步骤2;
步骤5,令j=1;j表示当前点云平面模型中点的序号;
步骤6,将当前点云平面模型中的第j个点作为当前点pj
步骤7,计算当前点pj的法向量nj
步骤8,计算当前点pj与其任意一个邻域点的法向量夹角β:
β=arccos|ni Tnj|
其中,ni表示当前点pj的任意一个邻域点的法向量;
步骤9,若β小于平滑度阈值,则当前点pj仍然属于当前点云平面模型内的点,否则剔除该点,得到更新后的点云平面模型,将其作为当前点云平面模型;判断当前点云平面模型中的点是否已经遍历,是则输出当前点云平面模型;否则,令j=j+1,返回步骤6。
2.如权利要求1所述的引入法向量优化的RANSAC点云平面拟合方法,其特征在于,所述步骤3中,所述距离阈值dT为0.02。
3.如权利要求1所述的引入法向量优化的RANSAC点云平面拟合方法,其特征在于,所述步骤4中,所述设定次数为641。
4.如权利要求1所述的引入法向量优化的RANSAC点云平面拟合方法,其特征在于,所述步骤7具体包括如下子步骤:
步骤7.1,根据当前点的k个邻域点计算当前点pj对应的协方差矩阵Cj,公式如下:
Figure FDA0003585930780000021
其中,
Figure FDA0003585930780000022
表示最邻域元素的质心;k是点pj的邻域点的数目。
步骤7.2,计算协方差矩阵Cj的每个特征值对应的特征向量,公式如下:
Figure FDA0003585930780000023
其中,λm是协方差矩阵Cj的第m个特征值,
Figure FDA0003585930780000024
是λm对应的特征向量;
步骤7.3,将协方差矩阵Cj的最小特征值对应的特征向量作为当前点pj的法向量nj
5.如权利要求1所述的引入法向量优化的RANSAC点云平面拟合方法,其特征在于,所述步骤7还包括如下步骤:
步骤7.4,设置一个如下式所示的法向偏差权函数:
Figure FDA0003585930780000025
Figure FDA0003585930780000026
其中:nj分别为当前点的法向量,ni表示当前点pj的第i个邻域点的法向量;σθ表示角度带宽值,取为3;
步骤7.5,对当前点pj的各邻域点赋予对应的权值wi,将所有邻域点的法向量的加权平均值作为调整后得到的当前点pj的法向量nj
6.如权利要求1所述的引入法向量优化的RANSAC点云平面拟合方法,其特征在于,所述步骤9中,所述平滑度阈值为5。
CN202210366176.3A 2022-04-08 2022-04-08 一种引入法向量优化的ransac点云平面拟合方法 Active CN114791994B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210366176.3A CN114791994B (zh) 2022-04-08 2022-04-08 一种引入法向量优化的ransac点云平面拟合方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210366176.3A CN114791994B (zh) 2022-04-08 2022-04-08 一种引入法向量优化的ransac点云平面拟合方法

Publications (2)

Publication Number Publication Date
CN114791994A true CN114791994A (zh) 2022-07-26
CN114791994B CN114791994B (zh) 2024-06-21

Family

ID=82460985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210366176.3A Active CN114791994B (zh) 2022-04-08 2022-04-08 一种引入法向量优化的ransac点云平面拟合方法

Country Status (1)

Country Link
CN (1) CN114791994B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116152151A (zh) * 2022-11-12 2023-05-23 重庆数字城市科技有限公司 一种建筑变形信息提取方法及系统
CN116740361A (zh) * 2023-08-11 2023-09-12 之江实验室 一种点云分割方法、装置、存储介质及电子设备
CN117710471A (zh) * 2023-12-28 2024-03-15 上海理工大学 一种基于改进随机抽样一致算法的残缺点云平面拟合方法
CN118279599A (zh) * 2024-05-29 2024-07-02 安徽大学 结合ransac和最近点采样算法的点云平面提取方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200388044A1 (en) * 2019-06-06 2020-12-10 Zhejiang University Plant point cloud acquisition, registration and optimization method based on tof camera

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200388044A1 (en) * 2019-06-06 2020-12-10 Zhejiang University Plant point cloud acquisition, registration and optimization method based on tof camera

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
冯林;李斌兵;: "一种基于最小广义方差估计的TLS点云抗差法向量求解方法", 武汉大学学报(信息科学版), no. 11, 17 April 2018 (2018-04-17) *
刘闯;花向红;田茂;袁达;: "基于维度特征的RANSAC建筑物点云分割算法", 测绘工程, no. 01, 25 January 2017 (2017-01-25) *
杨高朝;: "基于特征提取的点云自动配准优化研究", 计算机工程与应用, no. 16, 15 August 2018 (2018-08-15) *
蔡文娜;刘凤连;: "一种基于法向量夹角的点云配准方法", 天津理工大学学报, no. 03, 15 June 2018 (2018-06-15) *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116152151A (zh) * 2022-11-12 2023-05-23 重庆数字城市科技有限公司 一种建筑变形信息提取方法及系统
CN116740361A (zh) * 2023-08-11 2023-09-12 之江实验室 一种点云分割方法、装置、存储介质及电子设备
CN116740361B (zh) * 2023-08-11 2023-10-13 之江实验室 一种点云分割方法、装置、存储介质及电子设备
CN117710471A (zh) * 2023-12-28 2024-03-15 上海理工大学 一种基于改进随机抽样一致算法的残缺点云平面拟合方法
CN118279599A (zh) * 2024-05-29 2024-07-02 安徽大学 结合ransac和最近点采样算法的点云平面提取方法
CN118279599B (zh) * 2024-05-29 2024-08-20 安徽大学 结合ransac和最近点采样算法的点云平面提取方法

Also Published As

Publication number Publication date
CN114791994B (zh) 2024-06-21

Similar Documents

Publication Publication Date Title
CN114791994A (zh) 一种引入法向量优化的ransac点云平面拟合方法
CN108830931B (zh) 一种基于动态网格k邻域搜索的激光点云精简方法
CN111986115A (zh) 激光点云噪声和冗余数据的精准剔除方法
CN110136072B (zh) 点云噪声的去除方法、去噪系统、计算机设备及存储介质
CN105139420B (zh) 一种基于粒子滤波和感知哈希的视频目标跟踪方法
CN101751695A (zh) 点云数据的主曲率和主方向估计方法
CN106886980B (zh) 一种基于三维激光雷达目标识别的点云密度增强的方法
CN109147040B (zh) 基于模板的人体点云孔洞修补方法
CN112257722B (zh) 基于抗差非线性高斯-赫尔默特模型的点云拟合方法
CN107797106A (zh) 一种加速em未知杂波估计的phd多目标跟踪平滑滤波方法
CN108520550B (zh) 基于噪声分类与mls的点云数据泊松曲面重建方法
CN113312778A (zh) 一种自适应于模型几何特征的非结构网格生成方法
CN115533897B (zh) 一种基于动态系统和高斯聚类椭球的机械臂避障规划方法
CN106023254A (zh) 基于箱粒子phd滤波的多目标视频跟踪方法
CN115345934A (zh) 一种基于坡度因子的激光定位与建图方法及系统
CN113468706A (zh) 配网带电作业机器人的激光点云输电线引线拟合方法
CN113516713A (zh) 一种基于伪孪生网络的无人机自适应目标跟踪方法
CN110942077B (zh) 基于权重局部变化度和l1中值优化的特征线提取方法
CN115546440A (zh) 一种曲面重建方法、装置、设备及存储介质
CN116306044A (zh) 全湍流构型的不确定性分析方法及其梯度优化设计方法
CN112991504B (zh) 一种改进的基于tof相机三维重建的补空洞方法
CN111460974B (zh) 一种基于优化的散乱点云数据全局特征提取方法
CN117392268A (zh) 一种基于自适应结合cpd和icp算法的激光扫描建图方法及系统
CN117169886A (zh) 基于无迹卡尔曼滤波的高效率相位解缠方法
CN104820980A (zh) 自适应高精度mtf测量方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant