两车测距方法、测距设备、系统及计算机可读存储介质与流程

文档序号:29317013发布日期:2022-03-19 21:59阅读:112来源:国知局
两车测距方法、测距设备、系统及计算机可读存储介质与流程

1.本发明涉及数字图像处理的技术领域,具体而言,涉及一种两车测距方法、测距设备、系统及计算机可读存储介质。


背景技术:

2.图像处理是无人驾驶技术中极其重要的一部分,无人驾驶设备通过图像处理结果来进行控制、事件处理等动作。目标检测作为图像处理中的重要一环,其任务是找出图像中所有感兴趣的目标,确定他们的位置和大小。目前基于双目相机目标检测定位方法有传统目标检测和深度学习目标检测方法。
3.传统目标检测方法分为三部分:区域选择、特征提取、分类器;深度学习目标检测分为两类,一类是two stage的方法,另一类是one stage的方法。但是,在无人农业生产中,通常有两辆及以上的无人车辆相互配合工作的情况,如收获车和转粮车,若使用现有的目标检测方法以及gps定位方法无法准确获知配合工作的两个车辆之间的距离是否合适,导致控制效果较差。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种两车测距方法、测距设备、系统及计算机可读存储介质,其能够改善现有的目标检测方法无法获知配合工作的两个车辆之间的距离是否合适,而导致控制效果差的问题。
5.第一方面,本发明提供一种两车测距方法,采用如下的技术方案。
6.一种两车测距方法,应用于测距设备,所述测距设备上搭载有双目相机,所述测距设备设置于第一车辆,所述第一车辆与第二车辆配合工作,所述方法包括:
7.实时获取所述双目相机拍摄的所述第二车辆的字符图像;
8.获取所述字符图像的点云图;
9.计算出所述点云图的中心坐标,并根据所述中心坐标计算出所述第一车辆和所述第二车辆之间的车距。
10.进一步地,所述获取所述字符图像的点云图的步骤,包括:
11.采用目标检测网络模型检测所述字符图像中字符的位置,得到所述字符的坐标信息,根据所述坐标信息得到字符区域;
12.截取所述字符区域的rgb图和深度图,并根据所述rgb图和所述深度图生成点云图。
13.进一步地,所述目标检测网络模型包括yolov5网络模型,所述采用目标检测网络模型检测所述字符图像中字符的位置,得到所述字符的坐标信息,根据所述坐标信息得到字符区域的步骤,包括:
14.采用将所述字符图像分割成包括s*s个单元格的网格;
15.基于每个所述单元格预测中心点落在该单元格内的字符的多个边界框,得到每个
所述边界框的预测值,所述预测值包括坐标信息和置信度;
16.基于所述置信度,根据所有所述边界框的预测值确定出目标坐标信息;
17.根据所述目标坐标信息,得到角坐标,以根据所述角坐标确定字符区域。
18.进一步地,所述基于所述置信度,根据所有所述边界框的预测值确定出目标坐标信息的步骤,包括:
19.将所有所述边界框的置信度进行比较,将置信度最大的边界框确定为比较框;
20.采用交并比损失函数,依次计算出所述比较框与剩余的所述边界框的交并比值;
21.将每个所述交并比值与预设阈值进行比较,若无所述交并比值大于所述预设阈值,则将所述比较框的坐标信息作为目标坐标信息;
22.否则,将所述比较框剔除,并在剩余所述边界框中确定出新的比较框,直至得到目标坐标信息。
23.进一步地,所述根据所述目标坐标信息,得到角坐标的步骤,包括:
24.基于所述目标坐标信息,采用坐标计算公式,得到角坐标,所述角坐标包括左上角坐标(u0,v0)、右上角坐标(u1,v1)、右下角坐标(u2,v2)和左下角坐标(u3,v3);
25.所述坐标计算公式包括:
[0026][0027]
其中,(x,y,w,h)为目标坐标信息,x表示字符区域中心点的横坐标,y表示字符区域中心点的纵坐标,w表示字符区域的宽度,h表示字符区域的高度。
[0028]
进一步地,所述根据所述rgb图和所述深度图生成点云图的步骤,包括:
[0029]
根据所述rgb图得到像素坐标,根据所述深度图得到深度数据;
[0030]
基于所述像素坐标和所述深度数据,结合所述双目相机参数,采用空间点坐标计算公式,得到空间点坐标;
[0031]
根据所述空间点坐标生成点云图;
[0032]
所述空间点坐标计算公式包括:
[0033][0034]
其中,c
x
为双目相机横轴上的光圈中心,cy为双目相机纵轴上的光圈中心,f
x
为双目相机横轴上的焦距,fy为双目相机纵轴上的焦距,s为深度图的缩放因子,(u,v)为像素坐
标,d为深度数据。
[0035]
进一步地,所述计算出所述点云图的中心坐标的步骤,包括;
[0036]
基于所述字符区域的四个空间点坐标,采用中心点计算公式,计算出所述点云图的中心坐标;
[0037]
所述中心点计算公式包括:
[0038][0039]
其中,(x
mid
,y
mid
,z
mid
)为点云图的中心点坐标,(x0,y0,z0),(x1,y1,z1),(x2,y2,z2)和(x3,y3,z3)为字符区域的四个空间点坐标。
[0040]
进一步地,所述根据所述中心坐标计算出所述第一车辆和所述第二车辆之间的车距的步骤,包括:
[0041]
以所述第一车辆为坐标原点,基于所述坐标原点与所示中心坐标之间的距离,采用欧式距离公式,得到所述第一车辆和所述第二车辆之间的车距。
[0042]
进一步地,所述第二车辆车身上设置有多个定位字符,所述第一车辆匹配有多个相对停靠位置,多个所述定位字符与多个所述相对停靠位置一一对应,所述方法还包括:
[0043]
针对每一个所述定位字符,通过获取所述第二车辆车身上该定位字符的字符图像,来得到所述第一车辆和第二车辆关于该定位字符的车距,根据该车距与预设值,来判断所述第一车辆是否停靠于该定位字符所对应的所述相对停靠位置。
[0044]
进一步地,所述根据该车距与预设值,来判断所述第一车辆是否停靠于该定位字符所对应的所述相对停靠位置的步骤,包括:
[0045]
判断所述车距是否位于预设值内,若是,则给所述第一车辆发送工作指令,否则,给所述第一车辆发送提醒指令;
[0046]
所述工作指令指示所述第一车辆停靠于定位字符所对应的所述相对停靠位置,所述提醒指令指示所述第一车辆未停靠于定位字符所对应的所述相对停靠位置。
[0047]
进一步地,所述目标检测网络模型包括r-cnn模块或faster rcnn模型。
[0048]
第二方面,本发明提供一种测距设备,采用如下的技术方案。
[0049]
一种测距设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现如第一方面所述的方法。
[0050]
第三方案,本发明提供一种测距系统,采用如下的技术方案。
[0051]
一种测距系统,包括第一车辆和第二车辆,所述第一车辆包括测距设备,所述测距设备实现如第一方面所述的方法。
[0052]
第四方面,本发明提供一种计算机可读存储介质,采用如下的技术方案。
[0053]
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法。
[0054]
本发明实施方式提供的两车测距方法、测距设备、系统及计算机可读存储介质,基于双目相机拍摄的第二车辆的三维字符图像,进而获取字符图像的点云图,通过点云图的中心坐标计算出第一车辆和第二车辆的车距,从而能够实时且更为准确地得到第一车辆和第二车辆的车距,以能够改善现有的目标检测方法无法获知配合工作的两个车辆之间的距离是否合适,而导致控制效果差的问题。
附图说明
[0055]
为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施方式,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0056]
图1示出了本发明实施方式提供的收获系统的方框示意图。
[0057]
图2示出了图1中第一车辆和第二车辆配合工作时的结构示意图。
[0058]
图3示出了本发明实施方式提供的测距设备的方框示意图。
[0059]
图4示出了本发明实施方式提供的两车测距方法的流程示意图。
[0060]
图5示出了本发明实施方式提供的第一车辆和第二车辆配合卸粮的流程示意图。
[0061]
图6示出了本发明实施方式的两车测距方法的另一种流程示意图。
[0062]
图7示出了图6中步骤s103-1的部分子步骤的流程示意图。
[0063]
图8示出了图7中步骤s203的部分子步骤的流程示意图。
[0064]
图9示出了图6中步骤s103-2的部分子步骤的流程示意图。
[0065]
图10示出了本发明实施方式提供的测距装置的方框示意图。
[0066]
图标:10-收获系统;100-第一车辆;110-第二车辆;120-测距设备;130-双目相机;140-控制设备;150-通信模块;160-处理器;170-存储器;190-测距装置;200-图像采集模块;210-检测模块;220-合并模块;230-计算模块。
具体实施方式
[0067]
下面将结合本发明实施方式中附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。通常在此处附图中描述和示出的本发明实施方式的组件可以以各种不同的配置来布置和设计。
[0068]
因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明的实施方式,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施方式,都属于本发明保护的范围。
[0069]
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的
要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0070]
无人农业生产是现代农业的一个重要发展方向,站在更长远的视角看,人口老龄化带来的劳动力流失,对于劳动力密集型的传统农业无疑是极大的挑战。无人农业生产用智能化的机器人和管理系统帮助农业生产管理者高效地进行生产,通过对农业生产各环节的深入洞察以及对无人驾驶、人工智能、物联网在不同农业场景创新性应用的持续探索,将科技赋能农业,帮助农户降本增效,解放农户双手。
[0071]
传统目标检测方法分为三部分:区域选择、特征提取、分类器;深度学习目标检测分为两类,一类是two stage的方法,是把整个分为两部分,生成候选框和识别框内物体;另一类是one stage的方法,把整个流程统一在一起,直接给出检测结果,主要包含yolo、ssd系列。
[0072]
在无人农业生产中,通常有两辆及以上的无人车辆相互配合工作的情况,如收获车和转粮车,收获车进行稻谷收割,并在收割完一定量的稻谷之后将自身装有的稻谷卸到转粮车上,转粮车接收完稻谷后进行稻谷运输。收获车将稻谷卸到转粮车上时,对两车之间的车距具有严格的要求,即需要在预设值内,若车距超过预设值,则稻谷将泄漏。目前,通常采用传统目标检测方法或gps定位来确定收获车和转粮车间的车距,但是传统目标检测方法和gps定位的方法,定位精度较差,无法准确获知配合工作的两个车辆之间的距离是否合适,导致控制效果较差。
[0073]
基于此,本发明提供一种两车测距方法、测距设备、系统及计算机可读存储介质。
[0074]
请参照图1和图2,本发明提供的两车测距方法,可以应用于收获系统10中,该收获系统10包括第一车辆100、第二车辆110、双目相机130和测距设备120,双目相机130搭载于测距设备120上,册数设备设置于第一车辆100,第一车辆100和第二车辆110配合工作,且第一车辆100和第二车辆110上均设置有控制设备140,第一车辆100上的控制设置与测距设备120以及第二车辆110上的控制设备140通信连接,测距设备120与双目相机130通信连接。具体地,第一车辆100可以为收获车,第二车辆110可以为转粮车。
[0075]
请参照图3,是测距设备120的方框示意图。测距设备120包括存储器170、处理器160及通信模块150。存储器170、处理器160以及通信模块150各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
[0076]
其中,存储器170用于存储程序或者数据。所述存储器170可以是,但不限于,随机存取存储器170(random access memory,ram),只读存储器170(read only memory,rom),可编程只读存储器170(programmable read-only memory,prom),可擦除只读存储器170(erasable programmable read-only memory,eprom),电可擦除只读存储器170(electric erasable programmable read-only memory,eeprom)等。
[0077]
处理器160用于读/写存储器170中存储的数据或程序,并执行相应地功能。
[0078]
通信模块150用于通过网络建立测距设备120与其它通信终端之间的通信连接,并用于通过网络收发数据。
[0079]
具体地,存储器170存储有能够被处理器160执行的机器可执行指令,处理器160可执行存储器170中的机器可执行指令以实现本发明提供的两车测距方法。
[0080]
应当理解的是,图3所示的结构仅为测距设备120的结构示意图,所述测距设备120还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。
[0081]
在一种实施方式中,请参照图4,为本发明提供的一种两车测距方法。本实施方式主要以该方法用于图1中的测距设备120来举例说明。可以理解的是,该方法也可以用于服务器,还可以应用于终端。本实施方式中,该方法包括以下步骤。
[0082]
s101,实时获取双目相机拍摄的第二车辆的字符图像。
[0083]
具体地,第一车辆100上的控制设备140向测距设备120测距指令,测距设备120响应测距指令,并控制双目相机130实时拍摄第二车辆110的字符图像,测距设备120实时获取双目相机130拍摄的字符图像。
[0084]
此外,公知的,双目相机130通过三维扫描进行拍摄,且拍摄得到的图像为三维图像,因此字符图像是三维图像,即是为三维矩阵的图像。
[0085]
s103,获取字符图像的点云图。
[0086]
具体地,测距设备120从字符图像中获取点云图。
[0087]
s105,计算出点云图的中心坐标,并根据中心坐标计算出第一车辆和第二车辆之间的车距。
[0088]
具体地,测距设备120计算出点云图的中心坐标,并根据中心坐标计算出第一车辆100和第二车辆110之间的车距。
[0089]
上述两车测距方法中,基于双目相机130拍摄的第二车辆110车身的三维字符图像,进而获取字符图像的点云图,通过点云图的中心坐标计算出第一车辆100和第二车辆110的车距,从而能够实时且更为准确地得到第一车辆100和第二车辆110的车距,以能够改善现有的目标检测方法无法获知配合工作的两个车辆之间的距离是否合适,而导致控制效果差的问题。
[0090]
在转粮车和收获车的配合工作中,收获车一般需要移动多次,转换位置向转粮车卸稻谷,来使转粮车承载箱各个位置装量均匀。对于此,第二车辆110车身上可以设置有多个定位字符,第一车辆100匹配有多个相对停靠位置,多个定位字符和多个相对停靠位置一一对应,并且多个定位字符沿承载箱的长度方向均匀设置。
[0091]
在此基础上,该两车测距方法可以包括:针对每一个定位字符,通过获取第二车辆110车身上该定位字符的字符图像,来得到第一车辆100和第二车辆110关于该定位字符的车距,根据该车距与预设值,来判断第一车辆100是否停靠于该定位字符所对应的相对停靠位置。
[0092]
具体地,参照图5,假设定位字符的个数为4,l为预设值,d为车距。当第一车辆100准备卸粮时,第一车辆100靠近第二车辆110第一个定位字符的位置,测距设备120开始执行步骤s101-s105,得到第一个定位字符的车距,即第一车辆100和第二车辆110关于第一个定位字符的车距。判断第一个定位字符的车距是否位于预设值内,则给第一车辆100发送工作指令,否则给第一车辆100发送提醒指令。即d位于l内发送提醒指令。
[0093]
第一车辆100接收到提醒指令后,会调整自身的位置,并重复步骤s101-s105,继续得到第一个定位字符的车距,直至接收到工作指令。
[0094]
第一车辆100接收到工作指令后,开始向第二车辆110卸粮。卸粮结束后,请继续参
照图5,第一车辆100移动至靠近第二车辆110车身上第二个定位字符的位置,测距设备120继续执行步骤s101-s105,得到第二定位字符的车距,即第一车辆100和第二车辆110关于第一个定位字符的车距。判断第一个定位字符的车距是否位于预设值内,则给第一车辆100发送工作指令,否则给第一车辆100发送提醒指令。
[0095]
工作指令指示第一车辆100停靠于定位字符所对应的相对停靠位置,重提醒指令指示第一车辆100未停靠于定位字符所对应的相对停靠位置。
[0096]
如此反复,直至粮食转运完毕。粮食转运完毕的标志可以为有几个定位字符就进行几次卸粮,也可以为第一车辆100上粮食卸粮完毕。
[0097]
在第一车辆100为收获车,第二车辆110为转粮车时,预设值可以为1.5m~2m。
[0098]
应当理解的是,获取第一个定位字符的车距时,双目相机130拍摄的是第一个定位字符的字符图像,获得第二个定位字符的车距时,双目相机130拍摄的是第二个定位字符的字符图像。
[0099]
此外,在本实施方式中,第一车辆100与第二车辆110之间配合工作的内容是粮食收割和粮食转运,其仅仅是一种举例,并非是唯一限定。在其他实施方式中,第一车辆100和第二车辆110之间配合工作的内容可以为其他任何工作。
[0100]
当第一车辆100为收获车,第二车辆110为转粮车时,搭载有双目相机130的测距设备120可以设置于收获车的卸粮筒臂上。
[0101]
在一种实施方式中,针对s103,参照图6,图6包括s103的部分子步骤的流程示意图,包括如下步骤。
[0102]
s103-1,采用目标检测网络模型检测字符图像中字符的位置,得到字符的坐标信息,根据坐标信息得到字符区域。
[0103]
具体地,测距设备120采用目标检测网络模型检测字符图像中字符的位置,得到字符的坐标信息,根据坐标信息得到字符区域。
[0104]
s103-2,截取字符区域的rgb图和深度图,并根据rgb图和深度图生成点云图。
[0105]
由于字符图像本身就是三维图像,即三维矩阵,因此有字符图像的字符区域也是三维矩阵的图像,故而根据字符区域就可获得rgb图和深度图。
[0106]
具体地,测距设备120截取字符区域的rgb图和深度图,并根据rgb图和深度图生成点云图。
[0107]
通过目标检测网络模型检测出字符的位置之后,进而得到更为精确的字符区域,从而根据字符吴千语的rgb图和深度图生成点云图,能够使点云图的准确度更高,进而有助于提高车距的准确度。
[0108]
在一种实施方式中,步骤s103-1中的目标检测网络模型可以包括yolov5网络模型。yolo网络模型的中心思想是利用卷积神经(cnn)网络将输入的图片分割成s*s的网格,即网格包括s*s个单元格,然后基于每个单元,去检测中心点落在单元格内的目标。
[0109]
在目标检测网络模型包括yolov5网络模型的基础上,参照图7,图7为步骤s103-1的部分子步骤的流程示意图,包括如下子步骤。
[0110]
s201,将字符图像分割成包括s*s个单元格的网格。
[0111]
s202,基于每个单元格预测中心点落在该单元格内的字符的多个边界框,得到每个边界框的预测值。
[0112]
其中,预测值包括坐标信息和置信度。
[0113]
具体地,每个边界框可以用4个值来表征,这四个值可以为(x,y,w,h),其中,(x,y)为边界框的中心坐标,w为边界框的宽,h为边界框的高。(x,y,w,h)即为坐标信息。置信度用c来表示。实际上,而每个边界框的预测值均包括五个元素(x,y,w,h,c)。
[0114]
在此基础上,若字符图像被划分成s*s的网格,每个单元格预测出(b*5+c)个值,那么最终预测值为s*s*(b*5+c)的张量,即作为数组。
[0115]
s203,基于置信度,根据所有边界框的预测值确定出目标坐标信息。
[0116]
其中,目标坐标信息即为需要得到的字符区域的中心坐标。
[0117]
s204,根据目标坐标信息,得到角坐标,以根据角坐标确定字符区域。
[0118]
角坐标包括字符区域的四个角坐标。故而得到角坐标之后,即可确定字符区域的位置。
[0119]
可以理解的是,字符区域为包含字符的区域。
[0120]
yolov5网络模型具有检测耗时少、准确率高等优点,采用yolov5网络模型能够更为快速且更为准确地得到边界框,进而能够提高字符区域的获取速度以及准确率。
[0121]
进一步地,参照图8,图8为上述步骤s203的部分子步骤的流程示意图,包括如下步骤。
[0122]
s203-1,将所有边界框的置信度进行比较,将置信度最大的边界框确定为比较框。
[0123]
s203-2,采用交并比损失函数,依次计算出比较框与剩余的边界框的交并比值。
[0124]
s203-3,将每个交并比值与预设阈值进行比较。
[0125]
若无交并比值大于预设阈值,则执行步骤s203-4,否则执行步骤s203-5。
[0126]
s203-4,将比较框的坐标信息作为目标坐标信息。
[0127]
s203-5,将比较框剔除,并在剩余边界框中确定出新的比较框,并返回步骤s203-1,直至得到目标坐标信息。
[0128]
交并比值大于预设阈值,则意味着比较框与得到交并比值的边界框之间的重合度过高,因此将比较框剔除可减少重合度。当没有交并比值大于预设阈值时,表明此时没有边界框与比较框有高重合度,故而可将置信度最大的比较框的坐标信息作为目标坐标信息。
[0129]
yolo算法将目标检测看成回归模型,采用的是均方差损失函数,因此使得边界框的位置更加准确,进而能够有助于提高字符区域的准确率。
[0130]
在yolov5网络模型的算法中,置信度的计算公式为:
[0131]
其中,表示第i个单元格的第j个边界框的置信度。指当前的边界框有对象时,预测的当前边界框与物体真实的边界框的交并比值。pr(object)表示当前边界框是否有对象的概率。和pr(object)的获取方式均为yolov5中的常见算法,在此不再一一赘述。
[0132]
在其他实施方式中,可选择的目标检测网络模型还包括r-cnn或faster rcnn等检测模型。一样能够进行目标检测,获取字符区域。
[0133]
并且在其他实施方式中,可直接读取第二车辆110上的字符的原始点云图,并基于原始点云图,引入三维目标检测模型识别第二车辆110车身的字符坐标,将识别到的字符坐标带入欧式距离公式计算出第一车辆100和第二车辆110的空间距离,即车距。
[0134]
由于目标坐标信息为比较框的坐标信息,因此,目标坐标信息也为(x,y,w,h)。在此基础上,在步骤s103-4中根据目标坐标信息,得到角坐标的方法可以为:
[0135]
基于目标坐标信息,采用坐标计算公式,得到角坐标。
[0136]
其中,角坐标包括左上角坐标(u0,v0)、右上角坐标(u1,v1)、右下角坐标(u2,v2)和左下角坐标(u3,v3)。并且,由于目标坐标信息为某个比较框的坐标信息,因此,此时的目标坐标信息也为(x,y,w,h)。
[0137]
坐标计算公式包括:
[0138][0139]
其中,上述坐标计算公式中,x表示字符区域中心点的横坐标,y表示字符区域中心点的纵坐标,w表示字符区域的宽度,h表示字符区域的高度。
[0140]
即,得到的目标坐标信息实际上就是字符区域的中心点坐标加字符区域的长和宽。
[0141]
根据上述坐标计算公式,能够在得到目标坐标信息之后,快速计算出四个角坐标,该四个角坐标即为字符区域的四个角坐标,故而能够确定字符区域。
[0142]
在一种实施方式中,参照图9,图9为步骤s103-2的部分子步骤的流程图,通过该子步骤根据rgb图和深度图生成点云图。
[0143]
s301,根据rgb图得到像素坐标,根据深度图得到深度数据。
[0144]
得到rgb图后可直接读出像素坐标,得到深度图之后可直接得到深度数据。
[0145]
s302,基于像素坐标和深度数据,结合双目相机参数,采用空间点坐标计算公式,得到空间点坐标。
[0146]
其中,空间坐标计算公式包括:
[0147][0148]
其中,c
x
为双目相机130横轴上的光圈中心,cy为双目相机130纵轴上的光圈中心,f
x
为双目相机130横轴上的焦距,fy为双目相机130纵轴上的焦距,s为深度图的缩放因子,(u,v)为像素坐标,d为深度数据。
[0149]
具体地,将字符区域的四个角的像素坐标和深度数据代入空间坐标计算公式,即可得到点云图的四个空间坐标(x0,y0,z0),(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)。其中,字符区
域的四个角的像素坐标为左上角坐标(u0,v0)、右上角坐标(u1,v1)、右下角坐标(u2,v2)和左下角坐标(u3,v3)。
[0150]
s303,根据空间点坐标生成点云图。
[0151]
通过rgb图和深度图得到像素坐标和深度数据后,结合双目相机130参数以及空间坐标计算公式,可快速得到空间坐标,根据空间坐标即可确定点云图。
[0152]
生成的点云图即为第二车辆110车身字符的三维图,计算出点云图的中心点坐标即可知道转粮车三维空间坐标。
[0153]
在上述基础上,步骤s107中计算出点云图的中心坐标的方法包括:基于字符区域的四个空间点坐标,采用中心点计算公式,计算出点云图的中心坐标。
[0154]
中心点计算公式包括:
[0155][0156]
其中,(x
mid
,y
mid
,z
mid
)为点云图的中心点坐标,(x0,y0,z0),(x1,y1,z1),(x2,y2,z2)和(x3,y3,z3)为字符区域的四个空间点坐标。
[0157]
进而,在点云图的中心坐标之后,步骤s105根据中心坐标计算出第一车辆100和第二车辆110之间的车距的步骤,包括:
[0158]
以第一车辆100为坐标原点,基于坐标原点与中心坐标之间的距离,采用欧式距离公式,得到第一车辆100和第二车辆110之间的车距。
[0159]
具体地,以第一车辆100上双目相机130所在的位置为坐标原点,计算出第一车辆100和第二车辆110间的车距。
[0160]
其中,三维空间欧式距离公式为:由于第一车辆100为坐标原点,即以双目相机130所在的第一车辆100作为参照物。因此,车距为:
[0161]
进一步地,第一车辆100和第二车辆110的控制设备140均可设置显示界面,用于显示测距设备120发送的工作指令和提醒指令。
[0162]
本实施方式提供的两车测距方法,通过采用yolov5网络模型等目标检测网络模型检测出定位字符,并基于定位字符得到字符区域,进而根据字符区域的rgb图与深度图生成点云图,计算点云图的中心坐标(即中心点坐标),根据欧式距离公式计算中心点坐标到第一车辆100的车距,即两车车距,进而将车距与预设值之间的判断结果(工作指令或提醒指令)返回给第一车辆100的控制设备140,来控制第一车辆100和第二车辆110的工作。从而有助于将第一车辆100和第二车辆110配合工作时的车距控制在合适的范围内,提高控制效果。
[0163]
应该理解的是,虽然图4-图9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步
骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图4-图9中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0164]
为了执行上述实施方式及各个可能的方式中的相应步骤,下面给出一种测距装置190的实现方式,可选地,该测距装置190可以采用上述图3所示的测距设备120的器件结构。进一步地,请参阅图10,图10为本发明实施方式提供的一种测距装置190的功能模块图。需要说明的是,本实施方式所提供的测距装置190,其基本原理及产生的技术效果和上述两车测距方法的实施方式相同,为简要描述,本实施方式部分未提及之处,可参考上述的实施方式中相应内容。该测距装置190包括:图像采集模块200、检测模块210、合并模块220和计算模块230。测距装置190还可以包括双目相机130。也可以为与双目相机130通信连接。
[0165]
图像采集模块200,用于实时获取双目相机130拍摄的第二车辆110车身的字符图像。
[0166]
检测模块210,用于采用目标检测网络模型检测字符图像中字符的位置,得到字符的坐标信息,根据坐标信息得到字符区域。
[0167]
合并模块220,用于截取字符区域的rgb图和深度图,并根据rgb图和深度图生成点云图。
[0168]
计算模块230,用于计算出点云图的中心坐标,并根据中心坐标计算出第一车辆100和第二车辆110之间的车距。
[0169]
可选地,上述模块可以软件或固件(firmware)的形式存储于图3所示的存储器170中或固化于该测距设备120的操作系统(operating system,os)中,并可由图3中的处理器160执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器170中。
[0170]
在一种实施方式中,本发明还提供一种测距系统,测距系统包括第一车辆100和第二车辆110,第一车辆100包括测距设备120,测距设备实现本发明提供的两车测距方法,来实现测量第一车辆100和第二车辆110之间的车距。
[0171]
具体地,测距设备与上述测距装置190具有相同的功能模块。
[0172]
进一步,测距设备120可以安装于第一车辆110的车身上。
[0173]
上述测距系统中,第一车辆100上的测距设备120基于双目相机130拍摄的第二车辆110的三维字符图像,进而获取字符图像的点云图,通过点云图的中心坐标计算出第一车辆100和第二车辆110的车距,从而能够实时且更为准确地得到第一车辆100和第二车辆120的车距。在本发明所提供的几个实施方式中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施方式仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施方式的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图
中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0174]
另外,在本发明各个实施方式中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0175]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0176]
以上所述仅为本发明的优选实施方式而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1