CN102902864B - 三维物体的近似最小体积包围盒快速求解方法 - Google Patents
三维物体的近似最小体积包围盒快速求解方法 Download PDFInfo
- Publication number
- CN102902864B CN102902864B CN201210394436.4A CN201210394436A CN102902864B CN 102902864 B CN102902864 B CN 102902864B CN 201210394436 A CN201210394436 A CN 201210394436A CN 102902864 B CN102902864 B CN 102902864B
- Authority
- CN
- China
- Prior art keywords
- bounding box
- convex closure
- minimum volume
- algorithm
- volume
- 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.)
- Expired - Fee Related
Links
Landscapes
- Image Analysis (AREA)
Abstract
本发明提供一种三维物体的近似最小体积包围盒快速求解方法,其特征在于:对三维物体进行扫描采样获取表面点云数据,然后对物体表面点云数据进行计算求解其三维凸包及其对应的高斯球,选取O’Rourke算法中包围盒的体积函数 V ( ej,ek )作为遗传算法的目标函数,并根据该目标函数确定遗传算法的适应度函数以及个体的编码和解码方式,进而利用标准遗传算法求解三维物体凸包的近似最小体积包围盒。采用本方法能够有效提高三维物体的最小体积包围盒的求解效率并保证包围盒精度符合工程需求。
Description
技术领域
本发明提供一种三维物体的近似最小体积包围盒快速求解方法,属于计算机辅助设计领域。
背景技术
三维物体的最小包围盒在铸造模具分型、产品包装设计、碰撞检测、图像处理和模式识别等领域具有广泛的应用。
目前,常见的三维物体最小包围盒求解算法主要包括O’Rourke算法、投影旋转法和主元分析法三类:
1) O’Rourke算法是一种基于三维物体凸包的最小包围盒求解算法,该算法能够准确求解物体的最小包围盒,时间复杂度为O(n3);
2) 投影旋转法基于“长方体的三个互相垂直面,当且仅当其面积最小时,长方体体积最小”,将三维物体的轴向包围盒分别围绕三个坐标轴旋转,确定各面最小投影矩形获得最小包围盒,但是确定某个最小面积的矩形后,包围盒围绕其它轴旋转时会改变已确定投影矩形的边长,使矩形的面积改变,所以不能同时满足包围盒三个互相垂直面的面积最小条件;
3) 主元分析法利用协方差矩阵确定散乱点云的主元向量,将主元向量作为坐标轴求解散乱点云的轴向包围盒,但当散乱点云各维相关度较小时,该方法难以得到最优的主元向量,造成较大的误差。
综上所述,目前尚缺乏一种能够兼顾求解效率与精度的三维物体最小体积包围盒求解方法。
发明内容
本发明的目的在于提供一种基于遗传算法的三维物体近似最小体积包围盒的快速求解方法,能够有效提高三维物体最小包围盒的求解效率并能保证包围盒精度符合工程需求,技术方案如下。
一种三维物体的近似最小体积包围盒快速求解方法,其特征在于包含以下步骤:1)对三维物体进行扫描采样获取表面点云数据;2)求解表面点云数据的凸包并计算凸包所对应的高斯球;3)确定遗传算法的目标函数,方法是:基于O’Rourke算法在求解三维物体凸包的最小包围盒问题上的精确性特点,选取O’Rourke算法中包围盒的体积函数V(e j ,e k )作为目标函数,其中e j 和e k 表示凸包的任意两条边,j和k为[1,n]之间的整数,n为凸包的边数;4)确定个体的编码与解码方式,方法是:由目标函数V(e j ,e k )中的决策变量可知需要对凸包的任意两条边进行组合编码,采用符号编码的方式,凸包的n条边e 1 , e 2 , …, e n 所对应的编码符号分别用m 1 , m 2, …, m n表示,个体编码后的基因型为(m j , m k ),解码后所对应的表现型为(e j ,e k ),且为了能够快速定位个体基因型与表现型之间的对应关系,以编码符号为键、其所对应的边为键值建立哈希表,存储两者之间的关系;5)确定适应度函数,方法是:由于个体对应的包围盒体积值越小,其适应度应越大,故将适应度函数设为: ,其中C为当前代中所有个体目标函数的体积最大值;6)利用标准遗传算法求解凸包的近似最小体积包围盒。
本发明三维物体的近似最小体积包围盒快速求解方法具有以下优点:
1、通过遗传算法避免了对散乱点云凸包边组合的枚举求解,通过较少次数的查询获得近似最小包围盒,有效提高了三维物体近似最小体积包围盒的求解效率;
2、利用O’Rourke算法的体积函数使得个体对应精确的局部体积最小值,防止个体体积精度影响其适应度,显著缩小了三维物体近似最小体积包围盒体积误差的范围,提高计算精度。
附图说明
图1是本发明三维物体的近似最小体积包围盒快速求解方法的程序实现流程图。
图2是本发明实施例所使用的兔子模型。
图3是扫描得到的兔子模型表面三维散乱点云。
图4是兔子模型三维散乱点云的凸包。
图5是兔子模型三维散乱点云凸包所对应的高斯球。
图6是凸包的边与编码符号之间的对应存储关系。
图7是求解得到的兔子模型的近似最小体积包围盒。
具体实施方式
实施案例:快速求解兔子模型的近似最小体积包围盒,下面结合附图对本发明作进一步说明。
图1是本发明三维物体的近似最小体积包围盒快速求解方法的程序实现流程图,三维物体的近似最小体积包围盒快速求解程序包含:凸包及其高斯球计算程序1,O'Rourke包围盒体积计算预定义程序2以及利用标准遗传算法求解最小体积包围盒程序3。
在凸包及其高斯球计算程序1中,预先对三维物体进行扫描采样得到其表面点云数据,然后对点云数据进行求解计算其凸包P,最后根据凸包与高斯球之间的映射关系计算凸包对应的高斯球S。
图2为本实施例所使用的三维实体模型——兔子模型,它的表面由大量复杂曲面拼接组合而成,实施例就是求解该兔子模型的近似最小体积包围盒。
图3为利用三维激光扫描仪对兔子模型表面进行扫描采样获得的兔子模型表面点云数据,数据点个数为34834个,输出的文件格式为ASC格式,即文件中每一行记录一个点的三维坐标值(x,y,z)。
图4为利用Qhull程序计算求解得到的兔子模型三维散乱点云的凸包, Qhull(www.qhull.org)是一款用于计算任意维数点集的凸包、Delaunay三角剖分以及Voronoi图等的开源程序软件,本实施例即是使用Qhull来计算求解兔子模型三维散乱点云的凸包。
图5为凸包所对应的高斯球,对于给定凸包的多面体结构P,计算其高斯球S 的时间复杂度是线性的,具体方法如下:计算P中各个面的单位法向量,将法向量起点平移到高斯球的球心,法向量终点为该面在高斯球S上的映像点;②将各对相邻面在高斯球上的映像点使用大圆圆弧连接起来。为达到线性时间复杂度的目的,在步骤②中必须能够以线性的复杂度来判断P上的相邻面,否则高斯球求解复杂度将变为O(n 2)。本实施例在利用Qhull构建凸包多面体结构P的过程中,利用Qhull提供的Fn参数,可输出邻接面信息,从而实现以线性的复杂度来判断P上的相邻面。
在O'Rourke包围盒体积计算预定义程序2中,基于O’Rourke算法对三维物体最小包围盒计算精确性特点,选用O’Rourke算法中包围盒的体积函数V(e j ,e k )计算凸包包围盒的体积,其中e j 和e k 表示凸包的边,j和k为[1,n]之间的整数,n为凸包的边数。并且将O'Rourke体积函数V(e j ,e k )作为遗传算法的目标函数,并由此确定遗传算法中适应度函数为:, C为当前代中所有个体目标函数的体积最大值。
根据目标函数的形式确定采用符号编码的方式对凸包的任意两条边组合进行编码,凸包的n条边e 1 , e 2 , …, e n 所对应的编码符号分别设为m 1 , m 2, …, m n,个体编码后的基因型为(m j , m k ),解码后所对应的表现型为(e j ,e k ),且为了能够快速查找编码符号所对应的边,采用哈希表存储两者的对应关系,键为编码符号,键值为其指向相应边的指针,其存储关系示意图如图6所示。
在利用标准遗传算法求解最小体积包围盒程序3中,具体的求解步骤为:初始化种群,设置进化代数计数器t=0,最大进化代数T=50,群体规模的大小M=100,通过随机方法产生个体直到满足种群规模将其作为初始种群P(0); 个体评价,计算种群P(t)中个体的适应度F(e j ,e k )并选取得到种群最优个体及其体积值v,若t=0则初始化全局最优个体及其体积值v a =v,否则比较v和全局最小体积值v a ,如果v<v a ,则v a =v。设当前种群P(0)中最优个体的体积值为v = 2973.652cm3,令全局最小体积值v a =2973.652cm3;采用比例选择算子进行选择运算;设定交叉概率p c = 0.8,采用单点交叉算子进行交叉运算;设定变异概率p m = 0.01,采用均匀变异算子进行变异运算,种群P(t)经过选择、交叉和变异之后产生新一代种群P(t+1) ;终止条件判断,若t≤T,则t=t+1,转到步骤,否则输出全局最优个体及其体积值,解码求解得到兔子模型近似最小体积包围盒。
图7即为求解得到的兔子模型的最小体积包围盒,根据求得的兔子模型最小包围盒的边界数据,计算出兔子模型近似最小体积包围盒的外形尺寸,其长、宽、高分别为:11.28cm,12.55cm,16.95cm,体积为2399.510cm3。
其它三维物体的近似最小体积包围盒的求解方法同上。
Claims (1)
1.一种三维物体的近似最小体积包围盒快速求解方法,其特征在于包含以下步骤:1)对三维物体进行扫描采样获取表面点云数据;2)求解表面点云数据的凸包并计算凸包所对应的高斯球;3)确定遗传算法的目标函数,方法是:基于O’Rourke算法在求解三维物体凸包的最小包围盒问题上的精确性特点,选取O’Rourke算法中包围盒的体积函数V(e j ,e k )作为目标函数,其中e j 和e k 表示凸包的任意两条边,j和k为[1,n]之间的整数,n为凸包的边数;4)确定个体的编码与解码方式,方法是:由目标函数V(e j ,e k )中的决策变量可知需要对凸包的任意两条边进行组合编码,采用符号编码的方式,凸包的n条边e 1 , e 2 , …, e n 所对应的编码符号分别用m 1 , m 2, …, m n表示,个体编码后的基因型为(m j , m k ),解码后所对应的表现型为(e j ,e k ),且为了能够快速定位个体基因型与表现型之间的对应关系,以编码符号为键、其所对应的边为键值建立哈希表,存储两者之间的关系;5)确定适应度函数,方法是:由于个体对应的包围盒体积值越小,其适应度应越大,故将适应度函数设为: ,其中C为当前代中所有个体目标函数的体积最大值;6)利用标准遗传算法求解凸包的近似最小体积包围盒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210394436.4A CN102902864B (zh) | 2012-10-17 | 2012-10-17 | 三维物体的近似最小体积包围盒快速求解方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210394436.4A CN102902864B (zh) | 2012-10-17 | 2012-10-17 | 三维物体的近似最小体积包围盒快速求解方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102902864A CN102902864A (zh) | 2013-01-30 |
CN102902864B true CN102902864B (zh) | 2015-01-21 |
Family
ID=47575094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210394436.4A Expired - Fee Related CN102902864B (zh) | 2012-10-17 | 2012-10-17 | 三维物体的近似最小体积包围盒快速求解方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102902864B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201303540D0 (en) | 2013-02-27 | 2013-04-10 | Arithmetica Ltd | Image processing |
CN105955275B (zh) * | 2016-05-26 | 2021-07-13 | 华讯方舟科技有限公司 | 一种机器人路径规划方法及系统 |
CN106373151B (zh) * | 2016-08-26 | 2019-02-05 | 四川大学 | 凸包获取方法及装置 |
CN110340738B (zh) * | 2019-06-21 | 2020-05-22 | 武汉理工大学 | 一种基于pca的机器人拉丝高铁白车身工件精确标定方法 |
CN110599582B (zh) * | 2019-09-11 | 2023-03-14 | 河南工业职业技术学院 | 一种类长方物体包围盒的快速算法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010003136A (ja) * | 2008-06-20 | 2010-01-07 | Fujitsu Ltd | 3次元モデルデータを生成する装置および方法 |
-
2012
- 2012-10-17 CN CN201210394436.4A patent/CN102902864B/zh not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
三维散乱点云的Voronoi拓扑近邻点集查询算法;孙殿柱等;《武汉大学学报信息科学版》;20110131;第86-91页 * |
物体表面采样数据近似最小包围盒快速求解;宋洋等;《农业装备与车辆工程》;20120430;第1-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102902864A (zh) | 2013-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102902864B (zh) | 三维物体的近似最小体积包围盒快速求解方法 | |
CN101692257B (zh) | 一种复杂曲面的配准方法 | |
CN103900583A (zh) | 用于即时定位与地图构建的设备和方法 | |
CN105654483A (zh) | 三维点云全自动配准方法 | |
Váša et al. | Mesh statistics for robust curvature estimation | |
CN110599582B (zh) | 一种类长方物体包围盒的快速算法 | |
Wang et al. | Convex combination based target localization with noisy angle of arrival measurements | |
CN105205841B (zh) | 地理信息系统的地图生成方法和系统 | |
CN116401794B (zh) | 基于注意力引导的深度点云配准的叶片三维精确重建方法 | |
CN108332685A (zh) | 一种编码结构光三维测量方法 | |
CN105389800B (zh) | 行参数对象估计方法 | |
Botterill et al. | Fast RANSAC hypothesis generation for essential matrix estimation | |
CN112825199A (zh) | 碰撞检测方法、装置、设备及存储介质 | |
CN201576308U (zh) | 一种复杂曲面的配准系统 | |
Watanabe et al. | Robust estimation of camera homography by fuzzy RANSAC algorithm with reinforcement learning | |
Li et al. | Nose tip detection on three‐dimensional faces using pose‐invariant differential surface features | |
CN114117315B (zh) | 基于最小包容区域的直线度估算方法及系统 | |
KR102622215B1 (ko) | 안면 3차원 모델 시각화 방법, 장치, 전자 장비 및 저장 매체 | |
Qi et al. | Robust slicing procedure based on surfel-grid | |
WO2023021559A1 (ja) | 推定モデル訓練装置、推定モデル訓練方法、認識装置、認識方法、及び非一時的なコンピュータ可読媒体 | |
Fayyazsanavi et al. | U2rle: Uncertainty-guided 2-stage room layout estimation | |
Zhou et al. | Pattern Encoding of Robust M-Array Driven by Texture Constraints | |
Zheng et al. | A free‐form surface flattening algorithm that minimizes geometric deformation energy | |
Kim et al. | Beta-complex versus Alpha-complex: Similarities and Dissimilarities | |
Norgard et al. | Robust computation of Morse–Smale complexes of bilinear functions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150121 Termination date: 20151017 |
|
EXPY | Termination of patent right or utility model |