发明内容
有鉴于此,本申请的目的在于提供一种建筑数字孪生构建方法及系统,通过利用目标实体建筑内采集到的监控视频数据,对该目标实体建筑在虚拟空间中映射的建筑信息模型进行联动更新处理,以在目标实体建筑的全生命周期内,维持实体建筑与虚拟模型的虚实一致性,从而提高用户对于目标实体建筑的维护与管理效率。
第一方面,本申请实施例提供了一种建筑数字孪生构建方法,所述建筑数字孪生构建方法应用于终端设备中,通过所述终端设备提供一图形用户界面,所述图形用户界面上显示有数字孪生模型,所述数字孪生模型用于表征目标实体建筑在虚拟空间中映射的建筑信息模型,所述建筑数字孪生构建方法包括:
从安装于第一建筑场景内的第一拍摄装置中,获取所述第一建筑场景的监控视频流,并从所述监控视频流中,逐帧获取待处理图像帧;其中,所述第一建筑场景用于表征所述目标实体建筑内的一个实体建筑空间;
对所述待处理图像帧中包括的每一实体对象进行二维目标检测,并将得到的所述待处理图像帧的二维目标检测结果输入至预先训练好的三维位姿检测模型中,得到所述待处理图像帧的三维位姿检测结果;其中,所述二维目标检测结果至少包括:每一所述实体对象的所属类别以及每一所述实体对象在所述待处理图像帧中所在的图像区域边界框;所述三维位姿检测模型用于对所述待处理图像帧中每一所述实体对象在所述第一建筑场景内的实体位置与实体方向进行预测;
在像素坐标系与虚拟空间世界坐标系之间,利用所述第一拍摄装置的相机内参矩阵以及相机外参,对每一所述实体对象在所述三维位姿检测结果中的图像位置坐标进行坐标转换处理,得到每一所述实体对象在所述三维位姿检测结果中对应的实体位置坐标;其中,所述虚拟空间世界坐标系用于表征第一虚拟场景模型符合的模型坐标系;所述第一虚拟场景模型用于表征所述第一建筑场景在所述数字孪生模型中映射的建筑信息模型;
根据每一所述实体对象在所述三维位姿检测结果与所述第一虚拟场景模型之间的显示差异,对所述第一虚拟场景模型进行更新,并在所述图形用户界面上显示更新后的第一虚拟场景模型;其中,所述显示差异用于表征每一所述实体对象在实体方向上的方向显示差异和/或每一所述实体对象在实体位置上的位置显示差异。
在一种可选的实施方式中,所述将得到的所述待处理图像帧的二维目标检测结果输入至预先训练好的三维位姿检测模型中,得到所述待处理图像帧的三维位姿检测结果,包括:
将所述二维目标检测结果输入至所述三维位姿检测模型中,通过所述三维位姿检测模型,对所述二维目标检测结果中是否包含第一图像区域边界框进行检测;其中,所述第一图像区域边界框用于表征第一实体对象所在的图像区域边界框;所述第一实体对象用于表征需要在方向上区分所述三维位姿检测结果与第一虚拟场景模型之间的显示差异的实体对象;
当检测到所述二维目标检测结果中出现所述第一图像区域边界框时,通过所述三维位姿检测模型,对所述第一实体对象在所述第一建筑场景内的实体位置与实体方向进行预测,得到所述第一实体对象在所述待处理图像帧中的三维位姿检测结果;
当检测到所述二维目标检测结果中出现第二图像区域边界框时,通过所述三维位姿检测模型,对第二实体对象在所述第一建筑场景内的实体位置进行预测,得到所述第二实体对象在所述待处理图像帧中的三维位姿检测结果;其中,所述第二图像区域边界框用于表征第二实体对象所在的图像区域边界框;所述第二实体对象用于表征不需要在方向上区分所述三维位姿检测结果与第一虚拟场景模型之间的显示差异的实体对象。
在一种可选的实施方式中,所述对所述第一实体对象在所述第一建筑场景内的实体位置与实体方向进行预测,得到所述第一实体对象在所述待处理图像帧中的三维位姿检测结果,包括:
对所述第一实体对象在所述待处理图像帧中所在的外接立方体结构进行标定,得到第一外接立方体;
根据所述第一实体对象在所属类别下规定的实体正方向,在所述第一外接立方体的第一平面上,对所述实体正方向在所述第一建筑场景内的空间指向进行视觉标定,得到第一视觉标定结果;其中,所述第一平面用于表征所述第一外接立方体与第一参考平面之间相距最近的平面;所述第一参考平面位于所述第一建筑场景内;
从所述待处理图像帧中,获取所述第一平面的平面中心坐标,得到所述平面中心坐标在所述像素坐标系下的第一图像位置坐标;
将所述第一图像位置坐标与所述第一视觉标定结果作为所述第一实体对象在所述待处理图像帧中的三维位姿检测结果。
在一种可选的实施方式中,所述对第二实体对象在所述第一建筑场景内的实体位置进行预测,得到所述第二实体对象在所述待处理图像帧中的三维位姿检测结果,包括:
从构成所述第二图像区域边界框的多条边界框线中,确定与第二参考平面之间相距最近的边界框线作为目标边界框线;其中,所述第二参考平面用于表征所述第二实体对象在所述第一建筑场景内所在的空间平面;
从所述待处理图像帧中,获取所述目标边界框线的中心点坐标,得到所述中心点坐标在所述像素坐标系下的第二图像位置坐标;
将所述第二图像位置坐标作为所述第二实体对象在所述待处理图像帧中的三维位姿检测结果。
在一种可选的实施方式中,所述利用所述第一拍摄装置的相机内参矩阵以及相机外参,对每一所述实体对象在所述三维位姿检测结果中的图像位置坐标进行坐标转换处理,包括:
针对每一所述实体对象,从所述三维位姿检测结果中,获取该实体对象在所述像素坐标系下的图像位置坐标;
在所述像素坐标系与相机坐标系之间,利用所述第一拍摄装置的相机内参矩阵,对该实体对象在所述像素坐标系下的图像位置坐标进行坐标转换处理,得到该实体对象在所述相机坐标系下的中间位置坐标;
在所述相机坐标系与所述虚拟空间世界坐标系之间,利用所述第一拍摄装置的相机外参,对该实体对象在所述相机坐标系下的中间位置坐标进行坐标转换处理,得到该实体对象在所述三维位姿检测结果中对应的实体位置坐标;其中,所述相机外参至少包括:所述第一拍摄装置的旋转矩阵和平移向量。
在一种可选的实施方式中,所述根据每一所述实体对象在所述三维位姿检测结果与第一虚拟场景模型之间的显示差异,对所述第一虚拟场景模型进行更新,包括:
获取所述第一实体对象在所述三维位姿检测结果中对应的实体位置坐标作为第一真实坐标;其中,所述第一真实坐标用于表征所述第一图像位置坐标在所述像素坐标系与所述虚拟空间世界坐标系之间的坐标转换结果;
在所述第一虚拟场景模型中的所述第一真实坐标处,对所述第一虚拟场景模型中是否出现所述第一实体对象在虚拟空间中映射的第一虚拟对象进行检测;
当检测到第一目标位置处未出现所述第一虚拟对象时,则在所述第一目标位置处新增一个所述第一虚拟对象,并结束对所述第一虚拟场景模型的更新操作;其中,所述第一目标位置用于表征所述第一虚拟场景模型中的所述第一真实坐标处。
在一种可选的实施方式中,所述根据每一所述实体对象在所述三维位姿检测结果与第一虚拟场景模型之间的显示差异,对所述第一虚拟场景模型进行更新,包括:
获取所述第二实体对象在所述三维位姿检测结果中对应的实体位置坐标作为第二真实坐标;其中,所述第二真实坐标用于表征所述第二图像位置坐标在所述像素坐标系与所述虚拟空间世界坐标系之间的坐标转换结果;
在所述第一虚拟场景模型中的所述第二真实坐标处,对所述第一虚拟场景模型中是否出现所述第二实体对象在虚拟空间中映射的第二虚拟对象进行检测;
当检测到第二目标位置处未出现所述第二虚拟对象时,则在所述第二目标位置处新增一个所述第二虚拟对象,并结束对所述第一虚拟场景模型的更新操作;其中,所述第二目标位置用于表征所述第一虚拟场景模型中的所述第二真实坐标处。
在一种可选的实施方式中,在所述对所述第一虚拟场景模型中是否出现所述第一实体对象在虚拟空间中映射的第一虚拟对象进行检测之后,所述建筑数字孪生构建方法还包括:
当检测到所述第一目标位置处出现目标虚拟对象时,按照所述第一视觉标定结果,对所述目标虚拟对象在所述第一目标位置处的显示方向进行修正,并结束对所述第一虚拟场景模型的更新操作;其中,所述目标虚拟对象用于表征在方向上与所述第一实体对象存在映射错误的第一虚拟对象。
第二方面,本申请实施例提供了一种建筑数字孪生构建系统,所述建筑数字孪生构建系统至少包括终端设备以及多个拍摄装置,通过所述终端设备提供一图形用户界面,所述图形用户界面上显示有数字孪生模型,所述数字孪生模型用于表征目标实体建筑在虚拟空间中映射的建筑信息模型,其中,所述多个拍摄装置安装于所述目标实体建筑内的不同建筑场景中;所述终端设备,用于:
从安装于第一建筑场景内的第一拍摄装置中,获取所述第一建筑场景的监控视频流,并从所述监控视频流中,逐帧获取待处理图像帧;其中,所述第一建筑场景用于表征所述目标实体建筑内的一个实体建筑空间;
对所述待处理图像帧中包括的每一实体对象进行二维目标检测,并将得到的所述待处理图像帧的二维目标检测结果输入至预先训练好的三维位姿检测模型中,得到所述待处理图像帧的三维位姿检测结果;其中,所述二维目标检测结果至少包括:每一所述实体对象的所属类别以及每一所述实体对象在所述待处理图像帧中所在的图像区域边界框;所述三维位姿检测模型用于对所述待处理图像帧中每一所述实体对象在所述第一建筑场景内的实体位置与实体方向进行预测;
在像素坐标系与虚拟空间世界坐标系之间,利用所述第一拍摄装置的相机内参矩阵以及相机外参,对每一所述实体对象在所述三维位姿检测结果中的图像位置坐标进行坐标转换处理,得到每一所述实体对象在所述三维位姿检测结果中对应的实体位置坐标;其中,所述虚拟空间世界坐标系用于表征第一虚拟场景模型符合的模型坐标系;所述第一虚拟场景模型用于表征所述第一建筑场景在所述数字孪生模型中映射的建筑信息模型;
根据每一所述实体对象在所述三维位姿检测结果与所述第一虚拟场景模型之间的显示差异,对所述第一虚拟场景模型进行更新,并在所述图形用户界面上显示更新后的第一虚拟场景模型;其中,所述显示差异用于表征每一所述实体对象在实体方向上的方向显示差异和/或每一所述实体对象在实体位置上的位置显示差异。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的建筑数字孪生构建方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的建筑数字孪生构建方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请实施例提供的一种建筑数字孪生构建方法及系统,从安装于第一建筑场景内的第一拍摄装置中,获取第一建筑场景的监控视频流,并从监控视频流中,逐帧获取待处理图像帧;对待处理图像帧中包括的每一实体对象进行二维目标检测,并将得到的待处理图像帧的二维目标检测结果输入至预先训练好的三维位姿检测模型中,得到待处理图像帧的三维位姿检测结果;在像素坐标系与虚拟空间世界坐标系之间,利用第一拍摄装置的相机内参矩阵以及相机外参,对每一实体对象在三维位姿检测结果中的图像位置坐标进行坐标转换处理,得到每一实体对象在三维位姿检测结果中对应的实体位置坐标;根据每一实体对象在三维位姿检测结果与第一虚拟场景模型之间的显示差异,对第一虚拟场景模型进行更新,并在图形用户界面上显示更新后的第一虚拟场景模型。这样,本申请通过利用目标实体建筑内采集到的监控视频数据,对该目标实体建筑在虚拟空间中映射的建筑信息模型进行联动更新处理,以在目标实体建筑的全生命周期内,维持实体建筑与虚拟模型的一致性,从而提高用户对于目标实体建筑的维护与管理效率。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。 应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。 此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
目前,在建筑数字孪生构建过程中,由于数字孪生模型中的模型信息是根据目标实体建筑的初始建成信息确定的,因此,在目标实体建筑中部分现实场景发生改变(如室内装潢设计改变、房间内陈设布局变更、人员流动等)时,会导致数字孪生模型中的模型信息失真,进而,造成用户对于目标实体建筑的维护与管理效率降低。
基于此,本申请实施例提供了一种建筑数字孪生构建方法及系统,从安装于第一建筑场景内的第一拍摄装置中,获取第一建筑场景的监控视频流,并从监控视频流中,逐帧获取待处理图像帧;对待处理图像帧中包括的每一实体对象进行二维目标检测,并将得到的待处理图像帧的二维目标检测结果输入至预先训练好的三维位姿检测模型中,得到待处理图像帧的三维位姿检测结果;在像素坐标系与虚拟空间世界坐标系之间,利用第一拍摄装置的相机内参矩阵以及相机外参,对每一实体对象在三维位姿检测结果中的图像位置坐标进行坐标转换处理,得到每一实体对象在三维位姿检测结果中对应的实体位置坐标;根据每一实体对象在三维位姿检测结果与第一虚拟场景模型之间的显示差异,对第一虚拟场景模型进行更新,并在图形用户界面上显示更新后的第一虚拟场景模型。这样,本申请通过利用目标实体建筑内采集到的监控视频数据,对该目标实体建筑在虚拟空间中映射的建筑信息模型进行联动更新处理,以在目标实体建筑的全生命周期内,维持实体建筑与虚拟模型的一致性,从而提高用户对于目标实体建筑的维护与管理效率。
这里,在具体介绍本申请实施例提供的一种建筑数字孪生构建方法及系统之前,为了进一步明确在建筑数字孪生构建过程中,本申请实施例所解决的主要技术问题,需要说明的是:
本申请实施例主要解决的是:在建筑数字孪生构建过程中,当目标实体建筑中部分现实场景发生动态变化时,如何对目标实体建筑在虚拟空间中映射的建筑信息模型进行联动更新处理,以在目标实体建筑的全生命周期内,维持实体建筑与虚拟模型的一致性的问题。基于此,本申请实施例提供的一种建筑数字孪生构建方法及系统,也可以理解为:本申请实施例提供的一种面向建筑数字孪生的模型管理方法及系统;其中,被管理(即包括初期的构建以及后期的更新与维护)的模型即为目标实体建筑在虚拟空间中映射的建筑信息模型。
下面对本申请实施例提供的一种建筑数字孪生构建方法及系统进行详细介绍。
参照图1所示,图1示出了本申请实施例所提供的一种建筑数字孪生构建方法的流程示意图,其中,所述建筑数字孪生构建方法包括步骤S101-S104;具体的:
S101,从安装于第一建筑场景内的第一拍摄装置中,获取所述第一建筑场景的监控视频流,并从所述监控视频流中,逐帧获取待处理图像帧。
在本申请实施例中,所述建筑数字孪生构建方法可以运行于终端设备或者是服务器;其中,终端设备可以为本地终端设备,当建筑数字孪生构建方法运行于服务器时,该建筑数字孪生构建方法则可以基于云交互系统来实现与执行,其中,云交互系统至少包括服务器和客户端设备(也即终端设备)。
具体的,以应用于终端设备为例,通过终端设备提供一图形用户界面,所述图形用户界面上显示有数字孪生模型,所述数字孪生模型用于表征目标实体建筑在虚拟空间中映射的BIM(Building Information Modeling,建筑信息模型)模型。
在本申请实施例中,作为一可选实施例,终端设备可以位于如图2所示的建筑数字孪生构建系统中,参照图2所示,建筑数字孪生构建系统中至少包括终端设备200以及多个拍摄装置201,其中,拍摄装置201的数量不限,拍摄装置201散布于目标实体建筑中,也即,拍摄装置201安装于目标实体建筑内的不同建筑场景中;每一个拍摄装置201与终端设备200之间可以通过有线网络/无线网络的方式,按照预先设定的通信协议(如RTSP(RealTime Streaming Protocol,实时流传输协议)协议等)进行数据传输与交互;在数据交互过程中,终端设备200可以控制每个拍摄装置201对安装位置处的建筑场景进行监控拍摄,并接收不同拍摄装置201反馈的监控视频数据(即监控视频流),以便终端设备200可以对目标实体建筑内的场景变化(如室内装潢设计改变、房间内陈设布局变更、人员流动等)进行实时的监控。
这里,在步骤S101中,第一拍摄装置用于表征安装于第一建筑场景内的拍摄装置(如相机、监控摄像头等),其中,考虑到第一建筑场景的区域大小与拍摄装置的最大拍摄范围之间关系不定,因此,本申请实施例对于第一建筑场景内安装的第一拍摄装置的数量不进行具体限定。
基于此,在步骤S101中,第一建筑场景用于表征所述目标实体建筑内的一个实体建筑空间,例如,第一建筑场景可以是目标实体建筑中的一个房间A,也可以是一个第一拍摄装置在房间A中能够拍摄到的部分区域;对于第一建筑场景的区域大小,本申请实施例同样不作任何限定。
S102,对所述待处理图像帧中包括的每一实体对象进行二维目标检测,并将得到的所述待处理图像帧的二维目标检测结果输入至预先训练好的三维位姿检测模型中,得到所述待处理图像帧的三维位姿检测结果。
在本申请实施例中,下面针对步骤S102中的二维目标检测步骤以及三维位姿检测步骤分别进行详细说明,具体的:
一、针对步骤S102中的二维目标检测步骤,需要说明的是:
这里,所述二维目标检测结果至少包括:每一所述实体对象的所属类别以及每一所述实体对象在所述待处理图像帧中所在的图像区域边界框;除此之外,二维目标检测结果还可以包括:对于检测出的每一所述实体对象的所属类别的置信度;其中,所述置信度用于表征二维目标检测结果的可信度,置信度越高则表示实体对象在二维目标检测结果中检测出的具体类别越准确,也即,二维目标检测结果的可信度越高。
具体的,本申请实施例中,作为一可选实施例,可以利用YOLOv5目标检测算法来执行步骤S102中的二维目标检测步骤,此时,通过YOLOv5目标检测算法可以对每一帧待处理图像帧中包括的实体对象进行2D(two-dimensional,二维)目标检测,从而,识别出每一实体对象的所属类别以及该实体对象在待处理图像帧中所在的图像区域(即所述图像区域边界框中圈出的图像区域)。
需要说明的是,目前能够实现上述2D目标检测功能的目标检测算法并不唯一,例如,除YOLOv5目标检测算法之外,也可使用YOLOv4目标检测算法、SSD(Single ShotMultiBox Detector,单激发多盒探测器)目标检测算法等来实现上述2D目标检测功能,对于具体的目标检测算法(即步骤S102中进行二维目标检测的具体底层技术工具),本申请实施例不作任何限定。
在本申请实施例中,上述实体对象所属的具体类别与目标实体建筑的建筑类型存在关联关系,也即,上述实体对象本质上相当于在目标实体建筑建成投入使用之后,可能出现在目标实体建筑内的静态物体或者运动目标。
在一可选实施方式中,以目标实体建筑是办公类建筑为例,则在步骤S102中,需要进行二维目标检测的实体对象可以包括但不限于:办公桌、办公椅、办公用品(如电脑、笔筒、文件夹等)、桌面放置物(如绿植、水杯、纸巾盒等)以及办公人员;其中,办公人员既包括处于办公状态(如坐在电脑前进行办公)的人员,也包括处于非办公状态(如从工位上站起,无法明确处于办公状态)的人员;对于实体对象所属类别的具体数量以及具体类别范围,本申请实施例不作任何限定。
在另一可选实施方式中,以目标实体建筑是农场类建筑为例,则在步骤S102中,需要进行二维目标检测的实体对象可以包括但不限于:农场植物(如牧草、野花等)、农场动物(如牛、羊等)、农场工具(如农用车辆、铁铲等)以及农场人员;其中,农场人员既包括农场中的工作人员,也包括来农场参观的外来人员。
基于上述2种不同类型的目标实体建筑,需要说明的是,考虑到不同类型的目标实体建筑内可能出现的实体对象类别各不相同,因此,对于实体对象所属类别的具体数量以及具体类别范围,本申请实施例不作任何限定。
二、针对步骤S102中的三维位姿检测步骤,需要说明的是:
这里,所述三维位姿检测模型用于对所述待处理图像帧中每一所述实体对象在所述第一建筑场景内的实体位置与实体方向进行预测。
具体的,本申请实施例中,作为一可选实施例,三维位姿检测模型可以是预先基于Total3DUnderstanding算法进行训练得到的3D(three-dimensional,三维)检测网络,此时,三维位姿检测模型可以对二维目标检测结果中检测出的每一个实体对象进行3Dbox检测,得到实体对象在待处理图像帧中的3D目标检测框。
需要说明的是,在二维目标检测结果中,图像区域边界框是以二维平面框架(如一个矩形框)的形式,圈出实体对象在待处理图像帧中所在的图像区域;而与二维目标检测结果中的图像区域边界框不同的是,在步骤S102的三维位姿检测结果中,上述3D目标检测框是以三维立方体框架的形式,圈出实体对象在待处理图像帧中所在的图像区域的。
示例性的说明,如图3a所示,图3a示出了本申请实施例所提供的一种二维目标检测结果中图像区域边界框的结构示意图,其中,图像区域边界框300是经过二维目标检测之后,实体对象椅子a在待处理图像帧中所在的二维图像区域边界框,也即,图像区域边界框300相当于实体对象椅子a在第一建筑场景内的实体位置进行二维检测后的可视化标定结果。
而图3b示出了本申请实施例所提供的一种三维位姿检测结果中3D目标检测框的结构示意图,如图3b所示,同样是针对实体对象椅子a,3D目标检测框301是通过三维位姿检测模型,对实体对象椅子a在第一建筑场景内的实体位置与实体方向进行预测后得到的三维位姿检测结果,其中,白色箭头的指向用于表征椅子a在第一建筑场景内的实体方向(即椅子在空间中的开口朝向);也即,3D目标检测框301相当于实体对象椅子a在第一建筑场景内的实体位置和实体方向进行三维检测后的可视化标定结果。
S103,在像素坐标系与虚拟空间世界坐标系之间,利用所述第一拍摄装置的相机内参矩阵以及相机外参,对每一所述实体对象在所述三维位姿检测结果中的图像位置坐标进行坐标转换处理,得到每一所述实体对象在所述三维位姿检测结果中对应的实体位置坐标。
这里,虚拟空间世界坐标系用于表征第一虚拟场景模型符合的模型坐标系;所述第一虚拟场景模型用于表征所述第一建筑场景在所述数字孪生模型中映射的建筑信息模型。
在一种可选的实施方式中,步骤S103可以按照以下步骤实施,具体的:
步骤a、针对每一所述实体对象,从所述三维位姿检测结果中,获取该实体对象在所述像素坐标系下的图像位置坐标。
这里,需要说明的是,终端设备能够从待处理图像帧中直接获取的数据是实体对象所在图像区域边界的像素点坐标(即实体对象在像素坐标系下的图像位置坐标)。
步骤b、在所述像素坐标系与相机坐标系之间,利用所述第一拍摄装置的相机内参矩阵,对该实体对象在所述像素坐标系下的图像位置坐标进行坐标转换处理,得到该实体对象在所述相机坐标系下的中间位置坐标。
这里,相机内参矩阵用于完成实体对象的位置坐标在像素坐标系与相机坐标系之间的转换;其中,相机内参矩阵属于相机内参,相机内参是相机硬件的固有属性,一般同一型号的相机内参一致。因此,相机内参矩阵可以直接根据第一拍摄装置的装置型号确定。
步骤c、在所述相机坐标系与所述虚拟空间世界坐标系之间,利用所述第一拍摄装置的相机外参,对该实体对象在所述相机坐标系下的中间位置坐标进行坐标转换处理,得到该实体对象在所述三维位姿检测结果中对应的实体位置坐标。
这里,所述相机外参至少包括:所述第一拍摄装置的旋转矩阵和平移向量。
需要说明的是,旋转矩阵用于表征所述虚拟空间世界坐标系的坐标轴与所述相机坐标系的坐标轴之间的相对方向(与第一拍摄装置中相机转动的具体方向变化有关),平移向量用于表征空间原点(虚拟空间世界坐标系下的)在所述相机坐标系中的位置;对于上述旋转矩阵与平移向量的具体获取方法,本申请实施例不作任何限定。
S104,根据每一所述实体对象在所述三维位姿检测结果与第一虚拟场景模型之间的显示差异,对所述第一虚拟场景模型进行更新,并在所述图形用户界面上显示更新后的第一虚拟场景模型。
这里,所述显示差异用于表征每一所述实体对象在实体方向上的方向显示差异和/或每一所述实体对象在实体位置上的位置显示差异。
在本申请实施例中,以实体对象在虚拟空间中映射的虚拟三维模型为第一虚拟场景模型中的虚拟对象为例,则实体对象在三维位姿检测结果与第一虚拟场景模型之间的显示差异可以分为以下几种情况,具体的:
情况一:
(1)、实体对象在三维位姿检测结果与第一虚拟场景模型之间不存在显示差异。
这里,相当于实体对象在第一建筑场景中的实体位置和实体方向,与所述虚拟对象在第一虚拟场景模型中的模型位置和模型方向都相同。
此时,终端设备无需对实体对象在第一虚拟场景模型中映射的虚拟对象进行更新。
情况二:
(2)、实体对象在三维位姿检测结果与第一虚拟场景模型之间存在实体方向上的显示差异。
这里,相当于实体对象在第一建筑场景中的实体位置与所述虚拟对象在第一虚拟场景模型中的模型位置相同(完全相同/位置偏差位于预设的偏差阈值范围内),但是,实体对象在第一建筑场景中的实体方向与虚拟对象在第一虚拟场景模型中的模型方向不同。
此时,考虑到用户对于不同类型的目标实体建筑可能具有不同的管理需求,因此,在第一种可选的实施方式中,当检测到用户对于实体对象在第一建筑场景内的朝向具有管理需求(如终端设备接收到用户输入的目标控制指令)时,终端设备可以响应检测到的所述管理需求,对所述虚拟对象在第一虚拟场景模型中的模型方向进行修正,以使修正后的虚拟对象在第一虚拟场景模型中的模型方向与实体对象在第一建筑场景中的实体方向相同。
在第二种可选的实施方式中,若未曾检测到用户对于实体对象在第一建筑场景内的朝向具有管理需求(如终端设备接收到用户输入的上述目标控制指令),则终端设备也可以默认无需区分实体对象与虚拟对象在实体方向上的显示差异,也即,此时,终端设备可以无需对实体对象在第一虚拟场景模型中映射的虚拟对象进行更新。
情况三:
(3)、实体对象在三维位姿检测结果与第一虚拟场景模型之间存在实体位置上的显示差异。
这里,相当于实体对象在第一建筑场景中的实体位置与所述虚拟对象在第一虚拟场景模型中的模型位置不同。
具体的,若检测到实体位置在第一虚拟场景模型中映射的目标虚拟位置处没有出现虚拟对象时(相当于第一虚拟场景模型中缺失实体对象所映射的虚拟对象),则终端设备可以在目标虚拟位置处新增一个与实体对象相匹配的虚拟对象。此时,所述相匹配至少包括实体类别相匹配,除所述实体类型相匹配之外,还可以包括实体方向相匹配。
具体的,若检测到模型位置在第一建筑场景中映射的目标实体位置处没有出现实体对象时(相当于第一虚拟场景模型中存在多余的虚拟对象),则终端设备可以直接将模型位置处的虚拟对象删除即可。
情况四:
(4)、实体对象在三维位姿检测结果与第一虚拟场景模型之间既存在实体位置上的显示差异,也存在实体方向上的显示差异。
这里,相当于同时出现上述情况二和上述情况三,此时,只需分别按照上述情况二和上述情况三中所述的实施步骤,对第一虚拟场景模型进行更新即可,重复之处在此不再赘述。
下面针对上述各步骤在本申请实施例中的具体实施过程,分别进行详细说明:
针对上述步骤S102的具体实施过程,基于上述步骤S102处的说明内容可知,三维位姿检测模型可以对输入数据中每一实体对象在第一建筑场景内的实体位置与实体方向进行预测,此时,考虑到用户对于不同类别的实体对象可能具有不同的管理需求(如,用户对于有些类别的实体对象在第一建筑场景内的朝向具有管理需求,对于其他类别的实体对象则只需要管理实体位置即可),因此,在本申请实施例中,还可以根据实体对象的具体类别,来对不同类别的实体对象进行不同的三维位姿检测,具体的:
在一个可行的实施方案中,图4示出了本申请实施例所提供的一种三维位姿检测的方法的流程示意图,如图4所示,在执行步骤S102时,该方法还包括S401-S403;具体的:
S401,将所述二维目标检测结果输入至所述三维位姿检测模型中,通过所述三维位姿检测模型,对所述二维目标检测结果中是否包含第一图像区域边界框进行检测。
这里,所述第一图像区域边界框用于表征第一实体对象所在的图像区域边界框;所述第一实体对象用于表征需要在方向上区分所述三维位姿检测结果与第一虚拟场景模型之间的显示差异的实体对象。
示例性的说明,若用户对于第一建筑场景内的椅子摆放方向具有管理需求(如员工有时需要在会议开始前将椅子按照规定的位置与方向排布整齐等场景),则如图3a所示,椅子a即为此场景下的第一实体对象,椅子a的二维目标检测结果如图3a所示,此时,图像区域边界框300即为上述的第一图像区域边界框。
S402,当检测到所述二维目标检测结果中出现所述第一图像区域边界框时,通过所述三维位姿检测模型,对所述第一实体对象在所述第一建筑场景内的实体位置与实体方向进行预测,得到所述第一实体对象在所述待处理图像帧中的三维位姿检测结果。
这里,相当于用户对于第一实体对象在第一建筑场景内的朝向具有管理需求,也即,从实际应用角度来看,在本申请实施例中,第一实体对象一方面可以用于表征三维位姿检测模型进行实体方向预测的难度较低(即低于预设的处理难度阈值/数据处理量低于预设的数据处理量阈值)的实体对象(如3D目标检测模型容易获取/空间朝向容易区分的椅子等实体对象);另一方面还可以用于表征实体方向上的差异对于第一建筑场景的管理产生较大影响(即实体方向差异与第一建筑场景的管理效率之间的关联程度高于预设的关联系数)的实体对象(如若被管理的第一建筑场景是酒店房间b,则对于酒店房间b内的桌椅等实体对象的摆放位置以及摆放方向都需要按照规范的排布方式进行管理和摆放)。
基于此,对于第一实体对象所能表征的具体实体类别,本申请实施例仍然不作任何限定。
在一个可选的实施方案中,图5示出了本申请实施例所提供的一种针对第一实体对象进行三维位姿检测的方法的流程示意图,如图5所示,在执行步骤S402时,该方法还包括S501-S504;具体的:
S501,对所述第一实体对象在所述待处理图像帧中所在的外接立方体结构进行标定,得到第一外接立方体。
示例性的说明,仍以图3a-图3b中的实体对象椅子a作为第一实体对象为例,如图3b所示,通过三维位姿检测模型,对椅子a在待处理图像帧中所在的外接立方体结构进行标定,即可得到如3D目标检测框301所示的第一外接立方体。
S502,根据所述第一实体对象在所属类别下规定的实体正方向,在所述第一外接立方体的第一平面上,对所述实体正方向在所述第一建筑场景内的空间指向进行视觉标定,得到第一视觉标定结果。
这里,所述第一平面用于表征所述第一外接立方体与第一参考平面之间相距最近的平面;其中,所述第一参考平面位于所述第一建筑场景内。
需要说明的是,第一参考平面通常情况下可以用于表征第一建筑场景内的地面,但是,根据用户的管理需求,也可以对第一参考平面进行适应性调整,因此,本申请实施例对此不进行任何限定。
具体的,针对上述实体正方向,需要说明的是,实体正方向可以表征在通用领域下对于该类别的实体所规定的正方向,例如,对于椅子类的实体对象,通用领域下一般将椅子的开口方向(即椅背的外法线方向)规定为实体正方向;对于电脑类的实体对象,通用领域下一般以电脑屏幕的外法线方向作为实体正方向。
基于此,能够理解的是,在本申请实施例中,实体正方向的概念仅用于支持三维检测模型能够根据预测出的实体方向,在三维检测结果中,对实体对象的实体方向进行一个可视化的标定(如图3b所示的箭头形式),以便于后续步骤中在方向上区分第一实体对象在三维位姿检测结果与第一虚拟场景模型之间的显示差异。因此,对于实体正方向的具体方向设定,本申请实施例不作任何限定。
示例性的说明,仍然以第一实体对象是椅子a为例,若第一参考平面是第一建筑场景内的地面,则如图3b所示,第一平面相当于3D目标检测框301的底部平面;此时,根据椅子a的实体正方向为椅子的开口方向,如图3b所示,还可以通过三维位姿检测模型,在3D目标检测框301的底部平面上标出椅子a的实体正方向(如白色箭头部分所示),进而得到如图3b所示的椅子a的第一视觉标定结果(即表征实体位置预测结果的3D目标检测框301+表征实体方向的白色箭头)。
S503,从所述待处理图像帧中,获取所述第一平面的平面中心坐标,得到所述平面中心坐标在所述像素坐标系下的第一图像位置坐标。
具体的,第一平面的平面中心坐标相当于第一实体对象在第一参考平面上的位置坐标(在像素坐标系下的),由于第一参考平面是统一确定的空间参考平面(如通常情况下使用的地面),因此,可以将第一平面的平面中心坐标表征为第一实体对象在第一建筑场景内的像素坐标系下的具体位置坐标,也即,将第一平面的平面中心坐标作为第一图像位置坐标。
这里,基于上述步骤的分析内容可知,无论是二维目标检测结果中的第一图像区域边界框还是第一视觉标定结果中的第一外接立方体(即3D目标检测框),都是用于表征第一实体对象在像素坐标系下的实体位置。由于第一虚拟场景模型/数字孪生模型等BIM建筑信息模型都是基于第一建筑场景/目标实体建筑的模型坐标(即虚拟空间世界坐标系下的位置坐标)建立的,因此,为了便于后续步骤S104中可以更加简便快速的在位置上区分第一实体对象在三维位姿检测结果与第一虚拟场景模型之间的显示差异,还可以执行完步骤S503之后,以相机坐标系作为坐标转换的中转站(像素坐标系与虚拟空间世界坐标系之间的转换依赖于相机坐标系的中转),利用相机内参矩阵以及相机外参,优先得到第一实体对象在虚拟空间世界坐标系下的实体位置坐标(即可以在执行完步骤S503之后,执行上述步骤S103处的坐标转换步骤)。
S504,将所述第一图像位置坐标与所述第一视觉标定结果作为所述第一实体对象在所述待处理图像帧中的三维位姿检测结果。
在本申请实施例中,以上述步骤S503中第一平面的平面中心坐标(即第一图像位置坐标)是像素坐标系下的像素坐标(u,v)为例,利用第一拍摄装置的相机内参矩阵K,可以按照以下公式完成像素坐标(u,v,1)在像素坐标系与相机坐标系之间的转换,得到相机坐标系下的第一位置坐标(x,y,z),具体的:
是第一拍摄装置在像素坐标系的横坐标轴上的归一化焦距;
是第一拍摄装置在像素坐标系的纵坐标轴上的归一化焦距;
基于此,在本申请实施例中,以相机坐标系下的第一位置坐标(x,y,z)为例,利用第一拍摄装置的旋转矩阵R和平移向量t(即相机外参)可以按照以下公式完成第一位置坐标(x,y,z)在相机坐标系与虚拟空间世界坐标系之间的转换,得到第一实体对象在虚拟空间世界坐标系下的实体位置坐标(X,Y,Z),具体的:
这里,上述实体位置坐标(X,Y,Z)即为第一实体对象在三维位姿检测结果中对应的实体位置坐标(即第一实体对象的第一图像位置坐标执行完步骤S103后得到的坐标转换结果)。
S403,当检测到所述二维目标检测结果中出现第二图像区域边界框时,通过所述三维位姿检测模型,对第二实体对象在所述第一建筑场景内的实体位置进行预测,得到所述第二实体对象在所述待处理图像帧中的三维位姿检测结果。
这里,所述第二图像区域边界框用于表征第二实体对象所在的图像区域边界框;所述第二实体对象用于表征不需要在方向上区分所述三维位姿检测结果与第一虚拟场景模型之间的显示差异的实体对象。
需要说明的是,第二实体对象所能表征的具体实体类别与第一实体对象所能表征的具体实体类别相反,也即,若第一实体对象包括:Q类别和R类别的实体对象,则第二实体对象包括除Q类别和R类别(即第一实体对象)之外的所有能检测到的实体对象。
此时,与第一实体对象的三维位姿检测不同的是,由于第二实体对象用于表征不需要在方向上区分三维位姿检测结果与第一虚拟场景模型之间的显示差异的实体对象,因此,在第一种可选实施方案下,可以不对第二实体对象进行三维位姿检测,也即,直接使用二维目标检测结果检测出的第二图像区域边界框来表征第二实体对象在像素坐标系下的实体位置,在后续步骤需要比较第二实体对象在第一虚拟场景模型(相当于第二实体对象在虚拟空间世界坐标系下的实体位置)与第一建筑场景内的位置是否发生变化时,只需在像素坐标系与虚拟空间世界坐标系之间进行坐标转换,将两个待比较的位置坐标转换到同一坐标系下进行比较即可。
在第二种可选实施方案下,基于输入数据中的相机内参矩阵,图6示出了本申请实施例所提供的一种针对第二实体对象进行三维位姿检测的方法的流程示意图,如图6所示,在执行步骤S403时,该方法还包括S601-S603;具体的:
S601,从构成所述第二图像区域边界框的多条边界框线中,确定与第二参考平面之间相距最近的边界框线作为目标边界框线。
这里,第二参考平面用于表征所述第二实体对象在所述第一建筑场景内所在的空间平面。
示例性的说明,如图3a所示,以第二实体对象是第一建筑场景内的绿植c为例,绿植c在第一建筑场景内所在的空间平面是桌面,也即,第二参考平面为桌面,此时,如图3a所示,从绿植c的第二图像区域边界框中,确定与桌面之间相距最近的底部边界框线作为目标边界框线。
S602,从所述待处理图像帧中,获取所述目标边界框线的中心点坐标,得到所述中心点坐标在所述像素坐标系下的第二图像位置坐标。
S603,将所述第二图像位置坐标作为所述第二实体对象在所述待处理图像帧中的三维位姿检测结果。
这里,步骤S602-S603中在获取到第二图像位置坐标之后,与上述的第一图像位置坐标相似,同样可以同步执行第二图像位置坐标在像素坐标系与虚拟空间世界坐标系之间的坐标转换步骤,以得到第二实体对象在三维位姿检测结果中对应的实体位置坐标(即第二实体对象的第二图像位置坐标执行完步骤S103后得到的坐标转换结果)。
具体的,第二图像位置坐标在像素坐标系与虚拟空间世界坐标系之间的坐标转换步骤与上述步骤S503-S504中第一图像位置坐标的坐标转换方法相同,重复之处在此不再赘述。
针对上述步骤S104的具体实施过程,基于上述步骤S104处给出的显示差异包括的4种具体情况可知,在执行步骤S104时,针对不同类别的实体对象(第一实体对象/第二实体对象),可以执行不同的更新步骤,具体的:
当步骤S102中的三维位姿检测结果是通过上述步骤S501-S504所示的方法得到的时,此时,步骤S104的执行过程相当于是比较第一实体对象在三维检测结果与第一虚拟场景模型之间的显示差异,在一个可选的实施方案中,图7示出了本申请实施例所提供的一种针对第一实体对象的模型更新方法的流程示意图,如图7所示,在执行步骤S104时,该方法还包括S701-S704;具体的:
S701,获取所述第一实体对象在所述三维位姿检测结果中对应的实体位置坐标作为第一真实坐标。
这里,步骤S701中的第一真实坐标用于表征所述第一图像位置坐标在所述像素坐标系与所述虚拟空间世界坐标系之间的坐标转换结果。
此时,步骤S701的具体坐标转换方法与上述步骤S503-S504中第一图像位置坐标的坐标转换方法相同,重复之处在此不再赘述。
S702,在所述第一虚拟场景模型中的所述第一真实坐标处,对所述第一虚拟场景模型中是否出现所述第一实体对象在虚拟空间中映射的第一虚拟对象进行检测。
示例性的说明,图8a示出了本申请实施例所提供的一种更新前的第一虚拟场景模型的结构示意图,如图8a所示,若第一实体对象是图3b中的椅子a,则在完成上述步骤S701处的坐标转换之后,可以从第一虚拟场景模型中,确定第一真实坐标800处,存在椅子a在虚拟空间中映射的椅子模型a1(即第一虚拟对象);此时,相当于上述步骤中所述的情况一,也即,终端设备无需对第一实体对象椅子a在第一虚拟场景模型中映射的椅子模型a1进行更新。
S703,当检测到第一目标位置处未出现所述第一虚拟对象时,则在所述第一目标位置处新增一个所述第一虚拟对象,并结束对所述第一虚拟场景模型的更新操作。
这里,所述第一目标位置用于表征所述第一虚拟场景模型中的所述第一真实坐标处。
具体的,作为一可选实施例,可以按照以下步骤来执行“在所述第一目标位置处新增一个所述第一虚拟对象”的更新操作:
步骤1、从第一实体对象的二维目标检测结果中,获取第一实体对象所属的实体类别;
步骤2、根据第一实体对象所属的实体类别,从预先存储的基础三维模型库中,确定该实体类别映射的模型索引图片;
步骤3、根据第一实体对象的物理尺寸与实体形状,从所述模型索引图片中,确定模型尺寸和模型形状与所述第一实体对象最为匹配的虚拟对象模型作为待增加的第一虚拟对象;
步骤4、将确定出的所述待增加的第一虚拟对象,放置在第一虚拟场景模型内的第一目标位置处。
示例性的说明,如图8a所示,若第一实体对象是图3b中的员工b,则在图8a示出的第一虚拟场景模型中,检测到员工b映射的第一目标位置801处不存在人体对象模型(即第一虚拟对象),此时,可以按照上述步骤1-4的方法,从预先存储的基础三维模型库中,根据员工b所属的人体实体类别,确定人体实体类别映射的多个人体对象模型的模型索引图片,从多个人体对象模型中确定出身高比例与员工b最为匹配的人体对象模型b1,并将人体对象模型b1放置在第一虚拟场景模型内的第一目标位置801处,得到如图8b所示的更新后的第一虚拟场景模型。
S704,当检测到所述第一目标位置处出现目标虚拟对象时,按照所述第一视觉标定结果,对所述目标虚拟对象在所述第一目标位置处的显示方向进行修正,并结束对所述第一虚拟场景模型的更新操作。
这里,所述目标虚拟对象用于表征在方向上与所述第一实体对象存在映射错误的第一虚拟对象。
示例性的说明,若第一实体对象是图3b中的椅子a,在完成上述步骤S701处的坐标转换之后,可以从第一虚拟场景模型中,确定第一真实坐标800如图8a所示,若椅子模型a1在第一真实坐标800处的位置与当前图中所示的方向相反(即椅子模型a1的开口方向远离桌子方向),则确定椅子模型a1为上述目标虚拟对象,只需将椅子模型a1的开口方向调整为与椅子a相同即可。
当步骤S102中的三维位姿检测结果是通过上述步骤S601-S603所示的方法得到的时,此时,步骤S104的执行过程相当于是比较第二实体对象在三维检测结果与第一虚拟场景模型之间的显示差异,在一个可选的实施方案中,图9示出了本申请实施例所提供的一种针对第二实体对象的模型更新方法的流程示意图,如图9所示,在执行步骤S104时,该方法还包括S901-S903;具体的:
S901,获取所述第二实体对象在所述三维位姿检测结果中对应的实体位置坐标作为第二真实坐标。
这里,第二真实坐标用于表征所述第二图像位置坐标在所述像素坐标系与所述虚拟空间世界坐标系之间的坐标转换结果。
具体的,步骤S901与步骤S701中的执行方法相同,重复之处在此不再赘述。
S902,在所述第一虚拟场景模型中的所述第二真实坐标处,对所述第一虚拟场景模型中是否出现所述第二实体对象在虚拟空间中映射的第二虚拟对象进行检测。
S903,当检测到第二目标位置处未出现所述第二虚拟对象时,则在所述第二目标位置处新增一个所述第二虚拟对象,并结束对所述第一虚拟场景模型的更新操作。
这里,所述第二目标位置用于表征所述第一虚拟场景模型中的所述第二真实坐标处。
具体的,上述步骤S902- S903的具体实施方法与上述步骤S702- S703相同,重复之处不再赘述。
但是,针对上述步骤S902- S903,需要说明的是,在步骤S902的具体执行过程中,终端设备并不需要对第二实体对象与第二虚拟对象之间的方向是否一致进行检测,只需比对两者位置是否一致(即两者位置之间的距离差异小于预设偏差阈值)即可。
基于同一发明构思,本申请实施例中还提供了与上述实施例中建筑数字孪生构建方法对应的建筑数字孪生构建系统,由于本申请实施例中的建筑数字孪生构建系统解决问题的原理与本申请上述实施例中的建筑数字孪生构建方法相似,因此,建筑数字孪生构建系统的实施可以参见前述建筑数字孪生构建方法的实施,重复之处不再赘述。
具体的,图2示出了本申请实施例所提供的一种建筑数字孪生构建系统,参照图2所示的建筑数字孪生构建系统;所述建筑数字孪生构建系统至少包括:终端设备200以及多个拍摄装置201,通过终端设备200提供一图形用户界面,所述图形用户界面上显示有数字孪生模型,所述数字孪生模型用于表征目标实体建筑在虚拟空间中映射的建筑信息模型,其中,多个拍摄装置201安装于所述目标实体建筑内的不同建筑场景中;终端设备200,用于:
从安装于第一建筑场景内的第一拍摄装置中,获取所述第一建筑场景的监控视频流,并从所述监控视频流中,逐帧获取待处理图像帧;其中,所述第一建筑场景用于表征所述目标实体建筑内的一个实体建筑空间;
对所述待处理图像帧中包括的每一实体对象进行二维目标检测,并将得到的所述待处理图像帧的二维目标检测结果输入至预先训练好的三维位姿检测模型中,得到所述待处理图像帧的三维位姿检测结果;其中,所述二维目标检测结果至少包括:每一所述实体对象的所属类别以及每一所述实体对象在所述待处理图像帧中所在的图像区域边界框;所述三维位姿检测模型用于对所述待处理图像帧中每一所述实体对象在所述第一建筑场景内的实体位置与实体方向进行预测;
在像素坐标系与虚拟空间世界坐标系之间,利用所述第一拍摄装置的相机内参矩阵以及相机外参,对每一所述实体对象在所述三维位姿检测结果中的图像位置坐标进行坐标转换处理,得到每一所述实体对象在所述三维位姿检测结果中对应的实体位置坐标;其中,所述虚拟空间世界坐标系用于表征第一虚拟场景模型符合的模型坐标系;所述第一虚拟场景模型用于表征所述第一建筑场景在所述数字孪生模型中映射的建筑信息模型;
根据每一所述实体对象在所述三维位姿检测结果与所述第一虚拟场景模型之间的显示差异,对所述第一虚拟场景模型进行更新,并在所述图形用户界面上显示更新后的第一虚拟场景模型;其中,所述显示差异用于表征每一所述实体对象在实体方向上的方向显示差异和/或每一所述实体对象在实体位置上的位置显示差异。
在一种可选的实施方式中,在所述将得到的所述待处理图像帧的二维目标检测结果输入至预先训练好的三维位姿检测模型中,得到所述待处理图像帧的三维位姿检测结果时,终端设备200,具体用于:
将所述二维目标检测结果与所述相机内参矩阵输入至所述三维位姿检测模型中,通过所述三维位姿检测模型,对所述二维目标检测结果中是否包含第一图像区域边界框进行检测;其中,所述第一图像区域边界框用于表征第一实体对象所在的图像区域边界框;所述第一实体对象用于表征需要在方向上区分所述三维位姿检测结果与第一虚拟场景模型之间的显示差异的实体对象;
当检测到所述二维目标检测结果中出现所述第一图像区域边界框时,通过所述三维位姿检测模型,对所述第一实体对象在所述第一建筑场景内的实体位置与实体方向进行预测,得到所述第一实体对象在所述待处理图像帧中的三维位姿检测结果;
当检测到所述二维目标检测结果中出现第二图像区域边界框时,通过所述三维位姿检测模型,对第二实体对象在所述第一建筑场景内的实体位置进行预测,得到所述第二实体对象在所述待处理图像帧中的三维位姿检测结果;其中,所述第二图像区域边界框用于表征第二实体对象所在的图像区域边界框;所述第二实体对象用于表征不需要在方向上区分所述三维位姿检测结果与第一虚拟场景模型之间的显示差异的实体对象。
在一种可选的实施方式中,在所述对所述第一实体对象在所述第一建筑场景内的实体位置与实体方向进行预测,得到所述第一实体对象在所述待处理图像帧中的三维位姿检测结果时,终端设备200,具体用于:
对所述第一实体对象在所述待处理图像帧中所在的外接立方体结构进行标定,得到第一外接立方体;
根据所述第一实体对象在所属类别下规定的实体正方向,在所述第一外接立方体的第一平面上,对所述实体正方向在所述第一建筑场景内的空间指向进行视觉标定,得到第一视觉标定结果;其中,所述第一平面用于表征所述第一外接立方体与第一参考平面之间相距最近的平面;所述第一参考平面位于所述第一建筑场景内;
从所述待处理图像帧中,获取所述第一平面的平面中心坐标,得到所述平面中心坐标在所述像素坐标系下的第一图像位置坐标;
将所述第一图像位置坐标与所述第一视觉标定结果作为所述第一实体对象在所述待处理图像帧中的三维位姿检测结果。
在一种可选的实施方式中,在所述对第二实体对象在所述第一建筑场景内的实体位置进行预测,得到所述第二实体对象在所述待处理图像帧中的三维位姿检测结果时,终端设备200,具体用于:
从构成所述第二图像区域边界框的多条边界框线中,确定与第二参考平面之间相距最近的边界框线作为目标边界框线;其中,所述第二参考平面用于表征所述第二实体对象在所述第一建筑场景内所在的空间平面;
从所述待处理图像帧中,获取所述目标边界框线的中心点坐标,得到所述中心点坐标在所述像素坐标系下的第二图像位置坐标;
将所述第二图像位置坐标作为所述第二实体对象在所述待处理图像帧中的三维位姿检测结果。
在一种可选的实施方式中,在所述利用所述第一拍摄装置的相机内参矩阵以及相机外参,对每一所述实体对象在所述三维位姿检测结果中的图像位置坐标进行坐标转换处理时,终端设备200,具体用于:
针对每一所述实体对象,从所述三维位姿检测结果中,获取该实体对象在所述像素坐标系下的图像位置坐标;
在所述像素坐标系与相机坐标系之间,利用所述第一拍摄装置的相机内参矩阵,对该实体对象在所述像素坐标系下的图像位置坐标进行坐标转换处理,得到该实体对象在所述相机坐标系下的中间位置坐标;
在所述相机坐标系与所述虚拟空间世界坐标系之间,利用所述第一拍摄装置的相机外参,对该实体对象在所述相机坐标系下的中间位置坐标进行坐标转换处理,得到该实体对象在所述三维位姿检测结果中对应的实体位置坐标;其中,所述相机外参至少包括:所述第一拍摄装置的旋转矩阵和平移向量。
在一种可选的实施方式中,在所述根据每一所述实体对象在所述三维位姿检测结果与第一虚拟场景模型之间的显示差异,对所述第一虚拟场景模型进行更新时,终端设备200,具体用于:
获取所述第一实体对象在所述三维位姿检测结果中对应的实体位置坐标作为第一真实坐标;其中,所述第一真实坐标用于表征所述第一图像位置坐标在所述像素坐标系与所述虚拟空间世界坐标系之间的坐标转换结果;
在所述第一虚拟场景模型中的所述第一真实坐标处,对所述第一虚拟场景模型中是否出现所述第一实体对象在虚拟空间中映射的第一虚拟对象进行检测;
当检测到第一目标位置处未出现所述第一虚拟对象时,则在所述第一目标位置处新增一个所述第一虚拟对象,并结束对所述第一虚拟场景模型的更新操作;其中,所述第一目标位置用于表征所述第一虚拟场景模型中的所述第一真实坐标处。
在一种可选的实施方式中,在所述根据每一所述实体对象在所述三维位姿检测结果与第一虚拟场景模型之间的显示差异,对所述第一虚拟场景模型进行更新时,终端设备200,具体还用于:
获取所述第二实体对象在所述三维位姿检测结果中对应的实体位置坐标作为第二真实坐标;其中,所述第二真实坐标用于表征所述第二图像位置坐标在所述像素坐标系与所述虚拟空间世界坐标系之间的坐标转换结果;
在所述第一虚拟场景模型中的所述第二真实坐标处,对所述第一虚拟场景模型中是否出现所述第二实体对象在虚拟空间中映射的第二虚拟对象进行检测;
当检测到第二目标位置处未出现所述第二虚拟对象时,则在所述第二目标位置处新增一个所述第二虚拟对象,并结束对所述第一虚拟场景模型的更新操作;其中,所述第二目标位置用于表征所述第一虚拟场景模型中的所述第二真实坐标处。
在一种可选的实施方式中,在所述对所述第一虚拟场景模型中是否出现所述第一实体对象在虚拟空间中映射的第一虚拟对象进行检测之后,终端设备200,还用于:
当检测到所述第一目标位置处出现目标虚拟对象时,按照所述第一视觉标定结果,对所述目标虚拟对象在所述第一目标位置处的显示方向进行修正,并结束对所述第一虚拟场景模型的更新操作;其中,所述目标虚拟对象用于表征在方向上与所述第一实体对象存在映射错误的第一虚拟对象。
基于同一发明构思,如图10所示,本申请实施例提供了一种计算机设备1000,用于执行本申请中的建筑数字孪生构建方法,该设备包括存储器1001、处理器1002及存储在该存储器1001上并可在该处理器1002上运行的计算机程序,其中,上述处理器1002执行上述计算机程序时实现上述的建筑数字孪生构建方法的步骤;当计算机设备1000运行时,处理器1002与存储器1001之间通过总线通信。
具体地,上述存储器1001和处理器1002可以为通用的存储器和处理器,这里不做具体限定,当处理器1002运行存储器1001存储的计算机程序时,能够执行上述的建筑数字孪生构建方法。
对应于本申请中的建筑数字孪生构建方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的建筑数字孪生构建方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述的建筑数字孪生构建方法。
在本申请所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory ,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。