一种基于脉冲神经网络的航行器视觉目标感知与定位方法
未命名
09-29
阅读:103
评论:0
1.本发明属于水下航行器的目标感知领域,涉及一种基于脉冲神经网络的航行器视觉目标感知与定位方法。
背景技术:
2.水下对接技术为自主水下航行器(auv)提供强大的能量供应、信息处理和通信支持。大部分水下近距离对接任务依赖于使用相机拍摄对接站的光源,进行auv和对接站之间的短程位置姿态估计。现有基于帧的传统光学相机在靠近对接光源时会过度曝光,难以精准确定周围目标位置和auv自身位置,水下运动的不稳定性易导致基于帧的图像产生运动模糊,同时基于帧的相机会存在冗余的背景数据,导致较大的计算负担。动态视觉传感器(dvs)是一种神经形态相机,原理与人类视觉系统相似。与以固定帧率捕获帧的相机相比,dvs对每个像素发生的事件异步传输信息,传输速度更快,具有高动态范围且适应光照变化,对动态信息敏感,适合于移动目标识别,避免了数据冗余和时间延迟。脉冲神经网络(snn)是第三代神经网络模型,输入是一系列发生在不同时间的脉冲,增加或减少神经元的膜电位(mp),mp会不断随时间线性衰减到零,当神经元mp超过了阈值时,就会产生一个脉冲输出,随后该神经元及其局部相邻神经元mp被抑制为零,进入短暂的不响应期。本发明利用dvs的特性降低数据冗余,并且利用snn对小尺度时间信息的敏感性,提高对接目标感知过程中的响应速度。
技术实现要素:
3.要解决的技术问题
4.为了避免现有技术的不足之处,本发明提出一种基于脉冲神经网络的航行器视觉目标感知与定位方法。
5.技术方案
6.一种基于脉冲神经网络的航行器视觉目标感知与定位方法,其特征在于步骤如下:
7.步骤1:对传感器原始事件输入采用时空滤波,去除事件流中背景活动噪声,以消除水下光源周围的噪声和发散的光晕,得到新事件流,真实事件满足的条件为:
8.|t-t
mn
|《dt且|m-x|≤1且|n-y|≤1
9.其中,t是当前事件的时间戳,m和n分别是前一个事件的水平坐标和垂直坐标,x和y是当前事件的水平坐标和垂直坐标,t
mn
是位置(m,n)处前一个事件的时间戳,dt是时间戳相差的阈值;
10.步骤2:对于新事件流,从滤波后的新事件流队列中连续获取当前时刻的事件ei=(ti、xi、yi、si),其中ti、xi、yi、si分别表示当前事件ei的时间戳、x坐标、y坐标、正负极性,p
tn
定义为在时间tn产生的所有点的集合:
11.12.每个事件在发生时立即处理,提取其坐标(yi、xi),并执行从笛卡尔坐标空间到hough参数空间的映射,每个事件的映射都各自异步执行;
13.经过该hough圆变换算法映射到二维参数空间后,映射的结果可以作为脉冲输入到snn;
14.步骤3:中间层snn对上一步映射到二维参数空间的结果进行计算,构造了一个对时间敏感的snn作为中间层用于异步处理,snn接收的输入脉冲为二维参数空间中的映射结果,得到圆形目标的感知识别结果,输出脉冲为目标的像素坐标;
15.过程为:
16.利用泄漏积分点火脉冲神经元模型建立一个m
×
n尺寸的二维snn,其中m和n分别代表圆心的y坐标和x坐标的参数范围;所有神经元的膜电位初始化为0,同时利用另一个时间戳矩阵来更新每个事件的时间戳ti,矩阵初始数值为第一个事件的时间戳;感知层的每个事件在经过第二步算法映射后,会输入脉冲si到360
·
(r
max-r
min
)个中间层snn的神经元(yc,xc)位置,每个脉冲输入增加神经元膜电位mp的绝对值,而mp总是以一个固定的线性速率λ减少;剩余的mp由上一时刻t
i-1
的mp减去衰减值并增加当前的输入脉冲来计算;td是当前脉冲输入时间ti和上一个脉冲输入时间t
i-1
之间的持续时长;mp在衰减到0后不会减弱;因此使用hough变换公式将事件映射到snn,将hough变换公式表示如下:
17.hough(p
tn
):p
tn
→
snn
tn
18.如果存在hough(p
tn
),(yc,xc)位置的mp为:
19.snn
tn
(yc,xc)=snn
tn-1
(yc,xc)+|si|
20.如果snn
tn-1
(yc,xc)》0,(yc,xc)位置的mp为:
21.snn
tn
(yc,xc)=snn
tn-1
(yc,xc)-λ
·
td22.其中yc∈[0,rows),xc∈[0,columns),si=
±
1,snn
tn
是一个随时间变化的矩阵,si为输入脉冲,λ为衰减速率,td为衰减时间;
[0023]
连续使用第二步映射到snn,每个神经元的mp在接收到一个输入脉冲时就会更新,一旦某个(xc,yc)位置的神经元mp超过正阈值v
th
即被激活,并在时刻ti在(xc,yc)位置输出一个正脉冲到输出层,然后mp被重置为零;之后神经元进入一个;不响应期,此期间输入脉冲被忽略;同时被激活的神经元侧向抑制m
×
m局部范围内其他神经元的mp为0,以减少对同一个物体附近的重复检测;一旦一个神经元接收到一个脉冲,它就会更新时间戳矩阵中对应坐标的时间戳;
[0024]
一旦一个(yc,xc)位置的神经元输出一个脉冲到输出层,即检测到的目标中心的位置;计算一个周期t
n-k
tn内的所有脉冲输出,即在此周期内检测到的所有目标;
[0025]
基于snn的异步hough圆变换的处理过程:首先,感知层的事件通过hough变换产生了随时间顺序的输入脉冲,其次,中间层snn相应神经元的膜电位mp依次随时间发生变化。最后,一个脉冲输出即为某一个时刻ti的目标检测结果
[0026]
步骤4:对于识别到的4个圆形目标的图像坐标,利用4点透视算法p4p计算目标空间位置,实现定位。
[0027]
所述步骤1的时空滤波是,对于原始事件,记录当前事件的时间戳以及更早期事件的时间戳,处理一个事件时搜索它对应的空间坐标邻域,如果在这个很小的空间邻域范围内,发现当前事件和早期事件之间的时间戳差值小于阈值,则当前事件视为一个真实事件,
否则视为噪声事件。
[0028]
所述利用异步hough圆变换算法,将新事件流从笛卡尔坐标空间映射到二维参数空间是:每个事件在以自身为中心的圆周边缘产生映射,圆周半径为r,r的范围从r
min
到r
max
,旨在检测不同尺寸的目标,映射方向的中心角度θi从0到360度;因此在某一个时刻ti的事件生成360
·
(r
max-r
min
)个映射;圆形目标边缘的每个事件产生的所有映射中必有一个在其圆心(yc,xc)位置;超过二维参数空间范围的映射不考虑。该hough圆变换的计算公式如下
[0029]
xc=xi+r
·
cosθi[0030]
yc=yi+r
·
sinθi[0031]
其中r是半径且r∈[r
min
,r
max
],θi是从(yi、xi)到(yc、xc)的中心角且θi∈[0,360),xc和yc分别为圆心的水平坐标和垂直坐标,(yi、xi)∈p
tn
。
[0032]
所述代表圆心的y坐标和x坐标的参数m和n范围由相机的分辨率确定。
[0033]
所述步骤4中p4p算法通过已知空间中4个点的三维坐标、图像平面目标识别的对应二维点坐标和相机的内部参数矩阵,来估计auv头部相机相对于世界坐标系的位置,实现定位功能:预先设定世界坐标系中4点(p1,p2,p3,p4)的三维坐标,通过相机平面中4点(p1、p2、p3、p4)的二维坐标,再通过标定相机得到内部参数矩阵,则计算相机相对于世界坐标系的位置。
[0034]
所述计算相机相对于世界坐标系的位置:首先,将3个点的世界坐标带入下式计算四组解,得到4个旋转矩阵和平移矩阵:
[0035][0036]
其中f
x
,fy,c
x
,cy分别是相机的x方向焦距、y方向焦距、x方向主轴偏移、y方向主轴偏移,u,v分别是图像中对应点的x方向坐标和y方向坐标,r是旋转矩阵,t是平移向量,描述两个坐标系之间的变换关系,(x,y,z)是第4个点的世界坐标;将(x,y,z)代入4个旋转矩阵和平移矩阵公式后,得到图像中的4个投影(u,v);投影误差最小的旋转矩阵和平移向量是正确的解。因此从平移向量中得到了auv和对接光源目标之间的相对位置,实现了定位功能。
[0037]
有益效果
[0038]
本发明提出的一种基于脉冲神经网络的航行器视觉目标感知与定位方法,基于脉冲神经网络算法、异步hough圆变换和4点透视(p4p)位姿估计算法的目标识别与定位方法,用于auv对接任务中的多圆形光源目标感知与定位。本发明算法可使用dvs检测多个不同尺寸的圆形对象,可以有效地识别微秒时间尺度下的稀疏目标事件,并降低计算成本。本发明的目的主要是使得auv能在水下对接补给任务中能快速精准识别目标光源,并对auv和目标间的相对空间位置进行定位,为后续控制auv对接运动提供支持。
[0039]
本发明由于采取以上技术方案,其具有以下优点:使用dvs可以在auv对接时的高光照对比和高速运动情况进行有效目标感知;仅对发生事件的目标轮廓进行处理,可有效过滤传统光学相机中的大量背景冗余信息,只用计算稀疏数据,提高了计算速度;使用hough变换对非完美的圆形目标也能识别;使用snn算法,按照脉冲时间编码,能快速响应外
界刺激,模拟了生物神经信号,善于处理复杂时空信息。
附图说明
[0040]
图1:基于snn的异步hough圆变换的处理过程
[0041]
图2:仿真中对相机三轴位置的估计与误差
[0042]
图3:snn对图像多圆事件目标检测结果
[0043]
图4:实验中相机三轴空间定位的估计结果
具体实施方式
[0044]
现结合实施例、附图对本发明作进一步描述:
[0045]
针对现有技术的问题,本发明了一种基于脉冲神经网络算法、异步hough圆变换和4点透视(p4p)位姿估计算法的目标识别与定位方法,用于auv对接任务中的多圆形光源目标感知与定位。本发明算法可使用dvs检测多个不同尺寸的圆形对象,可以有效地识别微秒时间尺度下的稀疏目标事件,并降低计算成本。本发明的目的主要是使得auv能在水下对接补给任务中能快速精准识别目标光源,并对auv和目标间的相对空间位置进行定位,为后续控制auv对接运动提供支持。
[0046]
为实现上述目的,本发明采取以下技术方案:
[0047]
第一步:对传感器原始事件输入进行滤波,得到新事件流。
[0048]
对于原始事件,记录当前事件的时间戳以及更早期事件的时间戳,处理一个事件时搜索它对应的空间坐标邻域,如果在这个很小的空间邻域范围内,发现当前事件和早期事件之间的时间戳差值小于阈值,则当前事件视为一个真实事件,否则视为噪声事件。真实事件满足的条件为:
[0049]
|t-t
mn
|《dt且|m-x|≤1且|n-y|≤1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0050]
其中,t是当前事件的时间戳,m和n分别是前一个事件的水平坐标和垂直坐标,x和y是当前事件的水平坐标和垂直坐标,t
mn
是位置(m,n)处前一个事件的时间戳,dt是时间戳相差的阈值。
[0051]
此滤波方法去除了事件流中的背景活动噪声事件,消除了水下光源周围发散的光晕造成的影响。并且使真实事件的数据密度增加,得到新事件流。
[0052]
第二步:对于新事件流,本步感知层利用异步hough圆变换算法,将新事件流从笛卡尔坐标空间映射到二维参数空间,映射之后得到下一步snn的输入脉冲。
[0053]
通过从滤波后的新事件流队列中连续获取当前时刻的事件ei=(ti、xi、yi、si),其中ti、xi、yi、si分别表示当前事件ei的时间戳、x坐标、y坐标、正负极性,p
tn
定义为在时间tn产生的所有点的集合:
[0054][0055]
每个事件在发生时立即处理,提取其坐标(yi、xi),并执行从笛卡尔坐标空间到hough参数空间的映射,每个事件的映射都各自异步执行。每个事件在以自身为中心的圆周边缘产生映射,圆周半径为r,r的范围从r
min
到r
max
,旨在检测不同尺寸的目标,映射方向的中心角度θi从0到360度。因此在某一个时刻ti的事件生成360
·
(r
max-r
min
)个映射。圆形目标边缘的每个事件产生的所有映射中必有一个在其圆心(yc,xc)位置。超过二维参数空间范围
的映射不考虑。该hough圆变换的计算公式如下:
[0056]
x
c = x
i + r · cosθiꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0057]
yc=yi+r
·
sinθi[0058]
其中r是半径且r∈[r
min
,r
max
],θi是从(yi、xi)到(yc、xc)的中心角且θi∈[0,360),xc和yc分别为圆心的水平坐标和垂直坐标,(yi、xi)∈p
tn
。
[0059]
经过该hough圆变换算法映射到二维参数空间后,映射的结果可以作为脉冲输入到snn。
[0060]
第三步:中间层snn对上一步映射到二维参数空间的结果进行计算,得到圆形目标的感知识别结果。
[0061]
由于原始二维参数空间不包含时间信息,本发明构造了一个对时间敏感的snn作为中间层用于异步处理,snn接收的输入脉冲为二维参数空间中的映射结果,输出脉冲为目标的像素坐标。
[0062]
利用泄漏积分点火脉冲神经元模型建立一个m
×
n尺寸的二维snn,其中m和n分别代表圆心的y坐标和x坐标的参数范围,可根据相机的分辨率设置。所有神经元的膜电位初始化为0。同时利用另一个时间戳矩阵来更新每个事件的时间戳ti,矩阵初始数值为第一个事件的时间戳。感知层的每个事件在经过第二步算法映射后,会输入脉冲si到360
·
(r
max-r
min
)个中间层snn的神经元(yc,xc)位置,每个脉冲输入增加神经元膜电位mp的绝对值,而mp总是以一个固定的线性速率λ减少。剩余的mp由上一时刻t
i-1
的mp减去衰减值并增加当前的输入脉冲来计算。td是当前脉冲输入时间ti和上一个脉冲输入时间t
i-1
之间的持续时长。mp在衰减到0后不会减弱。因此,可以使用hough变换公式(3)将事件映射到snn,将上述公式(3)简单表示如下:
[0063]
hough(p
tn
) : p
tn
ꢀ→ꢀ
snn
tn
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0064]
如果存在hough(p
tn
),(yc,xc)位置的mp为:
[0065]
snn
tn (yc, xc) = snn
tn-1
(yc, xc)+|si|
ꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0066]
如果snn
tn-1
(yc,xc)》0,(yc,xc)位置的mp为:
[0067]
snn
tn (yc, xc) = snn
tn-1
(yc, xc)-λ
·
tdꢀꢀꢀꢀꢀꢀꢀ
(6)
[0068]
其中yc∈[0,rows),xc∈[0,columns),si=
±
1,snn
tn
是一个随时间变化的矩阵,si为输入脉冲,λ为衰减速率,td为衰减时间。
[0069]
连续使用第二步映射到snn,每个神经元的mp在接收到一个输入脉冲时就会更新,一旦某个(xc,yc)位置的神经元mp超过正阈值v
th
即被激活,并在时刻ti在(xc,yc)位置输出一个正脉冲到输出层,然后mp被重置为零。之后神经元进入一个短暂的不响应期,此期间输入脉冲被忽略,以避免来自同一目标的多次输出。同时被激活的神经元侧向抑制m
×
m局部范围内其他神经元的mp为0,以减少对同一个物体附近的重复检测。一旦一个神经元接收到一个脉冲,它就会更新时间戳矩阵中对应坐标的时间戳。snn的各项参数设置如附表1所示。
[0070]
一旦一个(yc,xc)位置的神经元输出一个脉冲到输出层,就是检测到的目标中心的位置。计算一个周期t
n-k
tn内的所有脉冲输出,即在此周期内检测到的所有目标。基于snn的异步hough圆变换的处理过程如附图1所示。首先,感知层的事件通过hough变换产生了随时间顺序的输入脉冲。其次,中间层snn相应神经元的膜电位mp依次随时间发生变化。最后,一个脉冲输出即为某一个时刻ti的目标检测结果。
[0071]
第四步:对于识别到的4个圆形目标的图像坐标,利用4点透视算法(p4p)计算目标空间位置,实现定位效果。
[0072]
auv对接场景的目标为4个受矩形四角约束的圆形led灯光源。p4p算法通过已知空间中4个点的三维坐标、图像平面目标识别的对应二维点坐标和相机的内部参数矩阵,来估计auv头部相机相对于世界坐标系的位置,实现定位功能。预先设定世界坐标系中4点(p1,p2,p3,p4)的三维坐标,通过上述第一步、第二步和第三步算法计算相机平面中4点(p1、p2、p3、p4)的二维坐标,再通过标定相机得到内部参数矩阵,则可计算相机相对于世界坐标系的位置。
[0073]
首先,将3个点的世界坐标带入下式计算四组解,得到4个旋转矩阵和平移矩阵。
[0074][0075]
其中f
x
,fy,c
x
,cy分别是相机的x方向焦距、y方向焦距、x方向主轴偏移、y方向主轴偏移,u,v分别是图像中对应点的x方向坐标和y方向坐标,r是旋转矩阵,t是平移向量,描述两个坐标系之间的变换关系,(x,y,z)是第4个点的世界坐标。将(x,y,z)代入公式(7)后,得到图像中的4个投影(u,v)。投影误差最小的旋转矩阵和平移向量是正确的解。因此从平移向量中得到了auv和对接光源目标之间的相对位置,实现了定位功能。
[0076]
本发明的一个具体实施如下:
[0077]
(1)首先进行软件仿真,auv在v-rep软件中进行了对接场景仿真。该系统由四个部分组成:4个受矩形约束的圆形led灯、dvs、计算机和auv。auv在横向x、纵向y和垂直z方向上具有三个自由度。dvs固定在auv的头部,视野限制在65度。目标在场景中保持静止,控制auv根据相对位置偏差垂直接近目标。计算机利用本发明的算法检测目标并估计auv头部dvs相机的位置。x轴和y轴平行于目标平面,z轴是垂直于该平面。四个目标的初始毫米位置(x、y、z)为(1000,2000,0)、(1000,4000,0)、(3000,2000,0)、(3000,4000,0),dvs的初始放置点为(2000,3000,-3000)。为了比较3轴之间定位的差异,dvs在x方向上的位置限制在2000。
[0078]
(2)在对接仿真过程中,发送运动命令到auv使其逐步接近目标,其z方向的位置偏差会逐渐增加到0。在附图2中展示了定位算法得到的dvs相机三轴空间定位结果与真实值的比较,上面两线条分别表示位置传感器记录的dvs的真实三轴空间轨迹,和使用发明算法估计的dvs三轴位置。下面线条表示在auv运动过程中算法定位结果与真实值之间的误差,验证了该视觉定位方法的可行性。
[0079]
(3)在水池实验中,四盏水下圆形灯垂直绑在一个矩形板的角落,并保持水下静止。auv对接运动过程中,头部dvs靠近或远离静止目标。程序利用本发明算法解析dvs数据,检测目标并估计dvs的位置。时空滤波器参数的时间间隔(dt)和支持像素的数量(n)分别设置为1ms和76800。根据dvs的分辨率建立了一个240
×
320的snn。然后用python编程语言实现了发明的算法。算法中snn参数设置如附表1所示。该算法对图像中多圆形事件目标检测结果如附图3所示,目标被圆圈标记。
[0080]
(4)在目标检测阶段获得图像坐标后,利用p4p算法估计真实场景中的相对位置。比较了传统基于图像梯度的圆检测方法(ght)和本发明检测方法的定位效果。本发明方法
和传统ght方法的定位效果如附图4所示,其中两种线条分别表示发明方法和传统方法,x轴和y轴平行于目标平面,z轴表示相对深度。z轴位置总是小于0,因为相机只出现在目标平面的单侧。从图中可以看出,本发明方法定位估计的结果和传统方法相似。
[0081]
可见,本发明中的目标感知方法对多个圆形光源能进行有效识别,且定位方法能够实现对auv头部dvs相机位置的有效定位。
[0082]
表1:基于snn的异步hough圆变换的参数
[0083]
参数数值单位行数rows240像素列数columns320像素脉冲阈值v
th
150毫伏衰减速度λ0.0006毫伏/微秒侧向抑制范围m60像素不响应期1微秒半径范围r
min-r
max
5-26像素记录脉冲数时间间隔50000微秒单脉冲数值si1毫伏
技术特征:
1.一种基于脉冲神经网络的航行器视觉目标感知与定位方法,其特征在于步骤如下:步骤1:对传感器原始事件输入采用时空滤波,去除事件流中背景活动噪声,以消除水下光源周围的噪声和发散的光晕,得到新事件流,真实事件满足的条件为:|t-t
mn
|<dt且|m-x|≤1且|n-y|≤1其中,t是当前事件的时间戳,m和n分别是前一个事件的水平坐标和垂直坐标,x和y是当前事件的水平坐标和垂直坐标,t
mn
是位置(m,n)处前一个事件的时间戳,dt是时间戳相差的阈值;步骤2:对于新事件流,从滤波后的新事件流队列中连续获取当前时刻的事件e
i
=(t
i
、x
i
、y
i
、s
i
),其中t
i
、x
i
、y
i
、s
i
分别表示当前事件e
i
的时间戳、x坐标、y坐标、正负极性,p
tn
定义为在时间tn产生的所有点的集合:每个事件在发生时立即处理,提取其坐标(y
i
、x
i
),并执行从笛卡尔坐标空间到hough参数空间的映射,每个事件的映射都各自异步执行;经过该hough圆变换算法映射到二维参数空间后,映射的结果可以作为脉冲输入到snn;步骤3:中间层snn对上一步映射到二维参数空间的结果进行计算,构造了一个对时间敏感的snn作为中间层用于异步处理,snn接收的输入脉冲为二维参数空间中的映射结果,得到圆形目标的感知识别结果,输出脉冲为目标的像素坐标;过程为:利用泄漏积分点火脉冲神经元模型建立一个m
×
n尺寸的二维snn,其中m和n分别代表圆心的y坐标和x坐标的参数范围;所有神经元的膜电位初始化为0,同时利用另一个时间戳矩阵来更新每个事件的时间戳t
i
,矩阵初始数值为第一个事件的时间戳;感知层的每个事件在经过第二步算法映射后,会输入脉冲s
i
到360
·
(r
max-r
min
)个中间层snn的神经元(y
c
,x
c
)位置,每个脉冲输入增加神经元膜电位mp的绝对值,而mp总是以一个固定的线性速率λ减少;剩余的mp由上一时刻t
i-1
的mp减去衰减值并增加当前的输入脉冲来计算;t
d
是当前脉冲输入时间t
i
和上一个脉冲输入时间t
i-1
之间的持续时长;mp在衰减到0后不会减弱;因此使用hough变换公式将事件映射到snn,将hough变换公式表示如下:hough(p
tn
):p
tn
→
snn
tn
如果存在hough(p
tn
),(y
c
,x
c
)位置的mp为:snn
tn
(y
c
,x
c
)=snn
tn-1
(y
c
,x
c
)+|s
i
|如果snn
tn-1(y
c
,x
c
)>0,(y
c
,x
c
)位置的mp为:snn
tn
(y
c
,x
c
)=snn
tn-1
(y
c
,x
c
)-λ
·
t
d
其中y
c
∈[0,rows),x
c
∈[0,columns),s
i
=
±
1,snn
tn
是一个随时间变化的矩阵,s
i
为输入脉冲,λ为衰减速率,t
d
为衰减时间;连续使用第二步映射到snn,每个神经元的mp在接收到一个输入脉冲时就会更新,一旦某个(x
c
,y
c
)位置的神经元mp超过正阈值v
th
即被激活,并在时刻t
i
在(x
c
,y
c
)位置输出一个正脉冲到输出层,然后mp被重置为零;之后神经元进入一个;不响应期,此期间输入脉冲被忽略;同时被激活的神经元侧向抑制m
×
m局部范围内其他神经元的mp为0,以减少对同一个
物体附近的重复检测;一旦一个神经元接收到一个脉冲,它就会更新时间戳矩阵中对应坐标的时间戳;一旦一个(y
c
,x
c
)位置的神经元输出一个脉冲到输出层,即检测到的目标中心的位置;计算一个周期t
n-k
t
n
内的所有脉冲输出,即在此周期内检测到的所有目标;基于snn的异步hough圆变换的处理过程:首先,感知层的事件通过hough变换产生了随时间顺序的输入脉冲,其次,中间层snn相应神经元的膜电位mp依次随时间发生变化;最后,一个脉冲输出即为某一个时刻t
i
的目标检测结果步骤4:对于识别到的4个圆形目标的图像坐标,利用4点透视算法p4p计算目标空间位置,实现定位。2.根据权利要求1所述基于脉冲神经网络的航行器视觉目标感知与定位方法,其特征在于:所述步骤1的时空滤波是,对于原始事件,记录当前事件的时间戳以及更早期事件的时间戳,处理一个事件时搜索它对应的空间坐标邻域,如果在这个很小的空间邻域范围内,发现当前事件和早期事件之间的时间戳差值小于阈值,则当前事件视为一个真实事件,否则视为噪声事件。3.根据权利要求1所述基于脉冲神经网络的航行器视觉目标感知与定位方法,其特征在于:所述利用异步hough圆变换算法,将新事件流从笛卡尔坐标空间映射到二维参数空间是:每个事件在以自身为中心的圆周边缘产生映射,圆周半径为r,r的范围从r
min
到r
max
,旨在检测不同尺寸的目标,映射方向的中心角度θ
i
从0到360度;因此在某一个时刻t
i
的事件生成360
·
(r
max-r
min
)个映射;圆形目标边缘的每个事件产生的所有映射中必有一个在其圆心(y
c
,x
c
)位置;超过二维参数空间范围的映射不考虑;该hough圆变换的计算公式如下:x
c
=x
i
+r
·
cosθ
i
y
c
=y
i
+r
·
sinθ
i
其中r是半径且r∈[r
min
,r
max
],θ
i
是从(y
i
、x
i
)到(y
c
、x
c
)的中心角且θ
i
∈[0,360),x
c
和y
c
分别为圆心的水平坐标和垂直坐标,(y
i
、x
i
)∈p
tn
。4.根据权利要求1所述基于脉冲神经网络的航行器视觉目标感知与定位方法,其特征在于:所述代表圆心的y坐标和x坐标的参数m和n范围由相机的分辨率确定。5.根据权利要求1所述基于脉冲神经网络的航行器视觉目标感知与定位方法,其特征在于:所述步骤4中p4p算法通过已知空间中4个点的三维坐标、图像平面目标识别的对应二维点坐标和相机的内部参数矩阵,来估计auv头部相机相对于世界坐标系的位置,实现定位功能:预先设定世界坐标系中4点(p1,p2,p3,p4)的三维坐标,通过相机平面中4点(p1、p2、p3、p4)的二维坐标,再通过标定相机得到内部参数矩阵,则计算相机相对于世界坐标系的位置。6.根据权利要求5所述基于脉冲神经网络的航行器视觉目标感知与定位方法,其特征在于:所述计算相机相对于世界坐标系的位置:首先,将3个点的世界坐标带入下式计算四组解,得到4个旋转矩阵和平移矩阵:
其中f
x
,f
y
,c
x
,c
y
分别是相机的x方向焦距、y方向焦距、x方向主轴偏移、y方向主轴偏移,u,v分别是图像中对应点的x方向坐标和y方向坐标,r是旋转矩阵,t是平移向量,描述两个坐标系之间的变换关系,(x,y,z)是第4个点的世界坐标;将(x,y,z)代入4个旋转矩阵和平移矩阵公式后,得到图像中的4个投影(u,v);投影误差最小的旋转矩阵和平移向量是正确的解;因此从平移向量中得到了auv和对接光源目标之间的相对位置,实现了定位功能。
技术总结
本发明涉及一种基于脉冲神经网络的航行器视觉目标感知与定位方法,基于脉冲神经网络算法、异步Hough圆变换和4点透视(P4P)位姿估计算法的目标识别与定位方法,用于AUV对接任务中的多圆形光源目标感知与定位。本发明算法可使用DVS检测多个不同尺寸的圆形对象,可以有效地识别微秒时间尺度下的稀疏目标事件,并降低计算成本。本发明的目的主要是使得AUV能在水下对接补给任务中能快速精准识别目标光源,并对AUV和目标间的相对空间位置进行定位,为后续控制AUV对接运动提供支持。为后续控制AUV对接运动提供支持。为后续控制AUV对接运动提供支持。
技术研发人员:张飞虎 钟耀辉
受保护的技术使用者:西北工业大学
技术研发日:2023.02.05
技术公布日:2023/9/25
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:图像修复方法和装置与流程 下一篇:一种基于堆叠式网格变换的点云补全方法