CN117011465A - 一种树木三维重建方法、装置、电子设备及存储介质 - Google Patents
一种树木三维重建方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117011465A CN117011465A CN202310988363.XA CN202310988363A CN117011465A CN 117011465 A CN117011465 A CN 117011465A CN 202310988363 A CN202310988363 A CN 202310988363A CN 117011465 A CN117011465 A CN 117011465A
- Authority
- CN
- China
- Prior art keywords
- tree
- point
- points
- target
- point cloud
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 120
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 89
- 230000004927 fusion Effects 0.000 claims abstract description 24
- 238000007781 pre-processing Methods 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000000605 extraction Methods 0.000 claims abstract description 15
- 238000005070 sampling Methods 0.000 claims abstract description 13
- 239000011159 matrix material Substances 0.000 claims description 32
- 238000013178 mathematical model Methods 0.000 claims description 29
- 230000009466 transformation Effects 0.000 claims description 20
- 238000001914 filtration Methods 0.000 claims description 18
- 238000012360 testing method Methods 0.000 claims description 13
- 230000002146 bilateral effect Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 11
- 230000008030 elimination Effects 0.000 claims description 10
- 238000003379 elimination reaction Methods 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 8
- 238000003066 decision tree Methods 0.000 claims description 5
- 230000001629 suppression Effects 0.000 claims description 5
- 238000012549 training Methods 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 3
- 230000036961 partial effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 28
- 238000004364 calculation method Methods 0.000 description 16
- 238000002474 experimental method Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 14
- 230000000694 effects Effects 0.000 description 13
- 238000011160 research Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 230000006872 improvement Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003706 image smoothing Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000005693 optoelectronics Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/757—Matching configurations of points or features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
- G06T2207/20028—Bilateral filtering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Graphics (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种树木三维重建方法、装置、电子设备及存储介质,方法包括:获取待重建树木的目标图像和点云数据;对目标图像进行预处理;利用定向快速旋转简报算法,提取预处理后的目标图像的目标特征点,并获得目标特征点的特征描述;利用随机采样一致性算法,对目标特征点和点云数据进行误匹配点剔除,获得第一点集和第二点集;对第一点集和第二点集进行点云配准与融合,获得点云模型;对点云模型进行骨架提取,获得骨架信息;利用骨架信息确定骨架的始末端点,并采用管道模型获得待重建树木中各个树枝粗度,进而利用广义圆柱模拟待重建树木的枝干,得到三维重建树木。本发明能够高效准确进行树木三维重建,可广泛应用于数据处理技术领域。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种树木三维重建方法、装置、电子设备及存储介质。
背景技术
自二十世纪八十年代起的十几年间,3D重建技术快速发展,主要分为两类,一类是用激光扫描设备来获取数据进行重建,还有一类就是获取点云信息来进行物体3D重建。关于点云信息的重建技术主要包含:采集数据、预处理、除噪、特征点检测及描述、点云信息的配准融合及其骨架提取等等。随着该课题技术的蓬勃发展,愈发受到各个国家的相关研究学者们的关注。该课题涉及的领域越来越多,不仅是机械制造、场景重建、障碍物检测,在虚拟植物上也有了长远的发展。
为了满足众多方面的需求,各个国家越来越多的相关问题研究者关注到具有实际应用的图像获取方向。树木的3D重建可视化研究涉及到多个学科,例如最近较为热门的林业工程、计算机图形研究、生物工程等,同时该问题也是实现植物数字化的根本性问题。树木3D模型的可视化研究在计算机和生态林业研究中愈加受到重视,以此为基础逐渐形成了一个全新的学科研究课题—数字植物。数字植物这个课题在很多方向上都展现出了重要性,比如3D动画、游戏模拟场景、教育课题等等。而近年随着计算机软硬件的蓬勃发展和人们对于生态环境及其农林业发展的关注,数字植物这一全新课题发展迅速。
但是,由于树木结构重建相较室内重建等更为复杂,其枝条纵横交叉,重叠部分多且复杂,拓扑结构非常复杂,外表状况也因树木种类和生长年数而形状各异等等都是研究需要克服的地方。二十世纪末期,光电学技术发展迅速,促进了相关学科的发展,三维扫描技术也随之进步。近些年来,国内的关于植物的3D重建发展非常快,研究方向主要分为以下几类:
(1)设计参数来建立植物模型,例如采用L-系统结合多种优势模拟农作物生长,实现了农作物根系的虚拟重建。以及用Open-L系统实现多种植物的虚拟可视化模型,来模拟植物在无人工干扰的状态下的自然生长状态。
(2)利用多幅具有重合部分的图像来进行物体的3D重建。例如利用多幅树木二维图像来进行树木3D重建,并利用建模技术实现了双视点的重建系统。
结合以上,这两种方法各有优缺点。第一种方法利用参数来进行重构,该方法的重建效果并不理想,与真实形态有较大差距,无法完全还原所以实用性较低。第二种方法设备最为简单的,但是相应的,其后期处理很复杂且需要时间较长。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明提出一种树木三维重建方法、装置、电子设备及存储介质,能够高效准确进行树木三维重建。
一方面,本发明实施例提供了一种树木三维重建方法,包括:
获取待重建树木的目标图像和点云数据;
对目标图像进行预处理;
利用定向快速旋转简报算法,提取预处理后的目标图像的目标特征点,并获得目标特征点的特征描述;
利用随机采样一致性算法,对目标特征点进行误匹配点剔除,获得第一点集;并对点云数据进行误匹配点剔除,获得第二点集;
对第一点集和第二点集进行点云配准与融合,获得待重建树木的点云模型;
对点云模型进行骨架提取,获得骨架信息;利用骨架信息确定骨架的始末端点,并采用管道模型获得待重建树木中各个树枝粗度,进而利用广义圆柱模拟待重建树木的枝干,得到三维重建树木。
可选地,获取待重建树木的目标图像和点云数据,包括:
通过预设标定参数的相机采集待重建树木的RGB图像作为目标图像,并获取待重建树木的点云数据;
其中,预设标定参数通过基于平面棋盘进行标定的方法确定相机的内部参数。
可选地,对目标图像进行预处理,包括:
利用双边滤波法对目标图像进行图像预处理。
可选地,提取预处理后的目标图像的目标特征点,包括:
逐一遍历目标图像中的像素点,分别以各个像素点作为第一圆心,进而与第一圆心的圆周上目标点位的灰度值进行比对,当比对结果符合预设条件,将第一圆心对应的像素点确定为初始特征点;直至遍历完目标图像中的所有像素点,获得初始特征点的合集;
利用决策树训练策略,分别将各个初始特征点作为第二圆心,结合预设半径确定目标圆,进而根据目标圆旁边预设点位的灰度值对初始特征点进行筛选,获得第二特征点;
通过非极大值抑制去除第二特征点中的密集点,获得第三特征点;
通过不同倍数大小对目标图像进行放大和收缩,得到多张比例不同的图像,进而结合第三特征点确定目标特征点。
可选地,获得目标特征点的特征描述,包括:
以目标特征点作为中心点,对中心点的若干领域进行随机采样,得到随机点位置矩阵;
基于目标特征点的主方向,结合三角函数确定旋转矩阵;
根据随机点位置矩阵和旋转矩阵,更新目标特征点的位置,进而通过二进制编码处理,获得特征描述。
可选地,对目标特征点进行误匹配点剔除,获得第一点集,包括:
从目标特征点中随机抽取部分数据,构建数学模型;
利用数学模型测试目标特征点中的其它数据,基于测试结果确定数学模型的局内点和局外点;
统计数学模型的局内点数目,然后返回从目标特征点中随机抽取部分数据这一步骤,重新构建数学模型,直至达到预设构建次数,以局内点数目最大的数学模型作为目标模型;
基于目标模型,获得第一点集。
可选地,对第一点集和第二点集进行点云配准与融合,获得待重建树木的点云模型,包括:
以第二点集作为第一目标点集,根据目标点集与第一点集的邻点之间的对应关系,确定变换矩阵;
通过变换矩阵对第一目标点集进行变换处理,获得第二目标点集;
以第二目标点集作为第一目标点集,然后返回根据目标点集与第一点集的邻点之间的对应关系,确定变换矩阵这一步骤,直至变换矩阵的欧式距离小于预设均方误差阈值,根据最后一次变换处理获得待重建树木的点云模型。
可选地,对点云模型进行骨架提取,获得骨架信息,包括:
利用空间殖民算法对点云模型进行多次迭代更新骨架点,并剔除点云模型中的错误点云数据和冗杂点云数据,获得待重建树木的树木骨架点云集作为骨架信息。
可选地,骨架信息包括待重建树木的各个骨架点;利用骨架信息确定骨架的始末端点,并采用管道模型获得待重建树木中各个树枝粗度,进而利用广义圆柱模拟待重建树木的枝干,得到三维重建树木,包括:
根据骨架信息,采用从上到下以及从树冠到树根的寻找方法搜索待重建树木中每个树枝的始末端点;
基于始末端点,通过双亲孩子法建立树木层次结构;
基于点云模型,采用管道模型求出待重建树木中各个树枝粗度;
以骨架点作为圆心画圆,结合树枝粗度在圆周处进行绘点连线,生成圆柱体构建树木树枝;基于构建的所有树木树枝,结合树木层次结构,获得三维重建树木。
另一方面,本发明实施例提供了一种树木三维重建装置,包括:
第一模块,用于获取待重建树木的目标图像和点云数据;
第二模块,用于对目标图像进行预处理;
第三模块,用于利用定向快速旋转简报算法,提取预处理后的目标图像的目标特征点,并获得目标特征点的特征描述;
第四模块,用于利用随机采样一致性算法,对目标特征点进行误匹配点剔除,获得第一点集;并对点云数据进行误匹配点剔除,获得第二点集;
第五模块,用于对第一点集和第二点集进行点云配准与融合,获得待重建树木的点云模型;
第六模块,用于对点云模型进行骨架提取,获得骨架信息;利用骨架信息确定骨架的始末端点,并采用管道模型获得待重建树木中各个树枝粗度,进而利用广义圆柱模拟待重建树木的枝干,得到三维重建树木。
另一方面,本发明实施例提供了一种电子设备,包括:处理器以及存储器;存储器用于存储程序;处理器执行程序实现上述树木三维重建方法。
另一方面,本发明实施例提供了一种计算机存储介质,其中存储有处理器可执行的程序,处理器可执行的程序在由处理器执行时用于实现上述树木三维重建方法。
本发明实施例首先获取待重建树木的目标图像和点云数据;对目标图像进行预处理;利用定向快速旋转简报算法,提取预处理后的目标图像的目标特征点,并获得目标特征点的特征描述;利用随机采样一致性算法,对目标特征点进行误匹配点剔除,获得第一点集;并对点云数据进行误匹配点剔除,获得第二点集;对第一点集和第二点集进行点云配准与融合,获得待重建树木的点云模型;对点云模型进行骨架提取,获得骨架信息;利用骨架信息确定骨架的始末端点,并采用管道模型获得待重建树木中各个树枝粗度,进而利用广义圆柱模拟待重建树木的枝干,得到三维重建树木。本发明实施例在特征检测与描述部分采用定向快速旋转简报算法,克服了旋转、尺度不变性以及对噪声敏感的不足;并且,本发明实施例对配准后得到的点云模型进行骨架提取,根据骨架并采用管道模型原理来重建树木的3D模型;骨架提取是三维重建中非常重要的步骤,它从冗余的点云信息中将精简有用的点云数据提取出来;随后建立树木层次的空间结构和确认树枝始末端,也是为下一步构建树枝模型提供了基础;最后使用管道模型来计算各个树枝的粗度,并广义圆柱体来模拟树木枝干,最终得到了视觉效果良好的树木3D模型。本发明实施例能够高效准确进行树木三维重建。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明实施例提供的进行树木三维重建的一种实施环境示意图;
图2是本发明实施例提供的一种树木三维重建方法的流程示意图;
图3为本发明实施例提供的树木三维重建的整体流程示意图;
图4(a)为本发明实施例提供的定义域滤波的图表示意图;
图4(b)为本发明实施例提供的值域滤波的图表示意图;
图5(a)为本发明实施例提供的场景深度图原图的示意图;
图5(b)为本发明实施例提供的经过内核值为4的双边滤波器平滑处理的深度图的示意图;
图5(c)为本发明实施例提供的经过内核值为8的双边滤波器平滑处理的深度图的示意图;
图5(d)为本发明实施例提供的经过内核值为16的双边滤波器平滑处理的深度图的示意图;
图6(a)为本发明实施例提供的使用oFAST算法找到的特征点一种情形的示意图;
图6(b)为本发明实施例提供的使用oFAST算法找到的特征点另一种情形的示意图;
图7为本发明实施例提供的ORB算法特征点匹配的示意图;
图8(a)为本发明实施例提供的未经过RANSAC算法计算的特征点匹配结果的示意图;
图8(b)为本发明实施例提供的经过RANSAC算法计算的特征点匹配结果的示意图;
图9(a)为本发明实施例提供的ICP匹配过程中骨架点与待生长点的示意图;
图9(b)为本发明实施例提供的ICP匹配过程中计算待生长点的最近骨架点的示意图;
图9(c)为本发明实施例提供的ICP匹配过程中结合方向向量计算待生长点的最近骨架点的示意图;
图9(d)为本发明实施例提供的ICP匹配过程中骨架点的新的生长方向的示意图;
图9(e)为本发明实施例提供的ICP匹配过程中沿生长方向添加新骨架点的示意图;
图9(f)为本发明实施例提供的ICP匹配过程中沿生长方向完成新骨架点添加的示意图;
图9(g)为本发明实施例提供的ICP匹配过程中骨架点筛选的示意图;
图9(h)为本发明实施例提供的ICP匹配过程中新一轮的骨架点与待生长点示意图;
图9(i)为本发明实施例提供的ICP匹配过程中新一轮的计算待生长点的最近骨架点的示意图;
图10(a)为本发明实施例提供的空间殖民算法提取出的带有错误信息的树木骨架的示意图;
图10(b)为本发明实施例提供的空间殖民算法基于删除阈值提取出的优化后的树木骨架的示意图;
图11为本发明实施例提供的广义圆柱体的形态示意图;
图12为本发明实施例提供的树木三维重建模拟完成之后的图像;
图13为本发明实施例提供的一种树木三维重建装置的结构示意图;
图14为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在系统示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于系统中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一/S100”、“第二/S200”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本发明中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本发明所描述的实施例可以与其它实施例相结合。
可以理解的是,本发明实施例提供的树木三维重建方法,是能够应用于任意一种具备数据处理计算能力计算机设备,而这一计算机设备可以是各类终端或是服务器。当实施例中的计算机设备是服务器时,该服务器是独立的物理服务器,或者,是多个物理服务器构成的服务器集群或者分布式系统,或者,是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。可选地,该终端是智能手机、平板电脑、笔记本电脑以及台式计算机等,但也并不局限于此。
如图1所示,是发明实施例提供的一种实施环境示意图。参照图1,该实施环境包括至少一个终端102和服务器101。终端102和服务器101之间可以通过无线或者有线的方式进行网络连接,完成数据传输交换。
服务器101可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
另外,服务器101还可以是区块链网络中的一个节点服务器。其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
终端102可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端102以及服务器101可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例在此不做限制。
示例性地基于图1所示的实施环境,本发明实施例提供了一种树木三维重建方法,下面以该树木三维重建方法应用于服务器101中为例子进行说明,可以理解的是,该树木三维重建方法也可以应用于终端102中。
参照图2,图2为本发明实施例提供的应用于服务器的树木三维重建方法的流程图,该树木三维重建方法的执行主体可以是前述的任意一种计算机设备。参照图2,该方法包括以下步骤:
S100、获取待重建树木的目标图像和点云数据;
需要说明的是,一些实施例中,步骤S100可以包括:通过预设标定参数的相机采集待重建树木的RGB图像作为目标图像,并获取待重建树木的点云数据;其中,预设标定参数通过基于平面棋盘进行标定的方法确定相机的内部参数。
一些具体实施例中,目标图像及点云数据的采集方法为:利用平面棋盘进行标定的方法计算出相机的内部参数,通过标定后的相机采集目标图像,获取点云数据与彩色图像。
S200、对目标图像进行预处理;
需要说明的是,一些实施例中,步骤S200可以包括:利用双边滤波法对目标图像进行图像预处理。
一些具体实施例中,图像预处理的方法为:采用双边滤波法对目标图像进行图像预处理,保持图像边缘部分以及图像边缘平滑度。
S300、利用定向快速旋转简报算法,提取预处理后的目标图像的目标特征点,并获得目标特征点的特征描述;
需要说明的是,一些实施例中,提取预处理后的目标图像的目标特征点可以包括:逐一遍历目标图像中的像素点,分别以各个像素点作为第一圆心,进而与第一圆心的圆周上目标点位的灰度值进行比对,当比对结果符合预设条件,将第一圆心对应的像素点确定为初始特征点;直至遍历完目标图像中的所有像素点,获得初始特征点的合集;利用决策树训练策略,分别将各个初始特征点作为第二圆心,结合预设半径确定目标圆,进而根据目标圆旁边预设点位的灰度值对初始特征点进行筛选,获得第二特征点;通过非极大值抑制去除第二特征点中的密集点,获得第三特征点;通过不同倍数大小对目标图像进行放大和收缩,得到多张比例不同的图像,进而结合第三特征点确定目标特征点。
一些具体实施例中,采用ORB(Oriented FAST and Rotated BRIEF,定向快速旋转简报)算法实现特征点的检测的方法如下:
(1)粗略的提取图像中的特征点:
在图像中随机选取像素点P,对圆周上位置为1、5、9以及13的像素点相对应的灰度值进行求值,如果有三个点或者三个点以上的灰度值小于P,那么这个P点就不是特征点,反之,将其定为特征点;
(2)对步骤(1)的特征点进行筛选:
采用算法为ID3的决策树训练,首先将等待检测的点为圆心,将3定为半径来画圆,在圆的旁边计算出16个像素点对应的灰度值,然后对输入的数据再进行筛选;
(3)非极大值抑制来去除较密集部分的点:
求出上述特征点的响应值,并根据该值的大小进行保留和剔除;
(4)利用尺度不变性获取特征点:
按照factor(倍数)的大小不同对图像进行放大和收缩,通过多张比例不同的图像得到oFAST(Oriented FAST,关键点)的特征点。
其中,一些实施例中,获得目标特征点的特征描述,可以包括:以目标特征点作为中心点,对中心点的若干领域进行随机采样,得到随机点位置矩阵;基于目标特征点的主方向,结合三角函数确定旋转矩阵;根据随机点位置矩阵和旋转矩阵,更新目标特征点的位置,进而通过二进制编码处理,获得特征描述。
一些具体实施例中,特征点描述的方法如下:
通过BRIEF算法建立特征点的描述,如下:
(1)在某个邻域的范围之内产生随机产生的点对,将特征点作为中心点,设n个邻域内的采样点坐标为(xi,yi),其中i=1,2,3,…,n。定义一个2*n的矩阵,随机点的位置如下式所示:
(2)旋转矩阵Rθ表示为:
其中,θ表示特征点主方向;
(3)Dθ表示旋转后随机点的位置:
Dθ=RθD
计算完成后,得到了新的特征点的位置,再利用rBRIEF(Rotated BRIEF)算法进行二进制的编码处理。
S400、利用随机采样一致性算法,对目标特征点进行误匹配点剔除,获得第一点集;并对点云数据进行误匹配点剔除,获得第二点集;
需要说明的是,一些实施例中,对目标特征点进行误匹配点剔除,获得第一点集,包括:从目标特征点中随机抽取部分数据,构建数学模型;利用数学模型测试目标特征点中的其它数据,基于测试结果确定数学模型的局内点和局外点;统计数学模型的局内点数目,然后返回从目标特征点中随机抽取部分数据这一步骤,重新构建数学模型,直至达到预设构建次数,以局内点数目最大的数学模型作为目标模型;基于目标模型,获得第一点集。
一些具体实施例中,采用RANSAC(随机采样一致性)算法将误匹配点剔除的方法如下:
(1)随机抽取部分数据认为选中的数据是inliers,并构建数学模型;
(2)用上个步骤中得到的数学模型去测试所有的其它数据,如果某个点适用于估计的数学模型,认为它也是局内点,否则就是局外点;
(3)统计该数学模型的局内点数目;
(4)重复步骤(1)至步骤(3)到达给定的次数,维护全局最值,认为局内点最多的数学模型即为最终需要的模型;
(5)经过RANSAC算法计算后,剔除图像中的误匹配点。
S500、对第一点集和第二点集进行点云配准与融合,获得待重建树木的点云模型;
需要说明的是,一些实施例中,步骤S500可以包括:以第二点集作为第一目标点集,根据目标点集与第一点集的邻点之间的对应关系,确定变换矩阵;通过变换矩阵对第一目标点集进行变换处理,获得第二目标点集;以第二目标点集作为第一目标点集,然后返回根据目标点集与第一点集的邻点之间的对应关系,确定变换矩阵这一步骤,直至变换矩阵的欧式距离小于预设均方误差阈值,根据最后一次变换处理获得待重建树木的点云模型。
一些具体实施例中,可以采用ICP(Iterative Closest Point)算法实现点云配准与融合,构建完整树木的点云模型,方法流程如下:
(1)对于源点云P进行误匹配点剔除后,计算得到的新的点集记为目标点云Q进行误匹配点剔除后,计算得到的新的点集记/>
(2)通过最近邻点之间的对应关系,求解使得欧氏距离最小的变换矩阵;
(3)通过计算得出的变换矩阵,对源点云进行变换;
(4)用以上方法进行迭代直到距离d(欧氏距离)小于设定的均方误差阈值;
(5)得到的树木完整点云模型。
S600、对点云模型进行骨架提取,获得骨架信息;利用骨架信息确定骨架的始末端点,并采用管道模型获得待重建树木中各个树枝粗度,进而利用广义圆柱模拟待重建树木的枝干,得到三维重建树木。
需要说明的是,一些实施例中,对点云模型进行骨架提取,获得骨架信息,可以包括:利用空间殖民算法对点云模型进行多次迭代更新骨架点,并剔除点云模型中的错误点云数据和冗杂点云数据,获得待重建树木的树木骨架点云集作为骨架信息。
一些具体实施例中,对完整树木的点云模型进行骨架提取的方法为:利用空间殖民算法将原始树木完整点云模型进行多次迭代重新找到新的骨架点,并剔除掉错误的点云数据和冗杂点云数据,最后生成完整且精确的树木骨架点云集。
其中,骨架信息包括待重建树木的各个骨架点;一些实施例中,利用骨架信息确定骨架的始末端点,并采用管道模型获得待重建树木中各个树枝粗度,进而利用广义圆柱模拟待重建树木的枝干,得到三维重建树木,可以包括:根据骨架信息,采用从上到下以及从树冠到树根的寻找方法搜索待重建树木中每个树枝的始末端点;基于始末端点,通过双亲孩子法建立树木层次结构;基于点云模型,采用管道模型求出待重建树木中各个树枝粗度;以骨架点作为圆心画圆,结合树枝粗度在圆周处进行绘点连线,生成圆柱体构建树木树枝;基于构建的所有树木树枝,结合树木层次结构,获得三维重建树木。
一些具体实施例中,利用提取的骨架信息确认骨架的始末端点,采用管道模型求出各个树枝粗度,利用广义圆柱体模拟枝干进行树木的三维重建的方法如下:
(1)采用从上到下,从树冠到树根的寻找方法;若没有分叉,就将骨架点的子数量表示为一,若有分叉则根据树杈的数量确定数字,采用这个方法确定搜索到每个树枝的始末端点;
(2)通过双亲孩子法来建立树木层次结构;
(3)采用管道模型求出各个树枝粗度;
(4)将骨架点当做圆心,并在圆周生成各种点,随后绘制成线,最后生成的圆柱体就是树木树枝。
为详细说明本发明实施例的技术原理,下面结合附图和一些具体实施例对本发明方案作进一步说明,应当理解的是,下述为对本发明的解释,不能看做对本发明的限制。
如图3所示,本发明公开了基于ICP算法的一种树木三维重建方法,包括如下步骤:
S1,采集目标图像;
S2,对目标图像进行图像预处理;
S3,采用ORB算法实现特征点的检测与描述;
S4,采用RANSAC算法将误匹配点剔除;
S5,采用ICP算法实现点云配准与融合,构建完整树木的点云模型;
S6,对完整树木的点云模型进行骨架提取,并利用提取的骨架信息确认骨架的始末端点,采用管道模型求出各个树枝粗度,利用广义圆柱体模拟枝干进行树木的三维重建。
一些具体实施例中,采集目标图像的方法为:利用平面棋盘进行标定的方法计算出相机的内部参数,通过标定后的相机采集目标图像,获取点云数据与彩色图像。相机参数标定是实验中非常重要的步骤,是保证实验结果精确的基础,因此相机的准确标定是进行树木3D重建的前提,求出相机的内外参数即可对图像进行矫正从而得到较为精准的实验结果,这也是相机标定的目的。
利用平面棋盘进行标定的方法如下:首先定制一张棋盘格模板,用RealSense智能相机从不同拍摄角度拍摄得到图片,从理论上至少需要三张图片,然而实际中为了增大精度得到更加精确的结果通常会使用更多的图片。在对相机进行标定时采用MATLAB中的提供的Camera Calibration Toolbox,实验中的具体步骤如下:(1)根据该算法要求,第一步先打印一张棋盘平面图片,棋盘间隔为14mm,将棋盘格粘贴在平面上,通过移动深度相机RealSense,对该棋盘在不同角度上进行拍摄。(2)理论上,完成相机标定需要至少三幅图像。在实际应用中,数值的求解存在不稳定性,同时还有噪声的影响,因此为使结果准确,需要采集尽量多的图像。本发明从不同角度拍摄了18幅图像。(3)通过采集棋盘格在不同角度拍摄下的图片,可以得到内部参数与每张棋盘格图像所对应的旋转平移矩阵。
一些具体实施例中,通过Realsense获取点云数据与彩色图像,RealSense获取的深度图数据表示在测量空间中该点到红外摄像头的直线距离。在实验过程中,所采集的点云通常受自身硬件影响出现噪声,或获取的树木图像的树枝断裂较多,带有细小的孔洞,为三维重建带来了一定的困难,为了提高得到的点云的质量,使图像中的间断连接起来,需要对图像进行预处理。采用双边滤波法对目标图像进行图像预处理,该滤波在去除噪声的同时还可以保持原有的边缘信息,而且操作较为简单,也不需要复杂的迭代算法。它的优点相较于其它滤波也是在保持边缘部分,图像边缘是平滑的,它的优点还在于处理低频段的噪声效果较好。它输出的像素值是由周围像素点最后的加权决定的,式(1)是定义域的核公式,公式(2)是值域的核公式。
其中,i和j表示当前被卷积像素的坐标点,k和l表示邻域像素的坐标点;
如图4(a)和图4(b)所示,定义域滤波和值域滤波可以分别用图4(a)与图4(b)表示。
实验中选取通过实验可以发现,选取的不同大小的内核值,滤波后的深度图效果相同,也就是说,内核值的大小对滤波结果没有带来影响。从图5可以看出,双边滤波边缘部分处理的很好,但孔洞修复方面不够理想。图5(a)至图5(d)中,图5(a)为场景深度图原图,图5(b)、图5(c)、图5(d)为经过内核值分别为4、8和16的双边滤波器平滑处理后的深度图。可以看出,内核值为16的在保留边缘信息较好的情况下,空洞修复效果最好。双边滤波具有保持边缘信息较好的效果,就是在处理过程中不会被连带处理掉,这一点非常有利于法线的精准计算,从而得到较为理想的图像平滑效果,而且其数据处理速度较快,对计算速度并没有很高的要求,因此,发明选取内核值为16的双边滤波器对图像进行滤波处理。
一些具体实施例中,采用ORB算法实现特征点的检测的方法如下:
(1)粗略的提取图像中的特征点:
在图像中随机选取像素点P,对圆周上位置为1、5、9以及13的像素点相对应的灰度值进行求值,如果有三个点或者三个点以上的灰度值小于P,那么这个P点就不是特征点,反之,将其定为特征点;
(2)对步骤(1)的特征点进行筛选:
采用算法为ID3的决策树训练,首先将等待检测的点为圆心,将3定为半径来画圆,在圆的旁边计算出16个像素点对应的灰度值,然后对输入的数据再进行筛选;
(3)非极大值抑制来去除较密集部分的点:
对于特征点非常密集的区域,后续计算非常麻烦且没有必要,因此需要求出这些特征点的响应值,并根据该值的大小进行保留和剔除。比如,P点和它周围临近的16个特征点,分别进行计算和对比,比较大的就保留下来,剩余的剔除掉;
(4)利用尺度不变性获取特征点:
把图像不同的尺度标准用金字塔的方式呈现出来,从这里可以看到特征点的尺度不变性。在这次实验中,按照factor的大小不同对图像进行放大和收缩,可以通过8张比例不同的图像就可以得到oFAST的特征点。
(5)特征点的旋转不变性。
理想的特征子拥有的条件应该为:在不同的光照条件、距离、方向、角度的条件下,都可以通过判断标准决断出是不是同一个物体。换种讲法,就是同一个特征点必须要拥有足够相似的描述子。所以,当在不同的角度对图像进行拍摄时,坐标系的方向虽然会发生改变,但是坐标系中的点会跟随坐标系发生同样的变化,在某种程度上,两者以对方为参考系时,这两者是不发生运动的。把这个圆形区域看成一个密度并不完全相同的物体,这样,不管物体如何移动,如何发生运动变化,每个点的位置并不会改变,可以把像素点具象化为这个圆形区域中的点的质量,利用微积分学可以求出重心,表达式如公式(4)所示:
其中,x,y表示横纵坐标,I(x,y)表示(x,y)处的灰度值。
图像的灰度重心可以表示为:
特征点的方向角度为:
图6(a)与图6(b)中黑色的点即为使用oFAST算法找到的特征点。
一些具体实施例中,特征点描述的方法如下:通过BRIEF算法建立特征点的描述,如下:
(1)在某个邻域的范围之内产生随机产生的点对,将特征点作为中心点,表示随机点的位置如公式(7)所示:
(2)旋转矩阵Rθ表示为:
其中,θ表示特征点的主方向;
(3)Dθ表示旋转后随机点的位置:
Dθ=RθD (9)
计算完成后,得到了新的特征点的位置,再利用rBRIEF算法进行二进制的编码处理。得到的最终结果图如图7所示。
一些具体实施例中,在实际工程中,由于得到的数据中含有噪声,因此图像难以得到高质量的匹配,所以这里介绍一种剔除错误的匹配点的方法,全称为随机采样一致性算法RANSAC,它是为了解决LDP问题而引入到分析中。RANSAC是一种用于处理数学参数模型中非法点的鲁棒的参数估计策略的迭代算法。根据合法点数目,选取最合适变换的目标函数。然后不停的多次重复迭代,直到有足够多的数据存在于由合法点构成的集合中时,才会被认为是满足条件的参数模型。反之则用当前点集去重新估算,继续优化,直到满足条件。
采用RANSAC算法将误匹配点剔除的方法如下:
(1)随机抽取部分数据认为选中的数据是inliers,并构建数学模型;
(2)用上个步骤中得到的数学模型去测试所有的其它数据,如果某个点适用于估计的数学模型,认为它也是局内点,否则就是局外点;
(3)统计该数学模型的局内点数目;
(4)重复步骤(1)至步骤(3)到达给定的次数,维护全局最值,认为局内点最多的数学模型即为最终需要的模型;
(5)经过RANSAC算法计算后,剔除图像中的误匹配点。
其中,inliers指可以被模型描述的数据,其对应的outliers指偏离正常范围很远、无法适应数学模型的数据。
若实验要求含有n个数据点的数据集中获得合法点的概率为p。假设从观测数据中随机选取一点为合法点的概率为a,则非合法点的概率为1-a。因此经过单次迭代得到实验所需的n个数据点均为合法点的概率为an。经过N次迭代,数据集中含有非合法点的概率为(1-an)N,因此得出等式(10):
(1-an)N=1-p (10)
迭代次数N可表示为公式(11):
通过RANSAC计算先后对比如图8(a)至图8(b)所示。图8(a)为未经过RANSAN算法计算的特征点匹配结果。图8(b)为经过RANSAC算法计算后的特征点匹配结果。通过对比发现,经过RANSAC算法计算后,剔除了图像中的误匹配点。随后使用RANSAC算法将误匹配点去除,这在继图像滤波后,再次精简了运算过程且提高了精度。
本发明利用前面计算得到的相机参数,来进行图像坐标系下的二维坐标到世界坐标系下三维坐标的转换。求出特征点的三维坐标系下点坐标,就可以计算出世界坐标系下三维空间中的已经匹配完成的特征点对。将含有三维信息的特征点映射到待配准点云上,就可以在点云配准融合时不需要对所有点都进行计算。将这三种方法结合起来,得到的ICP算法效率提高了很多,不再需要对底层计算平台进行运算加速,简化了算法过程,同时提高了计算精度和融合效果。采用ICP算法实现点云配准与融合,构建完整树木的点云模型的方法如下:
(1)对于源点云P进行误匹配点剔除后,计算得到的新的点集记为目标点云Q进行误匹配点剔除后,计算得到的新的点集记/>
(2)通过最近邻点之间的对应关系,求解使得欧氏距离最小的变换矩阵;
(3)通过计算得出的变换矩阵,对源点云进行变换;
(4)用以上方法进行迭代直到距离d小于设定的均方误差阈值;
(5)得到的树木完整点云模型。
本发明对这次试验结果进行分析,首先,将在PC端通过无线连接的方式对深度相机RealSense进行控制,用相机进行拍摄可以获取得到图像的RGB-D信息和点云信息。采用MATLAB中的Camera Calibration Toolbox来进行计算,可以求出相机的内参,进而减小图像畸变,提高图像实验精度。对传统的ICP算法进行了改善,首先对均值、高斯、双边这三种滤波器分别进行试验对比,可以得到图像滤波效果最好的是双边滤波器,因此最终选择双边滤波器进行接下来的实验。随后使用改进后的ORB算法进行特征点的检测和描述匹配,用采样一致性算法对ORB得到的结果进行错误匹配的去除,提高了图像匹配点的精度。随后使用在前面得到的相机参数来实现二维坐标到三维坐标的转换。最后使用ICP算法对图像进行配准融合,利用三幅图片重合的部分在三维坐标系下进行配准融合。接下来,需要对完成试验的结果进行分析,从运行时间和得到的模型进行分析,对于该实验的时间计算是采用从头到尾计时的方式计算,而对于模型的分析则用点云数据库中的getFitnessScore()函数来判断,这个函数是用源点云和目标点云之间的距离来判断的,距离越远说明试验结果越不好,越近则说明得到的结果越好。改进前后配准数据比较,如表1所示。
表1
配准方法 | 传统算法 | 改进算法 |
数据点 | 35860 | 20239 |
迭代次数 | 50 | 30 |
运行时间(s) | 81.12 | 55.01 |
距离平方和 | 0.000014 | 0.000008 |
最终实验结果数据如表1所示,可以看出,对比改进之前的ICP算法,改进之后的算法在计算量、运算时间以及目标点云和源点云之间的距离上都有所进步。改进之前,需要五十次的迭代才能达到收敛的条件,改进之后只需三十次就可以达到,这极大的减少了运算负担,而且还可以减少计算过程中出现的误差。在这里就可以得到改进的ICP算法确实比改进之前要得到更为快速和精确的实验结果。
本发明用相机从不同角度进行的拍摄,除去其重合部分,已获取了树木的所有角度信息,在理想结果中,可以实现所有视角拍摄图片的重合。但是在实际情况中,由于设备的精度达不到、人为操作难以避免一些失误以及算法产生的误差等等都无法保证这种理想结果。只要结果误差在可接受范围内,那么实验就可以认定为成功。最终图片经过多次迭代,源点云和目标点云之间的差距越来越小,两者逐渐靠近,直至两者之间的误差小于我们所设定的阈值。在这里,阈值量化是用距离平方和来表现的,迭代过程中,此值应该逐渐减小,知道保持不动为止,若得到的结果在阈值内,则认为算法已经达到了我们想要的效果。该树木的ICP匹配结果图如图9(a)、图9(b)、图9(c)所示。
由图9(a)至图9(i)的实验结果可知,传统的ICP算法除了运算量过大外,实现的点云融合效果并不理想,误匹配点严重影响了点云图像的边缘平滑度以及融合重建效果。而改进后得到的ICP算法可以将多帧点云图像利用其重叠部分得到一个较为完整的三维点云图像,且边缘部分处理效果相较之前平滑了许多。
本实施例中,对完整树木的点云模型进行骨架提取的方法为:
利用ICP算法得到的树木完整点云信息已经可以表示出树木的空间结构,但是在实际重建过程中,许多点云数据是冗杂的,因此本发明需要提取出树木骨架,随后对骨架枝条进行模拟重建来进行结果数据优化。本试验采用空间殖民算法进行点云骨架提取。空间殖民算法,对二维树叶生成算法进行了改善并应用到三维空间上。空间殖民算法的原理就是利用原始骨架点进行多次迭代重新找到新的骨架点,并剔除掉错误的点云数据和冗杂点云数据,最后生成完整且精确的树木骨架点云集。某个点云数据的待生长点是指对该点云影响最大的点,因此,一个骨架点会被周围多个骨架点所影响。将骨架点的阈值定为Ti,,那么关系式就如公式(12)所示:
其中,表示为骨架点,/>即为该骨架点的待生长点,/>指需要删除的错误点和冗杂点,Ti则指设置的影响阈值。
迭代完成后,将每一个原始的骨架点和迭代产生的点用集合表示,那么这个原始骨架点的方向向量就会如公式(13)所示。图9(a)表示骨架点与待生长点,,图9(b)表示计算待生长点的最近骨架点,在图9(c)中箭头所指的方向就是方向向量的方向。
对集合的每个单点进行计算,求出其向量并都对其进行标准化处理。最后重新得到的向量集合的和向量方向即为该骨架点的生长方向。该方向如公式(14)所示:
其中,为向量集合的和向量方向,其表示枝干的生长方向。图9(d)中黑色箭头即可表示/>的和向量,就是骨架点的新的生长方向。而新骨架位置的合集我们将其设置为其表示如公式(15)所示:
其中,Ds表示骨架中点与点的间距。
图9(e)表示沿生长方向添加新骨架点,图9(f)表示沿生长方向完成新骨架点添加,从图9(e)与图9(f)中可以看出,新生成的骨架点重新发展了三个主要的枝干,除此之外,还有一个侧边枝干。并且新的骨架点生长出来之后,需要进行生长的那些骨架点就会被删除掉,随后使用欧式距离求得新的骨架点和还需等待生长的点的距离,如果初始设定的阈值Td大于该欧式距离,那么就必须要把待生长点去掉。即图9(g)中较细的黑色数据点被删除掉,较粗的黑色圆圈圈住的数据点会被保留。图9(h)和图9(i)表示再一次重新进行检测,重复之前的流程进行迭代。
一些具体实施例中,可以获得树木空间中的骨架点点集,在发明中将计算出骨架的始末点并建立起树木的空间层次结构,最后使用广义圆柱体来对树枝进行模拟,得到树木的3D模型。已求出树木的骨架点集合,但是各个骨架枝干的始末端并没有确定,本次实验采用逆向搜索的方法来确认树枝起末点,父系树枝末端和子系树枝始端是同一端,利用这个关系进行搜索,建立起树枝的空间结构,最后用管道模型计算出树枝的粗度并用广义圆柱体模拟树枝得到树木的3D模型。利用提取的骨架信息确认骨架的始末端点,采用管道模型求出各个树枝粗度,利用广义圆柱体模拟枝干进行树木的三维重建的方法如下:
(1)采用从上到下,从树冠到树根的寻找方法;若没有分叉,就将骨架点的子数量表示为一,若有分叉则根据树杈的数量确定数字,采用这个方法搜索到每个树枝的始末端点;
(2)通过双亲孩子法来建立树木层次结构;
(3)采用管道模型求出各个树枝粗度;
(4)将骨架点当做圆心,并在圆周生成各种点,随后绘制成线,最后生成的圆柱体就是树木树枝。
本发明需要对每一个树枝进行细致的划分,才能计算出每个树枝的粗度和数量,并确认每一个枝干的起末端点,树枝始末端点的计算算法如表2所示,在表2中,采用从上到下,从树冠到树根的寻找方法。如果没有分叉,就将骨架点的子数量表示为一,若有分叉则根据树杈的数量确定数字,采用这个方法可以搜索到每个树枝的起末点。
表2
只有树枝的起末点还不能确认整棵树的空间结构,整个树枝的递归结构才能完整表达出整个树的空间层次,同时还能给树木后期预估粗度提供计算依据。本发明通过双亲孩子法来建立树木层次结构,其算法如表3所示。
表3
图10(a)和图10(b)就是利用该方法提取出的树木骨架信息,图中使用点云数量为20239,假设空间殖民算法迭代的次数为150~200次,影响半径1.1~1.3,删除阈值0.3~0.4,骨架点距0.06~0.8,可以从图10(a)中的运行结果中看出,树木的主干部位出现了明显的错误,通过上述算法中的删除阈值(这里用的0.3)可以有效控制这些错误信息,得到的即为图10(b),可以看到图10(a)中出现的明显错误信息已经被删掉并得到优化后的骨架信息。
在植物的身体内,管道都会支持自己所能支持数量的叶子,而且会通过所有的细胞层,从最上端到最下端,最后集结成一个大型管道,从而形成了一棵完整的树木。管道模型估计理论,将群落深处z的枝干的横截面积设定为S(z),并且假设枝和干的比例不变,设置非同化组织的密度和累计叶量分别为C(z)和F(z),那么这两者的关系如公式(16)所示:
C(z)=blS(z)Δz (16)
在上式中,b为比例系数,S(z)和F(z)成正比例,如公式(17)所示:
F(z)=hS(z) (17)
h为比例系数。在树冠的下面,不管z值如何变化,F(z)都不会再增大,但是,S(z)和C(z)会跟随z值的减小而增大。因此这三类量的关系也就不再如上式所表示。而ShinozakiK Y等人则认为,随着树枝的生长,下半部分的树枝就会自然而然的脱掉,原本支撑树叶的管道逐渐失去该功能从而形成了心材,树干越粗,S(z)和C(z)就越大。此就是树形管道模型。将有效输导面积设置为FB(z),则其和F(z)的关系如公式(18)所示:
F(z)=fFB(z) (18)
在上述公式中,h和f都是用来反映枝干横截面积的,它还可以表示用来负载树叶的力量,用f来表示树木的耐阴性,数值越大,表示这种性质就越强;FB(z)表示对应的有效输导面积。最终根据树木的管道理论,树枝边材料的面积和树干之间的关系、树枝的总数量和高度的树叶总量之间的关系都可以用公式(18)表示。本次试验f将树枝交叉处的一些父与孩树枝粗度之间的关系定义为公式(19):
/>
其中,re1,re2都是用来表示子树枝的开始那头的半径,rp用来表示父树枝最末端的树枝半径。n的取值在2.5到3.5之间,可以把它调整成想要的样子。将最后的树枝的半径定为re0,它的取值一般是在0.005~0.02m之间。
广义圆柱体的形态如图11所示,这张图是将许多这大大小小的圆和一条曲线连接起来,并且是垂直插入形成的曲面。为了完成这张图片,把这许多的圆形状的横截面与广义圆柱体都连接起来,不同的圆形状的截面表示不同的粗度,为了保证实验的正确性,加入了主法线和副法线这两个概念,并分别设定为和/> 是曲率向量/>的单位长度,那么/>的计算方式如公式(20)所示:
在此式中,表示为曲率加速向量,/>表示为切向量,那么/>
为了计算为零的情况下的圆周点D,首先需要设定一个圆心原点,对于曲线上的点P使其为圆心,而且这个面和主法线N确定的平面重合,如公式(21)所示:
D=(Nxx+Bxy+Px,Nyx+Byy+Py,Ns+Bs+Ps) (21)
此式中的点(x,y)是预计的计算圆周上的一点;
本次实验的树木树枝就用广义圆柱体来模拟。本发明所提取的骨架点就是在上述曲线当中,将骨架点当做圆心,并在圆周生成各种点,随后绘制成线,最后生成的圆柱体就是树木树枝。在本发明中,首先计算方向向量,然后实现空间圆柱体的绘制。图12就是模拟完成之后的图像。从外表来看,这个模型在各个方面已经非常接近真实的树木,能够较好的复刻树枝原有的不平整性和弯曲度,视觉效果良好。
综上,本发明公开提供了一种基于ICP算法的树木三维重建方法,,对于点云数据的配准与融合的方法,在特征检测与描述部分选取ORB算法,克服了旋转、尺度不变性以及对噪声敏感的不足。然后采用RANSAC算法提出误匹配点使图像得到高质量的匹配。在点云配准与融合部分对传统的ICP算法进行了改进,通过实验对比分析,改进的ICP算法速度快效果好,可以实现不同角度下的相邻两帧点云融合。最终实现了对多帧点云的融合配准,验证了算法的可行性。对ICP算法配准后得到的点云数据进行骨架提取,根据骨架并采用管道模型原理来重建树木的3D模型;骨架提取是三维重建中非常重要的步骤,它从冗余的点云信息中将精简有用的点云数据提取出来;采取空间殖民算法来提取骨架进行研究,有效提取了点云骨架;随后建立树木层次的空间结构和确认树枝始末端的算法,也是为下一步构建树枝模型提供了基础;最后使用管道模型来计算各个树枝的粗度,并广义圆柱体来模拟树木枝干,最终得到了视觉效果良好的树木3D模型,并对得到的3D模型进行了数据分析。
另一方面,如图13所示,本发明实施例提供了一种树木三维重建装置1300,包括:第1310一模块,用于获取待重建树木的目标图像和点云数据;第二模块1320,用于对目标图像进行预处理;第三模块1330,用于利用定向快速旋转简报算法,提取预处理后的目标图像的目标特征点,并获得目标特征点的特征描述;第四模块1340,用于利用随机采样一致性算法,对目标特征点进行误匹配点剔除,获得第一点集;并对点云数据进行误匹配点剔除,获得第二点集;第五模块1350,用于对第一点集和第二点集进行点云配准与融合,获得待重建树木的点云模型;第六模块1360,用于对点云模型进行骨架提取,获得骨架信息;利用骨架信息确定骨架的始末端点,并采用管道模型获得待重建树木中各个树枝粗度,进而利用广义圆柱模拟待重建树木的枝干,得到三维重建树木。
本发明方法实施例的内容均适用于本装置实施例,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
另一方面,如图1400所示,本发明实施例还提供了一种电子设备1400,该电子设备包括至少一个处理器1410,还包括至少一个存储器1420,用于存储至少一个程序;存储器1420用于存储程序;处理器1410执行程序实现如前面的方法。以一个处理器1410及一个存储器1420为例。
处理器1410和存储器1420可以通过总线或者其他方式连接。
存储器1420作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器1420可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件或其他非暂态固态存储器件。在一些实施方式中,存储器1420可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
以上所描述的电子设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本发明方法实施例的内容均适用于本电子设备实施例,本电子设备实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
本发明实施例的另一方面还提供了一种计算机可读存储介质,存储介质存储有程序,程序被处理器执行实现前面的方法。
本发明方法实施例的内容均适用于本计算机可读存储介质实施例,本计算机可读存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
Claims (12)
1.一种树木三维重建方法,其特征在于,包括:
获取待重建树木的目标图像和点云数据;
对所述目标图像进行预处理;
利用定向快速旋转简报算法,提取所述预处理后的目标图像的目标特征点,并获得所述目标特征点的特征描述;
利用随机采样一致性算法,对所述目标特征点进行误匹配点剔除,获得第一点集;并对所述点云数据进行误匹配点剔除,获得第二点集;
对所述第一点集和所述第二点集进行点云配准与融合,获得所述待重建树木的点云模型;
对所述点云模型进行骨架提取,获得骨架信息;利用所述骨架信息确定骨架的始末端点,并采用管道模型获得所述待重建树木中各个树枝粗度,进而利用广义圆柱模拟所述待重建树木的枝干,得到三维重建树木。
2.根据权利要求1所述的树木三维重建方法,其特征在于,所述获取待重建树木的目标图像和点云数据,包括:
通过预设标定参数的相机采集所述待重建树木的RGB图像作为目标图像,并获取所述待重建树木的点云数据;
其中,所述预设标定参数通过基于平面棋盘进行标定的方法确定相机的内部参数。
3.根据权利要求1所述的树木三维重建方法,其特征在于,所述对所述目标图像进行预处理,包括:
利用双边滤波法对所述目标图像进行图像预处理。
4.根据权利要求1所述的树木三维重建方法,其特征在于,所述提取所述预处理后的目标图像的目标特征点,包括:
逐一遍历所述目标图像中的像素点,分别以各个所述像素点作为第一圆心,进而与所述第一圆心的圆周上目标点位的灰度值进行比对,当比对结果符合预设条件,将所述第一圆心对应的所述像素点确定为初始特征点;直至遍历完所述目标图像中的所有像素点,获得所述初始特征点的合集;
利用决策树训练策略,分别将各个所述初始特征点作为第二圆心,结合预设半径确定目标圆,进而根据所述目标圆旁边预设点位的灰度值对所述初始特征点进行筛选,获得第二特征点;
通过非极大值抑制去除所述第二特征点中的密集点,获得第三特征点;
通过不同倍数大小对所述目标图像进行放大和收缩,得到多张比例不同的图像,进而结合所述第三特征点确定目标特征点。
5.根据权利要求1所述的树木三维重建方法,其特征在于,所述获得所述目标特征点的特征描述,包括:
以所述目标特征点作为中心点,对所述中心点的若干领域进行随机采样,得到随机点位置矩阵;
基于所述目标特征点的主方向,结合三角函数确定旋转矩阵;
根据所述随机点位置矩阵和所述旋转矩阵,更新所述目标特征点的位置,进而通过二进制编码处理,获得特征描述。
6.根据权利要求1所述的树木三维重建方法,其特征在于,所述对所述目标特征点进行误匹配点剔除,获得第一点集,包括:
从所述目标特征点中随机抽取部分数据,构建数学模型;
利用所述数学模型测试所述目标特征点中的其它数据,基于测试结果确定所述数学模型的局内点和局外点;
统计所述数学模型的局内点数目,然后返回从所述目标特征点中随机抽取部分数据这一步骤,重新构建数学模型,直至达到预设构建次数,以所述局内点数目最大的所述数学模型作为目标模型;
基于所述目标模型,获得所述第一点集。
7.根据权利要求1所述的树木三维重建方法,其特征在于,所述对所述第一点集和所述第二点集进行点云配准与融合,获得所述待重建树木的点云模型,包括:
以所述第二点集作为第一目标点集,根据所述目标点集与所述第一点集的邻点之间的对应关系,确定变换矩阵;
通过所述变换矩阵对所述第一目标点集进行变换处理,获得第二目标点集;
以所述第二目标点集作为第一目标点集,然后返回所述根据所述目标点集与所述第一点集的邻点之间的对应关系,确定变换矩阵这一步骤,直至所述变换矩阵的欧式距离小于预设均方误差阈值,根据最后一次变换处理获得所述待重建树木的点云模型。
8.根据权利要求1所述的树木三维重建方法,其特征在于,所述对所述点云模型进行骨架提取,获得骨架信息,包括:
利用空间殖民算法对所述点云模型进行多次迭代更新骨架点,并剔除所述点云模型中的错误点云数据和冗杂点云数据,获得所述待重建树木的树木骨架点云集作为骨架信息。
9.根据权利要求1所述的树木三维重建方法,其特征在于,所述骨架信息包括所述待重建树木的各个骨架点;所述利用所述骨架信息确定骨架的始末端点,并采用管道模型获得所述待重建树木中各个树枝粗度,进而利用广义圆柱模拟所述待重建树木的枝干,得到三维重建树木,包括:
根据所述骨架信息,采用从上到下以及从树冠到树根的寻找方法搜索所述待重建树木中每个树枝的始末端点;
基于所述始末端点,通过双亲孩子法建立树木层次结构;
基于所述点云模型,采用管道模型求出所述待重建树木中各个树枝粗度;
以所述骨架点作为圆心画圆,结合所述树枝粗度在圆周处进行绘点连线,生成圆柱体构建树木树枝;基于构建的所有所述树木树枝,结合所述树木层次结构,获得三维重建树木。
10.一种树木三维重建装置,其特征在于,包括:
第一模块,用于获取待重建树木的目标图像和点云数据;
第二模块,用于对所述目标图像进行预处理;
第三模块,用于利用定向快速旋转简报算法,提取所述预处理后的目标图像的目标特征点,并获得所述目标特征点的特征描述;
第四模块,用于利用随机采样一致性算法,对所述目标特征点进行误匹配点剔除,获得第一点集;并对所述点云数据进行误匹配点剔除,获得第二点集;
第五模块,用于对所述第一点集和所述第二点集进行点云配准与融合,获得所述待重建树木的点云模型;
第六模块,用于对所述点云模型进行骨架提取,获得骨架信息;利用所述骨架信息确定骨架的始末端点,并采用管道模型获得所述待重建树木中各个树枝粗度,进而利用广义圆柱模拟所述待重建树木的枝干,得到三维重建树木。
11.一种电子设备,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如权利要求1至9中任一项所述的方法。
12.一种计算机存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由所述处理器执行时用于实现如权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310988363.XA CN117011465A (zh) | 2023-08-07 | 2023-08-07 | 一种树木三维重建方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310988363.XA CN117011465A (zh) | 2023-08-07 | 2023-08-07 | 一种树木三维重建方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117011465A true CN117011465A (zh) | 2023-11-07 |
Family
ID=88572357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310988363.XA Pending CN117011465A (zh) | 2023-08-07 | 2023-08-07 | 一种树木三维重建方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117011465A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117710601A (zh) * | 2023-12-27 | 2024-03-15 | 南京林业大学 | 一种基于激光点云和图像信息的单木骨架提取方法及系统 |
-
2023
- 2023-08-07 CN CN202310988363.XA patent/CN117011465A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117710601A (zh) * | 2023-12-27 | 2024-03-15 | 南京林业大学 | 一种基于激光点云和图像信息的单木骨架提取方法及系统 |
CN117710601B (zh) * | 2023-12-27 | 2024-05-24 | 南京林业大学 | 一种基于激光点云和图像信息的单木骨架提取方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110363858B (zh) | 一种三维人脸重建方法及系统 | |
CN111063021B (zh) | 一种空间运动目标的三维重建模型建立方法及装置 | |
CN108038906B (zh) | 一种基于图像的三维四边形网格模型重建方法 | |
CN105930382A (zh) | 一种用2d图片搜索3d模型的方法 | |
CN107833181A (zh) | 一种基于变焦立体视觉的三维全景图像生成方法及系统 | |
CN108171780A (zh) | 一种基于激光雷达构建室内真实三维地图的方法 | |
CN109544681B (zh) | 一种基于点云的果实三维数字化方法 | |
Zhang et al. | Data-driven synthetic modeling of trees | |
WO2015149302A1 (zh) | 基于点云与数据驱动的树木模型重建方法 | |
CN104616247B (zh) | 一种用于基于超像素sift航拍地图拼接的方法 | |
CN112381835A (zh) | 基于卷积神经网络的作物叶片分割方法及装置 | |
CN108550166B (zh) | 一种空间目标图像匹配方法 | |
CN112288859B (zh) | 一种基于卷积神经网络的三维人脸建模方法 | |
CN112927354B (zh) | 基于实例分割的三维重建方法、系统、存储介质及终端 | |
CN106228528A (zh) | 一种基于决策图与稀疏表示的多聚焦图像融合方法 | |
CN110992473A (zh) | 一种基于车载激光扫描点云的树木枝干建模方法及系统 | |
CN117011465A (zh) | 一种树木三维重建方法、装置、电子设备及存储介质 | |
CN113838191A (zh) | 一种基于注意力机制和单目多视角的三维重建方法 | |
CN112200854A (zh) | 一种基于视频图像的叶类蔬菜三维表型测量方法 | |
CN107967675A (zh) | 一种基于自适应投影移动最小二乘的结构化点云去噪方法 | |
CN107610219A (zh) | 一种三维场景重构中几何线索感知的像素级点云稠密化方法 | |
CN116862955A (zh) | 一种植物图像的三维配准方法、系统及设备 | |
CN117132737B (zh) | 一种三维建筑模型构建方法、系统及设备 | |
CN110070626B (zh) | 一种基于多视角分类的三维物体检索方法 | |
CN104751412B (zh) | 一种基于仿射不变特征的图像拼接方法 |
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 |