基于生成对抗网络的内河船舶点云数据深度图像处理方法和系统与流程

文档序号:17490936发布日期:2019-04-23 20:30阅读:322来源:国知局
基于生成对抗网络的内河船舶点云数据深度图像处理方法和系统与流程

本发明涉及一种基于生成对抗网络的内河船舶点云数据深度图像处理方法和系统,属于激光雷达和人工智能技术领域。



背景技术:

在人工智能领域,激光雷达是最重要的环境探测及感知设备之一。考虑到未来我国内河航运管理的信息化程度的不断提高,激光雷达在内河船舶自动检测领域的应用将越来越多。从工作原理来看,激光雷达可以按照预设的角度快速地发射和接收反射回来的激光脉冲束,以激光点云的方式来感知航道中的船舶,并对一定范围内的船舶进行点云处理和重构,构建船舶的三维形态结构。由于光的直线传播和速度固定两个特征,其所形成的三维图像能够为海事管理人员提供高精度的船舶尺寸信息。

但是,在内河环境中,激光雷达的应用也存在一定的问题。其中包括:(1)激光点云数据量非常大,在大范围的场景处理过程中效率较低,耗时太长;(2)单个激光束在遇到具备一定反射系数的障碍物时会及时反射回来,在遇到反射系数低的物体可能由于穿透和吸收而形成点云空洞;(3)受预定的激光雷达张角和感知区域影响,激光雷达对周围环境扫描所形成的点云形态不一;(4)不同的激光雷达所能够获取的点云数据稀疏度不同,在实际应用中往往会受建设成本的约束而不得不使用高数据稀疏度的设备。

针对激光雷达点云数据在内河船舶检测过程中存在的不足,可以将其处理成深度图像,在保持其高感知精度的前提下,降低计算复杂度、简化处理过程、提高处理效率。因此,如何由内河船舶的激光点云数据生成最优的深度图像,以最大程度的保留其感知精度,在内河船舶检测和感知领域具有非常重要的作用。

本发明针对岸基激光雷达采集的船舶点云数据,基于生成对抗网络提供了一种面向内河船舶的激光点云处理深度图像的方法,并将激光点云数据和深度图像作为一对数据样本,对条件对抗网络进行训练。条件对抗网络包含生成器和判别器两个网络,两个网络之间相互竞争,最终输出一个优化的深度卷积网络模型,实现基于深度学习的船舶外形轮廓自动检测及识别功能。本发明所提供的深度图像生成和处理系统,能够较好地识别内河船舶的外形轮廓,特别是船舶的干舷尺寸,从而有效提高海事执法人员判断船舶航行状态以及是否超载的准确性。



技术实现要素:

本发明针对激光雷达在内河船舶自动检测过程中受环境影响大、点云数据处理及重构效率低等问题,提供了一种基于生成对抗网络的内河船舶点云数据深度图像处理方法,包括如下步骤:

步骤1,利用标定好的海事雷达和激光雷达采集监管区域内的船舶航行状态,获取同步时间戳的船舶航向信息和激光点云数据,具体包括如下子步骤;

步骤1-1,分别提取海事雷达所提供的雷达图像数据和激光雷达所提供的点云数据,根据数据上携带的时间戳标志形成数据同步;

步骤1-2,对时间同步之后的海事雷达图像进行处理,获取激光雷达检测期间的船舶航迹线信息,获取该时刻的船舶航向角θ;

步骤1-3,针对激光雷达采集的点云数据进行预处理,得到船舶外轮廓的点云数据;

步骤2,利用步骤1-2中提取的船舶航向角θ,以其垂直方向作为点云数据的投影方向,获取点云数据的深度图像;

步骤3,构建基于生成对抗网络模型,所述的生成对抗网络包含生成器和判别器两个网络,将分类后的激光点云数据和对应的深度图像作为一对数据样本,输入到生成对抗网络模型进行训练,使得目标函数达到最优;

步骤4,采集过往船舶外轮廓的点云数据和雷达图像,并利用步骤(1)和(2)处理获得对应的深度图像,将点云数据对应的深度图像输入到训练好的生成器中,识别船舶吃水相关的关键部位特征,计算船舶干舷高度,从而判断船舶是否存在超载。

进一步的,步骤1-2中获取船舶航向角θ的具体实现方式如下,

定义激光雷达开始检测船舶的时刻为时间戳a,分别提取海事雷达在时间戳a之前和之后最近的两帧图像,定义这两帧图像的采集时刻为时间戳b和时间戳c,船舶在这两个时刻的雷达图像上的位置分别为a和b,则:a、b两点连线即为船舶航向,航向与预设基准直线的夹角为船舶航向角θ,其中预设的基准直线即为0度航向角。

进一步的,步骤1-3中所述的预处理为聚类处理。

进一步的,步骤2中获取点云数据的深度图像的具体实现步骤如下,

步骤2-1,以激光雷达布设点为坐标原点,以船舶航向角θ的正方向作为x轴,以平行于地面且垂直于船舶航向角θ的方向作为y轴,在y轴上距离坐标原点mmax距离处做一个垂直于y轴的平面,选择该平面为投影面,令各点云数据沿y轴向该平面投影,获取各点云数据到投影平面的距离m(i,j);

步骤2-2,根据点云中各点到投影平面的距离,计算投影后所得到的投影点的像素灰度值g,其中,距离越远的点在投影后得到的投影点灰度越深,反之则灰度越浅,由此生成点云数据的深度图像,深度图像的像素灰度范围为[0,255],黑色为0,白色为255;各像素点的灰度值为g(i,j),

g(i,j)=255*m(i,j)/max(m(i,j))

步骤2-3,针对船舶点云数据的深度图像,人工提取船舶关键部位特征,包括船舶干舷、驾驶台、货舱以及其他部位共4个类别的深度图像。

进一步的,步骤3的具体实现方式如下,

步骤3-1,人工对激光点云数据进行分类,获得船舶干舷、驾驶台、货舱以及其它部位共4个类别的激光点云数据,将相对应类别的激光点云数据和深度图像作为一对数据样本,利用该数据样本形成的训练数据集进行训练,其中,生成器内置一个二维卷积神经网络,通过激光雷达点云数据生成的二维深度图像进行训练;判别器内置一个三维卷积神经网络,通过原始的激光雷达点云数据进行训练,输出训练好的二维卷积神经网络和三维卷积神经网络;

步骤3-2,将生成器和判别器合成构建生成对抗网络模型,并计算判别器中三维卷积神经网络判别结果与生成器中二维卷积神经网络判别结果之间的差别,最终,所述的生成对抗网络模型借助生成器和判别器两个网络之间的竞争,使得如下目标函数lcgan达到最优,函数lcgan如下式:

lcgan(g,d)=eu,y∈data(u,y)[logd(u,y)]+eu∈data(u),z[log(1-d(u,g(u,z)))]

其中,g、d分别表示生成器和判别器,data为训练数据集,(u,y)为其中的一对图像,u为激光点云数据,y为深度图像;判别器d(u,y)为在观测点云数据u条件下,d判断图像y为真实图像的慨率;生成器g(u,z)为学习点云数据u的条件下生成的深度图像;(1-d(u,g(u,z)))为d判断g(u,z)生成深度图像的概率;e是判别器在整个训练数据集上的总体判别期望均值。

本发明还提供一种基于生成对抗网络的内河船舶点云数据深度图像处理系统,包括如下模块:

数据获取模块,用于利用标定好的海事雷达和激光雷达采集监管区域内的船舶航行状态,获取同步时间戳的船舶航向信息和激光点云数据,具体包括如下子模块;

数据同步子模块,用于分别提取海事雷达所提供的雷达图像数据和激光雷达所提供的点云数据,根据数据上携带的时间戳标志形成数据同步;

船舶航向角获取子模块,用于对时间同步之后的海事雷达图像进行处理,获取激光雷达检测期间的船舶航迹线信息,获取该时刻的船舶航向角θ;

点云数据获取子模块,用于针对激光雷达采集的点云数据进行预处理,得到船舶外轮廓的点云数据;

深度图像获取模块,用于利用船舶航向角获取子模块中提取的船舶航向角θ,以其垂直方向作为点云数据的投影方向,获取点云数据的深度图像;

生成对抗网络模型构建模块,用于构建基于生成对抗网络模型,所述的生成对抗网络包含生成器和判别器两个网络,将分类后的激光点云数据和对应的深度图像作为一对数据样本,输入到生成对抗网络模型进行训练,使得目标函数达到最优;

船舶状态判读模块,用于采集过往船舶外轮廓的点云数据和雷达图像,并利用数据获取模块和深度图像获取模块处理获得对应的深度图像,将点云数据对应的深度图像输入到训练好的生成器中,识别船舶吃水相关的关键部位特征,计算船舶干舷高度,从而判断船舶是否存在超载。

进一步的,船舶航向角获取子模块中获取船舶航向角θ的具体实现方式如下,

定义激光雷达开始检测船舶的时刻为时间戳a,分别提取海事雷达在时间戳a之前和之后最近的两帧图像,定义这两帧图像的采集时刻为时间戳b和时间戳c,船舶在这两个时刻的雷达图像上的位置分别为a和b,则:a、b两点连线即为船舶航向,航向与预设基准直线的夹角为船舶航向角θ,其中预设的基准直线即为0度航向角。

进一步的,点云数据获取子模块中所述的预处理为聚类处理。

进一步的深度图像获取模块中获取点云数据的深度图像的具体实现步骤如下,

步骤2-1,以激光雷达布设点为坐标原点,以船舶航向角θ的正方向作为x轴,以平行于地面且垂直于船舶航向角θ的方向作为y轴,在y轴上距离坐标原点mmax距离处做一个垂直于y轴的平面,选择该平面为投影面,令各点云数据沿y轴向该平面投影,获取各点云数据到投影平面的距离m(i,j);

步骤2-2,根据点云中各点到投影平面的距离,计算投影后所得到的投影点的像素灰度值g,其中,距离越远的点在投影后得到的投影点灰度越深,反之则灰度越浅,由此生成点云数据的深度图像,深度图像的像素灰度范围为[0,255],黑色为0,白色为255;各像素点的灰度值为g(i,j),

g(i,j)=255*m(i,j)/max(m(i,j))

步骤2-3,针对船舶点云数据的深度图像,人工提取船舶关键部位特征,包括船舶干舷、驾驶台、货舱以及其他部位共4个类别的深度图像。

进一步的,生成对抗网络模型构建模块的具体实现方式如下,

步骤3-1,人工对激光点云数据进行分类,获得船舶干舷、驾驶台、货舱以及其它部位共4个类别的激光点云数据,将相对应类别的激光点云数据和深度图像作为一对数据样本,利用该数据样本形成的训练数据集进行训练,其中,生成器内置一个二维卷积神经网络,通过激光雷达点云数据生成的二维深度图像进行训练;判别器内置一个三维卷积神经网络,通过原始的激光雷达点云数据进行训练,输出训练好的二维卷积神经网络和三维卷积神经网络;

步骤3-2,将生成器和判别器合成构建生成对抗网络模型,并计算判别器中三维卷积神经网络判别结果与生成器中二维卷积神经网络判别结果之间的差别,最终,所述的生成对抗网络模型借助生成器和判别器两个网络之间的竞争,使得如下目标函数lcgan达到最优,函数lcgan如下式:

lcgan(g,d)=eu,y∈data(u,y)[logd(u,y)]+eu∈data(u),z[log(1-d(u,g(u,z)))]

其中,g、d分别表示生成器和判别器,data为训练数据集,(u,y)为其中的一对图像,u为激光点云数据,y为深度图像;判别器d(u,y)为在观测点云数据u条件下,d判断图像y为真实图像的慨率;生成器g(u,z)为学习点云数据u的条件下生成的深度图像;(1-d(u,g(u,z)))为d判断g(u,z)生成深度图像的概率;e是判别器在整个训练数据集上的总体判别期望均值。

本发明的优点和积极效果在于:

本发明通过激光雷达点云数据的深度图像来实现对内河船舶状态的实时监管,能够充分利用激光雷达的高精度检测能力,同时有效避免了激光点云数据量过大导致的耗时太大、实时性不足等问题;本发明通过优化的数据集,即在船舶航向与船舶中线方向平行情况下进行训练集采集,能够进一步消除水流以及船舶漂移对深度图像生成的影响;本发明利用生成对抗网络对激光点云与其深度图像之间的内在潜在关联进行学习,比传统的激光三维重建方法更容易获取船舶干舷尺寸,且生成网络和判别网络之间存在相互竞争,能够加速网络参数调整趋向更优结果。

附图说明

图1为本发明实施例流程图。

图2为岸基激光雷达采集得到的原始点云数据示意图。

图3为原始点云数据投影得到的深度图像。

图4为深度图像中心点与最高、最低干舷像素点夹角及距离示意图。

具体实施方式

下面结合附图和实施例对本发明的技术方案作进一步说明。

本发明实施例提供了一种基于生成对抗网络的内河船舶点云数据深度图像处理方法,包括如下步骤:

(1)利用标定好的海事雷达和激光雷达采集监管区域内的船舶航行状态,获取同步时间戳的船舶航向信息和激光点云数据,图1为所采集的船舶外轮廓点云数据。具体包括以下步骤:

步骤1-1:分别提取海事雷达所提供的雷达图像数据和激光雷达所提供的点云数据,根据数据上携带的时间戳标志形成数据同步。时间戳是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,它能唯一地标识某一刻的时间。本发明要求雷达图像数据和点云数据在预先约定的位置提供相应的时间戳字符序列。

步骤1-2:对时间同步之后的海事雷达图像进行处理,获取激光雷达检测期间的船舶航迹线信息,获取该时刻的船舶航向角。定义激光雷达开始检测船舶的时刻为时间戳a,分别提取海事雷达在时间戳a之前和之后最近的两帧图像,定义这两帧图像的采集时刻为时间戳b和时间戳c,船舶在这两个时刻的雷达图像上的位置分别为a和b。则:a、b两点连线即为船舶航向,航向与预设基准直线的夹角为船舶航向角θ,其中预设的基准直线即为0度航向角。

步骤1-3:针对激光雷达采集的点云数据进行预处理,由于从水面和内河对岸有可能反馈少部分的离散点云数据,因此可通过聚类处理将这些离散的点云数据滤除,以得到船舶外轮廓的点云数据。

(2)利用步骤1-2中提取的船舶航向角θ,以其垂直方向作为点云数据的投影方向,获取深度图像。其中,点云数据的深度图像也称为距离影像,是指将点云数据中各点沿一个指定的投影方向对某平面做正投影,并将所得到的距离(深度)值m转换为像素值g之后得到的图像。

步骤2-1:以激光雷达布设点为坐标原点,以船舶航向角θ的正方向作为x轴,以平行于地面且垂直于船舶航向角θ的方向作为y轴,在y轴上距离坐标原点mmax距离处做一个垂直于y轴的平面,选择该平面为投影面,令各点云数据沿y轴向该平面投影,获取各点云数据到投影平面的距离m(i,j)。

步骤2-2:根据点云中各点到投影平面的距离,计算投影后所得到的投影点的像素灰度值g。其中,距离越远的点在投影后得到的投影点灰度越深,反之则灰度越浅,由此生成点云数据的深度图像,如图2所示。深度图像的像素灰度范围为[0,255],黑色为0;白色为255。各像素点的灰度值为g(i,j)。

g(i,j)=255*m(i,j)/max(m(i,j))

其中i,j为像素点坐标。

步骤2-3:针对船舶点云数据的深度图像,人工提取船舶关键部位特征,包括船舶干舷、驾驶台、货舱以及其它部位共4个类别的深度图像,用于训练深度卷积网络模型。

(3)构建基于生成对抗网络的模型,所述的生成对抗网络包含生成器和判别器两个网络,两个网络之间互相竞争,使得目标函数达到最优。

步骤3-1:人工对激光点云数据进行分类,获得船舶干舷、驾驶台、货舱以及其它部位共4个类别的激光点云数据,将相对应类别的激光点云数据和深度图像作为一对数据样本,利用该数据样本形成的训练数据集进行训练。其中,生成器内置一个二维卷积神经网络,通过激光雷达点云数据生成的二维深度图像进行训练;判别器内置一个三维卷积神经网络,通过原始的激光雷达点云数据进行训练,输出这两个训练好的卷积网络。

步骤3-2:将生成器和判别器合成构建生成对抗网络模型,并计算判别器中三维卷积神经网络判别结果与生成器中二维卷积神经网络判别结果之间的差别。最终,所述的生成对抗网络模型借助生成器和判别器两个网络之间的竞争,使得如下目标函数lcgan达到最优。函数lcgan如下式:

lcgan(g,d)=eu,y∈data(u,y)[logd(u,y)]+eu∈data(u),z[log(1-d(u,g(u,z)))]

其中,g、d分别表示生成器和判别器,data为训练数据集,(u,y)为其中的一对图像,u为激光点云数据,y为深度图像;判别器d(u,y)为在观测点云数据u条件下,d判断图像y为真实图像的慨率;生成器g(u,z)为学习点云数据u的条件下生成的深度图像;(1-d(u,g(u,z)))为d判断g(u,z)生成深度图像的概率;e是判别器在整个训练数据集上的总体判别期望均值。

(4)现场采集过往船舶外轮廓的点云数据和雷达图像,并利用步骤(1)和(2)处理获得对应的深度图像,将点云数据对应的深度图像输入训练好的二维卷积神经网络,获取船舶各组成部分,包括:船舶干舷、驾驶台、货舱以及其他部位,识别船舶吃水相关的关键特征,根据识别效果判断船舶是否存在超载。

步骤4-1:现场布设相关检测设备,其中海事雷达布设在塔架上,通过雷达图像提取船舶航向信息;激光雷达布设在河岸边,紧邻航道,现场采集过往船舶外轮廓的点云数据。

步骤4-2:借助生成对抗网络的生成器所训练的二维卷积神经网络,对生成的深度图像进行识别,计算船舶干舷高度,判断船舶是否存在超载。另外,也可以通过计算货舱和驾驶台的高度,为判断船舶是否超高、超限提供参考,具体判断方法需要海事部门根据航道的不同情况再进行判断。

采用二维卷积神经网络对深度图像进行处理后,神经网络将根据前期训练得到的网络参数,从深度图像中自动提取出船舶干舷、货舱和驾驶台所在区域,并按照“干舷”、“货舱”、“驾驶台”、“其它部位”四个类别进行分类。由于深度图像的提取过程中,以船舶航向角θ的垂直方向作为激光点云数据的投影方向,因此深度图像在船舶高度方向上基本没有形变,只需计算出“干舷”、“货舱”、“驾驶台”在深度图像中的像素高度,即可换算出上述部位的实际高度。

以“干舷”为例,假设其在深度图像上提取出来的是一个m*n像素大小的图片(m为干舷的像素长度,n为干舷露出水面的像素高度);深度图像中心点即为激光发射点;干舷最高点红和图像中心点连线与图像中心点所在水平线的夹角为αmin,干舷最高点与激光发射点的距离为mmin;干舷最低点与图像中心点连线与图像中心点所在水平线的夹角为αmax,干舷最低点与激光发射点的距离为mmax,如图4所示:

则相关换算步骤如下:

(a)根据公式g(i,j)=255*m(i,j)/max(m(i,j)),可以进行逆变化得到:mmin=gmin*max(m(i,j))/255,mmax=gmax*max(m(i,j))/255;

(b)干舷最高点与图像中心点的垂直距离:hmin=mmin*sin(αmin),干舷最低点与图像中心点的垂直距离:hmax=mmax*sin(αmax);

(c)干舷垂直高度为:h=hmax-hmin,这就是干舷露出水面的高度。

本发明实施例还提供一种基于生成对抗网络的内河船舶点云数据深度图像处理系统,包括如下模块:

数据获取模块,用于利用标定好的海事雷达和激光雷达采集监管区域内的船舶航行状态,获取同步时间戳的船舶航向信息和激光点云数据,具体包括如下子模块;

数据同步子模块,用于分别提取海事雷达所提供的雷达图像数据和激光雷达所提供的点云数据,根据数据上携带的时间戳标志形成数据同步;

船舶航向角获取子模块,用于对时间同步之后的海事雷达图像进行处理,获取激光雷达检测期间的船舶航迹线信息,获取该时刻的船舶航向角θ;

点云数据获取子模块,用于针对激光雷达采集的点云数据进行预处理,得到船舶外轮廓的点云数据;

深度图像获取模块,用于利用船舶航向角获取子模块中提取的船舶航向角θ,以其垂直方向作为点云数据的投影方向,获取点云数据的深度图像;

生成对抗网络模型构建模块,用于构建基于生成对抗网络模型,所述的生成对抗网络包含生成器和判别器两个网络,将分类后的激光点云数据和对应的深度图像作为一对数据样本,输入到生成对抗网络模型进行训练,使得目标函数达到最优;

船舶状态判读模块,用于采集过往船舶外轮廓的点云数据和雷达图像,并利用数据获取模块和深度图像获取模块处理获得对应的深度图像,将点云数据对应的深度图像输入到训练好的生成器中,识别船舶吃水相关的关键部位特征,计算船舶干舷高度,从而判断船舶是否存在超载。

各模块的具体实现和各步骤相应,本发明不予撰述。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1