一种数字摄影测量方法、电子设备及系统
技术领域
本申请涉及电子
技术领域
,尤其涉及一种数字摄影测量方法、电子设备及系统。背景技术
针对通讯基站的勘测工作,包括不限于室内外设备尺寸、高度、部署间距的测量等,是通讯基站站点设计、设备部署、物料发送、风险检测等工作的重要前提。传统的勘测手段为室外尺量、室内手绘。传统的勘测手段存在工作量大,可靠性差,且危险性高等问题。为此,运营商和塔商等更多地采用数字摄影测量方法,完成针对通讯基站的勘测工作。
数字摄影测量是利用计算机对数字影像或数字化影像进行处理,用计算机视觉代替人眼的立体量测与识别,完成几何与物理信息的自动提取。
其中,基于地面序列图像的测量方案常被使用。测量人员可使用手机或相机等,拍摄大量包含控制点的照片或者视频,然后对这些照片或视频进行相关的数据处理。需要注意的是,测量人员在拍摄照片或视频之前,需要遵循严格的距离关系和方位关系布设多个代表控制点的标靶。布设标靶过程复杂且不可靠。另外,布设多个标靶还需要占据一定的空间,在一些狭小的空间、倾斜屋顶等场景中难以实施。
可见,亟需一种操作便利,适用更广测量场景的且可靠的数字摄影测量方法。
发明内容
本申请提供的一种数字摄影测量方法、电子设备及系统,可以降低图像采集的操作复杂度,扩展数字摄影测量的适用场景,增加测量的可靠性。
为了实现上述目的,本申请实施例提供了以下技术方案:
第一方面、本申请提供的一种方法,包括:获取第一图像和第二图像,第一图像和第二图像中都包括目标物体和实际尺寸已知的第一物体;其中,第一图像与第二图像的拍摄位置不同,且,第一图像与第二图像的拍摄方向不同;根据第一图像和第二图像,构建数字三维空间;根据数字三维空间,以及数字三维空间与真实的三维空间的尺寸缩放比例确定目标物体两个端点之间的距离,其中,缩放比例与第一图像中第一物体的位置、第二图像中第一物体的位置,以及第一物体的实际尺寸S1有关。
其中,数字三维空间以三维点云的形式呈现。三维点云,是指三维空间中物体表面的点数据的集合,可反映物体表面轮廓。目标物体的两个端点,是指待测量距离的两个端点。需要说明的是,这里的目标物体可以为一个,目标物体的两个端点之间的距离可以是目标物体的高度、长度、宽度等。目标物体也可以为两个,则目标物体的两个端点之间的距离可以为两个目标物体之间的间距等。
相较于现有技术中,测量人员需要预先遵循严格的距离关系和方位关系布设多个控制点的标靶,并拍摄大量包含标靶的照片或者视频而言,本申请实施例在不同拍摄位置、以不同拍摄方向两次拍摄图像的操作更便利。并且,本申请实施例中使用第一物体的实际尺寸确定数字三维空间的尺寸缩放比例,有利于提升测量的可靠性。再有,由于在狭小机房、倾斜屋顶等场景中也能够实现在不同拍摄位置,以不同拍摄方向拍摄图像,因而本申请实施例提供的测量方法可以适用于更广的测量场景。
一种可能的实现方式中,该方法还包括:根据数字三维空间的地面和第一图像的摄影中心,或者根据数字三维空间的地面和第二图像的摄影中心,确定数字三维空间的天空方向;其中,数字三维空间的地面为数字三维空间中离散点分布最密集的平面;根据数字三维空间、缩放比例、数字三维空间的地面和天空方向,确定目标物体的高度。
其中,三维离散点分布最密集的平面为单位空间内点数据的数量值最大的平面。
上述高度测量实现方法,使本申请实施例可适用于更多的测量场景。例如,在一些可能由于目标物体较高、或者目标物体的底端被遮挡的场景中,可以通过拍摄到的顶端计算出目标物体的高度。另外,在本申请实施例提供的方案中,可以只需在第一图像和第二图像中标记顶端的位置即可完成对目标物体高度的测量,而无需标记底端的位置,简化测量人员的操作。
一种可能的实现方式中,在根据数字三维空间及其与真实的三维空间的尺寸的缩放比例,确定目标物体两个端点之间的距离之前,该方法还包括:获取第一图像中第一物体的位置、第二图像中第一物体的位置,以及第一物体的实际尺寸S1;根据第一图像中第一物体的位置、第二图像中第一物体的位置,计算数字三维空间中第一物体的尺寸S2;根据第一物体的实际尺寸S1和数字三维空间中第一物体的尺寸S2,计算得到数字三维空间与真实的三维空间的尺寸的缩放比例。
其中,第一图像中第一物体的位置,可以为第一图像中第一物体的像点坐标。类似的,第二图像中第一物体的位置,可以为第二图像中第一物体的像点坐标。
由此,提供一种根据已知尺寸的第一物体的实际尺寸S1,以及计算数字三维空间中第一物体的尺寸S2,计算缩放比例的方法。由于第一物体的实际尺寸为准确的数据,有利于提高计算的缩放比例的准确性,提升测量的可靠性。
一种可能的实现方式中,获取第一图像中第一物体的位置、第二图像中第一物体的位置,以及第一物体的实际尺寸S1,包括:接收输入的第一图像中第一物体的位置、第二图像中第一物体的位置,以及第一物体的实际尺寸S1;或者,识别第一图像中第一物体的位置,以及第二图像中第一物体的位置,以及查找第一物体的实际尺寸S1。
由此,提供了一种可由测量人员手动标记第一物体两个端点的位置,以及输入第一物体的实际尺寸的方法,也提供了一种服务器自动识别第一物体两个端点的位置,以及查找第一物体的实际尺寸的方法。丰富了获取第一物体两个端点位置和第一物体实际尺寸的方式。
一种可能的实现方式中,第一物体为分段设计的标杆,第一物体至少包括顺序排列的第一黑色分段、第一白色分段、第一彩色分段、第二白色分段、第二彩色分段、第三白色分段、第二黑色分段;其中,第一彩色分段的颜色和第二彩色分段的颜色为一对互补色;第一物体的实际尺寸S1为第一物体的两个端点之间的长度,第一物体一个端点位于第一黑色分段和第一白色分段的交界处,第一物体另一个端点位于第三白色分段和第二黑色分段的交界处;第一图像中第一物体的位置为第一图像中第一物体的两个端点的位置;第二图像中第一物体的位置为第二图像中第一物体的两个端点的位置。
由此,提供了一种特定设计的标杆,可作为第一物体,便于服务器自动识别出该第一物体中两个端点,简化测量人员的操作。
一种可能的实现方式中,识别第一图像中第一物体的位置,以及第二图像中第一物体的位置,包括:识别出第一图像中第一彩色分段和第二彩色分段,以及第一图像中具有直线特征的第一区域;识别出第二图像中第一彩色分段和第二彩色分段,以及第二图像中具有直线特征的第二区域;根据第一图像中第一彩色分段和第二彩色分段,第一图像中具有直线特征的第一区域,以及第一物体中各个颜色分段的位置关系,自动确定出第一图像中第一物体的两个端点的位置;以及根据第二图像中第一彩色分段和第二彩色分段,第二图像中具有直线特征的第二区域,以及第一物体中各个颜色分段的位置关系,自动确定出第一图像中第一物体的两个端点的位置。由此,提供了一种识别标杆的两个端点的方法。
在一个具体的实现方式中,可以采用滤波器从第一图像和第二图像中确定具有直线特征的区域。其中,滤波器具体可以为二维Gabor函数的实部。
一种可能的实现方式中,第一彩色分段为红色分段,第二彩色分段为青色分段;或者,第一彩色分段为品色分段,第二彩色分段为绿色分段。
需要注意的是,考虑到拍摄光线不足时,拍摄的图像中蓝色与黑色不易区分。拍摄光线过亮时,黄色与白色不易区分。因此,第一彩色分段和第二彩色分段均不为蓝色或黄色。
一种可能的实现方式中,根据第一图像中第一物体的位置、第二图像中第一物体的位置,以及第一物体的实际尺寸S1,计算得到数字三维空间与真实的三维空间的尺寸的缩放比例,包括:根据第一图像中第一物体的位置、第二图像中第一物体的位置,计算数字三维空间中第一物体的尺寸S2;根据第一物体的实际尺寸S1和数字三维空间中第一物体的尺寸S2,计算得到数字三维空间与真实的三维空间的尺寸的缩放比例。由此,提供了一种具体计算所述数字三维空间与真实的三维空间的尺寸的缩放比例的方法。
一种可能的实现方式中,根据数字三维空间,以及数字三维空间与真实的三维空间的尺寸的缩放比例,确定目标物体的两个端点之间的距离,包括:根据数字三维空间、缩放比例、第一图像中目标物体的两个端点的位置,以及第二图像中目标物体的两个端点的位置,确定目标物体的两个端点之间的距离。
一种可能的实现方式中,根据数字三维空间、缩放比例、数字三维空间的地面和数字三维空间的天空方向,确定目标物体的高度,包括:根据数字三维空间、缩放比例、数字三维空间的地面、数字三维空间的天空方向、第一图像中目标物体的顶端的位置,以及第二图像中目标物体的顶端的位置,确定目标物体的高度。
第二方面、提供一种测量装置,包括:获取单元,用于获取第一图像和第二图像,第一图像和第二图像中都包括目标物体和实际尺寸已知的第一物体;其中,第一图像与第二图像的拍摄位置不同,且,第一图像与第二图像的拍摄方向不同;构建单元,用于根据第一图像和第二图像,数字三维空间;确定单元,用于根据数字三维空间,以及数字三维空间与真实的三维空间的尺寸的缩放比例确定目标物体的两个端点之间的距离,其中,缩放比例与第一图像中第一物体的位置、第二图像中第一物体的位置,以及第一物体的实际尺寸S1有关。
一种可能的实现方式中,确定单元,还用于:根据数字三维空间的地面和第一图像的摄影中心,或者根据数字三维空间的地面和第二图像的摄影中心,确定数字三维空间的天空方向;其中,数字三维空间的地面为数字三维空间中离散点分布最密集的平面;根据数字三维空间、缩放比例、数字三维空间的地面和数字三维空间的天空方向,确定目标物体的高度。
一种可能的实现方式中,在确定单元根据数字三维空间、以及数字三维空间与真实的三维空间的尺寸的缩放比例,确定目标物体的两个端点之间的距离之前,获取单元,还用于获取第一图像中第一物体的位置、第二图像中第一物体的位置,以及第一物体的实际尺寸S1;确定单元,还用于根据所述第一图像中所述第一物体的位置、所述第二图像中所述第一物体的位置,计算所述数字三维空间中所述第一物体的尺寸S2;根据所述第一物体的实际尺寸S1和所述数字三维空间中所述第一物体的尺寸S2,计算得到所述数字三维空间与真实的三维空间的尺寸的所述缩放比例。
一种可能的实现方式中,在获取单元获取第一图像中第一物体的位置、第二图像中第一物体的位置,以及第一物体的实际尺寸S1的过程中,获取单元,具体用于:接收输入的第一图像中第一物体的位置、第二图像中第一物体的位置,以及第一物体的实际尺寸S1;或者,识别第一图像中第一物体的位置,以及第二图像中第一物体的位置,以及查找第一物体的实际尺寸S1。
一种可能的实现方式中,第一物体为分段设计的标杆,第一物体至少包括顺序排列的第一黑色分段、第一白色分段、第一彩色分段、第二白色分段、第二彩色分段、第三白色分段、第二黑色分段;其中,第一彩色分段的颜色和第二彩色分段的颜色为一对互补色;第一物体的实际尺寸S1为第一物体的两个端点之间的长度,第一物体一个端点位于第一黑色分段和第一白色分段的交界处,第一物体另一个端点位于第三白色分段和第二黑色分段的交界处;第一图像中第一物体的位置为第一图像中第一物体的两个端点的位置;第二图像中第一物体的位置为第二图像中第一物体的两个端点的位置。
一种可能的实现方式中,在获取单元识别第一图像中第一物体的位置,以及第二图像中第一物体的位置的过程中,获取单元,还具体用于:识别出第一图像中第一彩色分段和第二彩色分段,以及第一图像中具有直线特征的第一区域;识别出第二图像中第一彩色分段和第二彩色分段,以及所述第二图像中具有直线特征的第二区域;根据第一图像中第一彩色分段和第二彩色分段,所述第一图像中的所述第一区域,以及第一物体中各个颜色分段的位置关系,自动确定出第一图像中第一物体的两个端点的位置;以及根据第二图像中第一彩色分段和第二彩色分段,所述第二图像中的所述第二区域,以及第一物体中各个颜色分段的位置关系,自动确定出第一图像中第一物体的两个端点的位置。
一种可能的实现方式中,第一彩色分段为红色分段,第二彩色分段为青色分段;或者,第一彩色分段为品色分段,第二彩色分段为绿色分段。
一种可能的实现方式中,在确定单元根据第一图像中第一物体的位置、第二图像中第一物体的位置,以及第一物体的实际尺寸S1,计算得到数字三维空间与真实的三维空间的尺寸的缩放比例的过程中,确定单元,具体用于:根据第一图像中第一物体的位置、第二图像中第一物体的位置,计算数字三维空间中第一物体的尺寸S2;根据第一物体的实际尺寸S1和数字三维空间中第一物体的尺寸S2,计算得到数字三维空间与真实的三维空间的尺寸的缩放比例。
一种可能的实现方式中,在确定单元根据数字三维空间,以及数字三维空间与真实的三维空间的尺寸的缩放比例,确定目标物体的两个端点之间的距离的过程中,确定单元具体用于:根据数字三维空间、缩放比例、第一图像中目标物体的两个端点的位置,以及第二图像中目标物体的两个端点的位置,确定目标物体的两个端点之间的距离。
在一示例中,可以接收测量人员手动标记的第一图像中目标物体的两个端点的位置,以及第二图像中目标物体的两个端点的位置,再根据这些位置信息和数字三维空间,以及缩放比例计算出目标物体的两个端点之间的距离。
需要说明的是,这里的目标物体可以为一个,目标物体的两个端点之间的距离可以是目标物体的高度、长度、宽度等。目标物体也可以为两个,则目标物体的两个端点之间的距离可以为两个目标物体之间的间距等。例如,该测量方法可用于电信基站数字化勘测中,用于获取设备尺寸、电缆长度、安装间距等信息。也可以用于其他工程测量或日常生活中,如测量楼宇间距等。
一种可能的实现方式中,在确定单元根据数字三维空间、缩放比例、数字三维空间的地面和数字三维空间的天空方向,确定目标物体的高度的过程中,确定单元具体用于:根据数字三维空间、缩放比例、数字三维空间的地面、数字三维空间的天空方向、第一图像中目标物体的顶端的位置,以及第二图像中目标物体的顶端的位置,确定目标物体的高度。
在一示例中,可以接收测量人员手动标记的第一图像中目标物体的顶端的位置,以及第二图像中目标物体的顶端的位置,再根据这些位置信息、数字三维空间、数字三维空间的地面和天空方向计算出目标物体高度。本申请实施例提供的测量方法,可适用于电信基站数字化勘测场景中,用于获取远距离高塔及塔上各类设备的高度等。也可以适用于其他工程测量或日常生活中,如测量楼宇高度。
第三方面、提供一种服务器,包括一个或多个处理器、一个或多个存储器以及一个或多个通信接口,所述一个或多个存储器、所述一个或多个通信接口与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器从所述一个或多个存储器中读取所述计算机指令,以使得所述服务器执行如上述方面及其中任一种可能的实现方式中所述的方法。
第四方面、提供一种芯片系统,包括处理器,当处理器执行指令时,处理器执行如上述方面中及其中任一种可能的实现方式中所述的方法。
第五方面、提供一种计算机存储介质,包括计算机指令,当计算机指令在服务器上运行时,使得服务器执行如上述方面及其中任一种可能的实现方式中所述的方法。
第六方面、提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如上述方面中及其中任一种可能的实现方式中所述的方法。
附图说明
图1为本申请实施例提供的一种通信系统的结构示意图;
图2A为本申请实施例提供的一种图像采集方法的示意图;
图2B为本申请实施例提供的另一种图像采集方法的示意图;
图2C为本申请实施例提供的又一种图像采集方法的示意图;
图3为本申请实施例提供的一种电子设备的结构示意图;
图4为本申请实施例提供的一种服务器的结构示意图;
图5A为本申请实施例提供的一种数字摄影测量方法的流程示意图;
图5B为本申请实施例提供的一种计算目标物体两个端点之间距离的方法示意图;
图6A至图6H为本申请实施例提供的一些电子设备的用户界面示意图;
图7A为本申请实施例提供的另一种数字摄影测量方法的流程示意图;
图7B为本申请实施例提供的一种计算目标物体高度的方法示意图;
图8为本申请实施例提供的一种标杆的示意图;
图9为申请实施例提供的一种色相环的示意图;
图10为本申请实施例提供的另一种标杆的示意图;
图11A至图11D为本申请实施例提供的一种识别标杆的方法示意图;
图12为本申请实施例提供的一种芯片系统的结构示意图;
图13为本申请实施例提供的一种装置的结构示意图。
具体实施方式
在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
如图1所示,为本申请实施例提供的一种通信系统。该通信系统包括第一电子设备100、服务器200,以及第二电子设备300。在一些示例中,第二电子设备300与第一电子设备100可以为同一设备。在另一些示例中,第一电子设备100、服务器200和第二电子设备300可以为同一设备。也就是说,本申请实施例中所有的步骤均由一个设备完成,例如终端。
其中,第一电子设备100为具有摄像头的设备,可用于拍摄待测目标的图像。例如,第一电子设备100可为手机、平板电脑、相机、可穿戴电子设备等,本申请对第一电子设备100的具体形式不做特殊限制。
具体的,测量人员可以使用第一电子设备100在不同的拍摄位置,以不同的拍摄方向拍摄第一图像和第二图像,其中,第一图像和第二图像均包括目标物体。上述拍摄位置,可理解为拍摄图像时,第一电子设备100的摄像头的光中(或摄影中心)所在的位置。以不同的拍摄方向拍摄第一图像和第二图像,是指以被摄对象(例如目标物体)为中心,围绕目标物体四周选择不同的摄影点拍摄第一图像和第二图像,且两次的摄影点与目标物体不在同一直线上。在拍摄距离和拍摄高度不变的条件下,不同的拍摄方向可展现目标物体不同的侧面形象。或者,以不同的拍摄方向拍摄第一图像和第二图像,也可理解为,目标物体上的Q点分别与拍摄两幅图像的摄影中心的连线形成夹角,该夹角不为零且不为180度。其中,目标物体上的Q点可以为目标物体上的任一点,例如可以目标物体的两个端点中的任一个,可以为目标物体的顶点等。
需要说明的是,在不同拍摄位置、以不同拍摄方向拍摄的第一图像和第二图像可以构成立体像对,以便后续构成数字三维空间,以及基于三角测量原理计算目标对象的两个端点之间的距离和目标对象的高度。
例如,如图2A所示,测量人员可以携带第一电子设备100在某一位置处拍摄待测目标21的第一图像。在拍摄第一图像时,第一电子设备100的摄像头位于第一位置P1。而后,测量人员移动自身的位置,在另一个位置拍摄第二图像。在拍摄第二图像时,第一电子设备100的摄像头位于第二位置P2。其中,目标物体上的顶点Q1点分别与P1点和P2点的连线形成夹角α1。其中,夹角α1不为零且不为180度。图2A所示的测量方法可以使用在室外测量的场景中。比如,测量人员可以面对目标物体(例如房屋、铁塔等),左右移步,实现两次拍照,两个拍摄位置相距数米到数十米不等,可测量远处目标物体。
又例如,如图2B所示,测量人员可以将第一电子设备100举过头顶拍摄目标物体22的第一图像。在使用第一电子设备100拍摄第一图像时,第一电子设备100的摄像头位于第一位置P3。而后,测量人员将第一电子设备100放置腰间拍摄目标物体的第二图像。在使用第一电子设备100拍摄第二图像时,第一电子设备100的摄像头位于第二位置P4。其中,目标物体上的顶点Q2点分别与P1点和P2点的连线形成夹角α2。其中,夹角α2不为零且不为180度。图2B所示的方法可适用于在狭小空间中进行测量,比如狭小的机房等,两个拍摄点距离约0.4~1米,可测量10米以内的目标物体。
又例如,如图2C所示,测量人员可以向身体一侧伸展手臂,拍摄目标物体22的第一图像。在使用第一电子设备100拍摄第一图像时,第一电子设备100的摄像头位于第一位置P5。而后,测量人员向身体另一侧伸展手臂,拍摄目标物体的第二图像。在使用第一电子设备100拍摄第二图像时,第一电子设备100的摄像头位于第二位置P6。其中,目标物体上的顶点Q3点分别与P1点和P2点的连线形成夹角α3。其中,夹角α3不为零且不为180度。图2C所示的方法可适用于测量人员不便移动位置的场景,比如位于铁塔或屋顶上。那么,测量人员可以分别向左、向右展开手臂,实现两次拍照,两个拍摄点距离约1~2.5米,可测量20~50米以内的目标物体。
一些示例中,还可通过第一电子设备100接收测量人员输入已知尺寸的第一物体的信息,例如第一图像和第二图像中第一物体的两个端点信息,以及第一物体的实际尺寸。其中,第一图像和第二图像均包括该第一物体。
而后,第一电子设备100将拍摄到的第一图像和第二图像发送至服务器200。服务器200根据第一图像和第二图像构建数字三维空间。需要说明的是,数字三维空间中各个物体的尺寸与真实三维世界中各个物体的尺寸的比例相同,数字三维空间中各个物体之间的相对位置关系与真实三维世界中各个物体之间的相对位置关系相同,数字三维空间中各个物体之间的距离与真实三维世界中各个物体之间的距离的比例相同。
服务器200可以识别第一图像和第二图像中的已知尺寸的第一物体的信息,或者从第一电子设备100处接收已知尺寸的第一物体的信息。服务器200可以根据第一物体的实际尺寸和数字三维空间中第一物体的尺寸,求得数字三维空间与真实三维世界的尺度缩放比例。由此,服务器200可以根据尺度缩放比例和数字三维空间计算目标物体两个端点之间的距离。在一种实现方式中,服务器200可以接收第二电子设备300发送的目标物体的两个端点信息,服务器200可以根据目标物体的两个端点信息,以及尺度缩放比例计算两个端点之间的距离。在另一种实现方式中,服务器200可以将数字三维空间和尺度缩放比例发送给第二电子设备300。第二电子设备200可以再根据测量人员输入的目标物体的两个端点信息计算得到目标物体的两个端点之间的距离。
其中,第二电子设备300为具有显示屏和输入装置的设备,可以显示第一图像和第二图像,并接收测量人员根据第一图像和第二图像输入目标物体信息。例如,第二电子设备300可以为手机、平板电脑、个人计算机(personal computer,PC)、个人数字助理(personaldigital assistant,PDA)、上网本等,本申请对第二电子设备300的具体形式不做特殊限制。在一些示例中,第二电子设备300可以于第一电子设备100为同一设备。
在本申请的另一些实施例中,服务器200还可以确定出数字三维空间中三维离散点分布最密集的平面为地面,进而确定地面的高度以及天空方向。由此,服务器200可以根据尺度缩放比、数字三维空间、地面高度以及天空方向计算目标物体的高度,即目标物体顶端距离地面的距离。在一种实现方式中,服务器200可以接收第二电子设备300发送的目标物体的顶端信息。服务器200可以根据目标物体的顶端信息、数字三维空间、地面高度以及天空方向计算目标物体的高度。在另一种实现方式中,服务器200可以将数字三维空间以及相关参数(尺度缩放比、地面高度以及天空方向)发送给第二电子设备300。第二电子设备200可以根据测量人员输入的目标物体顶端信息,以及数字三维空间计算得到目标物体的高度。
综上可见,本申请实施例提供的测量方法中,测量人员可以使用第一电子设备100在两个不同的拍摄位置,以不同的拍摄方向拍摄第一图像和第二图像。而后基于第一图像和第二图像构建数字三维空间。再根据第一图像和第二图像中已知尺寸的物体的实际尺寸,求得数字三维空间与真实三维世界的尺度缩放比例。然后根据尺度缩放比例和数字三维空间计算第一图像和第二图像中目标物体两个端点之间的距离。还可以识别数字三维空间中的地面,三维离散点分布最密集的平面为地面,由此可以计算第一图像和第二图像中目标物体的高度。相较于现有技术中,测量人员需要预先遵循严格的距离关系和方位关系设置多个控制点的标靶,并拍摄大量包含标靶的照片或者视频而言,本申请实施例在不同拍摄位置、以不同的拍摄方向拍摄图像操作便利,可靠性高。并且本申请实施例中使用第一物体的实际尺寸确定数字三维空间的尺寸的缩放比例,也有利于提升测量的可靠性。再有,又由于在狭小机房、倾斜屋顶等场景中也能够实现在不同拍摄位置,以不同拍摄方向拍摄图像,因而本申请实施例提供的测量方法可以适用于更广的测量场景。
请参见图3,图3示出了第一电子设备100的结构示意图。
第一电子设备100可以包括处理器110,内部存储器121,通用串行总线(universalserial bus,USB)接口130,摄像头150,和显示屏160等。可选的,第一电子设备100还可以包括外部存储器接口120,充电管理模块140,电源管理模块141,和电池142中的一项或多项。
其中,处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),数字信号处理器(digital signalprocessor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)中的一项或多项。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,通用输入输出(general-purpose input/output,GPIO)接口,和/或通用串行总线(universal serial bus,USB)接口等。处理器110通过该一个或多个接口与其他器件(例如内部存储器121、摄像头150、显示屏160等)进行通信连接。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为第一电子设备100充电,也可以用于第一电子设备100与外围设备之间传输数据。
在本申请实施例中,第一电子设备100可以通过该USB接口130,将拍摄的第一图像和第二图像发送给服务器200,将接收到用户标记的第一图像中目标物体的两个端点的位置或者顶端的位置,以及第二图像中目标物体的两个端点的位置或者顶端的位置等发送给服务器200。另一些示例中,第一电子设备100还可以通过该一个或多个接口将接收到用户标记的第一图像中已知尺寸的第一物体的两个端点的位置,第二图像中已知尺寸的第一物体的两个端点的位置,以及第一物体的实际尺寸等信息发送给服务器200。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对第一电子设备100的结构限定。在本申请另一些实施例中,第一电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
第一电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
第一电子设备100可以通过ISP,摄像头193,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,第一电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
在本申请实施例中,可使用第一电子设备100调用摄像头193,在不同的拍摄位置,以不同的拍摄方向拍摄包含目标物体的第一图像和第二图像。其中,不同的拍摄位置为摄像头193的光学中心。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展第一电子设备100的存储能力。内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。
可以理解的是,本发明实施例示意的结构并不构成对第一电子设备100的具体限定。在本申请另一些实施例中,第一电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
请参见图4,图4示出一种服务器200的结构示意图,服务器200包括一个或多个处理器210、一个或多个外部存储器220、以及一个或多个通信接口230。可选的,服务器200还可以包括输入设备240和输出设备250。
处理器210、外部存储器220、通信接口230、输入设备240和输出设备250通过总线相连接。处理器210可以包括通用中央处理器(Central Processing Unit,CPU)、微处理器、特定应用集成电路(Application-Specific Integrated Circuit,ASIC),图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-network processing unit,NPU),或者用于控制本申请方案程序执行的集成电路等。
一般,处理器中可设置有内部存储器,可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统以及本申请实施例需要使用的算法模型等,例如识别第一物体的算法模型、根据第一图像和第二图像构建数字三维空间的算法、根据第一物体的实际尺寸求解数字三维尺度缩放比例的算法,识别数字三维空间中三维离散点分布最密集的平面的算法等。存储数据区可存储服务器200使用过程中所创建的数据(数字三维空间的三维离散点云、第一物体的实际尺寸、数字三维空间的地面位置的参数、数字三维空间的天空方向的参数等)等。此外,内部存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器210通过运行存储在内部存储器的指令,执行服务器200的各种功能应用以及数据处理。在一个示例中,处理器210也可以包括多个CPU,并且处理器210可以是一个单核(single-CPU)处理器或多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路或用于处理数据(例如计算机程序指令)的处理核。
通信接口230,可用于与其他设备或通信网络通信,如以太网,无线局域网(wireless local area networks,WLAN)等。
输出设备250和处理器210通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(Liquid Crystal Display,LCD),发光二级管(Light Emitting Diode,LED)显示设备,阴极射线管(Cathode Ray Tube,CRT)显示设备,或投影仪(projector)等。
输入设备240和处理器210通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
需要说明的是,第二电子设备300的结构可以参考图3中第一电子设备100的结构描述,可以理解的是,第二电子设备300可以包括比第一电子设备100更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。本申请实施例对此不做限定。在一些示例中,第二电子设备300可以与第一电子设备100为同一设备。
为了便于理解本申请实施例提供的技术方案,先对本申请实施例涉及到技术术语进行说明。
自由网平差:平差指的是对观测值的偶然误差进行合理配赋,对观测值的系统误差进行预改正,对观测值的粗差采用一定的观测原则和人工挑错的办法予以控制。一般平差算法中,都是以已知的起算数据为基础,将控制网固定在已知数据上。当网中没有必要的起算数据时,我们称其为自由网,没有起算数据时的平差方法,即自由网平差。
空间后方交会(space resection):利用像片上三个以上不在一条直线上的控制点(或连接点),按共线方程计算该像片外方位元素(elements of exterior orientation)的方法。
空间前方交会(space intersection):由立体像对左右两影像的内、外方位元素,和同名像点的影像坐标测量值,来确定该点的物方空间坐标(某一暂定三维坐标系里的坐标或地面测量坐标系坐标)的方法。
拍摄位置:本文中的拍摄位置,可理解为拍摄图像时,第一电子设备100的摄像头的光中(或摄影中心)所在的位置。
拍摄方向:本文中以不同的拍摄方向拍摄第一图像和第二图像,是指以被摄对象(例如目标物体)为中心,围绕目标物体四周选择不同的摄影点拍摄第一图像和第二图像,且两次的摄影点与目标物体不在同一直线上。在拍摄距离和拍摄高度不变的条件下,不同的拍摄方向可展现目标物体不同的侧面形象。或者,以不同的拍摄方向拍摄第一图像和第二图像,也可理解为,目标物体上的Q点分别与拍摄两幅图像的摄影中心的连线形成夹角,该夹角不为零且不为180度。其中,目标物体上的Q点可以为目标物体上的任一点,例如可以目标物体的两个端点中的任一个,可以为目标物体的顶点等。
以下实施例中所涉及的技术方案均可以在如图1所示的通信系统中实现,下面结合附图对本申请实施例提供的技术方案进行详细说明。
如图5A所示,为本申请实施例提供的一种数字摄影测量方法的流程图,具体如下:
S501、获取第一图像和第二图像,第一图像和第二图像中都包括目标物体,其中,第一图像与第二图像的拍摄位置不同。且,所述第一图像与所述第二图像的拍摄方向不同。
在一些实施例中,测量人员可以携带第一电子设备100,在不同的拍摄位置,以不同的拍摄方向拍摄目标物体的第一图像和第二图像。其中,拍摄位置和拍摄方向的含义可参见上文的描述,这里不再赘述。而后,通过第一电子设备100将拍摄的第一图像和第二图像发送给服务器200,由服务器200进行后续的数据处理。
其中,第一电子设备100可以为便于携带的设备或者为测量人员常用的设备,例如手机、平板电脑、相机、具有摄像头的可穿戴设备、或者为连接有摄像头的设备等。这样,测量过程中避免使用专用的测量设备,有利于减低测量的成本,且便于测量人员携带。
以手机作为第一电子设备100为例进行示例性说明。
测量人员可以打开手机中测量应用,调用相机进行拍照。在拍照的过程中,手机可以显示一些引导信息,以提示测量人员能两个不同的拍摄位置,以不同的拍摄方向拍摄第一图像和第二图像。例如,如图6A所示的提示信息601,图6B所示的提示信息602、图6C所示的提示信息603以及图6D所示的提示信息604。而后,手机可以将拍摄的第一图像和第二图像,上传到服务器200进行处理。
进一步的,在一个示例中,若将目标物体上的Q点分别与拍摄两幅图像的摄影中心的连线形成夹角控制在大于5度且小于60度的范围内,可将测量误差降低到2%以及2%以下。在另一个示例中,假设拍摄第一图像的摄影中心P1距离目标物体上任一点Q点的距离为D。其中,目标物体上的Q点可以为目标物体上的任一点,例如可以目标物体的两个端点中的任一个,可以为目标物体的顶点等。若将拍摄第二图像的摄影中心P2与P1之间的距离控制在大于D/20且小于D的范围内,则可将测量误差降低到2%以及2%以下。
S502、根据所述第一图像和所述第二图像,构建数字三维空间。
本申请的一些实施例中,服务器200可以先识别出第一图像和第二图像中刚体、不变地物区域作为有效区域,或者识别出第一图像和第二图像中非刚体、可变化的物体为无效区域。后续针对第一图像和第二图像中的有效区域执行相关数据处理过程。这样,一方面,由于排除掉第一图像和第二图像中可变化物体的区域,有利于提升后续特征点匹配的准确性。另一方面,排除掉第一图像和第二图像中可变化物体的区域,后续仅对第一图像中和第二图像中的有效区域进行处理,大量的减少了后续处理的数据量,有利于提升数据处理效率。
在该实施例的一些示例中,图像中的天空、水面、行人、车辆等都可认为是可变化的物体。因此,服务器200可以采用语义分割方法,对接收到的第一图像和第二图像分别执行全要素分类,识别出第一图像和第二图像中的可变化的物体,即无效区域。然后,服务器200可以为第一图像和第二图像中的无效区域添加灰色蒙版,以遮蔽第一图像和第二图像中的无效区域。
其中,语义分割方法包括但不限于使用开源深度学习训练模型DeepLab-v3等,本申请实施例对此不做限定。
可选的,服务器200还可以针对第一图像和第二图像中已识别出的不变地物区域(即有效区域)的图像进行色彩均衡化。在具体实现时,可以采用针对第一图像和第二图像中的有效区域执行直方图拉伸、直方图规则化、Kama变换等算法等,以实现色彩均衡化。
以直方图拉伸的方法为例,进行说明。在一个示例中,服务器200分别针对第一图像中有效区域的图像统计灰度直方图。其中,灰度直方图是将图像的所有像素,按照灰度值的大小,统计其出现的频率。然后,服务器200根据第一图像中有效区域的图像的灰度直方图,舍弃灰度值较大的一部分像素(例如舍弃像素的个数占有效区域图像总像素个数的0.5%),和/或,舍弃灰度值较小的一部分像素(例如舍弃像素的个数占有效区域总像素个数的0.5%),得到截断阈值。根据截断阈值构建线性变换公式,进行灰度直方图的拉伸,实现第一图像中有效区域的图像的色彩均衡化。采用类似的方法,服务器200可对第二图像中有效区域图像进行色彩均衡化。
需要说明的是,对第一图像和第二图像中的有效区域进行色彩均衡化,有利于降低拍摄时的环境因素(例如,天气情况、光线情况等)以及拍摄所使用的摄像头规格等因素的影响,提升后续特征点匹配和密集匹配的准确性。
进一步的,服务器200针对第一图像中的地物的区域的图像执行特征点匹配、自由网平差和密集匹配,得到数字三维空间。
其中,特征点匹配包括特征提取、特征描述和特征匹配。具体地,服务器200针对经过上述处理后的第一图像的有效区域图像,以及第二图像的有效区域图像中提取出特征点,然后分别描述各个特征点。比较第一图像的有效区域图像中的各个特征点,与第二图像的有效区域图像中的各个特征点的相似程度。将相似程度高于阈值A的特征点判断是否为同一特征点(即同名特征点),即完成特征匹配。可以理解的是,服务器200可以采用相关技术领域已知的任意技术对第一图像和第二图像中的特征点进行匹配,本申请实施例对此不做具体限定。例如,服务器200可采用尺度不变特征变换(scale-invariant featuretransform,SIFT)、加速稳健特征(speeded up robust features,SURF)等特征描述算子进行特征描述。又例如,服务器200可采用最小二乘法进行特征匹配。
第一图像的有效区域图像和第二图像的有效区域中确定为同名的特征点构成两幅图像的连接点,服务器200基于这些连接点执行粗差剔除和平差配赋,即自由网平差。然后根据自由网平差后的连接点执行空间后方交互计算,得到两幅图像的相对外方位元素。再基于两幅图的相对外方位元素,构建核线影像,执行密集匹配,即执行逐像素的空间前方交会计算,得到三维密集点云(point clouds),构成数字三维空间。其中,三维点云是指三维空间中物体表面的点数据的集合,可用于反映物体表面轮廓。由本方法得到的点数量较大且较密集,即为密集点云。
需要说明的是,本申请实施例基于第一图像和第二图像执行自由网平差和密集匹配等处理得到的数字三维空间与真实的三维世界的位置、尺寸和方向均不一致。但,数字三维空间中各个物体的尺寸,与真实的三维世界中各个物体的实际尺寸的比例相同;数字三维空间中各个物体之间的距离,与真实的三维世界中各个物体之间的距离的比例相同。
在本申请的另一些实施例中,服务器200还可以在特征点匹配时,根据特征点匹配的情况对测量人员拍摄的第一图像和第二图像是否满足拍摄要求进行验证。若第一图像和第二图像不满足拍摄要求时,可以通过第一电子设备100显示相关的提示信息或播放相关语音提示,以提示测量人员重新拍摄第一图像和第二图像,或者重新拍摄第二图像。
例如,若检测到第一图像和第二图像的有效区域内,没有提取到同名特征点,或者提取的同名特征点的数量小于阈值B(例如,10至100个),则服务器200可通过第一电子设备100提示测量人员,“请重新拍摄第一图像和第二图像,确保两次拍摄对准同一目标”。
又例如,若检测到第一图像和第二图像的有效区域内,提取到的同名特征点在两幅图像上的像点位置偏差普遍小于阈值C(例如5至20个像素),则服务器200可通过第一电子设备100提示测量人员“请重新拍摄第一图像和第二图像,确保在不同位置拍摄”。
其中,可采用如下公式计算同名特征点(记为P点)在第一图像和第二图像上的像点位置偏差ΔP:
其中,(Px1,Py1)为P点在第一图像中的像素坐标;(Px2,Py2)为P点在第二图像中的像素坐标。
S503、获取第一物体的实际尺寸S1,以及第一物体在第一图像和第二图像中的位置信息;根据第一物体在第一图像和第二图像中的位置信息,计算第一物体在数字三维空间中的尺寸S2;其中,所述第一图像和所述第二图像中均包括所述第一物体。
本申请的一些实施例中,测量人员还可以通过第一电子设备100,输入第一图像和第二图像中已知尺寸的物体的信息,例如包括第一图像中已知尺寸的物体的两个端点的位置,第二图像中已知尺寸的物体的两个端点的位置,以及第一物体在真实空间中的尺寸,即该物体的真实尺寸S1。在一个具体示例中,测量人员可以从第一图像和第二图像中分辨已知尺寸的第一物体,并分别在第一图像和第二图像中标记出第一物体的两个端点,并通过第一电子设备100输入第一物体的尺寸。在另一个具体示例中,测量人员也可以在拍摄第一图像以及拍摄第二图像时,将已知尺寸的第一物体放置到摄像头的取景范围内。也就是说,在拍摄第一图像和第二图像时,第一图像和第二图像中均也拍摄到第一物体。在拍摄第一图像和第二图像后,测量人员可以分别在第一图像和第二图像中标记出第一物体的两个端点,并通过第一电子设备100输入第一物体的真实尺寸。
然后,第一电子设备100将第一图像中第一物体的两个端点的位置(例如在第一图像中的像点坐标),第二图像中第一物体的两个端点的位置(例如在第二图像中的像点坐标),以及第一物体的真实尺寸S1,发送给服务器200。服务器200可以根据第一物体在第一图像中的两个端点的位置,以及在第二图像中的两个端点的位置,先计算出第一物体两个端点在数字三维空间中的坐标,然后计算这两个坐标之间的距离,即为第一物体在数字三维空间中尺寸S2。
仍然以手机作为第一电子设备100为例进行示例性说明。手机可以同时显示第一图像和第二图像,或者先后显示第一图像和第二图像,以便于测量人员分别在两张图像上标记出已知尺寸的第一物体的两个端点的位置(即共四个位置)。在一些示例中,当测量人员在其中一个图像中标记出一个端点的位置后,手机也可以根据该端点在该图像中的位置,以及立体像对的几何关系在另一图像中做出辅助线,以帮助测量人员在另一图像中标记出该端点的位置。
例如,由于手机的显示屏较小,可以先后显示第一图像和第二图像。如图6E和图6F所示,手机显示的第一图像和第二图像中均包括已知长度的A4纸,A4纸的长度为29.7cm。那么,测量人员可以在第一图像和第二图像中分别标记A4纸长边的两个端点。如图6E所示,测量人员可以先在第一图像中标记A4纸长边的两个端点E1和F1。当然,也可以将第一图像放大后,标记A4纸长边的两个端点E1和F1,使得标记更加准确。然后,切换到第二图像中,手机可以第一图像中已标记的E1和F1两个端点,以及立体像对的几何关系在第二图像中做出辅助线。如图6F所示,虚线(1)为端点E1对应的辅助线,测量人员可以根据该辅助线标记第二图像中对应的端点E2。虚线(2)为端点F1对应的辅助线,测量人员可以根据该辅助线标记第二图像中对应的端点F2。而后,手机计算出E1和F1在第一图像中的像点坐标,以及E2和F2在第二图像中的像点坐标。手机还可以提示测量人员输入第一物体的实际尺寸S1的数值,而后,手机将E1、F1、E2和F2的像点坐标,以及实际尺寸S1的数值发送给服务器200,进行后续处理。
本申请的另一些实施例中,服务器200也可以识别第一图像和第二图像中已知尺寸的第一物体的两个端点,以及该第一物体两个端点之间的实际尺寸S1。在一些示例中,可以设计一种长度固定、外观容易被服务器200识别的标杆作为第一物体。测量人员在拍摄第一图像和第二图像时,将标杆放置到第一电子设备100拍摄的取景范围内,即拍摄的第一图像和第二图像中均包括该标杆。
其中,设计的标杆可以为多个颜色间隔分布的杆状物体。服务器200可以通过自动锁定第一图像和第二图像中杆状物体中的特定颜色,来确定标杆的端点的位置。且标杆两个端点之间的实际尺寸S1为已知。其中,标杆的设计以及识别标杆两个端点的方法将在下文详细说明,这里先不做说明。
本申请的又一些实施例中,服务器200也可以先识别第一图像和第二图像中已知尺寸的第一物体的两个端点。若识别失败,可以通过第一电子设备100提示测量人员,手工输入已知尺寸的第一物体的相关信息,例如第一图像中第一物体的两个端点的位置、第二图像中第一物体的两个端点的位置,以及第一物体的实际尺寸S1等。或者,在服务器200识别处第一图像和第二图像中已知尺寸的第一物体的两个端点,也可以通过第一电子设备100提示测量人员,对识别处的第一物体的信息进行核对等,以确保识别结果的准确性。
S504、根据所述第一物体的实际尺寸S1,以及所述第一物体在数字三维空间中的尺寸S2,求得数字三维空间与真实三维世界的尺度缩放比例。
在本申请的一些实施例中,服务器200根据第一物体在数字三维空间中的尺寸S2和第一物体在真实的三维世界中的实际尺寸S1,得到数字三维空间与真实空间的尺度缩放比例为S1/S2。
S505、根据所述数字三维空间、尺度缩放比例,所述第一图像和所述第二图像,确定所述目标物体的两个端点之间的距离。
在一个示例中,服务器200可以接收第二电子设备300发送的目标物体的两个端点的位置,包括目标物体两个端点在第一图像中的像点坐标以及目标物体两个端点在第二图像中的像点坐标。根据目标物体的两个端点的像点坐标执行空间前方交会,计算该目标物体的两个端点在数字三维空间中的坐标。如图5B所示,U点(x3、y3、z3)和V点(x4、y4、z4)为服务器200计算得到的目标物体的两个端点在数字三维空间的坐标。可以根据U点和V点的在数字三维空间的坐标计算出U点和V点在数字三维空间的距离,然后根据U点和V点在数字三维空间的距离和尺度缩放比例,计算这两个端点之间的实际距离。
在另一个示例中,服务器200还可以将计算得到数字三维空间和尺度缩放比例发送给第二电子设备300。由第二电子设备300接收测量人员输入的目标物体的两个端点的标记,并根据数字三维空间和尺度缩放比例计算目标物体的两个端点之间的距离。
仍然以手机作为第二电子设备300为例进行示例性说明。手机可以同时显示第一图像和第二图像,或者先后显示第一图像和第二图像,以便于测量人员分别在两张图像上标记出目标物体的两个端点的位置(即共四个位置)。具体的标记方法和步骤S503中标记第一物体的两个端点的方法相同,这里不再赘述。例如,如图6G所示,测量人员在第一图像中标记出目标物体的两个端点S1和R1。如图6H所示,测量人员在第二图像中标记出目标物体的两个端点S2和R2。而后,第二电子设备300将S1、R1、S2和R2的像点坐标,发送给服务器200,便于服务器200进行后续处理,测得显示器的长度。在一些示例中,第二电子设备300可以与第一电子设备100为同一设备。
需要说明的是,这里的目标物体可以为一个,目标物体的两个端点之间的距离可以是目标物体的高度、长度、宽度等。目标物体也可以为两个,则目标物体的两个端点之间的距离可以为两个目标物体之间的间距等。例如,该测量方法可用于电信基站数字化勘测中,用于获取设备尺寸、电缆长度、安装间距等信息。也可以用于其他工程测量或日常生活中,如测量楼宇间距等。
综上可见,本申请实施例提供的测量方法中,测量人员可以使用第一电子设备100在两个不同的拍摄位置,以不同的拍摄方向拍摄第一图像和第二图像。而后基于第一图像和第二图像构建数字三维空间。再根据第一图像和第二图像中已知尺寸的第一物体的实际尺寸,得到数字三维空间与真实的三维世界的尺度缩放比例。然后根据数字三维空间和尺度缩放比例可以计算第一图像和第二图像中目标物体两个端点之间的距离。相较于现有技术中,测量人员需要预先遵循严格的距离关系和方位关系设置多个控制点的标靶,并拍摄大量包括标靶的照片或者视频而言,本申请实施例在不同拍摄位置、以不同的拍摄方向拍摄图像操作便利,可靠性高。并且本申请实施例中使用第一物体的实际尺寸确定数字三维空间的尺寸的缩放比例,也有利于提升测量的可靠性。再有,又由于在狭小机房、倾斜屋顶等场景中也能够实现在不同拍摄位置,以不同拍摄方向拍摄图像,因而本申请实施例提供的测量方法可以适用于更广的测量场景。
考虑到在一些测量目标物体高度的场景中,可能由于目标物体较高、或者目标物体的底端被其他物体遮挡,第一电子设备100无法拍摄到包括目标物体顶端和底端的图像。为此,本申请实施例还提供了一种数字摄影测量方法,可以基于步骤S502中得到的数字三维空间和S504中得到的尺度缩放比例,识别中数字三维空间中三维离散点最密集的平面,确认为地面。进一步,根据地面的法向量和第一、二图像的拍摄位置,确定天空的方向。那么,服务器200可以根据目标物体的顶端,和地面位置、天空方向,计算出目标物体顶端距离地面的距离,即为目标物体的高度,以扩展本申请实施例提供的测量方法的使用场景。另外,计算目标物体的高度时,也可以只需在第一图像和第二图像中标记顶端的位置即可完成对目标物体高度的测量,而无需标记底端的位置。
具体的,如图7A所示,为本申请实施例提供的另一种数字影像测量方法的流程示意图。该测量方法包括上述步骤S501至步骤S504,以及步骤S701至步骤S702,具体如下:
S701、识别第二三维空间中离散点分布最密集的平面为地面,并进一步确定数字三维空间中的天空方向。
一般,在真实的三维世界中,地面是分布刚体最多、最复杂的平面。因此,第一图像和第二图像中纹理最丰富的区域可认为是地面。那么,基于第一图像和第二图像构建的数字三维空间中,三维离散点分布最密集的平面可认为是地面。其中,三维离散点分布最密集的平面为单位空间内点数据的数量值最大的平面。在确定数字三维空间中的地面后,地面的法向量为天空方向或重力方向。进一步的,又由于第一图像或第二图像摄像中心确定位于地面上方,因此,可以确定数字三维空间中的天空方向。
在一个具体的示例中,服务器200可以采用如下步骤确定数字三维空间中的地面和天空方向,如下:
步骤a、确定出数字三维空间中第一图像的摄影中点,以及第二图像的摄影中心。两张图像的摄影中心连线的中心设为O(Ox,Oy,Oz)点,并以O点为球心,构建一个虚拟的球体。
步骤b、以经纬度的方式,对虚拟球体进行网格化。其中经度记为Lon,取值范围是(-180°,180°]。纬度记为Lat,取值范围是(-90°,90°]。以1°为采样间隔,则虚拟球体上共有360*180个格网点。当然,采样间隔也可以为其他度数,本申请对虚拟球体上的格网点的数量不做限定。
步骤c、以球心O为起点,向球面上的格网点引射线,形成360*180个向量,记为代表360*180个方向。
步骤d、以虚拟球心位置为起点,沿着方向等间距排列n个(例如10个)高为m米(例如0.2米)、半径为r米(例如50米)的虚拟圆柱体,记为其中i为圆柱标记码,i∈{1,2,...,10}。需要注意的是,这里虚拟圆柱体的高、半径均是根据真实的三维世界的尺寸设计的,因此对应到数字三维空间中,需要除以尺寸缩放比例S1/S2。当然,也可以根据数字三维空间的尺寸设计虚拟圆柱体的高和半径,则无需除以尺寸缩放比例S1/S2,本申请实施例对此不做限定。
步骤e、分别计算基于步骤d和步骤e形成的360*180*n个虚拟圆柱体形成的“包围盒”内三维离散点的数量,并记录数量最大的包围盒对应的方向和标记码iMark。那么天空方向即为的反方向,地面位置距离虚拟球体球心O的距离是m*iMark。
可以理解的是,也可以采用其他的方法确定出数字三维空间中的地面以及天空方向,本申请实施例对此不作具体限定。
S702、根据地面的位置、天空的方向、数字三维空间,第一图像和第二图像,确定目标物体顶端到地面的距离为目标物体的高度。
在一个示例中,服务器200可以接收第二电子设备300发送的目标物体顶端的位置,包括目标物体顶端在第一图像中的像点坐标以及目标物体顶端在第二图像中的像点坐标。根据目标物体的顶端的像点坐标执行空间前方交会,计算该目标物体顶端在数字三维空间中的坐标。如图7B所示,T点(x1、y1、z1)为服务器200计算得到的目标物体的顶端在数字三维空间的坐标。G点(x2、y2、z2)为在数字三维空间的地面上任选取的一点。可以将目标物体顶端T点与G点的连线,作为三角形(或直角梯形)斜边,将垂直方向上的高度H作为直角边,构建三角形(或直角梯形)。根据几何原理解三角形,求得直角边的长度H即为目标物体的高度。
在另一个示例中,服务器200还可以将计算得到数字三维空间、尺寸缩放比例、地面位置、天空方向等信息发送给第二电子设备300。由第二电子设备300接收测量人员输入的目标物体的顶端的标记,并根据第三三维空间计算目标物体的高度。
仍然以手机作为第二电子设备300为例进行示例性说明。手机可以同时显示第一图像和第二图像,或者先后显示第一图像和第二图像,以便于测量人员分别在两张图像上标记出目标物体顶端的位置(即共两个位置)。具体的标记方法和步骤S503中标记第一物体的两个端点的方法相同,这里不再赘述。在一些示例中,第二电子设备300可以与第一电子设备100为同一设备。
可见,本申请实施例提供的测量方法,可适用于电信基站数字化勘测场景中,用于获取远距离高塔及塔上各类设备的高度等。也可以适用于其他工程测量或日常生活中,如测量楼宇高度。
下面结合一种标杆,对服务器200识别标杆的两个端点的方法进行详细说明。
如图8所示,为本申请实施例给出的一种标杆的示意图。标杆为采用四色分段设计的杆状物体。其中四色包括黑色、白色、彩色1和彩色2。其中,彩色1和彩色2不同,且彩色1和彩色2均不为黑色或白色。彩色1和彩色2可以从色相环中选取一对互补色。如图9所示为一种24色的色相环的示意图。例如,彩色1和彩色2可以为红色(red)和青色(cyan)。彩色1和彩色2也可以为品色(magenta)和绿色(green)。当然,彩色1和彩色2也可以接近互补色的两个颜色。以彩色1为红色为例,彩色2也可以是青偏蓝或青偏绿。由于互补色中的两个颜色的区分度较大,便于服务器200准确识别出这两种颜色。
需要注意的是,考虑到拍摄光线不足时,拍摄的图像中蓝色与黑色不易区分。拍摄光线过亮时,黄色与白色不易区分。因此,彩色1和彩色2均不为蓝色(blue)或黄色(yellow)。
在一些示例中,标杆上四色分段的排列顺序为:黑色、白色、彩色1、白色、彩色2、白色和黑色。这样,黑色分段和白色分段的交界点(即A点和B点)可以认为是需要服务器200识别出的两个端点。在标杆上,这两个端点之间的距离为第一物体的实际尺寸S1。例如,在这两个端点之间的各个颜色的分段长度相等,为第一长度S0,例如10厘米。那么,S1=5*S0,标杆总长度大于5*S0。
在一示例中,标杆的材质可以为塑料或碳素,具有不易变形,不导电的特性。标杆的直径可以为1至2.5cm。标杆为直杆,包括但不限于圆柱、椭圆柱、三棱柱、四棱柱等。在另一示例中,标杆还可以设计为可折叠式,即标杆可被分为至少两截,由螺栓或皮筋相连,方便组装和拆卸。
如图10所示,为本申请实施例提供的又一种标杆的示意图。与图8所示的标杆相比,图10在图8所示的标杆两端的黑色分段外(这里标杆两端的黑色分段的长度也为S0)分别增加了一段白色分段。这样,标杆两端黑色分段和白色分段的交界点(即C点和D点)可以认为是需要服务器200识别出的两个端点。在标杆上,这两个端点之间的距离为第一物体的实际尺寸S1。例如,在这两个端点之间的各个颜色的分段长度相等,为第一长度S0,例如10厘米。那么,S1=7*S0,标杆总长度大于7*S0。本申请实施例对标杆的具体形式不作限定。
在本申请的一些实施例中,测量人员可以在使用第一电子设备100拍摄第一图像和第二图像时,将如图8所示的标杆或者如图10所示的标杆放置到摄像头的取景范围。那么,第一图像和第二图像中都包括该标杆。
而后,服务器200可以分别针对第一图像和第二图像,采用深度学习和形态学综合的方法确定出两幅图像中的标杆的大致位置,然后根据标杆的直线特征和颜色特征,锁定标杆的中心线。然后,根据标杆的中心线、已知的标杆中各个颜色的分段关系,以及图像中灰色变化量精确锁定标杆中的两个端点,即为第一物体的两个端点。
以下,以图10所示的标杆为例,结合图11A至图11D,详细介绍服务器200识别标杆的两个端点的方法,该方法具体包括:
步骤a、分别预测第一图像和第二图像中标杆的位置范围,记为第一范围。
在一个具体的实现方式中,可以先将两幅图像进行切换处理,即将每幅图像分别切成小块,即切片图像。其中,每个切片图像的尺寸例如可以为500*500像素,切片图像与其周围的切片图像之间可以保留一定的重叠度,例如50%的重叠度。需要说明的是,切片处理是为了增加标杆在切片图像中的像素占比,更有助于目标检测。
而后,可以采用深度学习的方法,针对第一图像的切片图像,以及第二图像的切片图像,分别执行目标检测,以得到第一图像和第二图像中标杆的大致位置。其中,目标检测所用模型包括但不限于Mask R-CNN等。
还需要说明的是,在执行目标检测之前,服务器200也可以先对第一图像和第二图像进行预处理。例如,一般的光学相机均存在成像畸变,首先需要利用相机内参数对每副图像实施畸变校正。在另一个示例中,若第一电子设备100的摄像头为鱼眼镜头,则还需对每幅图像执行球面至中心投影的透视变换。其中,畸变校正和透视变换是为了保证标杆在图像中的形态为直线,不因投影变形而扭曲。
可选的,可以在基于深度学习的方法识别出的第一图像中标杆的图像,以及第二图像中标杆的图像,进一步采用“先腐蚀、后膨胀”的形态学开操作,以去除小面积噪声点,且使预测的标杆的范围扩张、联通,以更好地约束第一图像和第二图像中标杆的位置。其中,形态学膨胀的尺度应大于形态学腐蚀的尺度。例如,形态学膨胀的尺度为30个像素,形态学腐蚀的尺度为10个像素。
例如,如图11A所示,为第一图像或第二图像的一个示例,该图像中包括标杆。采用步骤a的相关处理后,可以得到标杆在该图像中的大致位置,如图11B所示的白色区域。
步骤b、从第一图像和第二图像中第一范围内的图像中确定具有直线特征的区域,为标杆更精度的位置范围,记为第二范围。其中,第二范围小于第一范围,且第二范围包含在第一范围内。
在一个具体的实现方式中,可以采用滤波器从第一图像和第二图像中确定具有直线特征的区域。其中,滤波器具体可以为二维Gabor函数的实部,其中构建滤波器的公式为:
其中,(x,y)为二维滤波器中的位置;Gaborλ,σ,γ,θ,φ(x,y)为该位置下Gabor滤波器的取值;λ为正弦函数的波长,10<λ<20;σ为高斯函数标准差,3<σ<6;γ为高斯函数在x,y两个方向上的纵横比,γ=1;φ为正弦波的初始相位,φ=0;θ为Gabor核函数的方向。在本申请的一些示例中,可以选择一些Gabor核函数的方向。例如选择9个方向,例如θ为0°、20°、40°、60°、80°、100°、120°、140°、160°,即分别构建了9个Gabor滤波器。
在构建了滤波器后,使用构建的滤波器对第一图像和第二图像进行处理,以提取图像中的直线特征。例如,设定Gabor滤波器窗口的大小为21~51之间的任意奇数。然后,通过滑动窗口的方式对第一图像和第二图像中第一范围内的图像进行多次滤波,得到第i行、第j列图像在θ方向上的Gabor特征值,记为TGabor-θ(i,j)。最终的Gabor特征值,为多个方向(例如9个方向)上Gabor特征值分别取绝对值之后的最大值,如下公式:
上述计算后,Gabor特征值大于阈值D(例如,100)的区域,为直线特征明显的区域,可认为是标杆更精确的位置范围。例如,如图11C所示,图像中白色区域为经过步骤b确定的直线特征明显的区域。
进一步的,根据步骤a中确定的标杆的大致范围,以及步骤b中确定的直线区域,进一步确定重合的区域为标杆更精确的位置范围。
步骤c、从第一图像和第二图像中第二范围内的图像中识别标杆的颜色特征,并结合标杆的设计,识别出标杆的两个端点。
首先,针对第一图像和第二图像中第二范围内的图像进行超像素分割处理,即图像中颜色和纹理近似的像素组成超像素,这将有效抑制光学镜头成像噪声点,有利于锁定图像中的色块。其中,色块是指具有特定颜色特征的区域。其中,超像素分割算法包括但不限于简单线性迭代聚类(simple linear iterative clustering,SLIC)、均值漂移算法(Mean-shift)等。超像素的大小例如为50~100个像素。
然后,将超像素分割后图像由RGB空间转换至HSL(色调((Hue)、饱和度(Saturation)、亮度(Lightness))空间,通过色调阈值分割方法,分别从第一图像和第二图像中第二范围内的图像中提取两种色块,分别为彩色1对应的色块,以及彩色2对应的色块。例如红色色块和蓝绿色块。其中,色调的阈值与标杆设计中选定的颜色有关。接着,计算两个色块的重心,重心的连线及其延长线即标杆的中心线。
在确定的标杆的中心线上,寻找已确定的两个色块两侧特定范围内灰度值变化最大的位置,即可认为是黑色色块与白色色块的交界点。其中,上述灰度值变化最大为接近且略小于255。由于图像中黑色的灰度值为接近且略高于零,图像中白色的灰度值为接近且略小于255。那么,黑色色块与白色色块的交界点即为灰度值变化最大。
例如,若采用如图8所示的标杆,则在两个彩色色块的重心连线的一侧延长线上,可以确定一个灰度值变化最大的位置,例如A点。在两个彩色色块的重心连线的另一侧延长线上,可以确定一个灰度值变化最大的位置,例如B点。可选的,还可以进一步根据标杆中各个色块的位置关系,进一步对确定出的两个端点进行验证。例如,彩色1所在色块的重心距离彩色2所在色块的重心为2*s0。若A点距离彩色1所在的色块的中心为1.5*s0,或者A点距离彩色2所在的色块的中心为2.5*s0,则认为A点识别准确。若B点距离彩色1所在的色块的中心为2.5*s0,或者B点距离彩色2所在的色块的中心为1.5*s0,则认为B点识别准确。
再例如,若采用如图10所示的标杆,在两个彩色色块的重心连线的一侧延长线上,可以确定两个灰度值变化最大的位置,例如A点和C点。进一步,可以根据C点距离彩色色块重心的距离大于A点距离彩色色块重心的距离,确定出C点为标杆中的一个端点。可选的,还可以根据标杆上A点与C点的位置关系,进一步确定C点识别是否准确。例如,彩色1所在色块的重心距离彩色2所在色块的重心为2*s0。若C点和A点相距s0,则可以认为C点识别正确。在两个彩色色块的重心连线的另一侧延长线上,可以确定两个灰度值变化最大的位置,例如B点和D点。类似的,可以确定出D点为标杆中的另一个端点。可选的,还可根据B点与D点的位置关系,进一步确定D点识别是否准确。当然,也可以采用其他方法来验证服务器200识别出的C点或D点的准确性,本申请实施例对此不作限定。当然,也可以定义A点和B点之间的距离为服务器200需要识别的标杆的两个端点之间的距离,本申请实施例对此也不作限定。
仍然以采用图10所示的标杆为例进行说明。如图11D所示,在将步骤b中识别的区域1001中,识别彩色1对应的色块1002,以及彩色2对应的色块1003。然后,在色块1002的重心和色块1003的重心的连线的延长线上,查找到灰度值变化最大的四个端点,分别为A点、C点、B点和D点。进一步的,根据各个分段的位置关系,可以确定出C点和D点为标杆的两个端点。
由此可见,当服务器200可以识别标杆的两个端点作为第一物体的两个端点,则无需测量人员通过第一电子设备100在第一图像和第二图像中分别标记第一物体的两个端点,可以简化测量人员的操作,使得测量更加自动化。
以上实施例以根据第一图像和第二图像构建数字三维空间,然后确定数字三维空间与真实的三维世界的尺度缩放比例、地面位置以及天空方向等,最后根据数字三维空间、尺度缩放比例、地面位置以及天空方向等直接计算目标物体的两个端点之间的距离,或者计算目标物体的高度为例进行说明的。基于本申请实施例的发明构思,也可以在根据第一图像和第二图像构建数字三维空间,以及确定数字三维空间与真实的三维世界的尺度缩放比例、地面位置以及天空方向等信息后,对得到的数字三维空间进行缩放、平移和旋转等,以使得数字三维空间调整到与真实的三维世界一致。然后,根据调整后的数字三维空间计算目标物体的两个端点之间的距离,或者计算目标物体的高度。本申请实施例对此不做限定。
本申请实施例还提供一种芯片系统,如图12所示,该芯片系统包括至少一个处理器1101和至少一个接口电路1102。处理器1101和接口电路1102可通过线路互联。例如,接口电路1102可用于从其它装置(例如服务器200的存储器)接收信号。又例如,接口电路1102可用于向其它装置(例如处理器1101)发送信号。示例性的,接口电路1102可读取存储器中存储的指令,并将该指令发送给处理器1101。当所述指令被处理器1101执行时,可使得服务器200执行上述实施例中的服务器200所执行的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
可以理解的是,上述终端等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
本申请实施例可以根据上述方法示例对上述终端等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图13示出了上述实施例中所涉及的服务器的另一种可能的结构示意图。该服务器200包括获取单元1301、构建单元1302和确定单元1303。
其中,获取单元1301,用于获取第一图像和第二图像,所述第一图像和所述第二图像中都包括目标物体和实际尺寸已知的第一物体;其中,所述第一图像与第二图像的拍摄位置不同,且,所述第一图像与所述第二图像的拍摄方向不同。
构建单元1302,用于根据所述第一图像和所述第二图像,数字三维空间。
确定单元1303,用于根据所述数字三维空间,以及所述数字三维空间与真实的三维空间的尺寸的缩放比例确定所述目标物体的两个端点之间的距离,其中,所述缩放比例与所述第一图像中所述第一物体的位置、所述第二图像中所述第一物体的位置,以及所述第一物体的实际尺寸S1有关。
进一步的,所述确定单元1303,还用于:确定所述数字三维空间中离散点分布最密集的平面为所述数字三维空间的地面;根据所述数字三维空间的地面和所述第一图像的摄影中心,或者根据所述数字三维空间的地面和所述第二图像的摄影中心,确定所述数字三维空间的天空方向;根据所述数字三维空间、所述缩放比例、所述数字三维空间的地面和所述数字三维空间的天空方向,确定所述目标物体的高度。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。在采用集成的单元的情况下,上述获取单元1301可以是服务器200的通信接口230。上述构建单元1302和确定单元1303可集成在一起,可以是服务器200的处理器210。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种无人机三维地图建模方法