一种基于双目视觉的实时土方量计算方法
文献发布时间:2023-06-19 11:02:01
技术领域
本发明属于挖掘机技术领域,具体涉及一种基于双目视觉的实时土方量计算方法。
背景技术
挖掘机是目前工程中广泛使用的一种机械。在工程作业中,需要对挖掘机工作量的多少进行测量和记录,关系到工程费用结算和工程方案选优。目前对于不规则土方的测量是比较困难的,而且大多土方测量需要人工测量,没有一种基于视觉的智能化方式对挖掘机工作量进行实时测量计算。
发明内容
针对上述问题,本发明提出一种基于双目视觉的实时土方量计算方法,能够实时的对挖掘机铲斗内土方进行测量,然后计算出挖掘机工作量,减少了人力成本,也方便于工程费用结算和工程方案选优。
为了实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
一种基于双目视觉的实时土方量计算方法,包括:
获取相机坐标系相对于世界坐标系的旋转矩阵R1和平移矩阵T1;
基于由双目相机拍摄的挖掘机铲斗图片,识别出挖掘机铲斗边框范围内区域;
针对所述挖掘机铲斗边框范围内区域,计算出挖掘机铲斗边缘的在世界坐标系下的三维坐标,将每条边上的点进行直线和平面拟合得到一个矩形平面,并建立铲斗坐标系;
计算出铲斗坐标系相对于世界坐标系的旋转矩阵R2和平移矩阵T2;
计算出挖掘机铲斗图片中像素点到相机坐标系下的三维坐标,进而利用坐标转换公式、旋转矩阵R1和平移矩阵T1,计算出该像素点在世界坐标系下的三维坐标,获得铲斗内土方表面每一点的世界坐标,再基于所述旋转矩阵R2和平移矩阵T2,计算出每个点在铲斗坐标系下的三维坐标;
利用每个点的三维坐标,建立深度图;
基于所述深度图,得到每次挖掘机铲斗内土方的总体积;
累计计算挖掘机铲斗每次挖掘的土方体积,得到挖掘机的实时工作量。
作为本发明的进一步改进,所述挖掘机铲斗边框范围内区域的识别方法为:
将由双目相机拍摄的挖掘机铲斗图片输入至预先训练好的YOLOV3检测模型;
所述YOLOV3检测模型输出挖掘机铲斗边框范围内区域。
作为本发明的进一步改进,所述YOLOV3检测模型通过以下步骤训练获得:
拍摄若干张挖掘机铲斗图片,并用labelme对图片中的铲斗做标注;
利用标注过的图片训练YOLOV3网络,获得YOLOV3检测模型。
作为本发明的进一步改进,所述像素点到相机坐标系下的三维坐标的计算方法为:
基于所述视差图和相机内参,计算出像素点到相机坐标系下的三维坐标。
作为本发明的进一步改进,每个点在铲斗坐标系下的三维坐标计算公式为:
x=X
y=Y
z=Z
其中,X
作为本发明的进一步改进,所述每次挖掘机铲斗内土方的总体积的计算方法包括:
设置一个m*m的滑动窗口,令该滑动窗口从铲斗坐标系的原点O开始依次遍历整个深度图;
在滑动窗口遍历深度图时,每个位置对应一个棱柱;
将滑动窗口四个顶点在铲斗坐标系下的Z坐标求平均值作为每个棱柱的高;
基于公式V
将所有棱柱进行积分得到体积V1;
在将V1加上铲斗的内体积V2得到每次挖掘机铲斗内土方的总体积Vi。
作为本发明的进一步改进,所述Z坐标求平均值的计算公式为:
其中,z
作为本发明的进一步改进,所述挖掘机的实时工作量的计算公式为:
V
其中,V
作为本发明的进一步改进,所述误差修正系数k通过多次进行误差测量获得。
与现有技术相比,本发明的有益效果:
本发明提供了一种基于双目视觉的实时土方量计算方法,能够实时的对挖掘机铲斗内土方进行测量,然后计算出挖掘机工作量,减少了人力成本,也方便于工程费用结算和工程方案选优。
附图说明
为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明,其中:
图1为本发明一种实施例的基于双目视觉的实时土方量计算方法的流程示意图;
图2为本发明一种实施例的铲斗坐标系的示意图;
图3为本发明一种实施例的铲斗的深度图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明的保护范围。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明提供了一种基于双目视觉的实时土方量计算方法,包括以下步骤:
(1)获取相机坐标系相对于世界坐标系的旋转矩阵R1和平移矩阵T1;
(2)基于由双目相机拍摄的挖掘机铲斗图片,识别出挖掘机铲斗边框范围内区域;
(3)针对所述挖掘机铲斗边框范围内区域,计算出挖掘机铲斗边缘的在世界坐标系下的三维坐标,将每条边上的点进行直线和平面拟合得到一个矩形平面,并建立铲斗坐标系;
(4)计算出铲斗坐标系相对于世界坐标系的旋转矩阵R2和平移矩阵T2;
(5)计算出挖掘机铲斗图片中像素点到相机坐标系下的三维坐标,进而利用坐标转换公式、旋转矩阵R1和平移矩阵T1,计算出该像素点在世界坐标系下的三维坐标,获得铲斗内土方表面每一点的世界坐标,再基于所述旋转矩阵R2和平移矩阵T2,计算出每个点在铲斗坐标系下的三维坐标;
(6)利用每个点的三维坐标,建立深度图;
(7)基于所述深度图,得到每次挖掘机铲斗内土方的总体积;
(8)累计计算挖掘机铲斗每次挖掘的土方体积,得到挖掘机的实时工作量。
在本发明的一种具体实施例中,所述挖掘机铲斗边框范围内区域的识别方法为:
将由双目相机拍摄的挖掘机铲斗图片输入至预先训练好的YOLOV3检测模型;
所述YOLOV3检测模型输出挖掘机铲斗边框范围内区域。
其中,所述YOLOV3检测模型通过以下步骤训练获得:
拍摄若干张挖掘机铲斗图片,并用labelme对图片中的铲斗做标注;
利用标注过的图片训练YOLOV3网络,获得YOLOV3检测模型。
在本发明的一种具体实施例中,所述像素点到相机坐标系下的三维坐标的计算方法为:
基于所述视差图和相机内参,计算出像素点到相机坐标系下的三维坐标,其中所述视差图是通过SGBM算法(现有公开技术)进行立体匹配获得的。
在本发明的一种具体实施例中,每个点在铲斗坐标系下的三维坐标计算公式为:
x=X
y=Y
z=Z
其中,X
在本发明的一种具体实施例中,所述每次挖掘机铲斗内土方的总体积的计算方法包括:
设置一个m*m的滑动窗口,令该滑动窗口从铲斗坐标系的原点O开始依次遍历整个深度图;
在滑动窗口遍历深度图时,每个位置对应一个棱柱;
将滑动窗口四个顶点在铲斗坐标系下的Z坐标求平均值作为每个棱柱的高;
基于公式V
将所有棱柱进行积分得到体积V1;
在将V1加上铲斗的内体积V2得到每次挖掘机铲斗内土方的总体积Vi。
作为本发明的进一步改进,所述Z坐标求平均值的计算公式为:
其中,z
在本发明的一种具体实施例中,所述挖掘机的实时工作量的计算公式为:
V
其中,V
在本发明的一种具体实施例中,所述挖掘机铲斗内土方量计算过程具体为:
(1)基准平面获取:
将世界坐标系原点设置在挖掘机铲斗的A点(如图2所示),在挖掘机铲斗边框范围内区域(包括边框),利用双目相机计算获取挖掘机铲斗边缘的三维坐标(世界坐标系下)。将每条边上的点进行直线和平面拟合,即可得到一个矩形平面S
(2)土方的三维坐标获取:
抓取到的铲斗内土方表面每一点的世界坐标(X
(3)土方的体积计算:
利用(2)得到的每个点的坐标(x,y,z),可以建立一个深度图(如图3),设置一个m*m的滑动窗口,令该滑动窗口从铲斗坐标原点O开始,从左到右依次遍历整个深度图。将滑动窗口遍历深度图时,每个位置可以对应一个如图2所示的棱柱;将滑动窗口四个顶点坐标的Z坐标(铲斗坐标系)求平均值
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
- 一种基于双目视觉的实时土方量计算方法
- 一种基于双目视觉的大型浮空器体积实时监测方法