一种基于机器视觉的船舶清洗方法及装置与流程

文档序号:29208804发布日期:2022-03-12 03:24阅读:112来源:国知局
一种基于机器视觉的船舶清洗方法及装置与流程

1.本发明涉及一种基于机器视觉的船舶清洗方法及装置。


背景技术:

2.船舶是能航行或停泊于水域进行运输或作业的交通工具,按不同的使用要求而具有不同的技术性能、装备和结构。船舶在使用的过程中,其外板长期浸泡在水中,容易受到泥污及微生物的影响,导致外板表面附着许多的污垢及生物,甚至使外板产生锈蚀,危害船体结构,因此需要不定期地对船舶进行清洗。
3.因船舶形状与结构的特殊性,一般利用机器人进行清洗,但现有的机器人需要人工控制才能完成清洗任务,这不仅耗时耗力,而且清洗效率低下。


技术实现要素:

4.本发明提出一种基于机器视觉的船舶清洗方法及装置,机器人按照行进轨迹和清洗轨迹进行自动清洗,无需人工控制具体清洗过程,有效提升清洗效率和清洗效果。
5.本发明通过以下技术方案实现:
6.一种基于机器视觉的船舶清洗方法,包括如下步骤:
7.a、获取船舶待清洗部分的初始图像,并在该初始图像中标记出若干矩形的污迹区域;
8.b、根据各污迹区域中心点的横坐标或者纵坐标将所有污迹区域分为n个区域组,根据中心点的纵坐标或者横坐标确定机器人依次经过第i个区域组的各污迹区域的顺序,在第i个区域组经过最后一个污迹区域后进入第i+1个区域组内位于端部且距离该污迹区域最近的污迹区域,依次往复,即得到机器人的行进轨迹;
9.c、将各污迹区域进行横向或者纵向的m等分以得到多个清洗区域,清洗区域的宽度应小于机器人清洗盘的直径,各等分线以及矩形污迹区域的边线即为机器人在污迹区域内的清洗轨迹,该清洗轨迹从与等分线平行的一边线一端开始,行至该边线另一端后,再水平行至与该边线相邻的等分线,直至行至另一与等分线平行的边线端部;
10.d、控制机器人从行进轨迹的起点开始行进,并将起点作为机器人的第一位置;
11.e、机器人继续行进一段距离后,获取机器人此时的位置作为第二位置,并根据第一、第二位置得到机器人的实际行进方向,根据该实际行进方向判断机器人是否偏离行进轨迹,若是,进入步骤f,否则,进入步骤g;
12.f、令机器人停止前进,调整其姿态并使其按照新的行进轨迹行进,新的行进轨迹为该停止点与行进轨迹终点之间的连线,并进入步骤g;
13.g、判断是否到达目标污迹区域,若是,则按照清洗轨迹进行清洗,否则,进入步骤h;
14.h、将机器人此时的位置设定为新的第一位置,并进入步骤e。
15.进一步的,所述步骤e中机器人实际行进方向的获取包括如下步骤:
16.e1、机器人行进一段距离后,拍摄包含机器人的第二图像,将该图像输入训练后的深度学习模型中以对机器人进行识别;
17.e2、判断步骤e1的识别结果的置信度是否达到预设值,若是,则进入步骤e3,否则,进入步骤e1;
18.e3、根据识别结果获取roi区域,并对该roi区域进行比例变换以及高斯滤波;
19.e4、提取经步骤e3处理后的roi区域的目标特征信息,得到至少一个目标特征,将中心位置与第一位置相差最小的特征目标作为最终目标,该最终目标的中心位置即为第二位置;
20.e5、获取由第一位置至第二位置的第一向量,该第一向量方向即为机器人的实际行进方向。
21.进一步的,所述步骤e中判断机器人是否偏离行进轨迹包括如下步骤:设机器人行进路径方向为第二向量,计算第一向量与第二向量之间的夹角θ,当该夹角θ大于预设的夹角阈值时,即判定机器人偏离行进轨迹;所述步骤f中,将机器人反向转动θ以调整姿态。
22.进一步的,所述步骤b具体包括:
23.b1、获取各污迹区域的中心点坐标,将各中心点按照横坐标或者纵坐标值的大小进行排列;
24.b2、将排列好后的各中心点分为n组,即将各污迹区域分为n个区域组,各区域组内的各污迹区域中心点的横坐标或者纵坐标值均在同一范围内;
25.b3、第i个区域组内的各污迹区域的中心点按照纵坐标或者横坐标值的大小进行排列,即为该区域组内的部分行进轨迹;
26.b4、机器人按照部分行进轨迹经过第i个区域组的最后一个污迹区域后,进入第i+1个区域组内位于端部且距离该污迹区域最近的污迹区域,依次往复,即为机器人的行进轨迹。
27.进一步的,所述初始图像包含机器人,所述步骤c中,进行m等分之前,计算机器人实际尺寸与初始图像中机器人尺寸的比例,以确定清洗区域的宽度,从而确定m的值。
28.进一步的,所述步骤e1中,所述一段距离对应于10-15帧图像。
29.进一步的,所述步骤b中的行进轨迹包括多段分轨迹,各段分轨迹分别对应于两污迹区域之间的路线,所述步骤e中,判断机器人的实际行进方向是否偏离行进轨迹,该行进轨迹为某一段分轨迹。
30.进一步的,所述船舶具有多个待清洗部分,各清洗部分均对应一个机器人,针对各个清洗部分,同时按照步骤a至步骤h进行清洗,清洗过程中,相邻两待清洗部分之间的机器人可进行通信。
31.进一步的,通过云台相机获取所述初始图像以及第二图像,云台相机与船舶间隔布置且云台相机拍摄的图像均能包含机器人。
32.本发明还通过以下技术方案实现:
33.一种基于机器视觉的船舶清洗装置,包括云台相机、控制模块、以及如下模块:
34.污迹区域获取模块:通过云台相机获取船舶待清洗部分的初始图像并反馈至控制模块,通过控制模块在该初始图像中标记处若干矩形的污迹区域;
35.行进轨迹获取模块:控制模块根据各污迹区域中心点的横坐标或者纵坐标将所有
污迹区域分为n个区域组,根据中心点的纵坐标或者横坐标确定机器人依次经过第i个区域组的各污迹区域的顺序,在第i个区域组经过最后一个污迹区域后进入相邻区域组内距离该污迹区域最近的污迹区域,即得到机器人的行进轨迹;
36.清洗轨迹获取模块:控制模块将各污迹区域进行横向或者纵向的m等分以得到多个清洗区域,清洗区域的宽度应小于机器人清洗盘的直径,各等分线以及矩形的边线即为机器人在污迹区域内的清洗轨迹,该清洗轨迹从与等分线平行的一边线一端开始,行至该边线另一端后,再水平行至与该边线相邻的等分线,直至行至另一与等分线平行的边线端部;
37.清洗模块:控制模块控制机器人从行进轨迹的起点开始行进,并将起点作为机器人的第一位置,机器人继续行进一段距离后,获取机器人此时的位置作为第二位置,并根据第一、第二位置得到机器人的实际行进方向,若实际行进方向偏离行进轨迹,则调整机器人的姿态并使其按照新的行进轨迹行进,每隔一段距离均判断实际行进方向是否偏离,直至达到目标污迹区域后,按照清洗轨迹进行清洗。
38.本发明具有如下有益效果:
39.1、清洗之前,根据各污迹区域中心点的横坐标或者纵坐标将所有污迹区域分为n个区域组,以及各区域组中各污迹区域中心点的纵坐标或者横坐标,确定机器人的行进轨迹,该行进轨迹是最短的路径,再将各污迹区域进行横向或者纵向的m等分以得到多个清洗区域,根据矩形污迹区域的边线及等分线确定机器人的清洗轨迹,机器人可按照行进轨迹和清洗轨迹进行自动清洗,无需人工控制具体清洗过程,解放人力,也有效提升了清洗效率与清洗效果,行进轨迹和清洗轨迹的计算,运算量小,不会增加过多的运算负担;划分清洗区域时,其宽度应小于机器人清洗盘的直径,如此能够确保清洗不留缝,使清洗效果更好;机器人在行进过程中,每隔一段距离即对其是否偏离行进轨迹进行判断,在确认偏离时及时调整其姿态并使其按照新的行进轨迹行进,确保清洗工作能够顺利完成。
40.2、船舶具有多个待清洗部分,各个清洗部分均可同时进行清洗,大大提高清洗效率,相邻两待清洗部分之间的机器人可进行通信,以避免两机器人发生相撞等意外。
附图说明
41.下面结合附图对本发明做进一步详细说明。
42.图1为本发明的流程图。
43.图2为本发明行进轨迹和清洗轨迹的示意图。
具体实施方式
44.基于机器视觉的船舶清洗装置包括一个控制模块、多个云台相机和多个机器人,将整个船舶需清洗的地方划分为多个待清洗部分,每个待清洗部分均搭配一个或者两个云台相机、以及一个机器人,云台相机与船舶间隔布置,且位于待清洗部分前方,并需要使其能够拍到机器人,控制模块为计算机,计算机与云台相机连接,云台相机拍摄的照片实时反馈至计算机。各个待清洗部分均按照如下所述的基于机器视觉的船舶清洗方法同时进行清洗,对应于相邻两待清洗部分的两机器人之间可进行通信,以避免发生碰撞等意外。
45.如图1和图2所示,基于机器视觉的船舶清洗方法则包括如下步骤:
46.a、云台相机获取船舶待清洗部分的初始图像并反馈至计算机,计算机上安装有相应的软件,工作人员通过该软件,根据初始图像中船舶的具体情况,在初始图像中标记出若干矩形的污迹区域2;初始图像中也包含机器人;该软件为现有技术;
47.b、根据各污迹区域2中心点的横坐标将所有污迹区域2分为n个区域组1,根据中心点的纵坐标确定机器人依次经过第i个区域组1的各污迹区域2的顺序,在第i个区域组1经过最后一个污迹区域2后进入第i+1个区域组1内位于端部且距离该污迹区域2最近的污迹区域2,依次往复,即得到机器人的行进轨迹;
48.具体地包括如下步骤:
49.b1、获取各污迹区域2的中心点坐标,将各中心点按照横坐标值的大小进行排列;中心点坐标获取过程为现有技术;
50.b2、将排列好后的各中心点分为n组,即将各污迹区域2分为n个区域组1,各区域组1内的各污迹区域2中心点的横坐标均在同一范围内,例如,第一组中心点的横坐标值在0-100内,第二组中心点的横坐标值在101-200内;
51.b3、第i个区域组1内的各污迹区域2的中心点按照纵坐标值的大小依次进行排列,即为该区域组1内的部分行进轨迹;
52.b4、机器人从第i个区域组1内纵坐标值最小的污迹区域2开始,按照部分行进轨迹依次经过该区域组1内各污迹区域2后,进入第i+1个区域组1内中心点的纵坐标值最大的污迹区域2,依次往复,即为机器人的行进轨迹,其中,行进轨迹包括多段分轨迹,各段分轨迹分别对应于两相邻污迹区域2之间的路线,如图2所示,线段bc即为一段分轨迹;
53.在本实施例中,分组时根据各中心点的横坐标值进行,各区域组1内则根据各中心点的纵坐标进行排序,在其他实施例中,也可在根据各中心点的纵坐标进行分组,各区域组1内则根据各中心点的横坐标进行排序;
54.c、将各污迹区域2进行纵向的m等分以得到多个清洗区域3,清洗区域3的宽度应小于机器人清洗盘的直径,各等分线以及矩形污迹区域2的边线即为机器人在污迹区域2内的清洗轨迹,该清洗轨迹从与等分线平行的一边线一端开始,行至该边线另一端后,再水平行至与该边线相邻的等分线,直至行至另一与等分线平行的边线端部,如图2所示;
55.在进行m等分之前,计算机需要计算机器人实际尺寸与初始图像中机器人尺寸的比例,从而确定所划分的清洗区域3的宽度,即确定m的值;
56.因每个污迹区域2的大小并不一定相同,清洗区域3的宽度也不一定相同,因此每个污迹区域2进行m等分的m值并不一定相同,只要保证清洗区域3的宽度小于机器人清洗盘的直径即可,为了提高清洗效率,清洗区域3的宽度在小于清洗盘直径的情况下,越大越好;也可能存在某些污迹区域2不可被等分的情况,此时,只要除最后一个清洗区域3不参与等分,且最后一个清洗区域3宽度也小于清洗盘的直径即可;
57.在本实施例中,是对污迹区域2进行纵向的m等分,在其他实施例中,也可对污迹区域2进行横向的m等分;
58.图2中,ad之间的粗线条所示即为机器人的行进轨迹和清洗轨迹,行进轨迹包括多段分轨迹,图2中的线段bc即为一段分轨迹,ab之间的粗线条即为清洗轨迹,线段ab即为等分线;
59.d、控制机器人从行进轨迹的起点(即第一组区域组1中的第一个污迹区域2的边线
下端a)开始行进,并将起点作为机器人的第一位置;
60.e、机器人继续行进一段距离后,获取机器人此时的位置作为第二位置,并根据第一、第二位置得到机器人的实际行进方向,根据该实际行进方向判断机器人是否偏离行进轨迹,此时判断是否偏离所采用的是分轨迹,若是,进入步骤f,否则,进入步骤g;
61.机器人实际行进方向的获取则包括如下步骤:
62.e1、机器人行进一段距离后,计算机从云台相机获取其拍摄的包含机器人的第二图像,将该图像输入训练后的深度学习模型中对机器人进行识别;其中,一段距离对应于10帧图像,即在这10帧图像对应的时间内,机器人行进的距离;所采用的深度学习模型为现有技术;
63.e2、判断步骤e1的识别结果的置信度是否达到预设值(预设值设置为0.8),若是,则进入步骤e3,否则,进入步骤e1;
64.e3、根据识别结果获取roi区域,并对该roi区域进行比例变换以及高斯滤波;
65.e4、提取经步骤e3处理后的roi区域的目标特征信息,得到至少一个目标特征,将中心位置与第一位置相差最小的特征目标作为最终目标,该最终目标的中心位置即为第二位置;若是未找到目标特征,则重新获取第二图像,再次进行识别;
66.e5、获取由第一位置至第二位置的第一向量,该第一向量方向即为机器人的实际行进方向;
67.设机器人所在的那段分轨迹方向为第二向量,计算第一向量与第二向量之间的夹角θ,当该夹角θ大于预设的夹角阈值时,即判定机器人偏离行进轨迹;在本实施例中,夹角阈值设置为5℃;
68.f、令机器人停止前进,调整其姿态并使其按照新的行进轨迹继续行进,新的行进轨迹为该停止点与步骤e5中所述的分轨迹终点之间的连线,并进入步骤g,调整姿态具体为将机器人反向转动θ;
69.g、判断是否到达目标污迹区域,若是,则按照清洗轨迹进行清洗,否则,进入步骤h;如图2所示,若机器人正在行进的分段轨迹为bc线段,则c点所对应的污迹区域2即为目标污迹区域;
70.h、将机器人此时的位置设定为新的第一位置,并进入步骤e。
71.根据上述方法,可知,基于机器视觉的船舶清洗装置还包括:
72.污迹区域获取模块:通过云台相机获取船舶待清洗部分的初始图像并反馈至控制模块,通过控制模块在该初始图像中标记处若干矩形的污迹区域2;
73.行进轨迹获取模块:控制模块根据各污迹区域2中心点的横坐标或者纵坐标将所有污迹区域2分为n个区域组1,根据中心点的纵坐标或者横坐标确定机器人依次经过第i个区域组1的各污迹区域2的顺序,在第i个区域组1经过最后一个污迹区域2后进入相邻区域组1内距离该污迹区域2最近的污迹区域2,即得到机器人的行进轨迹;
74.清洗轨迹获取模块:控制模块将各污迹区域2进行横向或者纵向的m等分以得到多个清洗区域3,清洗区域3的宽度应小于机器人清洗盘的直径,各等分线以及矩形的边线即为机器人在污迹区域2内的清洗轨迹,该清洗轨迹从与等分线平行的一边线一端开始,行至该边线另一端后,再水平行至与该边线相邻的等分线,直至行至另一与等分线平行的边线端部;
75.清洗模块:控制模块控制机器人从行进轨迹的起点开始行进,并将起点作为机器人的第一位置,机器人继续行进一段距离后,获取机器人此时的位置作为第二位置,并根据第一、第二位置得到机器人的实际行进方向,若实际行进方向偏离行进轨迹,则调整机器人的姿态以使其按照新的行进轨迹继续行进,新的行进轨迹即为该停止点与原本行驶的分轨迹终点之间的连线,每隔一段距离均判断实际行进方向是否偏离,直至达到目标污迹区域2后,按照清洗轨迹进行清洗。
76.以上所述,仅为本发明的较佳实施例而已,故不能以此限定本发明实施的范围,即依本发明申请专利范围及说明书内容所作的等效变化与修饰,皆应仍属本发明专利涵盖的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1