基于深度卷积神经网络的弹药识别方法与流程

文档序号:11708034阅读:525来源:国知局
基于深度卷积神经网络的弹药识别方法与流程

本发明创造涉及一种弹药识别方法,尤其是一种基于深度卷积神经网络的弹药识别方法。



背景技术:

由于历史问题,在一些特殊地区地下或者其他场所,会存留一些年代久远的战争遗留弹药,由于此类弹药属于不特定的遗留弹药,并且长期处于外界环境保存并不妥善,导致弹药外部特征发生变化,标识消失,此类弹药很难通过肉眼识别出其型号和属性,如果均进行统一的盲目的处理,很容易导致各种事故的发生,而且后果严重,很有可能危人员生命安全。如果进行系统的识别和分类,由于没有此类设备和针对方法,导致识别方式复杂、周期长,造成潜在危险。



技术实现要素:

为了解决上述技术问题,本发明创造提供了基于深度卷积神经网络的弹药识别方法,不需要特定的设备,只需要在数据库中先录入模型信息,对待检测弹药使用常用的照相机或者摄影设备进行拍照,再通过特定的识别对比方法新型识别和对比。解决了现有技术中由于处理不妥善导致容易导致各种事故的发生,危害人员声明安全的技术问题。

为了实现上述目的,本发明创造采用的技术方案是:基于深度卷积神经网络的弹药识别方法,其步骤为:

1)、录入弹药模型外形数据;

2)、生成三维模型;

3)制作训练集;

使用步骤2)得到的弹药三维模型,加入纹理贴图和背景环境,从不同角度生成1000张图片并保存,每张截图中弹药要处于图片的中心位置;而后将弹药图像制作成深度卷积神经网络的训练集,以数字序号重命名,后续分别为弹药标签、弹药在图片中的坐标,共有四个坐标围成一个矩形,框住弹药模型样本,保存并转换为可使用格式,用于训练深度卷积神经网络;

4)构建深度卷积神经网络:

用于弹药识别的深度卷积神经网络共为8层,依次为:

输入层、第一卷积层、第一子采样层、第二卷积层、第二子采样层、第三卷积层,全连接层和输出层,输出层由10个欧氏径向基函数组成,之后通过该层输出结果得到匹配率p1;

5)训练深度卷积神经网络:使用由步骤3)的到的训练集,训练深度卷积神经网络;

6)待识别图像获取:拍摄待识别弹药,得到待识别弹药图片;

7)待识别图像预处理,裁剪图像,保存副本,其中原始图像用于深度卷积神经网络的第一次匹配,经过处理过的图像经过曲率识别匹配算法和截径识别匹配算法将匹配结果加权到深度卷积神经网络的识别结果;

8)截径匹配算法:

将步骤7)得到的经过二值化处理的图像导入截径匹配算法,该算法从弹药顶点开始,使用垂直于弹轴的直线由上至下扫描,每移动单位长度记录截径值,求和后的到截径匹配度k1具体公式如下:

式中f(s)为待测图片中弹药在s高度的截径,g(s)为数据库中标准模型在s高度的截径,h为待测弹药高度,k1的意义为待测物各高度截径的积分与标准模型之间的相似度,0≤k1≤1,k1=1时表示与标准模型完全相同、k1=0时表示与标准模型完全不同;

9)曲率匹配算法:

将步骤7)得到的经过二值化处理的图像导入曲率匹配算法,该算法从待测物底部开始,使用不同曲率的椭圆与待测物图片对比,重合度越高则曲率匹配度越高,而后通过匹配度最高椭圆的长短轴长度求得弹轴与图片平面的夹角,具体公式如下:

θ=arcsin(4πab/πg(s)2)

式中a、b分别为椭圆的长径与短径,g(s)为数据库模型在当前节点的截径,θ为该待测物轴线与图像平面的夹角,0≤θ≤0.5π,夹角为0时θ=0,夹角为90度时,θ=0.5π;

10)原始图像输入深度卷积神经网络:将由步骤7)得到,裁剪过的、但未经预处理的原始图像,导入训练好的深度卷积神经网络,得到匹配率p1

11)将由步骤8,步骤9得到的截径匹配度k1与夹角θ,通过如下公式加权得到总匹配率p:

式中p为总匹配率,p1为深度卷积神经网络的输出匹配率,λ为截径关联系数、根据实际情况取10~100,k1由截径匹配算法得到,μ为曲率关联系数、根据实际情况取10~100,θ由曲率匹配算法得到;

12)、按总匹配率p由高到低列出所有匹配结果。

所述的步骤1中具体为:

指定弹药主体为n个直腰在一条直线上的直角梯形绕轴线旋转一周形成的旋转体,以此为基础,录入弹药外形数据;将其高度h分为50个不等距节点,每个节点距顶点的距离为sh,而后由上至下输入50个节点对应的弹药半径rh。

所述的步骤2)中具体为:

2a)、读取由步骤1)得到的弹药模型外形数据输入图形引擎,自顶点开始,以50个节点的位置作为圆心,对应半径rh作为半径,绘制50个圆心在弹轴上的圆环,每个圆环等分为200个点;

2b)、定义弹药轴线为x轴,y轴为经过弹丸顶点且垂直于地面的轴,z轴为经过弹丸顶点、同时垂直于x轴、y轴且平行于地面的轴,以弹丸顶点为原点,按照圆的参数方程确定每一个节点的坐标;沿着轴线每隔一定距离,绘制一个垂直于模型轴线、半径给定的圆,该距离由步骤1)得到,为用户输入值,每2个节点间的距离不同,每个圆上有给定数量的节点,通过连接两个圆环之间的节点,构成三角形,即实现了对弹药轮廓的绘制;

式中sh、rh由步骤(1)得到,pos[n][x]、pos[n][y]、pos[n][z]为c语言数组,分别代表圆环上每一个节点在空间中的x,y,z坐标,x、y、z为模型顶点的空间坐标;θ为2π/200=0.01π,n表示圆环上第n个节点。

本发明创造的有益效果在于:本发明创造提供了一种基于深度卷积神经网络的弹药识别方法,具体有益效果如下:

1)、识别方法简单,不需要配合特定设备,适用性能好。

2)、识别方法准确,能够对待检测弹药与数据库中模型进行逐一比对,各自得到匹配程度。

3)、识别方法安全可靠,不需要对弹药进行拆分或者直接接触,只需要通过照片进行比对,降低了安全隐患。

4)、识别方法对环境没有要求,可以发现待检测弹药,即发现,即拍摄,及时识别,应用范围广。

附图说明

图1:为弹药构造示意图。

图2:方法流程图。

具体实施方式

基于深度卷积神经网络的弹药识别方法,其步骤为:

1)、录入弹药模型外形数据:指定弹药主体为n个直腰在一条直线上的直角梯形绕轴线旋转一周形成的旋转体,以此为基础,录入弹药外形数据;将其高度h分为50个不等距节点射顶点为h0,每个节点距顶点的距离为sh,而后由上至下输入50个节点对应的弹药半径rh。

2)、生成三维模型:

2a)、读取由步骤1)得到的弹药模型外形数据输入图形引擎,自顶点开始,以50个节点的位置作为圆心,对应半径rh作为半径,绘制50个圆心在弹轴上的圆环,每个圆环等分为200个点;

2b)、定义弹药轴线为x轴,y轴为经过弹丸质心垂直于地面的轴,z轴为经过弹丸质心同时垂直于x轴、y轴且并行于地面的轴,顶点为原点,按照圆的参数方程确定每一个节点的坐标;沿着轴线每隔一定距离,绘制一个垂直于模型轴线、半径给定的圆,该距离由步骤1得到,为用户输入值,每2个节点间的距离不同,每个圆上有给定数量的节点,通过连接两个圆环之间的节点,构成三角形,即实现了对弹药轮廓的绘制;

式中sh、rh由步骤(1)得到,pos[n][x]、pos[n][y]、pos[n][z]为c语言数组,分别代表圆环上每一个节点在空间中的x,y,z坐标,x、y、z为模型顶点的空间坐标;θ为2π/200=0.01π。n表示圆环上第n个节点。

3)制作训练集;

使用步骤2)得到的弹药三维模型,加入纹理贴图和背景环境,从不同角度生成1000张图片并保存,每张截图中弹药要处于图片的中心位置;而后将弹药图像制作成深度卷积神经网络的训练集,以数字序号重命名,后续分别为弹药标签、弹药在图片中的坐标,共有四个坐标围成一个矩形,框住弹药模型样本,保存并转换为可使用格式,用于训练深度卷积神经网络。

4)构建深度卷积神经网络:

用于弹药识别的深度卷积神经网络共为8层,依次为:

输入层、第一卷积层、第一子采样层、第二卷积层、第二子采样层、第三卷积层,全连接层和输出层,输出层由10个欧氏径向基函数组成,之后通过该层输出结果得到匹配率p1。

5)训练深度卷积神经网络:使用由步骤3)的到的训练集,训练深度卷积神经网络。

6)待识别图像获取:拍摄待识别弹药,得到待识别弹药图片。

7)待识别图像预处理,裁剪图像,保存副本,其中原始图像用于深度卷积神经网络的第一次匹配,经过处理过的图像经过曲率识别匹配算法和截径识别匹配算法将匹配结果加权到深度卷积神经网络的识别结果。

8)截径匹配算法:

将步骤7)得到的经过二值化处理的图像导入截径匹配算法,该算法从弹药顶点开始,使用垂直于弹轴的直线由上至下扫描,每移动单位长度记录截径值,求和后的到截径匹配度k1具体公式如下:

式中f(s)为待测图片中弹药在s高度的截径,g(s)为数据库中标准模型在s高度的截径,h为待测弹药高度,k1的意义为待测物各高度截径的积分与标准模型之间的相似度,0≤k1≤1,k1=1时表示与标准模型完全相同、k1=0时表示与标准模型完全不同。

9)曲率匹配算法:

将步骤7)得到的经过二值化处理的图像导入曲率匹配算法,该算法从待测物底部开始,使用不同曲率的椭圆与待测物图片对比,重合度越高则曲率匹配度越高,而后通过匹配度最高椭圆的长短轴长度求得弹轴与图片平面的夹角,具体公式如下:

θ=arcsin(4πab/πg(s)2)

式中a、b分别为椭圆的长径与短径,g(s)为数据库模型在当前节点的截径,θ为该待测物轴线与图像平面的夹角,0≤θ≤0.5π,夹角为0时θ=0,夹角为90度时,θ=0.5π。

10)原始图像输入深度卷积神经网络:将由步骤7)得到,裁剪过的、但未经预处理的原始图像,导入训练好的深度卷积神经网络,得到匹配率p1。

11)将由步骤8,步骤9得到的截径匹配度k1与夹角θ,通过如下公式加权得到总匹配率p:

式中p为总匹配率,p1为深度卷积神经网络的输出匹配率,λ为截径关联系数、根据实际情况取10~100,k1由截径匹配算法得到,μ为曲率关联系数、根据实际情况取10~100,θ由曲率匹配算法得到。

12)、按匹配p率由高到低列出所有匹配结果。

具体应用时:

1)录入弹药外形数据:

弹药的主体部分可以理解为由n个直腰在一条直线上(该直线即为弹轴)的直角梯形绕弹轴旋转一周形成的旋转体,以此为基础,录入弹药外形数据,将弹药高度h分为50个不等距节点,设弹头顶点为h0,每个节点距弹头的距离为sh,而后由上至下输入50个节点对应的弹药半径rh。

2)生成弹药三维模型:

读取由步骤(1)得到的弹药外形数据输入opengl图形引擎,自弹头顶点开始,以50个节点的位置作为圆心,对应弹药半径rh作为半径,绘制50个圆心在弹轴上的圆环,每个圆环等分为200个点。

定义弹药轴线为x轴,y轴为经过弹丸顶点且垂直于地面的轴,z轴为经过弹丸顶点、同时垂直于x轴、y轴且平行于地面的轴,以弹丸顶点为原点,按照圆的参数方程确定每一个节点的坐标;沿着轴线每隔一定距离,绘制一个垂直于模型轴线、半径给定的圆,该距离由步骤1)得到,为用户输入值,每2个节点间的距离不同,每个圆上有给定数量的节点,通过连接两个圆环之间的节点,构成三角形,即实现了对弹药轮廓的绘制;

式中sh、rh由步骤(1)得到,pos[n][x]、pos[n][y]、pos[n][z]为c语言数组,分别代表圆环上每一个节点在空间中的x,y,z坐标,x、y、z为模型顶点的空间坐标;θ为2π/200=0.01π,n表示圆环上第n个节点。

3)制作训练集:

使用步骤2)得到的弹药三维模型,加入纹理贴图和背景环境,从不同角度生成1000张图片并保存,图片大小为224*224像素,每张截图中弹药要处于图片的中心位置。而后将弹药图像制作成深度卷积神经网络的训练集,以数字序号重命名,后续分别为弹药标签、弹药在图片中的坐标,共有四个坐标围成一个矩形,框住弹药样本,保存为txt文件,而后转换为xml格式,用于训练深度卷积神经网络。

4)构建深度卷积神经网络:

用于弹药识别的深度卷积神经网络一共有8层:

4.1.输入层:输入经过图像裁剪、但未经过其他处理的弹药图像。输入图像大小为224×224=50176像素。

4.2.第一卷积层:由于卷基层权值共享的特征,卷积层可以减少参数,从而减少计算量。设置卷积核大小是3×3=9,共有16个卷积核。,卷积核的卷积过程可以理解为某种滤波过程,此处步长为2。得到16组大小为的特征映射。第一卷积层的神经元个数为16×12544=200704,由于权值共享,总共有(3×3+1)×16=160个可训练参数,得到16组112×112大小的特征图。

4.3.第一子采样层:对图像进行子采样,可以减少数据处理量同时保留有用信息。第一卷积层221×221个特征映射中的3×3邻域点次采样为1个点,也就是9个数的平均。共有16个卷积核,此处步长为1,得到16组大小为的特征映射这一层的神经元个数为16×5625=90000。子采样层与卷积层不同,3×3卷积核内部均采用相同的权值,加上一个可偏置训练参数,共可训练参数个数为16×(1+1)=32,得到16组74×74大小的特征图。

4.4.第二卷积层。与第一卷积层类似,有16个卷积核,大小为3×3=9,此处步长为1,得到16组大小为的特征映射。第二卷积层的神经元个数为16×676=10816,同样由于权值共享,总共有(3×3+1)×16=160个可训练参数,得到16组26×26大小的特征图。

4.5.第二子采样层:与第一子采样层类似,第二卷积层26×26个特征映射中的3×3邻域点次采样为1个点,得到16组大小为的特征映射这一层的神经元个数为16×100=1600。可训练参数个数为16×(1+1)=32,得到16组9×9大小的特征图。

4.6.第三卷积层:同样是一个卷积层,由于经过第二子采样层处理后,特征图已较小,使用160个1×1神经元,每个神经元与第二子采样层的到的全部9×9的特征图连接,得到160组大小为(3×3×9×9+1)2=532900的特征映射,可训练参数个数同样为(3×3×9×9+1)2=532900,得到160组1×1大小的特征图。

4.7.全连接层:有84个神经元,与第三卷卷积层每一个神经元连接,可训练参数和连接数均为(160+1)×84=13524。

4.8.输出层:输出原始匹配率p1。

5)训练深度卷积神经网络:

使用由步骤(3)的到的训练集,训练深度卷积神经网络。具体可以采用caffe深度学习框架软件,设置配置文件参数,具体如下:

每批次样本量设为100,迭代次数设为100,设置每训练500次,进行一次测试,用于查看识别率。学习率设为0.01。使用指数方式调整。返回值的系数设为0.0001。梯度更新的权重设为0.9。权重衰减项设为0.0005,其为一个防止过拟合的参数。显示结果周期设为500,即每训练500次在屏幕上显示一次。最大迭代次数,设为20000,这个数设置太小,会导致没有收敛且精确度低。设置太大,会导致拟合震荡,浪费时间。

模型快照值设为5000。其意义为每5000次迭代将训练出来的模型和配置文件状态进行保存。运行模式,设为使用显卡进行训练。

6)待识别图像获取:

使用摄像头、相机等设备拍摄待识别弹药,得到待识别弹药图片。

7)待识别图像预处理,首先将图像裁剪为224*224大小,保存2个副本,其中原始图像用于深度卷积神经网络的第一次匹配,经过处理过的图像经过曲率识别匹配算法和截径识别匹配算法将匹配结果加权到深度卷积神经网络的识别结果。

7.1图像灰度化处理:

使用加权平均法对图像进行灰度化处理,具体公式如下。

f(i,j)=0.30r(i,j)+0.59g(i,j)+0.11b(i,j)

式中r,g,b分别为图像中各像素的红色、绿色、蓝色分量,所得结果为该像素灰度值,i和j为像素坐标。

7.2图像二值化处理,由6.1得到的灰度图像,使用canny边缘检测算法,得到弹药轮廓,将其内部填充为黑色,将其余部分清空为白色。

8)截径匹配算法:

将步骤7得到的经过二值化处理的图片导入截径匹配算法,该算法从弹药的顶点开始,使用垂直于弹轴的直线由上至下扫描,每移动单位长度记录截径值,即由步骤7.2得到的由该直线截得的黑色部分的长度。求和后的到截径匹配度k1具体公式如下:

式中f(s)为待测图片中弹丸在s高度的截径,g(s)为数据库中标准弹丸在s高度的截径,h为待测弹丸高度。k1的意义为待测弹丸各高度截径的积分与标准模型弹丸之间的相似度,0≤k1≤1,k1=1时表示与标准弹丸完全相同、k1=0时表示与标准弹丸完全不同。

9)曲率匹配算法:

将步骤7得到的经过二值化处理的图片导入曲率匹配算法,该算法从弹底圆柱部开始,使用不同曲率的椭圆与待测弹药图片对比,重合度越高则曲率匹配度越高,而后通过匹配度最高椭圆的长短轴长度求得弹轴与图片平面的夹角。具体公式如下:

θ=arcsin(4πab/πg(s)2)

式中a、b分别为椭圆的长径与短径,g(s)为数据库模型在当前节点的截径。θ的意义为该弹弹轴与图像平面的的夹角,0≤θ≤0.5π夹角为0时θ=0,夹角为90度时,θ=0.5π。

10)原始图像输入深度卷积神经网络:

将由步骤7得到,裁剪过的、但未经预处理的原始图像,导入训练好的深度卷积神经网络,得到匹配率p1。

11)将由步骤8,步骤9得到的截径匹配度k1与夹角θ,通过如下公式加权得到总匹配率p:

式中p为总匹配率,p1为深度卷积神经网络的输出匹配率,λ为截径关联系数、根据实际情况取10~100,k1由截径匹配算法得到,μ为曲率关联系数、根据实际情况取10~100,θ由曲率匹配算法得到。

12)按匹配率由高到低输出所有匹配结果,实现弹药识别功能。

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