一种基于事件相机的海上船舶目标识别方法
技术领域
本发明涉及一种视觉识别领域,尤其涉及一种基于事件相机的海上船舶目标识别方法。
背景技术
目标识别是计算机视觉领域重要的研究方向,在于根据图像或视频对关注的目标进行检测和识别。随着深度学习在计算机视觉领域中的广泛应用,基于传统图像和视频的目标识别方法已经能够在大量任务中获得出色表现。但是,由于普通相机自身的曝光特性,实时高负载的数据获取和推理会对存储和算力资源造成大量的浪费,给算法的落地应用带来困难。在面向海上船舶目标检测的任务中,由于船舶目标的出现是小概率事件并不总是出现,无需实时进行存储和推理,因此一种更为有效和低能耗的目标识别方法显得较为重要。
例如,一种在中国专利文献上公开的“一种海上船舶目标的自动检测和识别方法及目标检测器”,其公告号CN111144208A,本发明的步骤如下:(1)采用可见光相机采集包含海上船舶目标的图像样本,基于该图像样本制作海上船舶目标图像库,包括训练集和测试集;(2)构建基于Faster-RCNN算法的深度神经网络,并设置相应参数;(3)基于训练集对该神经网络进行离线训练,得到海上船舶目标检测器;(4)输入测试集图像,利用海上船舶目标检测器进行检测和识别。该方案会对存储和算力资源造成大量的浪费,给算法的落地应用带来困难。
相较于传统相机,事件相机是一种特殊的动态视觉传感器,只在光强变化的时候记录数据。因此,在大多数背景不变的场景下获取的事件数据较少,以至于能够通过每一段时间内触发的事件数量来判断是否有新的船舶出现,并且仅在事件数量突变时进行低功耗的检测和识别。
由于在海上的场景下不存在过于复杂的背景变化,因此使用事件相机能够满足海上船舶目标识别的需求。然而,事件数据是一种异步稀疏的数据,无法直接利用当前主流的卷积神经网络结构进行处理,如何将异步稀疏的事件数据转化为同步稠密的类帧图像进行目标识别的相关研究较少。
发明内容
本发明主要解决现有技术的异步稀疏的事件数据无法直接利用当前主流的卷积神经网络结构进行处理的问题;提供一种基于事件相机的海上船舶目标识别方法,通过事件滤波和事件表征提取手段,将异步稀疏的事件数据转换为类似图像的同步事件表征,能够直接利用卷积神经网络进行处理。
本发明的上述技术问题主要是通过下述技术方案得以解决的:
一种基于事件相机的海上船舶目标识别方法,其特征在于,包括以下步骤:
S1:使用事件相机采集事件数据,当检测到事件点数量发生突变时,记录数据进行后续操作;
S2:使用事件体素滤波算法对事件数据进行滤波和降采样,去除无关事件点;
S3:将滤波后的事件数据在时间域上等分为若干时间窗口,分别统计每个时间窗口中的正负事件数目,作为事件表征;
S4:将事件表征输入训练好的船舶目标检测网络,获得预测的船舶目标框;
S5:将预测的船舶目标框输入训练好的船舶分类网络,获得预测的船舶类型。
本方案通过事件相机采集的事件数据,进行事件数据滤波、事件表征提取、海上船舶目标检测和海上船舶目标识别,充分利用事件数据的异步稀疏特性,以相较于传统图像和视频更低能耗地进行海上船舶目标识别任务。
作为优选,所述的事件数据为事件相机采集的离散数据,具体包括:事件触发坐标、事件触发时间戳以及事件触发极性;
所述的事件触发极性包括:事件触发正极性以及事件触发负极性;其中,事件触发正极性表示光强变亮超过触发阈值,事件触发负极性表示光强变暗超过触发阈值。
事件相机为一种动态视觉传感器,当且仅当光强变化时触发事件点的产生。通过时间相机在光强发生变化时记录,通过每一段时间内触发的事件数量来判断是否有新的船舶出现,并且仅在事件数量突变时进行低功耗的检测和识别。
作为优选,所述的步骤S1具体包括以下过程:
S101:设置事件队列,记录某段时间内的所有事件数据;
S102:获取每一最小时间单元内的事件数据,将事件数据加入事件队列,并从事件队列中删除最早的事件数据;
S103:设定第一事件点数量阈值,当事件队列中的事件点数量大于第一事件点数量阈值时,将该事件队列拷贝进入待处理事件队列以待后续操作;否则,不进行操作。
事件相机自身的机制是当光强发生变化时触发事件点。每一段时间内都可以统计触发的事件点数量,当数量较小时一般性没有出现什么变化,只是背景的噪声,无需后续处理,而只有事件点数量突变时被认为可能出现了变化或者目标出现。
作为优选,所述的步骤S2包括以下过程:
S201:根据事件相机的空间分辨率和事件队列的长度,以相同的间距对时间维度与空间维度中进行等分,拆解成若干三维体素;其中,各三维体素等大小无重叠,三维体素为时间和空间维度上的立方体;
S202:将被拷贝到待处理事件队列的事件队列中的所有事件按照事件触发坐标和事件触发时间戳分配到对应的三维体素中;
S203:遍历每一个三维体素,计算其中所有事件的中心坐标和中心触发时间戳,以中心坐标和中心触发时间戳构建一个新的事件,代替该三维体素中向前的所有事件;
S204:设定第二事件点数量阈值,删除其中事件点数量小于第二事件点数量阈值的三维体素中的所有事件点。
事件滤波,去除因背景扰动、天气情况产生的无关事件点。
作为优选,所述的事件表征为一种四维表征,具体包括:空间横坐标维、空间纵坐标维、事件极性维以及时间窗口维。
作为优选,所述的步骤S4具体包括以下过程:
S401:将事件表征输入深度卷积神经网络,进行特征提取,得到特征图;
S402:以常见船舶长宽比例设置多尺度的船舶候选框模板,作为每一个像素的初始船舶目标框;
S403:将特征图输入区域候选网络,调整船舶目标框的位置和大小,获得若干预测的船舶目标框,以及对应目标框的置信度得分;
S404:针对获得的所有预测的船舶目标框,使用非极大值抑制手段,去除同属同一船舶的船舶目标框。
作为优选,所述的步骤S5具体包括以下过程:
S501:将所有预测的船舶目标框进行尺寸归一化,转化为若干相同尺寸的特征图;
S502:将相同尺寸的特征图输入船舶分类网络,获得预测的各船舶类型概率向量;
S503:取预测的各船舶类型概率向量中最高者对应的船舶类型,得到预测的船舶类型。
本发明的有益效果是:
1. 通过事件相机采集的事件数据,相较于传统图像和视频更低能耗地进行海上船舶目标识别任务。
2. 通过事件滤波和事件表征提取手段,将异步稀疏的事件数据转换为类似图像的同步事件表征,能够直接利用卷积神经网络进行处理。
3. 通过事件点的数量进行事件滤波,去除因背景扰动、天气情况产生的无关事件点,减少识别的干扰。
附图说明
图1是本发明的海上船舶目标识别方法流程图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:
本实施例的一种基于事件相机的海上船舶目标识别方法,如图1所示,包括以下步骤:
S1:使用事件相机采集事件数据,当检测到事件点数量发生突变时,记录数据进行后续操作。
事件相机为一种动态视觉传感器,当且仅当光强变化时记录数据触发事件点的产生。
事件数据为事件相机采集的离散数据,具体包括:事件触发坐标、事件触发时间戳以及事件触发极性。
事件触发极性包括:事件触发正极性以及事件触发负极性。
其中,事件触发正极性表示光强变亮超过触发阈值;事件触发负极性表示光强变暗超过触发阈值。
步骤S1具体包括以下过程:
S101:设置事件队列,记录某段时间内的所有事件数据。
S102:获取每一最小时间单元内的事件数据,将事件数据加入事件队列,并从事件队列中删除最早的事件数据。
S103:设定第一事件点数量阈值,当事件队列中的事件点数量大于第一事件点数量阈值时,将该事件队列拷贝进入待处理事件队列以待后续操作;否则,不进行操作。
具体地,在本实施例中,每一最小时间单元设置为10毫秒,构建事件队列记录3秒内的所有事件数据。当获取到每一最小时间单元内的事件数据包,则将其加入事件队列,若当前事件队列中包含的数据包数量超过300个,则从事件队列中删除最早的事件数据包。设定事件点数量阈值为5万,若事件队列中的事件点数量大于5万则对当前事件队列中的数据快照进行后续操作。
S2:使用事件体素滤波算法对事件数据进行滤波和降采样,去除无关事件点。事件数据滤波,去除因背景扰动、天气情况产生的无关事件点。
步骤S2包括以下过程:
S201:根据事件相机的空间分辨率和事件队列的长度,以相同的间距对时间维度与空间维度中进行等分,拆解成若干三维体素。
拆解的三维体素为一系列等大小无重叠的三维体素;其中,三维体素为时间和空间维度上的立方体。
具体地,在本实施例中,事件相机的空间分辨率为346*260,事件队列的长度为3秒,将事件队列在时间维度上从3秒映射到量纲为300,构成一个由时间与空间组成的三维空间,以间距为2对每一个维度进行等分,拆解成3373500个等大小无重叠的三维体素。
S202:将被拷贝到待处理事件队列的事件队列中的所有事件数据按照事件触发坐标和事件触发时间戳分配到对应的三维体素中。
S203:遍历每一个三维体素,计算其中所有事件数据的中心坐标和中心触发时间戳,以中心坐标和中心触发时间戳构建一个新的事件,代替该三维体素中向前的所有事件。
具体地,在本实施例中,针对拆解成的3373500个等大小无重叠的三维体素中的任一者,假设其中含有N个事件,计算所有N个事件的触发坐标的均值作为中心坐标,计算所有N个事件的触发时间戳的均值作为中心触发时间,并构建一个以所述中心坐标和所述中心触发时间构成的事件,代替该三维体素中原有的所有N个事件。
S204:设定第二事件点数量阈值,删除其中事件点数量小于第二事件点数量阈值的三维体素中的所有事件。
具体地,在本实施例中,事件点数量阈值设置为3,删除所有事件点数量小于3的三维体素中的所有事件点。
S3:将滤波后的事件数据在时间域上等分为若干时间窗口,分别统计每个时间窗口中的正负事件数目,作为事件表征。
事件表征为一种四维表征,具体包括:空间横坐标维、空间纵坐标维、事件极性维以及时间窗口维。
具体地,在本实施例中,将滤波后的事件数据在时间域上等分为8个时间窗口,分别针对事件触发正极性和事件触发负极性分别累加每个时间窗口中的事件点,形成维度为346*260*2*8的四维事件表征。
S4:将事件表征输入训练好的船舶目标检测网络,获得预测的船舶目标框。
步骤S4具体包括以下过程:
S401:将事件表征输入深度卷积神经网络,进行特征提取,得到特征图。
S402:以常见船舶长宽比例设置多尺度的船舶候选框模板,作为每一个像素的初始船舶目标框。
具体地,在本实施例中,分别以1:1、1:2、1:3、1:4、1:5、2:3作为船舶长宽比例设置船舶候选框模板。
S403:将特征图输入区域候选网络,调整船舶目标框的位置和大小,获得若干预测的船舶目标框,以及对应目标框的置信度得分。
S404:针对获得的所有预测的船舶目标框,使用非极大值抑制手段,去除同属同一船舶的船舶目标框。
非极大值抑制的流程为:
1)将所有框的置信度得分排序,选中最高分及其对应的框。
2)遍历其余的框,如果和当前最高分框的重叠程度(用两个目标框的交并比表征,交并比指两个目标框重叠部分面积与两者所组成图形总面积的比值)大于一定阈值,将框删除。
3)从未处理的框中继续选一个得分最高的,重复上述过程。
S5:将预测的船舶目标框输入训练好的船舶分类网络,获得预测的船舶类型。
步骤S5具体包括以下过程:
S501:将所有预测的船舶目标框进行尺寸归一化,转化为若干相同尺寸的特征图。
具体地,在本实施例中,将所有预测的船舶目标框都归一化为64*64的尺寸。
S502:将相同尺寸的特征图输入船舶分类网络,获得预测的各船舶类型概率向量。
S503:取预测的各船舶类型概率向量中最高者对应的船舶类型,得到预测的船舶类型。
本实施例的方案通过事件相机采集的事件数据,相较于传统图像和视频更低能耗地进行海上船舶目标识别任务。通过事件滤波和事件表征提取手段,将异步稀疏的事件数据转换为类似图像的同步事件表征,能够直接利用卷积神经网络进行处理。
应理解,实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。