本发明涉及船舶水尺识别,尤其涉及一种基于深度学习的船舶水尺读数方法及装置。
背景技术:
1、船舶水尺线是在船舶的首、尾及船舶中间两舷的位置上绘制的刻度,用于估量船舶吃水深度,是进行船舶计重和船舶积载安全评估的重要依据,是船方与港方交接货物重量的重要手段。
2、传统的船舶水尺刻度监测主要依靠人工测量,人工测量需要目测来获取船舶的实际吃水深度。通常为了获得比较准确的吃水深度,可以让多组人员来目测,记录并处理相关数据,取其平均值来获得一个相对比较客观的数据。但是这种依靠人工目测的方法由于取决于人的视角、经验等主观因素,存在一定局限性,不同人员测出的数据存在浮动。此外,这种方法需要人员在探身越过船舷去观测数据,存在安全隐患。对于较大尺寸的船舶往往还需要观测人员搭乘小型船只到达待检测船舶的吃水线处进行观测,观测人员所乘船只在接近待检船舶时,波浪的起伏也在一定程度上影响了人工观测的精度。这种观测方式不仅不符合现代化智慧绿色港的发展方向,还存在一定风险及成本。
技术实现思路
1、本发明实施例提供一种基于深度学习的船舶水尺读数方法及装置,无需人工读数,能够解决现有人工方法中的主观因素高和具有安全隐患的问题。
2、为了达到上述目的,第一方面,本发明实施例提供一种基于深度学习的船舶水尺读数方法,包括以下步骤:
3、步骤a:获取关于船舶水尺的目标图像帧;
4、步骤b:在所述目标图像帧中确定矩形关注区,所述矩形关注区用以表示船舶水尺在所述目标图像帧中的位置;
5、步骤c:利用深度学习技术对所述目标图像帧进行边界识别,确定水面与船体之间的边界线;
6、步骤d:获取位于所述矩形关注区内的所述边界线的多个坐标值,并计算所述多个坐标值中的纵坐标值的平均值,根据所述平均值确定船体在矩形关注区的吃水线;
7、步骤e:对所述矩形关注区的图像进行字符检测,得到多个字符矩形框以及各字符矩形框对应的置信度,每个所述字符矩形框内含有一个字符,所述字符为字母、文字和数字中的一种;
8、步骤f:根据所述吃水线、多个字符矩形框以及各字符矩形框对应的置信度计算出船舶水尺读数。
9、进一步地,所述根据所述吃水线、多个字符矩形框以及各字符矩形框对应的置信度计算出船舶水尺读数,包括:
10、将低于所述吃水线的字符矩形框删除,得到剩余字符矩形框;
11、从剩余字符矩形框中识别出包含 “m”的字母矩形框;
12、将置信度最高的“m”字母矩形框的左下角点作为关键点,从所述剩余字符矩形框中获取位于所述关键点左侧的所有连续数字矩形框;
13、获取所述所有连续数字矩形框中的数字,并将所述所有连续的数字矩形框中的数字所构成的新数字作为船舶水尺读数的整数数值m;
14、分别获取以下参数:t、s1、s2、l和r,其中参数t为所述剩余字符矩形框中位于所述关键点下方的所有字符矩形框的个数t,s1为所述关键点与吃水线之间的距离,s2为所述关键点与所述剩余字符矩形框中最靠近所述吃水线的字符矩形框的底框线之间的距离,l为所述剩余字符矩形框之间的平均间隔,r为预设的船舶水尺的最小刻度;
15、根据以下公式一获取船舶水尺读数的小数数值d:
16、d=floor(s1,l)×r+mod(s1,l)/l×r (一)
17、计算m-d的差值,得到船舶水尺读数。
18、进一步地,所述步骤a:获取关于船舶水尺的目标图像帧,包括:
19、获取采集到的关于船舶水尺的预设时长的原始视频;
20、依次获取所述原始视频的n个原始图像帧,其中每当前获取的原始图像帧作为一个目标图像帧;
21、所述方法还包括:
22、每获取一个所述目标图像帧,则执行步骤b-步骤f,由此得到n个船舶水尺读数;
23、删除所述n个船舶水尺读数中的离群点数值,得到剩余船舶水尺读数;
24、计算所述剩余船舶水尺读数的平均值,得到最终的船舶水尺读数。
25、进一步地,所述依次获取所述原始视频的n个原始图像帧,其中每当前获取的原始图像帧作为一个目标图像帧,包括:
26、依次获取原始视频的n个原始图像帧,每当前获取一个原始图像帧,则对当前获取的原始图像帧进行缩放,从而得到具有预设固定分辨率的目标图像帧。
27、进一步地,所述在所述目标图像帧中确定矩形关注区,包括:
28、将所述目标图像帧转换为二值化图像;
29、确定所述二值化图像在每列像素上所有像素值为1的像素点,计算所述像素点的像素值之和;
30、根据每列像素的所述像素点的像素值之和,得到字符像素在横坐标轴上的分布曲线f;
31、获取所述分布曲线f的最高点纵坐标值h1、次高点的纵坐标值h2、以及所述最高点和次高点连线的中点的纵坐标值c1;
32、根据以下公式二计算左边界b1和右边界b2:
33、b1=c1-k1(|h1-h2|)
34、b2=c1+k2(|h1-h2|) (二)
35、其中k1和k2为扩大系数;
36、根据所述左边界b1和右边界b2,确定目标图像帧中的矩形关注区。
37、第二方面,本发明实施例还提供一种基于深度学习的船舶水尺读数装置,包括:
38、第一获取模块,用于获取关于船舶水尺的目标图像帧;
39、第一确定模块,用于在所述目标图像帧中确定矩形关注区,所述矩形关注区用以表示船舶水尺在所述目标图像帧中的位置;
40、第二确定模块,用于利用深度学习技术对所述目标图像帧进行边界识别,确定水面与船体之间的边界线;
41、第二获取模块,用于获取位于所述矩形关注区内的所述边界线的多个坐标值,并计算所述多个坐标值中的纵坐标值的平均值,根据所述平均值确定船体在矩形关注区的吃水线;
42、检测模块,用于对所述矩形关注区的图像进行字符检测,得到多个字符矩形框以及各字符矩形框对应的置信度,每个所述字符矩形框内含有一个字符,所述字符为字母、文字和数字中的一种;
43、第一计算模块,用于根据所述吃水线、多个字符矩形框以及各字符矩形框对应的置信度计算出船舶水尺读数。
44、进一步地,所述第一计算模块具体用于:
45、将低于所述吃水线的字符矩形框删除,得到剩余字符矩形框;
46、从剩余字符矩形框中识别出包含 “m”的字母矩形框;
47、将置信度最高的“m”字母矩形框的左下角点作为关键点,从所述剩余字符矩形框中获取位于所述关键点左侧的所有连续数字矩形框;
48、获取所述所有连续数字矩形框中的数字,并将所述所有连续的数字矩形框中的数字所构成的新数字作为船舶水尺读数的整数数值m;
49、分别获取以下参数:t、s1、s2、l和r,其中参数t为所述剩余字符矩形框中位于所述关键点下方的所有字符矩形框的个数t,s1为所述关键点与吃水线之间的距离,s2为所述关键点与所述剩余字符矩形框中最靠近所述吃水线的字符矩形框的底框线之间的距离,l为所述剩余字符矩形框之间的平均间隔,r为预设的船舶水尺的最小刻度;
50、根据以下公式一获取船舶水尺读数的小数数值d:
51、d=floor(s1,l)×r+mod(s1,l)/l×r (一)
52、计算m-d的差值,得到船舶水尺读数。
53、进一步地,所述第一获取模块具体用于:
54、获取采集到的关于船舶水尺的预设时长的原始视频;
55、依次获取所述原始视频的n个原始图像帧,其中每当前获取的原始图像帧作为一个目标图像帧;
56、所述装置还包括:
57、重复模块,所述重复模块用于在第一获取模块每获取一个所述目标图像帧时,使所述第一确定模块、第二确定模块、第二获取模块、检测模块以及计算模块执行相应的操作;
58、第二计算模块,所述第二计算模块用于删除所述n个船舶水尺读数中的离群点数值,得到剩余船舶水尺读数;计算所述剩余船舶水尺读数的平均值,得到最终的船舶水尺读数。
59、进一步地,所述第一确定模块具体用于:
60、将所述目标图像帧转换为二值化图像;
61、确定所述二值化图像在每列像素上所有像素值为1的像素点,计算所述像素点的像素值之和;
62、根据每列像素的所述像素点的像素值之和,得到字符像素在横坐标轴上的分布曲线f;
63、获取所述分布曲线f的最高点纵坐标值h1、次高点的纵坐标值h2、以及所述最高点和次高点连线的中点的纵坐标值c1;
64、根据以下公式二计算左边界b1和右边界b2:
65、b1=c1-k1(|h1-h2|)
66、b2=c1+k2(|h1-h2|) (二)
67、其中k1和k2为扩大系数;
68、根据所述左边界b1和右边界b2,确定目标图像帧中的矩形关注区。
69、第三方面,本发明实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现上述任一所述的方法。
70、有益效果:本发明的基于深度学习的船舶水尺读数方法及装置,通过获取关于船舶水尺的目标图像帧;在所述目标图像帧中确定矩形关注区,所述矩形关注区用以表示船舶水尺在所述目标图像帧中的位置;利用深度学习技术对所述目标图像帧进行边界识别,确定水面与船体之间的边界线;获取位于所述矩形关注区内的所述边界线的多个坐标值,并计算所述多个坐标值中的纵坐标值的平均值,根据所述平均值确定船体在矩形关注区的吃水线;对所述矩形关注区的图像进行字符检测,得到多个字符矩形框以及各字符矩形框对应的置信度,每个所述字符矩形框内含有一个字符,所述字符为字母、文字和数字中的一种;根据所述吃水线、多个字符矩形框以及各字符矩形框对应的置信度计算出船舶水尺读数,由此,通过上述方式可实现智能读数,无需人工目测,能够解决现有人工方法中的主观因素高和具有安全隐患的问题。