使用从运动恢复结构算法的体积确定方法和系统

申请号 CN201410350225.X 申请日 2014-07-22 公开(公告)号 CN104330022A 公开(公告)日 2015-02-04
申请人 赫克斯冈技术中心; 发明人 伯恩哈德·麦茨勒; 克努特·西尔克斯; A·普菲斯特; R·帕雷斯; T·菲德勒;
摘要 本 发明 提供了一种使用从运动恢复结构 算法 的体积确定方法和系统。用于建筑场所的对象的体积确定方法包括:在将相机反复地取向到对象上的同时沿着围绕对象的路径移动移动相机,在该过程中,利用相机捕获对象的一系列图像,该一系列图像包括从路径上的不同点以相机的不同取向捕获的多个图像,该一系列图像由由此收集的图像数据组来表示,使用该一系列图像利用定义的算法来执行从运动评估恢复结构并且从其生成空间表示,包括对象(1)的表面,利用关于已知的关于标度的绝对参考的给定信息的帮助来缩放该空间表示,定义针对对象的地表面并且将其应用于所述空间表示,以及基于缩放后的空间表示和所定义的地表面来计算并且输出对象的绝对体积。
权利要求

1.一种用于建筑场所的对象(1),特别地料堆的体积确定方法,所述体积确定方法包括:
在将移动相机(8)反复地,特别是连续地取向到对象(1)上的同时沿着围绕对象(1)的路径(10)移动该相机(8),
在该过程中,利用相机(8)捕获对象(1)的一系列图像(13),该一系列图像包括从路径(10)上的不同点(12)以相机(8)的不同取向捕获的多个图像(13),该一系列图像由由此收集的图像数据组来表示,
使用该一系列图像(13)利用定义的算法来执行从运动评估恢复结构并且从其生成空间表示(20,46),特别地,生成点(20),所述点云(20)包括对象(1)的表面,利用关于已知的关于标度的绝对参考的给定信息的帮助来调整该空间表示,定义针对对象(1)的地表面(17)并且将其应用于所述空间表示(20,46),以及基于调整后的空间表示(20,46)和所定义的地表面(17)来计算并且输出(33b)对象(1)的绝对体积。
2.根据权利要求1所述的体积确定方法,其特征在于
以下述方式捕获一系列图像(13),即相机(8)以每秒至少一张图片的速率自动地反复捕获图像(13),特别地以至少15Hz的率捕获视频流
3.根据权利要求1或2所述的体积确定方法,其特征在于
在移动相机(8)并捕获所述一系列图像(13)之前,布置参考体(11),特别地细长的参考体,该参考体由于其细长形状而限定长轴,并且包括至少两个定义的可视觉地检测的标记(11b),
其中,特别地利用所述标记(11b)在所述参考体(11)上限定至少两个点,并且其中,已知所述至少两个点之间的绝对距离,特别地还已知所述至少两个点相对于所述参考体(11)的长轴的空间关系,
特别地,所述参考体的长轴竖直地对齐在其体积待确定的对象(1)上或其附近,所述一系列图像(13)包括多个图像中的图像(13)的子组,在该图像(13)的子组中还捕获被放置在对象(1)上或其附近的参考体(11),
也基于从运动评估恢复结构对于所述至少两个点确定关于空间表示(20,46)的至少两个空间位置,特别地,使用图像(13)的子组来确定关于空间表示(20,46)的至少两个空间位置,并且
基于所确定的至少两个空间位置之间的测量距离以及所述至少两个点之间的已知的绝对距离对所述空间表示(20,46)进行调整,并且
特别地,基于所确定的关于所述空间表示的至少两个空间位置和已知的所述至少两个点相对于所述长轴的空间关系以及参考体(11)被布置为其长轴竖直地对齐的假设来对所述空间表示(20,46)进行竖直取向。
4.根据权利要求1至3中的任一项所述的体积确定方法,其特征在于
根据相机(8)沿着其围绕对象(1)的路径的运动以绝对参考确定位置和/或位置变化和/或加速度,特别地,该位置和/或位置变化和/或加速度的确定是使用下述装置进行的:
惯性测量单元,所述惯性测量单元被相对于相机(8)固定,
GNSS传感器,所述GNSS传感器被相对于相机(8)固定,和/或
测量相机(8)的位置的视距仪、全站仪、激光追踪器或追踪3d位置确定相机系统,特别地,立体相机系统或图案投射器相机系统,并且
与利用相机(8)捕获所述一系列图像(13)中的图像(13)的路径(10)上的点(12)的所获得的相对位置相关地,分别基于所确定的位置和/或位置变化和/或加速度对空间表示(20,46)进行调整并且特别地进行竖直取向,所述位置和取向是基于与空间表示(20,
46)相关的从运动评估恢复结构而获得的。
5.根据权利要求1至4中的任一项所述的体积确定方法,其特征在于
在移动相机(8)并捕获一系列图像(13)之前,在其体积待确定的对象(1)上或其附近布置用于限定至少两个点的至少两个定义的可视觉检测的标记(11b),
对于所述至少两个点中的每个点,利用测量仪器(41),特别地利用视距仪和/或利用GNSS以绝对参考确定绝对空间位置,
所述一系列图像(13)包括图像(13),在该图像(13)中,还捕获被布置在对象上或其附近的标记(11b),
对于所述至少两个点中的每个点,还基于从运动评估恢复结构来确定空间位置,并且基于其绝对空间位置被确定的所述至少两个点中的每个点到基于从运动评估恢复结构确定的其空间位置的指派来对所述空间表示(20,46)进行调整并且特别地进行竖直取向。
6.根据权利要求1至5中的任一项所述的体积确定方法,其特征在于
基于对象(1)的计算出的体积和给定的密度计算该对象(1)的绝对重量并且输出计算出的绝对重量(33b),
特别地,其中
用户(2)输入密度值,
存储具有针对材料的若干定义的类型的若干密度值的查找表并且用户输入对象(1)的材料的类型或者通过处理一系列图像(13)中的至少一个图像(13)来自动地对材料进行分类,并且
特别地,还计算并输出对象(1)的质心(34)的位置,特别地,其中,基于空间表示和所计算出的质心(34)的位置获得动作指令,特别地基于对象(1)上用于提升该对象(1)的适合的抓持位置(37)获得动作指令。
7.根据权利要求1至6中的任一项所述的体积确定方法,其特征在于
利用用户输入定义用于对象(1)的地表面(17),特别地,向用户显示空间表示(20,46)的剖面(23)并且能够在所显示的剖面(23)中相对于所显示的剖面(23)在想要的位置处设置代表地表面(17)的线(24),或者
利用定义的评估算法来定义用于对象(1)的地表面,特别地,其中
对空间表示(20,46)的形状进行分析,和/或
改变地表面(17)直到达到所述空间表示(20,46)内的最佳拟合。
8.根据权利要求1至7中的任一项所述的体积确定方法,其特征在于,
利用定义的算法的从运动评估恢复结构的步骤包括:
基于使用在至少两个图像(13)中表示的对象的点(14)的切除确定一系列图像(13)中的图像(13)相对于彼此的取向和相机位置(12),特别地,其中,使用特征提取和/或追踪算法来定义用于切除的对象点(14),
基于所确定的相机位置(12)和取向,利用一系列图像(13)中的图像(13)中的前方交会计算对象(1)的点的相对于彼此的3D位置,从而形成对象(1)的空间表示(20,46),特别地,其中,使用光束平差法和/或稠密匹配算法来细化所述空间表示(20,46)。
9.一种用于建筑场所的对象(1)的体积确定的系统,所述对象(1)特别地是料堆,特别地,其中,所述系统适于在根据权利要求1至8中的任一项所述的方法内使用,所述系统包括:
移动相机(8),所述移动相机(8)用于捕获图像(13),以及
控制评估单元(9),所述控制评估单元(9)存储有具有代码的程序以控制和执行体积确定功能,其中,使用利用相机(8)捕获的对象(1)的一系列图像(13)并且使用关于已知的关于标度的绝对参考的给定信息,该一系列图像(13)包括从围绕对象(1)的路径(10)上的不同点以相机(8)的不同取向捕获的多个图像(13),
执行使用所述一系列图像(13)的利用定义的算法的从运动评估恢复结构,并且从其生成空间表示(20,46),特别地,生成点云(20),所述点云(20)包括对象(1)的表面,利用给定的已知的绝对参考的帮助来调整该空间表示(20,46),
定义针对对象(1)的地表面(17)并且将其应用于所述空间表示(20,46),特别地,其中,所述地表面(17)是通过自动地执行的预定评估而获得的,或者其中,向用户发出询问以输入定义所述地表面(17)的信息,以及
基于调整后的空间表示(20,46)和所定义的地表面(17)来计算并且输出(33b)对象(1)的绝对体积。
10.根据权利要求9所述的用于体积确定的系统,其特征在于,
在由控制评估单元(9)控制并执行的功能中,相机(8)被使得以每秒至少一张图片的速率自动地反复捕获图像(13),特别地以至少15Hz的帧率捕获视频流。
11.根据权利要求9或10所述的用于体积确定的系统,其特征在于,
相机(8)是手持单元的内置组件,特别地是包括全站仪和/或GNSS组件的测量系统的移动场控制器,所述手持单元进一步包括传感器装置,其用于根据相机(8)的运动确定具有绝对参考的位置和/或位置变化和/或加速度,特别地,
惯性测量单元,所述惯性测量单元被相对于相机(8)固定,并且也形成所述手持单元的内置组件,和/或
GNSS传感器,所述GNSS传感器被相对于相机(8)固定,并且也形成所述手持单元的内置组件,
其中,在由所述控制评估单元(9)控制并执行的功能中,
与利用相机(8)捕获所述一系列图像(13)中的图像(13)的路径上的点的所获得的相对位置相关地,分别基于所确定的位置和/或位置变化和/或加速度对空间表示(20,46)进行调整并且特别地进行竖直取向,所述位置是基于与空间表示(20,46)相关的从运动评估恢复结构而获得的。
12.根据权利要求9至11中的任一项所述的用于体积确定的系统,其特征在于,参考体(11),特别地细长的参考体,该参考体由于其细长形状而限定长轴,并且包括至少两个定义的可视觉地检测的标记(11b),
其中,特别地利用所述标记(11b)在所述参考体(11)上限定至少两个点,并且其中,已知所述至少两个点之间的绝对距离,特别地还已知所述至少两个点相对于所述参考体(11)的长轴的空间关系,并且
其中,所述参考体(11)被在捕获所述一系列图像(13)之前预先由用户(2)放置在其体积待确定的对象(1)上或其附近,特别地放置为其长轴被竖直地对齐,其中,当所述一系列图像(13)包括多个图像(13)中的其中还捕获被放置在对象(1)上或其附近的参考体(11)的图像(13)的子组时,在由所述控制评估单元(9)控制并执行的功能中,
也基于从运动评估恢复结构对于所述至少两个点确定关于空间表示(20,46)的至少两个空间位置,特别地,使用图像(13)的子组来确定关于空间表示(20,46)的至少两个空间位置,并且
基于所确定的至少两个空间位置之间的测量距离以及所述至少两个点之间的已知的绝对距离对所述空间表示(20,46)进行调整,并且
特别地,基于所确定的关于所述空间表示(20,46)的至少两个空间位置和已知的所述至少两个点相对于所述长轴的空间关系来对所述空间表示(20,46)进行竖直取向。
13.一种计算机程序产品,所述计算机程序产品特别地适于在根据权利要求1至8中的任一项所述的方法内使用,
所述计算机程序产品存储有用于控制和执行用于确定建筑场所的对象(1)的体积的功能的计算机可执行指令,所述对象(1)特别地为料堆,在该功能中,使用相机(8)捕获对象(1)的一系列图像(13)并且使用关于已知的关于标度的绝对参考的信息,该一系列图像包括从围绕对象的路径(10)上的不同点以相机(8)的不同取向捕获的多个图像(13),使用该一系列图像(13)利用定义的算法来执行从运动评估恢复结构并且从其生成空间表示(20,46),特别地,生成点云(20),所述点云(20)包括对象(1)的表面,利用给定的已知的绝对参考的帮助来调整该空间表示(20,46),
定义针对对象(1)的地表面(17)并且将其应用于所述空间表示(20,46),特别地,其中,所述地表面(17)是通过自动地执行的预定评估而获得的,或者其中,向用户发出询问以输入定义所述地表面(17)的信息,以及
基于调整后的空间表示和所定义的地表面(17)来计算并且输出(33b)对象(1)的绝对体积。
14.一种生成并且地理定位待测量的对象(1)的空间表示(20,46)的方法,该空间表示(20,46)特别地是点云(20),所述方法包括:
在对象(1)上或其附近布置至少三个定义的可视觉地检测的标记(11b),从而定义至少三个点,
对于所述至少三个点中的每个点,通过使用测量仪器(41),特别地使用视距仪确定具有地理位置参考的绝对空间位置,
在将相机(1)反复地,特别是连续地取向到对象(1)上的同时沿着围绕对象(1)的路径(10)移动移动相机(8),
在该过程中,利用相机(8)捕获对象(1)的一系列图像,该一系列图像包括从路径(10)上的不同点以相机(8)的不同取向捕获的多个图像(13),所述多个图像(13)还包括针对所述至少三个标记中的每个标记的其中所述对象(1)被与各自的标记(11b)一起捕获的若干图像(13),并且该一系列图像由由此收集的图像数据组来表示,
使用该一系列图像(13)利用定义的算法来执行从运动评估恢复结构,
基于从运动评估恢复结构生成对象(1)的空间表示(20,46),特别地生成点云(20),并且对于所述至少三个点中的每个点确定与所述空间表示(20,46)相关的相对空间位置,对于所述至少三个点中的每个点,将其绝对空间位置指派给其相对空间位置,并且使用所述绝对空间位置的地理位置参考与分别指派的相对空间位置和其与空间表示(20,46)的各关系来地理定位所述空间表示(20,46)。
15.一种生成并且地理定位待测量的对象(1)的空间表示(20,46)的系统,该空间表示(20,46)特别地是点云(20),
特别地,其中,所述系统适于在根据权利要求14所述的方法内使用,所述系统包括:
移动相机(8),所述移动相机(8)用于捕获图像(13),
控制评估单元(9),以及
至少三个定义的可视觉地检测的标记(11b),利用所述标记(11b)定义至少三个点,其中,所述可视觉地检测的标记(11b)由用户预先放置在对象(1)上或其附近并且由测量仪器(41)测量,从而对于所述至少三个点中的每个点,确定具有地理位置参考的绝对空间位置,
所述控制评估单元(9)存储有具有代码的程序以控制和执行用于生成和地理定位空间表示(20,46)的功能,其中,使用利用相机(8)捕获的对象(1)的一系列图像(13),并且使用基于利用测量仪器(41)测量所述至少三个标记确定的针对所述至少三个点的绝对空间位置,其中,该一系列图像(13)包括从围绕对象(1)的路径(10)上的不同点以相机(8)的不同取向捕获的多个图像(13),其中,所述多个图像(13)包括针对所述至少个三个标记中的每个标记的其中对象(1)被与各自的标记(11b)一起捕获的若干图像(13),执行使用所述一系列图像(13)的利用定义的算法的从运动评估恢复结构,基于从运动评估恢复结构生成对象(1)的空间表示(20,46),特别地生成点云(20),并且对于所述至少三个点中的每个点确定与所述空间表示(20,46)相关的相对空间位置,对于所述至少三个点中的每个点,将绝对空间位置指派给各自的相对空间位置,并且使用所述绝对空间位置的地理位置参考与分别指派的相对空间位置和其与空间表示(20,46)的各关系来地理定位所述空间表示(20,46)。
16.根据权利要求15所述的系统,其特征在于
测量仪器(41),特别地,视距仪,用于对于由所述至少三个标记(11b)定义的所述至少三个点中的每个点确定具有地理位置参考的绝对空间位置,并且/或者
其特征在于
在由所述控制评估单元(9)控制并执行的功能中,
相机(8)被使得以每秒至少一张图片的速率自动地反复捕获图像(13),特别地以至少
15Hz的帧率捕获视频流,
特别地,其中,相机(8)是手持单元的内置组件,特别地,相机(8)是用于测量仪器(41)的移动场控制器。

说明书全文

使用从运动恢复结构算法的体积确定方法和系统

技术领域

[0001] 本发明涉及一种在建筑场地确定对象的体积的方法和系统。

背景技术

[0002] 在建筑场地,常常需要确定对象(例如,料堆或诸如壶穴的中空空间、间隙或矿)的体积。
[0003] 传统的用于确定这样的体积的方法是利用诸如激光扫描器、全站仪、立体相机或一组固定安装的相机的测量装置扫描对象。由于从一个站点,仅能够测量料堆的一部分,而其它表面点被挡住了,因此,需要在相对于例如料堆的至少三个不同位置设置测量装置,从而能够以组合的方式测量料堆的整个表面。从每个站点捕获料堆,即,测量料堆的表面点相对于测量装置的空间位置。接下来,对从三个或更多设置位置获得的点进行组合和网格化。然后,计算网格化表面与地表面之间的体积。这样的方法主要的缺点在于下述事实:诸如激光扫描器、全站仪、立体相机或多个相机是昂贵的硬件并且需要由技术人员来操作和定位。另外,将这样的测量装置设置在三个不同位置并且至少彼此相对地确定这些位置是耗时的。然而,在一些情况下,这样的时间和金钱上的付出由于不要求由如全站仪的大地测量装置执行的位置测量的高准确性以及所获得的体积确定的高准确性而相对粗糙的体积值将是足够的而在某种程度是浪费的。
[0004] 为了确定大的对象的体积或者为了覆盖大面积中的多个对象,进一步了解的是,使用配备有GNSS位置传感器和用于确定地面对象的尺寸数据的装置的无人驾驶飞行器(UAV)。

发明内容

[0005] 因此,本发明的目的在于提供一种用于确定建筑场所的对象的体积的简化的方法和系统。
[0006] 本发明的另一目的在于提供一种用于确定建筑场所的对象的体积的耗时较少的方法。
[0007] 本发明的另一目的在于提供一种用于确定建筑场所的对象的体积的成本有效的系统。
[0008] 通过根据权利要求1的确定建筑场所的对象的体积的方法、根据权利要求5的建筑场所的对象的体积确定系统、根据权利要求14的确定建筑场所的对象的体积的计算机程序产品和/或本发明的从属权利要求来实现这些目的中的至少一个。
[0009] 根据本发明,一种确定建筑场所的对象或中空空间的体积的方法包括下述步骤:
[0010] (a)在将相机反复地,特别是连续地取向到对象上的同时沿着围绕对象的路径移动移动相机,
[0011] (b)在该过程中,利用相机捕获对象的一系列图像,该一系列图像包括从路径上的不同点以相机的不同取向捕获的多个图像,该一系列图像由由此收集的图像数据组来表示,
[0012] (c)使用该一系列图像利用定义的算法来从运动评估恢复结构并且从其生成对象的表面的空间表示,
[0013] (d)利用关于已知的关于标度的绝对参考的给定信息的帮助并且特别地还利用关于绝对竖直方向的给定信息的帮助来调整并且特别地竖直地取向该空间表示,[0014] (e)定义针对该对象的地表面并且将其应用于该空间表示,以及[0015] (f)基于调整后的并且竖直取向的空间表示和所定义的地表面来计算并且输出对象的绝对体积。
[0016] 在本发明中,术语“绝对”(参考、竖直方向、体积、……)意味着能够以一个且同样已知的尺度为单位,特别是以一个标准长度单位(米、英寸、……)为单位来对量的值进行量化。
[0017] 移动相机能够捕获一系列图像,该系列图像能够被存储为图像数据组,例如,静态图像的组、视频序列或者其组合。移动相机是用于建筑场所的对象的体积确定的系统的一部分,该系统进一步包括控制评估单元。图像数据组能够存储在移动相机上或者存储在系统的存储单元上。系统可以包括显示器,其特别地具有触敏接口。例如,该系统能够是智能电话或者GNSS测量系统或全站仪的控制器,其存储有具有代码的程序以控制和执行体积确定功能,该体积确定功能包括上述方法。控制评估单元能够位于智能电话中、控制器中和/或移动相机中和/或系统的另外部分中,从而利用智能电话、控制器和/或在移动相机中和/或在系统的另一部分中执行步骤(c)至(f)中的一些或全部或者步骤(c)至(f)的一部分。该系统可以包括计算服务器和数据发送单元,从而能够在场外执行步骤(c)至(f)中的一些或全部或者步骤(c)至(f)的一部分,这能够对于系统的移动部分的功耗或对于处理功率以及因此对于处理时间来说是有利的。作为示例,利用智能电话捕获的图像数据组能够被传输到云服务器,其中,根据本发明来处理图像数据,从而最终计算并输出体积。输出的体积能够被传输回智能电话并且显示给用户。
[0018] 步骤(c)至(f)不需要在建筑场所执行并且能够在步骤(a)和(b)之后的任何时间来执行。能够按照任何适合的顺序来执行该方法的步骤。特别地,步骤(d)和(e)的顺序是能够交换的,并且能够同时执行这两个步骤。如果在一个仍在执行的步骤中生成了足够的数据,从而下述步骤能够已经开始,可以同时执行这两个步骤。例如,能够根据步骤(c)生成点云的一部分,其由于该部分点云包括了足够的地表面相关点而足以定义地表面,和/或由于给定的关于已知的绝对参考的信息指向该部分点云而足以对点云进行调整。又如,由于一系列图像的图像的数目能够足以生成对象的一部分的空间表示(即,生成整个对象的第一粗略空间表示),因此,根据步骤(c)的生成空间表示的步骤能够在步骤(a)和(b)仍然在进行的同时开始。在之前步骤中生成的另外的数据能够用于细化后续步骤的结果。
[0019] 在本发明的实施方式中,相机是手持单元(特别地,包括全站仪和/或GNSS组件的测量系统(surveying system))的移动场控制器的内置组件。手持单元可以进一步包括传感器装置,用于根据相机的运动利用绝对参考来确定位置和/或位置的变化和/或加速度,特别地,相对于相机固定并且还形成手持单元的内置组件惯性测量单元和/或相对于相机固定并且也形成手持单元的内置组件GNSS传感器。
[0020] 沿着围绕对象的路径利用相机捕获对象的一系列图像的步骤(步骤b)能够由用户通过围绕对象行走同时永久地保持相机或者将相机保持在路径的任意选择的不同点处,从而对象的面对相机的至少主要,特别地整个,可见侧处于相机的视野中。从而不需要保持相机的某一取向。相机能够在以每秒至少一个图片的速率在围绕对象移动的同时反复地捕获图像。特别地,以至少15 Hz的视频速率生成视频流
[0021] 根据图像数据组,在步骤(c)中,计算对象的表面的空间表示,例如,3D模型,特别地,点云。这是通过所定义的从运动恢复结构(SfM)或及时定位与地图构建(SLAM)算法来进行,这些算法是所存储的具有代码的程序的一部分。算法能够基于具有观察源的透视或仿射相机投射模型,其包括图像对、图像元组和/或视频序列以及诸如稀疏特征对应性、密集的光流场、线或曲线的表征类型,或者没有从图像提取任何表征的直接SfM技术。
[0022] 作为示例,描述下述SfM算法,其包括对于图像数据组中的图像中的至少一些寻找一定数目的图像对应性的步骤。这是使用诸如SIFT、SURF、BRISK、BRIEF等等的特征检测匹配算法来进行的。替选地,在视频序列的情况下,能够对于每个视频帧使用追踪算法来寻找对应性。能够使用例如Kanade-Lucas-Tomasi(KLT)特征追踪器或另外的追踪算法来进行追踪。
[0023] 使用一对适合的图像,在局部坐标帧中确定相对相机姿态(即,位置和取向)。算法使用鲁棒搜索以寻找所选择的对的图像的相机的3D平移和旋转(例如,第二图像相对于第一图像的相对位置和取向)。利用这些位置,使用前方交会来计算在两个图像中看到的所有特征的3D位置。这提供了一组3D点以及两个初始帧的位置和取向。
[0024] 在接下来的步骤中,额外的帧被添加到现有的重建。使用已经重建的3D点,能够使用后方交会来计算在图像的捕获期间相机具有的位置和取向。在添加了新的图像之后,使用重建帧中的所有测量来细化3D点的位置。
[0025] 作为最终或中间步骤,使用光束平差法来细化整个解。算法的该部分是重投射误差的非线性最小二乘法最小化。其将优化所有3D点和所有相机位置的位置和取向。
[0026] 如果记录包含来自同一位置的多个图像,例如,当围绕对象移动的用户走到开始点并且走过了几米(这引起了交叠),这些来自同一位置的图像被匹配并且围绕对象的环闭合。这将增加整体准确性。
[0027] 额外的约束(例如,来自GNSS测量的相机的位置、来自利用全站仪的测量的参考目标的位置)能够包括在光束平差法中以增加算法的鲁棒性。
[0028] 替选地,能够使用其它的SLAM或SFM算法来恢复相机的位置和取向。为了进一步加速处理,图像能够在数据的记录期间传输到控制评估单元。
[0029] 在方法的又一发展中,能够通过下述来实现对象的表面的空间表示的进一步的改进,即利用诸如稠密匹配算法(例如,深度图融合或平面扫描)的算法来计算稠密点云,例如,针对每个图像像素的3D坐标。
[0030] 作为上述用于确定空间表示的替选方案,能够使用视觉赫尔方法来创建空间表示。在该空间雕刻技术中,首先寻找图像中的前景对象的侧影轮廓。侧影的每个图像区域外部表示其中不能够存在对象的空间的区域。这些区域能够被雕刻掉。获得的体积(被称为视觉赫尔(visual hull))是对于对象的实际几何形状的保守近似。常常容易在图像中检测到对象侧影,并且这些方法能够是非常鲁棒的。在本发明中,能够使用视觉赫尔方法来在图像中将对象的表示与背景分离,因此利用所定义的轮廓来定义形状。根据相机的投射中心,分别为三形的半线被定义为穿过轮廓的各部分的点,其一起形成了锥形金字塔。使用所有图像定义的所有锥形金字塔的空间交叉定义了对象的空间表示。
[0031] 根据步骤(d),利用给定的关于已知的绝对参考的信息来调整空间表示。有利的是,还使用已知的竖直参考来确定空间表示的竖直取向。这是有下述选项之一来执行的:
[0032] 使用参考体,特别地,使用细长的参考体,其由于其细长的形状而限定长轴并且包括至少两个定义的视觉上可检测的标记,从而在参考体上定义至少两个点,例如,定标条或具有彼此隔开预定距离的两个或更多光学标记的条。至少两个点之间的绝对距离,特别地,至少两个点相对于该参考体的长轴的空间关系是已知的。该参考体将在捕获一系列图像之前由用户放置,如果空间表示被额外地竖直取向,则其长轴竖直地对齐在待确定其体积的对象上或与对象紧邻。参考体被与对象一起成像在至少一些图像上。还基于从运动评估恢复结构对于至少两个点确定关于对象的空间表示的至少两个空间位置。然后,基于所确定的至少两个空间位置之间的所测量的距离以及参考体的至少两个点之间的已知的绝对距离来调整空间表示。
[0033] 另外,如果参考体被竖直地放置在对象上,则能够基于所确定的关于空间表示的至少两个空间位置和相对于长轴的至少两个点的已知的空间关系来竖直地取向空间表示。
[0034] 这样的参考体还能够由待测量对象上的定义为具有已知距离的点来形成,这些点在具有已知距离的至少一些图像中额外地捕获的对象上或至少一些图像中是可检测的。该已知距离能够由利用能够集成在系统中的诸如测距仪的测量装置的测量来获得。能够利用具有不同于周围的性质的诸如边缘或点的对象上/对象的独特点来定义待测量对象或额外的对象上的可视觉检测的点。可视觉检测的点能够进一步包括诸如彩色点的光学标记或者如圆圈的几何形状。作为示例,参考体能够因此形成为待测量对象的长度或者具有已知尺寸的额外的对象,例如,对象的高度或宽度或其一部分。这样的额外的对象可以特别地包括定标条。有利地,这些捕获的可视觉检测的点和/或标记中的至少两个被彼此竖直地对齐。替选地,诸如定标条的两个或更多个细长参考体能够被布置在对象上或其附近。如果两个定标条被平地对齐,例如,利用气泡水平仪,则它们能够定义水平面。该平面的法向量定义竖直方向。
[0035] 根据相机沿着其围绕对象的路径的运动,利用绝对参考(即,关于定义的标度)确定相机的位置和/或位置变化和/或加速度。然后分别基于所确定的位置和/或位置变化和/或加速度来调整空间表示并且优选地对其进行竖直取向。能够利用下述选项中的一个或其组合来确定位置和/或位置变化和/或加速度:
[0036] 利用相对于相机固定的GNSS传感器来对于至少两个不同的相机位置测量相机的GNSS位置。如果空间表示也被竖直地对齐和/或空间参考,则对于至少三个相机位置测量GNSS位置。确定对点云进行调整并且可选地还进行移位和旋转的变换,从而GNSS测量的位置(相中心)与由从运动恢复结构获得的对应的位置之间的差异最小。
[0037] 使用相对于相机固定的惯性测量单元(IMU)。所测量的加速度和角速度被用于测量成对的图像之间的相对位置和取向。使用该相对位置,能够找到使得所测量的相对位置与变换后的相机位置的相对位置之间的差异最小的点云的移位旋转和标度。
[0038] 诸如视距仪、全站仪、激光追踪器的测量装置测量,或者追踪3d位置确定相机系统,特别地立体相机系统或图案投射器相机系统,对于至少两个不同的相机位置测量相机的位置。能够与捕获图像同步地或者以预定时间间隔执行相机的位置和/或取向的确定,从而所确定的位置和取向被清楚地指派给图像。为此,能够利用控制评估单元生成触发信号并且将其传输给相机和GNSS传感器、IMU、单元或测量装置。替选地,相机能够在捕获图像时或在预定数目的捕获图像之后或以预定的时间间隔触发利用所述位置确定装置的位置和/或取向确定。
[0039] 至少两个预定的可视觉检测标记(例如,编码标记)被布置在对象上或其附近。通过预定标记,定义至少两个参考点。利用测量仪器(例如,全站仪或GNSS极)测量参考点,即确定它们的绝对空间位置。还与对象一起在一系列图像中的至少一些图像中捕获标记。能够在从SfM获得的点云中自动地检测标记。还基于SfM评估确定关于点云的相对空间位置。基于绝对空间位置到每个参考点的相对空间位置的指派执行变换(调整并且有利地还进行竖直取向)。
[0040] 在步骤(e),确定对象的地表面并且将其应用于空间表示。利用分析空间表示的形状的预定评估算法来从点云自动地获得地表面。能够基于位于地表面上的一组点的分类来获得地表面。该分类能够基于相对于z轴(向上方向)的点的分布和具有较小的z坐标的点是地表面的一部分的假设。替选地,用户能够通过在系统的显示器上绘制曲线来对点进行分类。然后,数学形状(例如,平面)拟合到分类后的点,其表示地表面。替选地,能够使用3D Hough变换或RANSAC算法来确定地表面。
[0041] 替选地,能够使用全站仪测量或来自GNSS标杆的测量,利用地上的对象周围放置的三个或更多个标记或者利用诸如放置在地上的对象周围的定标条的两个或更多个细长参考体来确定地表面。
[0042] 替选地或额外地,地表面本身由用户输入手动地获得。用户能够视觉地分析显示在系统的显示器上的空间表示并且手动地确定地表面或者调整自动获得的地表面。特别地,显示空间表示的哦铺面(例如截面)并且能够在所显示的剖面中与所显示的剖面相关地设置代表地表面的线。
[0043] 在步骤(f)中,计算对象的绝对体积。首先,数学地定义的表面拟合到点云或者基于网格化从点云计算表面。用于数学地定义的表面的示例是3D样条、锥形、自由形式表面或旋转的抛物面。能够使用3D或2D三角测量基于空间表示的网格化来获得计算的表面。体积被计算为数学地定义的表面与地表面之间的差或者确定为三角测量的表面与地表面之间的围闭体积。
[0044] 在一些情况下,用户可能不能够完全地围绕对象移动相机。因此,表面表示仅表示对象的一部分。然后,使用对称假设来确定对象的体积。用户能够定义对称面并且计算地表面与对称面之间包含的部分的体积。然后近似的体积将是将所计算的体积乘以2获得的体积。作为替选方案,能够指定对称轴,并且将通过从对象的剪影创建旋转表面来近似对象的体积。例如,从贯穿点云的截面,能够确定轮廓(例如,抛物曲线)。围绕竖直的中心轴旋转该曲线获得了旋转的抛物面。
[0045] 除了对象的体积之外,用户也可能对对象的体积改变或体积差感兴趣。能够使用所描述的方法来确定例如沙子移除前后的沙包的体积,以确定体积差。
[0046] 在本发明的另一有利的应用中,能够从空间表示确定对象的尺寸,即长度、宽度、高度和形状。了解了刚性对象(例如,石头)的尺寸和形状,能够决定其是否适合于卡车的装载平台。此外,能够确定对象是否适合通过装载空间的开口,即对象的宽度是否小于开口的宽度。另外,该方法能够进一步发展为执行斜率分析。基于对象(例如,沙包)的形状,并且考虑材料性质(例如,倾斜角),能够分析出,在特定位置移除沙子将影响沙包的稳定性,即移除是否会引起滑动。
[0047] 在该方法的又一发展中,确定的体积与密度值一起用于计算对象(例如,料堆)的绝对重量。密度值由用户输入,由用户在包括材料的若干定义的类型及其各自的密度值的查找表的帮助下选择和/或通过从一系列图像中的至少一个图像自动地评估材料来自动地确定。在后一种情况中,能够使用对象的纹理信息。
[0048] 如果对象由不同材料的部分构成,则能够通过手动地标记各部分或者基于图像分割算法来评估各部分的绝对重量。
[0049] 在该方法的又一发展中,基于其空间表示来计算对象的质心,该质心是不能够出于该目的而进行调整的。计算能够在异质对象的情况下考虑诸如材料的各部分的重量的进一步的信息。此外,计算出的质心能够与其它存储的或计算的对象性质组合。例如,关于对象的硬度的信息和其质心能够用于提示用户如何握持该对象以便于防止损坏。例如,了解质心的位置,能够决定,是否放置绳索以利用支架提升刚性对象或者如何为了良好的平衡性而利用叉车抓住该对象。此外,了解质心,能够最优地将对象放置在卡车的装载平台上,例如以在前车轴和后车轴之间同等地平衡负载。
[0050] 本发明进一步包括用于执行本体积确定方法的步骤(c)至(f)的计算机程序产品。附图说明
[0051] 下面将参考伴随着附图的示例性实施方式详细描述本发明,在附图中:
[0052] 图1示出了现有技术的示例;
[0053] 图2a、图2b示出了一组图像的获取的示例;
[0054] 图3示出了不同相机位置以及从运动评估恢复结构的一部分的示例;
[0055] 图4a、图4b示出了对象的空间表示的调整和竖直取向的示例;
[0056] 图5a至图5d示出了地表面的定义的示例;
[0057] 图6a、图6b示出了对象的体积的计算的示例;
[0058] 图7a、图7b示出了生成对象的空间表示的替选方法的示例;
[0059] 图8示出了重量确定功能的示例;
[0060] 图9a、图9b示出了本发明的另外的功能的示例。

具体实施方式

[0061] 图1示出了用于确定物体1(例如,料堆)的体积的现有技术示例。用户2将全站仪5设置在对象1附近的位置6处。对对象1进行扫描(即,测量对象1的可见表面点4)并且计算点云。由于从位置6不能够看到整个表面,因此,全站仪5需要设置在至少两个其它位置处以便于测量从位置6看不到的表面点3,以便于能够建立对象1的完整的表面表示。从三个或更多个设置获得的点云被组合并且网格化。然后,计算网格表面与地表面之间的体积。
[0062] 在图2a中,根据本发明的用于体积确定的系统被示出为智能电话7的形式,其包括相机8和控制评估单元9。替选地,用于体积确定的系统可以是测量仪器的一部分。智能电话7由用户把持,从而相机面朝对象1并且对象的相机8所面对的表面的整个部分处于相机8的视野8a内。在图2a和图2b(顶视图)中,用户2沿着围绕对象1的路径10行走,同时相机8捕获对象1的一系列图像。获取图像的速率可以使得能够生成视频流。例如,相机每秒拍摄至少15张图片。图像将对象1示出为好像是从沿着路径10的不同位置看的。该一系列图像被存储在智能电话7上作为图像数据组,例如作为电影文件。在对象1上放置有参考体11,其长轴11a竖直地取向。参考体11可以包括诸如气泡水平仪的倾斜指示器。参考体11包括两个可视觉地检测的标记11b,其定义了彼此间隔已知距离的两个参考点。参考体11被与对象1一起捕获在图像数据组的至少一个图像子组中并且用于对由图像数据组生成的对象1的空间表示进行调整(缩放)。由于被竖直地对齐,因此图像参考体11还能够用于竖直地对齐空间表示。在将被竖直地对齐的参考体11的情况下,可视觉地检测的标记11b优选地具有不同的形状(例如,不同的代码),以便于允许直立方向的自动确定。
[0063] 在图3中,对象1的顶视图被与拍摄对象的图像的路径10上的点12的若干示例一起示出。在该示例中,每个位置处的相机的投射中心与点12相同。当然,投射中心不必与相机位置相同,而是能够根据已知的相机位置来计算。图像13由其图像平面来表示。对于图像13的所有对,例如通过获得公共特征点14的特征提取,寻找多个图像对应性。这是使用诸如SIFT、SURF、BRISK、BRIEF等等的特征检测和匹配算法来进行的。使用图像的想要的对,在局部坐标帧中确定图像13的相对位置和取向并且计算特征点14的3D重构,建造点云。在下一步骤中,每个额外的帧被添加到现有的3D重构。使用已经重构的3D点,能够使用去除来计算相机8的位置和取向。在添加了新的帧之后,使用重构的帧中的所有测量来细化3D点的位置。
[0064] 获得的点云能够用于计算体积或者能够由稠密匹配算法来进一步细化。稠密匹配的目标在于在原始图像中找到稠密点云,即,针对每个像素或子集的3D坐标,例如在常规3×3网格上的3D坐标,即,对于行和列方向上的每三个像素的3D坐标。该算法由两个主要步骤构成。
[0065] 首先,对于所有交叠的相机,计算视差图。该视差图包含两个图像中的像素的偏移,即,将施加于第一图像中的像素的在第二图像中的对应的点的位置处结束的偏移。存在计算这些图的多种方法、关联技术、半全局匹配等等。
[0066] 使用该组视差图,通过前方交会来计算3D点。从每个像素开始,在其它图像13中寻找最大数目的对应像素。使用图像之间的视差,能够找到对应点。然后使用来自所有有用图像13的该组图像位置计算3D点。
[0067] 使用关于测量质量的若干标准来过滤最终的点云。这包括观察到点的图像13的数目、测量的基线、所有测量的一致性的测量等等。
[0068] 使用包括对象1和细长参考体11(其放置在对象1上)的图像13确定从SfM获得的点云的标度(图4a)。在所有可用图像13中,借助于图像处理自动地识别两个可视觉地检测的标记11b。确定每个图像13中的参考点的位置并且将其用于使用前方交会(由线40指示)确定标记的3D位置。由于参考点之间的真实距离是已知的,因此能够通过比较点云中的距离与真实距离而将标度应用于点云。由于参考点被竖直地对齐,因此,它们用于对点云进行变换使得其被竖直地取向。该变换(调整(缩放)和可能的竖直取向)能够作为后续步骤来执行。
[0069] 能够有利的是,使用超过一个的细长参考体11。在该情况下,一个细长参考体11能够用于获得标度并且另一个用于检查。如果至少两个细长的参考体11被水平地对齐(非平行)(例如,通过气泡水平仪),则它们定义了其法向量竖直的水平面。因此,由细长的参考体11的标记定义的点能够用于对点云进行变换,使得其竖直地取向。
[0070] 替选地,能够在光束平差法中直接引入从细长的参考体11获得的信息,该光束平差法在从运动恢复结构内执行。附加的约束对于算法的稳定性具有积极的影响。
[0071] 图4b示出了空间表示的标度的确定的另一示例。至少两个可视觉地检测的标记11b(例如,编码标记)被放置在对象1上或其附近,从而被与对象1一起成像在由相机8捕获的图像组中的至少一些图像上。由可检测的标记11b定义至少两个点。例如使用用于特征检测的图像处理算法在点云中自动地检测点云中可视觉地检测的标记11b的位置。基于由利用例如视距仪的测量仪器41的测量确定的两个定义的点的绝对距离来调整表示由两个可视觉地检测的标记11b定义的两个点的点云的点之间的距离。定义的点的绝对空间位置(由线42指示)的测量能够被作为预先步骤、后续步骤或与其它步骤同时执行。利用调整后的距离,整个点云被绝对地参考。如果点云的至少三个点被绝对地参考或者如果两个绝对参考的点被彼此竖直地对齐,则该点云也能够被竖直地取向。变换(调整(缩放)和可能的竖直取向)能够作为后续步骤来执行。
[0072] 图5a示出了点云20形式的对象1的空间表示。为了确定地表面17,点15被分类为位于地表面17上,而点16被分类为不属于地表面17。
[0073] 该分类能够基于点云20的点相对于竖直的分布。图5b的直方图示出了点云20的点对于点云20的坐标系的z轴的分布,当点云20已经竖直地取向时,其与竖直相同。由于点云的一部分能够在一些情况下传递足够准确的完整的分布,因此这样的分布也能够仅基于点云20的一部分。例如,基于部分点云20的点分布来执行该分类,该部分点云20的点分布是在图像的捕获和点云20的另外的点的计算仍然在进行时从示出对象1的多个图像以及地的一部分一起计算出来的。假设的是,具有小的z坐标的点是地表面17的点。因此,引入了特定阈值19。所有具有处于阈值19内的z坐标的点被分类为地表面17。阈值19是从所存储的值自动地获得的,或者例如根据N(z)的变化速率(梯度)自动地设置,或者由用户手动地设置。
[0074] 替选地,由用户2手动地执行点云20的点的分类。
[0075] 图5c示出了智能电话7的形式的系统。在显示器21(其是触敏的)上,点云20在顶视图中以剖面23的形式显示。用户能够通过例如利用触摸笔或其手指在显示器上绘制曲线22来对点15进行分类。
[0076] 作为通过点分类确定地表面17的替选方案,能够由用户2手动地定义地表面17。图5d示出了智能电话7,其在显示器21上显示点云20的剖面23(截面)以及地表面17的截面24。截面24相对于截面23的位置和取向由用户2例如通过上下移动(箭头25)或者通过以定义的手指姿势旋转来设置和/或调整。
[0077] 图6a示出了基于调整后的竖直对齐的点云20和定义的地表面17来确定对象1的体积的示例。数学地定义的表面拟合到点云20。考虑地表面17,生成数学对象26,在该示例中,数学对象为锥形,并且具有定义的高度h和半径r。对象1的体积被确定为使用用于这样的数学对象26的体积计算的等式计算的数学对象26的体积。为了数学对象26的参数化,能够假设旋转轴是竖直的。如果材料是已知的(例如,为碎石或沙子),则能够从材料性质获得斜度,例如,对于沙子来说,休止角为大约30°。这样的假设也能够在拟合3D样条或自由形式表面时应用,即,表面的最上面的点处切面应该是大致水平的。在沙子的情况下,表面的切面应该倾斜30°等等。
[0078] 作为拟合数学地定义的表面的替选方案,能够利用点云20的3D三角测量来确定对象1(例如,堆料)的表面。替选地,使用2D三角测量来确定对象1的表面。首先,点被正交地投射到地表面17。然后,执行2D的德劳内(Delaunay)三角测量。最终,点被反投射到3D。另外,能够例如通过应用3D样条或自由形式表面来对点云20进行平滑和过滤。对象1的体积被确定为三角化表面与地表面17之间的围闭体积。
[0079] 在一些情况下,对象1的拍摄图像的组可能仅覆盖其一部分。在这样的情况下,能够使用对称假设来近似整个对象1的体积,如图6b中所示。轮廓27(例如,抛物曲线)被拟合到点云20的截面23。根据轮廓27自动地定义对称轴28或者由用户2手动地定义对称轴28。然后,轮廓27相对于对称轴28的旋转获得了旋转29的抛物面。在插入地表面17之后,对象1的近似体积被计算为地表面17与旋转29的抛物面之间围闭的体积。
[0080] 图7a和图7b示出了在没有生成点云的情况下生成空间表示的方法。该方法是基于视觉赫尔(visual hull)方法。这里,通过分段,在图像数据组的每个图像中,将对象1的图像中的定义的形状43与背景44分离(图7a)。图7b以顶视图示出了使用从运动算法恢复的结构确定的并且在示例中与相机的投射中心相同的多个相机位置12中的三个。同样从SfM了解相机的取向。从投射中心12出发,利用形状43定义锥形45。利用所有锥形的空间交会定义空间表示46,从而直接计算空间表示46的体积。
[0081] 图8示出了具有用于确定对象1的重量的功能的用于体积确定的系统的显示21。显示的是对象1的图像30,其是从点云20获得的。此外,显示了用户菜单31,用户2能够从该菜单31选择诸如沙子、木头、混凝土…的不同材料的列表中构成对象1的材料。
在示例中,窗口32显示所选择的材料“木头”。系统然后从其之前确定的体积和用于所选择的材料的密度的值(其是在能够本地地存储在系统中或者使用无线连接从服务器发送来的查找表中查找的)计算对象1的重量。计算出的对象的重量的值被与其体积一起输出(33)。对于更精确的值,能够通过在子菜单中选择更具体地的材料来更精确地定义材料。例如,一旦选择了“木头”,用户2能够在若干显示的建议中选择是哪种木头。
[0082] 图9a示出了具有用于确定对象1的质心34的用于体积确定的系统的显示21。基于对象1仅由一种至少几乎同质材料构成的假设,能够根据确定的空间表示计算对象1的质心34。在对象1由不同材料的子对象构成的情况下,由用户2或自动地定义点云20的对应的阵列,然后指定针对每个阵列的材料并且计算整个对象1的质心34。在该示例中,使用对象1的图像30在显示21上将质心的位置指示给用户2,其是由箭头34从电源20与关于其到对象的边界的距离(36)以及用于提升其所需的(35)的信息一起获得的。
[0083] 如果根据用户输入或者根据查找表了解了对象1的进一步的材料性质,则能够获得更多信息并且将其在显示21上显示给用户2,如图9b中所示。对象1的体积和硬度用于计算并输出用于提升对象1的装置(例如绳索)放置在对象1的哪个部分处以及关于在每个部分处提升对象1所需的力的信息(37)。
[0084] 虽然在上面部分地参考一些优选实施方式示出了本发明,但是必须理解的是,能够进行实施方式的不同特征的多种修改和组合。所有这些修改都裸在所附权利要求的范围内。
QQ群二维码
意见反馈