基于深度哈希算法的雷达-图像跨模态检索方法与流程

文档序号:19418904发布日期:2019-12-14 01:13阅读:279来源:国知局
基于深度哈希算法的雷达-图像跨模态检索方法与流程

本发明属于机器学习、智能控制领域,涉及了一种基于深度哈希算法的雷达-图像跨模态检索方法。



背景技术:

随着现代科技的飞速发展,移动机器人也在迅猛发展中。伴随着人机交互而来的是传感器发展,其中传感器一般包括激光雷达、摄像头、gps、超声波雷达。虽然传感器只是移动机器人的一部分,但其发挥的作用却超乎想象。当移动机器人在使用单一传感器进行环境感知时,其采集的数据信息会不可避免的存在一些误差。而且在复杂变化的环境中时,这些误差会更大。因此需要将多个传感器结合起来使用。

人们对于传感器技术在移动机器人上的应用与研究越来越深入。由于外部传感器为集多种学科于一身的产品,有些方面还在探索之中,随着外部传感器的进一步完善,移动机器人的功能越来越强大,将在许多领域为人类做出更大贡献,其中移动机器人主要依靠摄像头和激光雷达来感知周围的环境。目前通过摄像头进行拍摄,再对拍摄的图像进行分析来确定周围的环境,是移动机器人主要的感知途径之一。通过摄像头可以获取丰富的信息,而且价格低廉、携带方便、实时性更强和有利于后期图像的处理,但是摄像头很容易受到光照的影响并且它的测量距离比较近,大约10m。而由激光雷达获取的点云可以观测的距离相对较远(100m左右)而且点云的精度可以达到厘米级别,不受光照条件的影响,在夜间也可以正常工作。激光雷达所采集的点云数据具有图像所不具备的3d立体信息以及反射强度信息。

在光照不足或者夜晚的情况下,摄像头所采集的图像会受到极大的干扰,造成图像部分丢失。这时候移动机器人主要依靠激光雷达获取的点云数据来进行场景的感知,此时激光雷达的存在就显得尤为重要。因此基于跨模态检索对移动机器人场景感知具有重要意义。也使得人机交互变得更加直观形象。

在已有的点云-图像跨模态检索中,如本申请人提出的一种移动机器人视觉-雷达图像跨模态检索方法(申请号201810729617.5),该方法利用子空间学习的方法进行跨模态检索,首先通过深度学习网络提取点云和图像的特征,然后通过典型相关分析将两种模态的特征映射到子空间,最后计算欧式距离进行检索。虽然该方法实现了点云-图像的跨模态检索,但该方法不是一个端到端的学习过程,而且需要的存储空间较高,检索速率相对较慢。

基于哈希变换的跨模态方法的基本思想是利用不同模态的样本对信息,学习不同模态的哈希变换,将不同模态特征映射到一个汉明(hamming)二值空间,然后在汉明空间实现快速的跨模态匹配。哈希映射学习的基本依据是相似样本的哈希编码是相似的。哈希类检索算法具有存储空间小、检索速度快等特点。目前现有的哈希算法主要应用在图像-文字的跨模态检索中,点云-图像的跨模态检索中还未见该算法的应用。



技术实现要素:

本发明的目的是为了解决移动机器人在夜晚或者光线比较暗时,通过摄像头获取的图像模糊或者不完整的情况下,提出一种基于深度哈希算法的雷达-图像跨模态检索方法。本发明可以实现从测试点云数据检索出最相似的图像,以此来使移动机器人更加直观的感受周围环境,获取丰富的图像信息。且本方法具有所占存储空间小、检索速度快等优点。

为了实现上述目的,本发明采用如下技术方案:

本发明提出的一种基于深度哈希算法的雷达-图像跨模态检索方法,其特征在于,包括以下步骤:

1)利用移动机器人获取不同场景下包含有点云文件和对应图像的路线集合,从路线集合中分别选取训练集和测试集,分别将训练集和测试集中的点云和图像进行配,并将测试集中的所有图像作为检索库;具体步骤如下:

1-1)获取不同场景下包含有点云文件和对应图像信息的路线集合;具体方法如下:

在移动机器人上分别安装激光雷达、摄像机和gps;设定多种不同场景,移动机器人在每种场景下的行进过程中,激光雷达持续360度扫描周围环境采集行进过程中每个采集点对应的点云文件,摄像机实时拍摄采集行进过程中每个采集点相应的图像,gps记录点云文件和图像采集的经纬度坐标,分别得到每种场景下多条路线,将所有场景下获取的路线组成路线集合;

1-2)将采集到的设定距离内的点云文件和图像进行配对,创建相同标签,并分为训练集和测试集;其中测试集中所有的图像作为检索库;具体步骤如下:

1-2-1)在同一场景下,将其中一部分路线上采集到的点云文件和图像作为训练集,其余路线上采集到的点云文件和图像作为测试集;

1-2-2)根据gps获取到的经纬度坐标,将训练集中设定距离内的点云文件和图像进行配对,并创建相同的标签;

1-2-3)根据gps获取到的经纬度坐标,将测试集中设定距离内的点云文件和图像进行配对,作为后期检索任务的点云文件和图像输入;同时将测试集中所有的图像作为检索库;

2)建立深度哈希网络,包含点云深度学习子网络、图像深度学习子网络及哈希码学习部分;对训练集和测试集的点云文件和图像进行预处理,得到能够适应所述深度哈希网络的数据格式,具体步骤如下:

2-1)删除点云文件中的反射强度信息,使每个采集点的点云文件仅含有直角坐标的特性;

2-2)对删除反射强度信息的训练集和测试集中的点云文件进行随机采样,将采样后的点云文件进行归一化处理;

2-3)将训练集和测试集中所有的图像下采样至224x224;

3)对深度哈希网络进行训练,将步骤2)中预处理后的点云文件和图像输入到深度哈希网络中,同时构造相似性矩阵s,使不同模态间数据相互关联,从而得到图像深度学习子网络参数θx和点云深度学习子网络参数θy;具体方法如下:

点云深度学习子网络的输入为单个点云文件,输出为输入点云文件对应的c维特征向量,令训练集包含n个点云文件,将n个点云文件输入到点云深度学习子网络中,经过前向传播共得到n个c维特征向量;

图像深度学习子网络的输入大小是224x224x3,输出为c维特征向量,令训练集包含n个图像,将n个图像输入到图像深度学习子网络中,经过前向传播共得到n个c维特征向量;

令将训练集的图像和点云文件分别输入图像深度学习子网络和点云深度学习子网络学习到的特征如下:

f*i=f(xi;θx),f∈rc×n

g*j=g(yj;θy),g∈rc×n

式中,f*i是输入的训练集中第i个图像xi学习到的图像特征,f为所有图像特征构成的集合;第g*j是输入的训练集中第j个点云文件yj学习到点云特征,g为所有点云特征构成的集合;c是哈希码的长度;

将得到的各特征集合进行哈希码学习;表达式如下:

bx=sign(a(f))

by=sign(b(g))

其中a和b是超参数,bx为图像学习到的二进制哈希码,by为点云学习到的二进制哈希码;sign(·)是一个符号函数,表示为:

令图像深度学习子网络参数θx和点云深度学习子网络参数θy的目标函数α的表达式如下:

其中sij为相似性矩阵s中的元素,若图像深度学习子网络输入的训练集中第i个图像xi和点云深度学习子网络输入的训练集中第j个点云文件yj数据的标签相同,则sij=1,否则sij=0;θij=0.5ftg,ft为集合f的转置;β,η均为超参数;||·||f表示f范数;

当图像深度学习子网络参数θx和点云深度学习子网络参数θy的目标函数α最小时,求解出图像深度学习子网络参数θx和点云深度学习子网络参数θy;从而得到训练完毕的深度哈希网络;

4)对于测试集点云文件中的任一待测试点云文件a,从测试集图像中检索出最相似的k张图像;具体步骤如下:

4-1)将测试集中的所有图像和点云文件a输入到训练完毕的深度哈希网络中,通过步骤3)得到的图像深度学习子网络参数θx和点云深度学习子网络参数θy进行前向传播从而得到各自的二进制哈希码b′x和b′y;

4-2)对得到的二进制哈希码b′x和b′y通过异或运算计算点云文件a与检索库中所有图像的hamming距离,hamming距离越小,表明不同模态之间的相似程度越高,反之,则相似程度越低;

4-3)将得到的hamming距离按照升序顺序排列,选择距离最小的前k个结果作为检索得到与点云文件a最相似的图像;

5)在步骤4)的检索结果进行实际距离的计算,得到与测试点云最相似的图像;具体步骤如下:

5-1)通过gps查询k个检索图像所对应采集地点及待测试点云文件a所对应采集地点的经纬度坐标,将各经纬度坐标转换为直角坐标,则有转换式:

x=r×cos(y′)×cos(x′)

y=r×cos(y′)×sin(x′)

z=r×sin(y′)

其中,x′代表k个检索图像所对应采集地点或待测试点云文件a所对应采集地点的经度坐标,y'代表k个检索图像所对应采集地点或待测试点云文件a所对应采集地点的纬度坐标,r是地球半径,由此可以得到各自的直角坐标x,y,z;则待测试点云文件a对应的采集点与检索出的各图像对应的采集点之间的实际距离公式如下:

式中,dis0.m表示待测试点云文件a对应的采集点与检索出的第m张图像对应的采集点之间的实际距离;x0,y0,z0分别为待测试点云文件a对应的采集点的直角坐标;xm,ymzm分别为检索出的第m张图像对应的采集点的直角坐标,m=1,…,k;

5-2)将步骤5-1)中得到的k个实际距离dis0.mdis按照升序排列,距离最小所对应的图像即为检索得到与待测试点云文件a最相似的图像,检索完成。

本发明的特点及有益效果在于:

本发明能够从不受光照条件影响的点云数据中检索出与之最相似的图像,使移动机器人在不利环境的干扰下,可以有效的从检索库中检索出与给定点云数据最相似的图像,从而能够更好的感知周围环境,获取丰富的图像信息。并且该方法具有数据存储空间小,检索速度快等优势。因此本发明在实际用途中可以应用到室内智能小车以及无人汽车上,可以更快的检索出所需图像,实时性得到了保障,并且需要的存储空间小,能够有效的减少成本,对以后的商业化提供了可能。

附图说明

图1是本发明实施例所建立的深度哈希网络及其训练过程。

具体实施方式

本发明提出一种基于深度哈希算法的雷达-图像跨模态检索方法,下面结合具体实施例进一步详细说明如下。

本发明提出一种基于深度哈希算法的雷达-图像跨模态检索方法,包括以下步骤:

1)利用移动机器人获取不同场景下包含有点云文件和对应图像的路线集合,从路线集合中分别选取训练集和测试集,分别将训练集和测试集中的点云文件和图像进行配对,并将测试集中的所有图像作为检索库;具体步骤如下:

1-1)获取不同场景下包含有点云文件和对应图像信息的路线集合;具体方法如下:

在移动机器人(本实施例为一辆无线智能小车)上分别装有激光雷达(本实施例采用智能镭神c16-700a)、摄像头(本实施例采用海康威视ds-2cd1021fd-iw1)和gps(本实施例采用康凯斯gt200),晴朗天气下,在不同场景(本实施例为5种场景,分别为室内停车场、室外停车场、校园、实验室大楼、公园、)通过激光雷达旋转360°特点,获取不同地点的点云数据,其中每个点具有直角坐标和反射强度坐标的特性,摄像头实时获取相应不同地点的rgb图像数据,gps记录下经纬度坐标信息,每条路线采集时间大约是10分钟,同一场景下设置若干条左右(本实施例为5条)的行驶路线完成采集工作;

1-2)将采集到的设定距离内的点云文件和图像进行配对,创建相同标签,并分为训练集和测试集;其中测试集中所有的图像作为检索库;具体步骤如下:

1-2-1)在同一场景下,将其中三条路线上采集到的点云文件和图像作为训练集,另外两条路线上采集到的点云文件和图像作为测试集;

1-2-2)根据gps获取到的经纬度坐标,将训练集设定距离内(本实施例为20m)的点云文件和图像进行配对,并创建相同的标签,用于后期相似性矩阵的生成;

1-2-3)根据gps获取到的经纬度坐标,将测试集中设定距离内的点云文件和图像进行配对,作为后期检索任务的点云文件和图像输入;同时将测试集中所有的图像作为检索库;

本实施例中训练集中点云文件和图像数量各为5633个,测试集中点云和图像数量各为1545个,通过gps将距离20m内的点云文件和图像配对;同时将测试集中所有的图像作为检索库;

2)建立深度哈希网络,包含点云深度学习子网络、图像深度学习子网络及哈希码学习部分,其中,点云深度学习子网络作用于点云模态数据,本实施例采用一个pointnet网络,该网络输出为学习到的点云数据,图像深度学习子网络作用于图像模态数据,本实施例采用一个卷积神经网络cnn-f,其数据输出为学习到的图像特征;对训练集和测试集的点云文件和图像进行预处理,得到能够适应所述深度哈希网络的数据格式,具体步骤如下:

2-1)通过natlab程序删除点云文件中的反射强度信息,使每个点只具有直角坐标的特性;

2-2)每一个点云文件大约含有两万个点,利用numpy库中的随机采样法(本实施例中把点云数量降至3000)处理点云文件,将采样后的点云文件进行归一化处理;

2-3)将训练集和测试集中所有的图像下采样至224x224;

3)参见图1,对深度哈希网络进行训练,将步骤2)中预处理后的点云文件和图像输入到深度哈希网络中,同时构造相似性矩阵s,使不同模态间数据相互关联,从而得到图像深度学习子网络参数θx和点云深度学习子网络参数θy;具体方法如下:其中在pointnet网络中输入为一帧的全部点云文件的集合,表示为一个nx3的向量,其中n代表点云数量,n=3000,3对应直角坐标的三个分量,输入训练集中的点云文件先通过和一个t-net(为一个对齐网络,是点云深度子网络的一部分)学习到的转换矩阵相乘来对齐,保证了pointnet网络的对特定空间转换的不变性,通过多次mlp(多层感知器)对各点云文件进行特征提取后,再用一个t-net对特征进行对齐,在特征的各个维度上执行maxpooling(最大池化)操作来得到1024维全局特征,最后通过全连接层得到n个c维(本实施例c=128)特征向量;

图像输入到cnn-f网络中,其中网络有5个卷积层(c1-c5),以及三个(f1-f3)全连接层,在每一个卷积层中包含了激励函数relu以及局部响应归一化(lrn)处理,然后在经过降采样(pool处理),图像深度学习子网络的输入大小是224x224x3,输出为c维特征向量,其中训练集包含有n个图像,将n个图像输入到图像深度学习子网络中,经过前向传播得到n个c维特征向量;

令将训练集的图像和点云文件分别输入图像深度学习子网络和点云深度学习子网络学习到的特征如下:

f*i=f(xi;θx),f∈rc×n

g*j=g(yj;θy),g∈rc×n

式中,f*i是输入的训练集中第i个图像xi学习到的图像特征,f为所有图像特征构成的集合;g*j是输入的训练集中第j个点云文件yj学习到点云特征,g为所有点云特征构成的集合;c是哈希码的长度;

将得到的各特征集合进行哈希码学习;表达式如下:

bx=sign(a(f))

by=sign(b(g))

其中a和b均为超参数(本实施例中设定a=1.5,b=1.5),bx为图像学习到的二进制哈希码,by为点云学习到的二进制哈希码;sign(·)是一个符号函数,表示为:

令图像深度学习子网络参数θx和点云深度学习子网络参数θy的目标函数α的表达式如下:

其中sij为相似性矩阵s中的元素,若图像深度学习子网络输入的训练集中第i个图像xi和点云深度学习子网络输入的训练集中第j个点云文件yj的标签相同,则sij=1,否则sij=0;θij=0.5ftg,ft为集合f的转置;β,η均为超参数;||·||f表示f范数;

当图像深度学习子网络参数θx和点云深度学习子网络参数θy的目标函数α最小时,通过链式法则求解出图像深度学习子网络参数θx和点云深度学习子网络参数θy;从而得到训练完毕的深度哈希网络;

4)对于测试集点云文件中的任一待测试点云文件a,从测试集图像中检索出最相似的k张(本实施例中k=10)图像;具体步骤如下:

4-1)将测试集中的所有图像和点云文件a输入到训练完毕的深度哈希网络中,通过步骤3)得到的图像深度学习子网络参数θx和点云深度学习子网络参数θy进行前向传播从而得到各自的二进制哈希码b′x和b′y;

4-2)对得到的二进制哈希码b′x和b′y通过异或运算计算待测试点云文件a与检索库中所有图像的hamming距离,hamming距离越小,表明不同模态之间的相似程度越高,反之,则相似程度越低;

4-3)将得到的hamming距离按照升序顺序排列,选择距离最小的前k个结果作为检索得到与待测试点云文件a最相似的图像;

5)对步骤4)的检索结果进行实际距离的计算,得到与待测试点云文件a最相似的图像;具体步骤如下:

5-1)通过gps查询k个检索图像所对应采集地点或待测试点云文件a所对应采集地点的经纬度坐标,将各经纬度坐标转换为直角坐标,则有转换式:

x=r×cos(y′)×cos(x′)

y=r×cos(y′)×sin(x′)

z=r×sin(y′)

其中,x′代表k个检索图像所对应采集地点或待测试点云文件a所对应采集地点的经度坐标,y'代表k个检索图像所对应采集地点或待测试点云文件a所对应采集地点的纬度坐标,r是地球半径,由此可以得到各自的直角坐标x,y,z;则待测试点云文件a对应的采集点与检索出的各图像对应的采集点之间的实际距离公式如下:

式中,dis0.m表示待测试点云文件a对应的采集点与检索出的第m张图像对应的采集点之间的实际距离;x0,y0,z0分别为待测试点云文件a对应的采集点的直角坐标;xm,ymzm分别为检索出的第m张图像对应的采集点的直角坐标,m=1,…,k;

5-2)将步骤5-1)中得到的k个实际距离dis0.mdis按照升序排列,距离最小所对应的图像即为检索得到与待测试点云文件a最相似的图像,检索完成。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

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