基于单目相机的装载率估计方法、装置、设备及介质
文献发布时间:2024-04-18 19:58:21
技术领域
本公开涉及数据处理技术领域,具体涉及一种基于单目相机的装载率估计方法、装置、设备及介质。
背景技术
在货运行业,货运效率以及安全性是两大关键指标,而货运量方技术是提升效率以及安全性的核心技术。货运量方技术是通过各种传感器设备对货车货仓内的物理布局进行实时检测估计,以实现更好的规划以及防控的技术。
目前,一种货运量方估计方案可以基于点阵式激光设备实现。虽然这种方案的算法简单,精度较高,能达到应用落地要求,但是由于点阵式激光设备价格昂贵且安装成本高,基于点阵式激光设备的货运量方估计方案并未大规模应用。
另外一种货运量方估计方案可以基于图像采集设备的图像分类方法实现。这种方案精度较低,未能达到应用落地要求,且数据集的采集成本和标注成本较高。故而,这种方案也并未大规模应用,只存在少量的、固定的、较容易的货运场景中。
发明内容
为了解决相关技术中的问题,本公开实施例提供一种基于单目相机的装载率估计方法、装置、设备及介质。
第一方面,本公开实施例中提供了一种基于单目相机的装载率估计方法。
具体地,所述基于单目相机的装载率估计方法,包括:
获取所述单目相机采集的货仓内的第一图像,对所述第一图像进行预处理,得到所述第一图像的第一深度估计图;
将所述第一深度估计图映射为第一三维点云;
对所述第一三维点云进行三维重建,得到世界坐标系下的第二三维点云;
基于所述第二三维点云得到第一二维量方矩阵;
基于所述第一二维量方矩阵估计所述货仓的装载率。
根据本公开实施例,其中,所述对所述第一三维点云进行三维重建,得到世界坐标系下的第二三维点云,包括:
获取所述单目相机采集的货仓空仓图像,对所述空仓图像进行预处理,得到所述空仓图像的第二深度估计图;
将所述第二深度估计图映射为第三三维点云;
对所述第三三维点云进行点云平面分割,得到相机坐标系下各货仓平面的法向量及对应的截距;
基于所述货仓平面的截距和相机光心得到所述世界坐标系的原点;
基于所述货仓平面的法向量得到所述世界坐标系的三维坐标向量;
基于所述世界坐标系的原点和三维坐标向量得到所述第二三维点云。
根据本公开实施例,其中,所述基于所述第二三维点云得到第一二维量方矩阵,包括:
将所述第二三维点云投影至世界坐标系的XY平面,得到形状为d
其中,当所述第二三维点云的多个点投影至所述XY平面下同一坐标点时,将Z值最大的点投影至所述XY平面下的所述坐标点。
根据本公开实施例,其中,所述基于所述二维量方矩阵估计所述货仓的装载率,包括:
对所述二维量方矩阵进行均值处理;
基于所述均值处理后的二维量方矩阵和截距dz得到所述装载率,所述dz为所述第二三维点云中,Z轴方向的最大截距。
根据本公开实施例,其中,所述对所述第一图像进行预处理,得到所述第一图像的第一深度估计图,包括:
对所述第一图像进行去畸变处理,得到第一去畸变图像;
基于所述第一去畸变图像和预先训练好的深度估计模型,得到所述第一图像的第一深度估计图。
根据本公开实施例,还包括:
对所述单目相机进行标定,得到单目相机的内置参数;
基于所述单目相机的内置参数对所述第一图像进行去畸变处理,得到第一去畸变图像;
基于所述单目相机的内置参数,将所述第一深度估计图映射为第一三维点云。
根据本公开实施例,还包括:
将货仓空间在水平方向或垂直方向进行分块;
在各个分块中估计所述货仓的装载率,得到所述货仓的第一网格化装载率矩阵。
第二方面,本公开实施例中提供了一种基于单目相机的货物倾倒识别方法。
具体地,所述基于单目相机的货物倾倒识别方法,包括:
获取所述单目相机采集货仓内的第二图像和第三图像;
采用如第一方面所述的基于单目相机的装载率估计方法得到所述第二图像对应的第二二维量方矩阵,以及所述第三图像对应的第三二维量方矩阵;
当所述第二二维量方矩阵与所述第三二维量方矩阵之间的差异大于第一阈值时,判定发生货物倾倒。
第三方面,本公开实施例中提供了一种基于单目相机的货物移位识别方法。
具体地,所述基于单目相机的货物移位识别方法,包括:
获取所述单目相机采集货仓内的第四图像和第五图像;
采用如第一方面所述的基于单目相机的装载率估计方法得到所述第四图像对应的第二网格化装载率矩阵,以及所述第五图像对应的第三网格化装载率矩阵;
当所述第二网格化装载率矩阵与所述第三网格化装载率矩阵之间的差异大于第二阈值时,判定发生货物移位。
根据本公开实施例,还包括:
确定所述第二网格化装载率矩阵与所述第三网格化装载率矩阵之间差异最大的分块;
基于所述差异最大的分块估计货物移位的起始位置和终止位置。
第四方面,本公开实施例中提供了一种基于单目相机的装载率估计装置。
具体地,所述基于单目相机的装载率估计装置,包括:
第一获取单元,被配置为获取所述单目相机采集的货仓内的第一图像,对所述第一图像进行预处理,得到所述第一图像的第一深度估计图;
映射单元,被配置为将所述第一深度估计图映射为第一三维点云;
重建单元,被配置为对所述第一三维点云进行三维重建,得到世界坐标系下的第二三维点云;
投影单元,被配置为基于所述第二三维点云得到第一二维量方矩阵;
估计单元,被配置为基于所述第一层网络组件至第N层网络组件,确定所述网络。
根据本公开实施例,其中,所述对所述第一三维点云进行三维重建,得到世界坐标系下的第二三维点云,包括:
获取所述单目相机采集的货仓空仓图像,对所述空仓图像进行预处理,得到所述空仓图像的第二深度估计图;
将所述第二深度估计图映射为第三三维点云;
对所述第三三维点云进行点云平面分割,得到相机坐标系下各货仓平面的法向量及对应的截距;
基于所述货仓平面的截距和相机光心得到所述世界坐标系的原点;
基于所述货仓平面的法向量得到所述世界坐标系的三维坐标向量;
基于所述世界坐标系的原点和三维坐标向量得到所述第二三维点云。
根据本公开实施例,其中,所述基于所述第二三维点云得到第一二维量方矩阵,包括:
将所述第二三维点云投影至世界坐标系的XY平面,得到形状为d
其中,当所述第二三维点云的多个点投影至所述XY平面下同一坐标点时,将Z值最大的点投影至所述XY平面下的所述坐标点。
根据本公开实施例,其中,所述基于所述二维量方矩阵估计所述货仓的装载率,包括:
对所述二维量方矩阵进行均值处理;
基于所述均值处理后的二维量方矩阵和截距dz得到所述装载率,所述dz为所述第二三维点云中,Z轴方向的最大截距。
根据本公开实施例,其中,所述对所述第一图像进行预处理,得到所述第一图像的第一深度估计图,包括:
对所述第一图像进行去畸变处理,得到第一去畸变图像;
基于所述第一去畸变图像和预先训练好的深度估计模型,得到所述第一图像的第一深度估计图。
根据本公开实施例,还包括:
对所述单目相机进行标定,得到单目相机的内置参数;
基于所述单目相机的内置参数对所述第一图像进行去畸变处理,得到第一去畸变图像;
基于所述单目相机的内置参数,将所述第一深度估计图映射为第一三维点云。
根据本公开实施例,还包括:
将货仓空间在水平方向或垂直方向进行分块;
在各个分块中估计所述货仓的装载率,得到所述货仓的第一网格化装载率矩阵。
第五方面,本公开实施例中提供了一种基于单目相机的货物倾倒识别装置。
具体地,所述基于单目相机的货物倾倒识别装置,包括:
第二获取单元,被配置为获取所述单目相机采集货仓内的第二图像和第三图像;
第一确定单元,被配置为采用如第一方面所述的基于单目相机的装载率估计方法得到所述第二图像对应的第二二维量方矩阵,以及所述第三图像对应的第三二维量方矩阵;
第一判定单元,被配置为当所述第二二维量方矩阵与所述第三二维量方矩阵之间的差异大于第一阈值时,判定发生货物倾倒。
第六方面,本公开实施例中提供了一种基于单目相机的货物移位识别装置。
具体地,所述基于单目相机的货物移位识别装置,包括:
第三获取单元,被配置为获取所述单目相机采集货仓内的第四图像和第五图像;
第二确定单元,被配置为采用如第一方面所述的基于单目相机的装载率估计方法得到所述第四图像对应的第二网格化装载率矩阵,以及所述第五图像对应的第三网格化装载率矩阵;
第二判定单元,被配置为当所述第二网格化装载率矩阵与所述第三网格化装载率矩阵之间的差异大于第二阈值时,判定发生货物移位。
根据本公开实施例,还包括:
确定所述第二网格化装载率矩阵与所述第三网格化装载率矩阵之间差异最大的分块;
基于所述差异最大的分块估计货物移位的起始位置和终止位置。
第七方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条支持数据处理装置执行上述基于单目相机的装载率估计方法、货物倾倒识别方法和货物移位识别方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。所述电子设备还可以包括通信接口,用于数据传输装置与其他设备或通信网络通信。
第八方面,本公开实施例中提供了一种计算机可读存储介质,用于存储数据处理装置所用的计算机指令,其包含用于执行上述基于单目相机的装载率估计方法、货物倾倒识别方法和货物移位识别方法为数据处理装置所涉及的计算机指令。
根据本公开实施例提供的技术方案,基于单目相机,结合相机标定、图像去畸变、深度估计、点云映射以及三维重建技术估计货仓的实时装载率,估计精度高,硬件自身成本与安装成本都远低于传统的点阵式激光设备,且无需采集并标注大量实时数据进行模型训练,适应性强。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中。
图1示出根据本公开的实施例的基于单目相机的装载率估计方法的流程图。
图2示出根据本公开的实施例的相机安装示意图。
图3根据本公开的实施例的基于单目相机的货物倾倒识别方法的流程图。
图4示出根据本公开的实施例的基于单目相机的货物移位识别方法的流程图。
图5示出根据本公开的实施例的基于单目相机的装载率估计装置的结构框图。
图6示出根据本公开的实施例的基于单目相机的货物倾倒识别装置的结构框图。
图7示出根据本公开的实施例的基于单目相机的货物移位识别装置的结构框图。
图8示出根据本公开的实施例的电子设备的结构框图。
图9示出适于用来实现根据本公开实施例的方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
在本公开中,对用户信息或用户数据的获取均为经用户授权、确认,或由用户主动选择的操作。
上文提及,目前常用的量方估计方案包括基于点阵式激光设备实现和基于图像采集设备的图像分类方法实现。前者设备价格昂贵且安装成本高,后者需要采集大量的实时数据进行模型训练,其样本采集成本和标注成本较高,且选定的图像分类算法对不同场景的适应性不高,容易导致大量的错误分类案例。因此,目前的方案均未得到大规模应用,只存在少量的、固定的、较容易的货运场景中。
鉴于此,本公开实施例提供了一种基于单目相机的装载率估计方法。
图1示出根据本公开的实施例的基于单目相机的装载率估计方法的流程图。如图1所示,所述基于单目相机的装载率估计方法包括以下步骤S101-S105:
在步骤S101中,获取所述单目相机采集的货仓内的第一图像,对所述第一图像进行预处理,得到所述第一图像的第一深度估计图;
在步骤S102中,将所述第一深度估计图映射为第一三维点云;
在步骤S103中,对所述第一三维点云进行三维重建,得到世界坐标系下的第二三维点云;
在步骤S104中,基于所述第二三维点云得到第一二维量方矩阵;
在步骤S105中,基于所述第一二维量方矩阵估计所述货仓的装载率。
在本公开实施例中,所述基于单目相机的装载率估计方法可以应用于封闭或半封闭的货仓,包括但不限于货车货仓、集装箱货仓、仓库货仓。所述货仓的立体形状为长方体,货仓的各个相邻平面垂直,相对平面平行。所述货仓在关闭情况下是封闭的,货仓立体为包围的六面长方体;所述货仓在开启情况下是半封闭的,货仓为一面敞开的长方体。为方便说明与解释,下文以对货车货仓进行装载率估计为例对方案进行阐述。对货车货仓而言,可以约定靠近车头的位置为头部,远离车头的位置为尾部,靠近地面的位置为底部,远离地面的位置为顶部,位于货仓两侧的部分为货仓侧部。相应地,处于头部的货仓面为头部面,其他面相应为尾部面、底部面、顶部面以及侧部面。
在本公开实施例中,所述估计方法可以由一估计装置来执行,该估计装置可以实现为软件,或者实现为软件和硬件的组合,该估计装置可以设置在远程服务器、本地服务器、移动终端中,与单目相机无线连接,接收所述单目相机采集的数据,并在处理后输出至显示装置进行显示。
在本公开实施例中,所述单目相机可以是普通针孔相机、广角相机和鱼眼相机,此处不做限制。所述单目相机的安装需满足如下条件:1)相机安装之后应尽量稳定,避免出现因车辆抖动或者人为触碰等而导致设备偏移或者旋转的情况;2)在相机安装之后,相机的图像采集视野范围,应至少包含货仓的五个平面,且必须包含与相机正对的货仓平面的全部;3)相机的安装位置应至少贴在货仓平面上,相机的最佳安装位置应在货仓内两个平面的相交线上;4)为了使采集图像中的各个平面尽量对称,相机的安装位置应处于货仓平面的中线上,或者在货仓平面相交线上的中点中;5)在满足第2条的情况下,相机应尽可能多地捕捉不与相机相交的平面的视野。其中,2)和3)是安装时必须满足的要求,1)、4)和5)是安装时应尽量满足的要求。
图2示出根据本公开的实施例的相机安装示意图。如图2所示,相机安装在货仓尾部面以及货仓顶部面的相交线的中点上,符合上述安装条件3)和4);图2中的θ为相机的视场角,视场角内的范围为图像采集范围,货仓头部面的所有角点A以及其他四个平面均处在视场角范围内,符合上述安装条件2)。
在本公开实施例中,在获取所述单目相机采集的货仓内的第一图像后,可以首先对所述第一图像进行预处理,以得到所述第一图像的第一深度估计图。其中,所述预处理可以包括去畸变处理和深度估计处理,所述去畸变处理可以是相机标定对应的去畸变处理,所述深度估计处理可以是基于深度估计模型实现的深度估计处理,所述深度估计模型包括但不限于无监督、半监督或者完全监督的,单目的以及双目的深度估计模型。
具体地,可以首先对所述单目相机进行标定,以得到相机的内置参数,所述内置参数包括内置参数矩阵和畸变参数。在本公开实施例中,相机标定可以采用现有的标定方法经过标定素材采集、标定算法计算和确定相机内置参数等步骤实现,所述现有的标定方法可以是张正友标定法,或其他标定方法,此处不做限制。在完成对相机的标定后,基于所述内置参数对所述单目相机采集的图像进行去畸变处理,所述去畸变过程可以由公式I=U(I
在本公开实施例中,所述将所述第一深度估计图映射为第一三维点云是指,利用点云映射技术,基于所述相机内置参数将所述第一深度估计图映射为第一三维点云,所述第一三维点云位于相机坐标系下,在相机坐标系下,相机的光轴与相机坐标系下的Z轴平行,相机的光心为相机坐标系下的原点,相机坐标系的XY平面平行于相机成像平面。其中,所述点云映射技术可以是任意能够将深度估计图转换为三维点云的技术,此处不做限制。
在本公开实施例中,对所述第一三维点云进行三维重建,得到世界坐标系下的第二三维点云,包括:获取所述单目相机采集的货仓空仓图像,对所述空仓图像进行预处理,得到所述空仓图像的第二深度估计图;将所述第二深度估计图映射为第三三维点云;对所述第三三维点云进行点云平面分割,得到相机坐标系下各货仓平面的法向量及对应的截距;基于所述货仓平面的截距和相机光心得到所述世界坐标系的原点;基于所述货仓平面的法向量得到所述世界坐标系的三维坐标向量;基于所述世界坐标系的原点和三维坐标向量得到所述第二三维点云。
具体地,在对所述第一三维点云进行三维重建时,需要首先获取基于货仓空仓图像处理得到的相机坐标系下各货仓平面的法向量及对应的截距,然后基于所述各货仓平面的法向量及对应的截距对相机坐标系下的第一三维点云进行重建,得到世界坐标系下的第二三维点云。其中,所述获取基于货仓空仓图像处理得到的相机坐标系下各货仓平面的法向量及对应的截距,包括:获取所述单目相机采集的货仓空仓图像对所述空仓图像进行预处理,得到所述空仓图像的第二深度估计图,并将所述第二深度估计图映射为第三三维点云,其中,所述预处理步骤以及将深度估计图映射为三维点云的步骤与前述针对第一图像的预处理以及映射方法相同,此处不再赘述;对所述第三三维点云进行点云平面分割,得到相机坐标系下各货仓平面的法向量及对应的截距,其中,所述点云平面分割可以采用随机抽样一致性(Random Sample Consensus,RanSaC)算法、基于临近信息的点云分割算法、基于点云频率的分割算法、最小割算法、超体聚类分割算法和基于凹凸型的分割算法中的任一种实现。下文以RanSaC算法为例,具体说明对所述第三三维点云进行点云平面分割,得到相机坐标系下各货仓平面的法向量及对应的截距的实现方式。
如前所述,第三三维点云是建立在相机坐标系下的,在相机坐标系下,相机的光轴与相机坐标系下的Z轴平行,相机的光心为相机坐标系下的原点,相机坐标系的XY平面平行于相机成像平面。在世界坐标系下,本公开实施例考虑货车平放在地面的情况,此时世界坐标系的Z轴垂直于货仓底面,记货仓底面为货仓底XY平面,货仓顶面为货仓顶XY平面;垂直于地面的靠近货车头部的货仓立面记为货仓XZ面,即世界坐标系的Y轴垂直于货仓XZ平面;与世界坐标系X轴垂直的位于货车两侧的里面分别记为左货仓YZ平面以及右货仓YZ平面。
在货仓内无任何货物的情况下,可对得到的第三三维点云进行平面分割,以得到相机坐标系下货仓顶XY平面、货仓XY底平面、货仓XZ平面、货仓左YZ平面以及货仓右YZ平面的法向量
在获取所述相机坐标系下各货仓平面的法向量及对应的截距后,首先在保持坐标系原点仍处于相机光心的前提下,将所述第二三维点云所处的坐标系从相机坐标系旋转到世界坐标系,然后基于所述截距,将所述第二三维点云所处的坐标系的原点从相机光心平移至世界坐标系的原点。具体地,若用Pc表示相机坐标系下的所述第一三维点云,用Pw表示世界坐标系下的所述第二三维点云,其中三维点云Pw可表示为P
在本公开实施例中,所述基于所述第二三维点云得到第一二维量方矩阵,包括:将所述第二三维点云投影至世界坐标系的XY平面,得到形状为dy*dx的第一二维量方矩阵V,其中,dx为所述第二三维点云中,X轴方向的最大截距,即x坐标的最大值与最小值的差值,dy为所述第二三维点云中,Y轴方向的最大截距,即y坐标的最大值与最小值的差值。其中,当所述第二三维点云的多个点投影至所述XY平面下同一坐标点时,将Z值最大的点投影至所述XY平面下的所述坐标点。
在本公开实施例中,所述基于所述第一二维量方矩阵估计所述货仓的装载率,包括:对所述二维量方矩阵进行均值处理;基于所述均值处理后的二维量方矩阵和截距dz得到所述装载率。在本公开的一个实施方式中,可以根据公式
根据本公开实施例提供的技术方案,基于单目相机,结合相机标定、图像去畸变、深度估计、点云映射以及三维重建技术估计货仓的实时装载率,估计精度高,硬件自身成本与安装成本都远低于传统的点阵式激光设备,且无需采集并标注大量实时数据进行模型训练,适应性强。
上述方式估计的是货仓内的整体装载率,在实际应用中,还可以对货仓空间进行水平方向或垂直方向分块划分,然后估计货仓的网格化装载率。在本公开实施例中,所述基于单目相机的装载率估计方法还可以包括:将货仓空间在水平方向或垂直方向进行分块;在各个分块中估计所述货仓的装载率,得到所述货仓的第一网格化装载率矩阵。具体地,以水平方向分块为例,首先将货仓的俯视图等比例地划分为M*N块,其中M表示分块后的列数,N表示分块后的行数,分块后的货仓空间相等,货仓整个空间由分块之后的M*N块柱状空间组成。在此基础上,采用前述装载率估计方法,可以在货仓装货后,实时估计每个柱状空间的装载率。
图3示出根据本公开的实施例的基于单目相机的货物倾倒识别方法的流程图。如图3所示,所述基于单目相机的货物倾倒识别方法包括以下步骤S301–S303:
在步骤S301中,获取所述单目相机采集的货仓内的第二图像和第三图像;
在步骤S302中,采用如图1所示的基于单目相机的装载率估计方法得到所述第二图像对应的第二二维量方矩阵,以及所述第三图像对应的第三二维量方矩阵;
在步骤S303中,当所述第二二维量方矩阵与所述第三二维量方矩阵之间的差异大于第一阈值时,判定发生货物倾倒。
在本公开实施例中,所述第二图像和第三图像可以是连续时间下的不同帧图像,所述第一阈值可以根据满载时得到的二维量方矩阵确定,若所述满载时得到的二维量方矩阵中所有元素的和为S,所述第一阈值的取值范围可以为0.05*S至0.1*S。
根据本公开实施例提供的技术方案,通过对比连续时间下不同帧图像对应的二维量方矩阵信息,判断货物是否发生倾倒,实现方式简单、成本低,判断准确度高,适应性强。
图4示出根据本公开的实施例的基于单目相机的货物移位识别方法的流程图。如图4所示,所述基于单目相机的货物移位识别方法包括以下步骤S401–S403:
在步骤S401中,获取所述单目相机采集的货仓内的第四图像和第五图像;
在步骤S402中,采用如图1所示的基于单目相机的装载率估计方法得到所述第四图像对应的第二网格化装载率矩阵,以及所述第五图像对应的第三网格化装载率矩阵;
在步骤S403中,当所述第二网格化装载率矩阵与所述第三网格化装载率矩阵之间的差异大于第二阈值时,判定发生货物移位。
在本公开实施例中,所述第二阈值可以根据网格化装载率矩阵的尺寸确定,若所述网格化装载率矩阵的宽为W,高为H,则所述第二阈值的取值范围可以为1/(W*H)至2/(W*H)。在本公开实施例中,所述货物移位识别方法还可以包括:确定所述第二网格化装载率矩阵与所述第三网格化装载率矩阵之间差异最大的分块;基于所述差异最大的分块估计货物移位的起始位置和终止位置。具体地,假设所述第四图像的拍摄时刻遭遇所述第五图像的拍摄时刻,可以首先确定所述差异最大的分块,然后确定所述第二网格化装载率矩阵所述差异最大的分块对应的位置为货物平移的起始位置,所述第三网格化装载率矩阵所述差异最大的分块对应的位置为货物平移的终止位置。
根据本公开实施例提供的技术方案,通过对比单目相机先后采集的两幅图像对应的网格化装载率矩阵,判断货物是否发生位移,并基于所述两幅图像对应的网格化装载率矩阵估计货物移位的起始位置和终止位置,实现方式简单、成本低,判断准确度高,适应性强。
图5示出根据本公开的实施例的基于单目相机的装载率估计装置的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
如图5所示,所述基于单目相机的装载率估计装置500包括:
第一获取单元501,被配置为获取所述单目相机采集的货仓内的第一图像,对所述第一图像进行预处理,得到所述第一图像的第一深度估计图;
映射单元502,被配置为将所述第一深度估计图映射为第一三维点云;
重建单元503,被配置为对所述第一三维点云进行三维重建,得到世界坐标系下的第二三维点云;
投影单元504,被配置为基于所述第二三维点云得到第一二维量方矩阵;
估计单元505,被配置为基于所述第一层网络组件至第N层网络组件,确定所述网络。
在本公开实施例中,在获取所述单目相机采集的货仓内的第一图像后,可以首先对所述第一图像进行预处理,以得到所述第一图像的第一深度估计图。其中,所述预处理可以包括去畸变处理和深度估计处理,所述去畸变处理可以是相机标定对应的去畸变处理,所述深度估计处理可以是基于深度估计模型实现的深度估计处理,所述深度估计模型包括但不限于无监督、半监督或者完全监督的,单目的以及双目的深度估计模型。
具体地,可以首先对所述单目相机进行标定,以得到相机的内置参数,所述内置参数包括内置参数矩阵和畸变参数。在本公开实施例中,相机标定可以采用现有的标定方法经过标定素材采集、标定算法计算和确定相机内置参数等步骤实现,所述现有的标定方法可以是张正友标定法,或其他标定方法,此处不做限制。在完成对相机的标定后,基于所述内置参数对所述单目相机采集的图像进行去畸变处理,所述去畸变过程可以由公式I=U(I0)表示,其中,I为输出的二维去畸变图像,U为去畸变模型,I0为输入的原始二维图像,所述去畸变模型可以是多项式去畸变模型或其他模型,此处不做限制。在获取所述去畸变图像后,再基于公式D=F(I)完成深度估计,其中,D为输出的深度估计图,F为深度估计模型。对于去畸变图像上的任意点p,其坐标为[u,v]T,在深度估计图D上存在相同点坐标[u,v]T,其值为d,d为深度距离。采用上述方法,即可实现对第一图像的预处理,得到所述第一图像的第一深度估计图。
在本公开实施例中,所述将所述第一深度估计图映射为第一三维点云是指,利用点云映射技术,基于所述相机内置参数将所述第一深度估计图映射为第一三维点云,所述第一三维点云位于相机坐标系下,在相机坐标系下,相机的光轴与相机坐标系下的Z轴平行,相机的光心为相机坐标系下的原点,相机坐标系的XY平面平行于相机成像平面。其中,所述点云映射技术可以是任意能够将深度估计图转换为三维点云的技术,此处不做限制。
在本公开实施例中,对所述第一三维点云进行三维重建,得到世界坐标系下的第二三维点云,包括:获取所述单目相机采集的货仓空仓图像,对所述空仓图像进行预处理,得到所述空仓图像的第二深度估计图;将所述第二深度估计图映射为第三三维点云;对所述第三三维点云进行点云平面分割,得到相机坐标系下各货仓平面的法向量及对应的截距;基于所述货仓平面的截距和相机光心得到所述世界坐标系的原点;基于所述货仓平面的法向量得到所述世界坐标系的三维坐标向量;基于所述世界坐标系的原点和三维坐标向量得到所述第二三维点云。
具体地,在对所述第一三维点云进行三维重建时,需要首先获取基于货仓空仓图像处理得到的相机坐标系下各货仓平面的法向量及对应的截距,然后基于所述各货仓平面的法向量及对应的截距对相机坐标系下的第一三维点云进行重建,得到世界坐标系下的第二三维点云。其中,所述获取基于货仓空仓图像处理得到的相机坐标系下各货仓平面的法向量及对应的截距,包括:获取所述单目相机采集的货仓空仓图像对所述空仓图像进行预处理,得到所述空仓图像的第二深度估计图,并将所述第二深度估计图映射为第三三维点云,其中,所述预处理步骤以及将深度估计图映射为三维点云的步骤与前述针对第一图像的预处理以及映射方法相同,此处不再赘述;对所述第三三维点云进行点云平面分割,得到相机坐标系下各货仓平面的法向量及对应的截距,其中,所述点云平面分割可以采用随机抽样一致性(Random Sample Consensus,RanSaC)算法、基于临近信息的点云分割算法、基于点云频率的分割算法、最小割算法、超体聚类分割算法和基于凹凸型的分割算法中的任一种实现。下文以RanSaC算法为例,具体说明对所述第三三维点云进行点云平面分割,得到相机坐标系下各货仓平面的法向量及对应的截距的实现方式。
如前所述,第三三维点云是建立在相机坐标系下的,在相机坐标系下,相机的光轴与相机坐标系下的Z轴平行,相机的光心为相机坐标系下的原点,相机坐标系的XY平面平行于相机成像平面。在世界坐标系下,本公开实施例考虑货车平放在地面的情况,此时世界坐标系的Z轴垂直于货仓底面,记货仓底面为货仓底XY平面,货仓顶面为货仓顶XY平面;垂直于地面的靠近货车头部的货仓立面记为货仓XZ面,即世界坐标系的Y轴垂直于货仓XZ平面;与世界坐标系X轴垂直的位于货车两侧的里面分别记为左货仓YZ平面以及右货仓YZ平面。
在货仓内无任何货物的情况下,可对得到的第三三维点云进行平面分割,以得到相机坐标系下货仓顶XY平面、货仓XY底平面、货仓XZ平面、货仓左YZ平面以及货仓右YZ平面的法向量
在获取所述相机坐标系下各货仓平面的法向量及对应的截距后,首先在保持坐标系原点仍处于相机光心的前提下,将所述第二三维点云所处的坐标系从相机坐标系旋转到世界坐标系,然后基于所述截距,将所述第二三维点云所处的坐标系的原点从相机光心平移至世界坐标系的原点。
在本公开实施例中,所述基于所述第二三维点云得到第一二维量方矩阵,包括:将所述第二三维点云投影至世界坐标系的XY平面,得到形状为dy*dx的第一二维量方矩阵V,其中,dx为所述第二三维点云中,X轴方向的最大截距,即x坐标的最大值与最小值的差值,dy为所述第二三维点云中,Y轴方向的最大截距,即y坐标的最大值与最小值的差值。其中,当所述第二三维点云的多个点投影至所述XY平面下同一坐标点时,将Z值最大的点投影至所述XY平面下的所述坐标点。
在本公开实施例中,所述基于所述第一二维量方矩阵估计所述货仓的装载率,包括:对所述二维量方矩阵进行均值处理;基于所述均值处理后的二维量方矩阵和截距dz得到所述装载率。在本公开的一个实施方式中,可以根据公式
根据本公开实施例提供的技术方案,基于单目相机,结合相机标定、图像去畸变、深度估计、点云映射以及三维重建技术估计货仓的实时装载率,估计精度高,硬件自身成本与安装成本都远低于传统的点阵式激光设备,且无需采集并标注大量实时数据进行模型训练,适应性强。
上述方式估计的是货仓内的整体装载率,在实际应用中,还可以对货仓空间进行水平方向或垂直方向分块划分,然后估计货仓的网格化装载率。在本公开实施例中,所述基于单目相机的装载率估计方法还可以包括:将货仓空间在水平方向或垂直方向进行分块;在各个分块中估计所述货仓的装载率,得到所述货仓的第一网格化装载率矩阵。具体地,以水平方向分块为例,首先将货仓的俯视图等比例地划分为M*N块,其中M表示分块后的列数,N表示分块后的行数,分块后的货仓空间相等,货仓整个空间由分块之后的M*N块柱状空间组成。在此基础上,采用前述装载率估计方法,可以在货仓装货后,实时估计每个柱状空间的装载率。
图6示出根据本公开的实施例的基于单目相机的货物倾倒识别装置的结构框图。
其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
如图6所示,所述基于单目相机的货物倾倒识别装置600包括:
第二获取单元601,被配置为获取所述单目相机采集的货仓内的第二图像和第三图像;
第一确定单元602,被配置为采用如图1所示的基于单目相机的装载率估计方法得到所述第二图像对应的第二二维量方矩阵,以及所述第三图像对应的第三二维量方矩阵;
第一判定单元603,被配置为当所述第二二维量方矩阵与所述第三二维量方矩阵之间的差异大于第一阈值时,判定发生货物倾倒。
根据本公开实施例提供的技术方案,通过对比连续时间下不同帧图像对应的二维量方矩阵信息,判断货物是否发生倾倒,实现方式简单、成本低,判断准确度高,适应性强。
图7示出根据本公开的实施例的基于单目相机的货物移位识别装置的结构框图。
其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
如图7所示,所述基于单目相机的货物移位识别装置700包括:
第三获取单元701,被配置为获取所述单目相机采集的货仓内的第四图像和第五图像;
第二确定单元702,被配置为采用如图1所示的基于单目相机的装载率估计方法得到所述第四图像对应的第二网格化装载率矩阵,以及所述第五图像对应的第三网格化装载率矩阵;
第二判定单元703,被配置为当所述第二网格化装载率矩阵与所述第三网格化装载率矩阵之间的差异大于第二阈值时,判定发生货物移位。
在本公开实施例中,所述货物移位识别方法还可以包括:确定所述第二网格化装载率矩阵与所述第三网格化装载率矩阵之间差异最大的分块;基于所述差异最大的分块估计货物移位的起始位置和终止位置。具体地,假设所述第四图像的拍摄时刻遭遇所述第五图像的拍摄时刻,可以首先确定所述差异最大的分块,然后确定所述第二网格化装载率矩阵所述差异最大的分块对应的位置为货物平移的起始位置,所述第三网格化装载率矩阵所述差异最大的分块对应的位置为货物平移的终止位置。
根据本公开实施例提供的技术方案,通过对比单目相机先后采集的两幅图像对应的网格化装载率矩阵,判断货物是否发生位移,并基于所述两幅图像对应的网格化装载率矩阵估计货物移位的起始位置和终止位置,实现方式简单、成本低,判断准确度高,适应性强。
本公开还公开了一种电子设备,图8示出根据本公开的实施例的电子设备的结构框图。
如图8所示,所述电子设备包括存储器和处理器,其中,存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现根据本公开的实施例的方法。
图9示出适于用来实现根据本公开实施例的方法的计算机系统的结构示意图。
如图9所示,计算机系统包括处理单元,其可以根据存储在只读存储器(ROM)中的程序或者从存储部分加载到随机访问存储器(RAM)中的程序而执行上述实施例中的各种处理。在RAM中,还存储有计算机系统操作所需的各种程序和数据。处理单元、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
以下部件连接至I/O接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。其中,所述处理单元可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。
特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括计算机指令,该计算机指令被处理器执行时实现上文所述的方法步骤。在这样的实施例中,该计算机程序产品可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
- 基于单目深度相机的虚拟试衣方法及装置
- 一种基于单目面阵相机的桥梁缺陷检测装置及检测方法
- 一种基于单目相机的物体位姿估计方法、装置及设备
- 基于单目深度估计的深度图压缩方法、装置、设备及介质