[发明专利]一种基于深度学习的数据中心云端目标识别方法有效
申请号: | 201910076845.1 | 申请日: | 2019-01-27 |
公开(公告)号: | CN109858486B | 公开(公告)日: | 2019-10-25 |
发明(设计)人: | 赵宝康;时向泉;王宝生;陶静;赵锋;原玉磊;毛席龙;杨帆;魏子令 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06K9/32 | 分类号: | G06K9/32;G06K9/34;G06K9/62;G06N3/04 |
代理公司: | 长沙中科启明知识产权代理事务所(普通合伙) 43226 | 代理人: | 任合明 |
地址: | 410003 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于深度学习的数据中心云端目标识别方法,目的是提高小目标的识别准确度及大图幅图像的检测效果。技术方案是构建包含维度聚类模块、功能模块的基于深度学习的数据中心云端目标识别系统,构建的卷积神经网络的输出层中定义有聚焦损失函数,功能模块中包含分割检测函数,充分利用训练集待训练图片的特征,通过维度聚类模块提炼先验信息,聚焦损失函数使网络的训练侧重于小目标,利用分割检测函数分块检测大图幅图像。本发明维度聚类模块从训练集标签文件提取训练集的先验信息,提高了目标的定位准确度,聚焦损失函数提高了小目标的识别准确度,分割检测函数进一步提高了大图幅图像的检测速度和检测的准确度。 | ||
搜索关键词: | 准确度 分割检测 聚焦损失 聚类模块 数据中心 小目标 训练集 云端 图幅 维度 检测 目标识别 先验信息 图像 构建 卷积神经网络 目标识别系统 定位准确度 标签文件 训练图片 输出层 分块 学习 提炼 网络 | ||
【主权项】:
1.一种基于深度学习的数据中心云端目标识别方法,其特征在于包括以下步骤:第一步,构建基于深度学习的数据中心云端目标识别系统;基于深度学习的数据中心云端目标识别系统由云端服务器、客户端组成;客户端上安装有远程登录软件,客户端中存储着待测任务所需要的数据集,数据集包括测试集待测图片、训练集待训练图片、训练集标签文件,训练集标签文件记录训练集待训练图片中目标的标记框信息,包括标记框的位置坐标、宽、高及目标的类别;客户端通过远程登录软件登录云端服务器,将数据集上传到云端服务器,在开始训练和测试前向云端服务器发送训练指令、检测指令,对云端服务器进行远程训练、检测;云端服务器进行神经网络训练和目标识别,根据客户端的指令调度云端服务器的计算资源和存储资源,并将神经网络的训练进度信息以及识别结果发送给客户端;云端服务器除安装有输入输出模块、功能模块、解析模块、网络层模块、神经网络构建模块、cfg配置文件、网络权重文件,还安装有维度聚类模块;维度聚类模块与客户端、cfg配置文件相连,该模块从客户端接收训练集标签文件,维度聚类模块对训练集标签文件中的标记框信息进行提炼分析,计算得到先验框尺寸,将先验框尺寸写入到cfg配置文件中;cfg配置文件与维度聚类模块、解析模块相连,cfg配置文件除了记载构建卷积神经网络的网络参数外,还将从维度聚类模块接收的先验框尺寸作为网络的输出层参数存贮;解析模块与cfg配置文件、网络层模块、神经网络构建模块相连;该模块从cfg配置文件读取构建神经网络的网络参数,解析网络参数为网络层参数和网络结构参数,并将网络层参数发送给网络层模块,将网络结构参数发送给神经网络构建模块;网络层模块与解析模块、神经网络构建模块相连,该模块从解析模块接收网络层参数,利用网络层参数实例化各网络层,并将实例化后的网络层发送给神经网络构建模块;卷积神经网络的输出层中定义的损失函数为聚焦损失函数;神经网络构建模块与解析模块、网络层模块、网络权重文件、功能模块相连;神经网络构建模块从解析模块接收网络结构参数,从网络层模块接收网络层,根据网络结构参数将网络层按照次序组合,构建神经网络的基本框架;神经网络构建模块还从网络权重文件读取网络权重参数,为神经网络的基本框架赋予权重参数,完成神经网络的搭建,神经网络构建模块将神经网络发送给功能模块;网络权重文件与神经网络构建模块、功能模块相连,网络权重文件存贮从功能模块接收的网络权重参数,供神经网络构建模块读取;输入输出模块与功能模块相连,输入输出模块从客户端接收测试集待测图像,将待测图像转化为程序可以识别和处理的结构体,并将这些结构体发送给功能模块;功能模块与输入输出模块、神经网络构建模块、网络权重文件、客户端相连,功能模块调用训练函数训练神经网络,将网络权重参数发送给网络权重文件;功能模块调用分割检测函数利用神经网络进行目标检测,得到神经网络对图像的识别结果,将识别结果发送给输入输出模块;第二步,云端服务器的维度聚类模块、解析模块、网络层模块以及神经网络构建模块相互配合,构建神经网络的基本框架,方法为:2.1维度聚类模块从客户端接收训练集标签文件,从训练集标签文件读取标记框信息,求出先验框尺寸,方法为:2.1.1维度聚类模块从训练集标签文件获得训练集待训练图片中目标的标记框信息,以各个标记框的宽和高的构成的二元组(wi,hi)作为元素,构成集合S,集合S中的元素个数为N,N为待训练图片中标记框的个数,w表示宽,h表示高,i表示标记框的序号,i∈[1,N];2.1.2维度聚类模块设定聚类中心数目为k,k为正整数,定义最大迭代次数为Num,初始化第一聚类中心集合C1为空集,设C1中元素的当前数目为N',N'初始值为0;2.1.3初始化k个聚类中心,方法是:2.1.3.1维度聚类模块从S中随机选择一个元素(wl,hl),l∈[1,N],将其设为第一个聚类中心,加入集合C1,令变量N'=1;2.1.3.2令变量m=1,n=1;2.1.3.3维度聚类模块计算S中的元素(wm,hm)与C1中的元素(wn,hn)的距离d((wm,hm),(wn,hn)):d((wm,hm),(wn,hn))=1‑IOU((wm,hm),(wn,hn))其中,a、b分别为标记框的宽wm和高hm,c、d分别为聚类中心的宽wn和高hn,对于维度聚类模块计算S中任意一个元素(a,b)和C1中任意一个元素(c,d)的矩形框交并比IOU的计算方式如下:若a≥c,b≥d,则
若a≥c,b≤d,则
若a≤c,b≥d,则
若a≤c,b≤d,则
2.1.3.4若n<N',令n=n+1,转2.1.3.3;若n=N',则转2.1.3.5;2.1.3.5若m<N,令m=m+1,n=1,转2.1.3.3;若m=N,则转2.1.3.6;2.1.3.6令变量m=1,n=1,D(wm,hm)=1;D(wm,hm)是S中的任意元素(wm,hm)与C1中的任意元素(wn,hn)距离的最小值;2.1.3.7若d((wm,hm),(wn,hn))<D(wm,hm),则令D(wm,hm)=d((wm,hm),(wn,hn)),转2.1.3.8;否则直接转2.1.3.8;2.1.3.8若n<N',令n=n+1,转2.1.3.7;若n=N',则转2.1.3.9;2.1.3.9若m<N,令m=m+1,n=1,D(wm,hm)=1,转2.1.3.7;若m=N,转2.1.3.10;2.1.3.10维度聚类模块计算最小距离和
2.1.3.11维度聚类模块采取按权重分配概率的方法选择第N'+1个聚类中心:2.1.3.11.1用SUM乘以随机值random得到值r,random∈[0,1],初始化取和变量cur=0,令m=1;2.1.3.11.2维度聚类模块计算cur=cur+D(wm,hm)2.1.3.11.3若cur≤r,令m=m+1,转2.1.3.11.2;若cur>r,把S中的元素(wm,hm)加入集合C1,令N'=N'+1,转2.1.3.12;2.1.3.12若N'<k,转步骤2.1.2.2;若N'=k,得到第一聚类中心集合C1,转2.1.4;2.1.4令迭代次数t=1,维度聚类模块迭代计算产生第t+1聚类中心集合,步骤如下:2.1.4.1维度聚类模块根据S中各个元素与Ct中k个聚类中心的距离远近,将S中各元素划归最近聚类中心所属的聚类,方法是:将与第一个聚类中心(w1,h1)距离最小的元素划分为一个集合C1,将与第二个聚类中心(w2,h2)距离最小的元素划分为一个集合C2,以此类推,得到k个集合,表示为C1,C2,…,Cp,…,Ck,p∈[1,k];2.1.4.2分别求出C1,C2,…,Cp,…,Ck中各元素的均值(w′1,h′1)(w'2,h'2),…,(w'p,h'p),…,(w'k,h'k),其中w'p为Cp中各元素的横坐标的算术平均值,h'p为Cp中各元素的纵坐标的算术平均值,得到的k个均值作为第t+1聚类中心集合Ct+1,t=t+1;2.1.4.3若t<Num,转步骤2.1.4.1;若t=Num,将此时的Ct+1中k个元素作为先验框的宽和高写入cfg配置文件,转2.2;2.2解析模块从cfg配置文件接收构建神经网络的网络参数,解析网络参数为网络层参数和网络结构参数,并将网络层参数发给网络层模块,将网络结构参数发送给神经网络构建模块;2.4网络层模块从解析模块接收网络层参数,利用网络层参数实例化各网络层,在输出层中定义聚焦损失函数,并将网络层发送给神经网络构建模块;2.5神经网络构建模块从解析模块接收网络结构参数,从网络层模块接收网络层,根据网络结构参数将网络层组合,构建神经网络的基本框架;第三步,云端服务器和客户端相互配合进行神经网络的训练,完成神经网络的搭建,方法是:3.1功能模块从客户端获取训练指令;3.2输入输出模块、功能模块、神经网络构建模块训练神经网络的基本框架,生成训练好的网络权重参数;3.3功能模块将训练好的网络权重参数存贮到网络权重文件;3.4神经网络构建模块从网络权重文件中读取训练好的网络权重参数,将训练好的网络权重参数赋予神经网络的基本框架,完成神经网络的搭建;第四步,云端服务器和客户端相互配合对待测图像进行目标检测识别,方法是:4.1功能模块从客户端接收检测指令;4.2功能模块、输入输出模块、功能模块、神经网络构建模块相互配合进行目标检测识别,方法是:4.2.1输入输出模块从客户端接收测试集待测图片P,将待测图片P转化为功能模块可以识别和处理的结构体;4.2.2功能模块从输入输出模块接收结构体,并从神经网络构建模块接收神经网络;4.2.3功能模块调用分割检测函数,利用结构体对测试集待测图片P进行分割检测,得到P的识别结果,方法是:4.2.3.1假设P的宽和高为W和H,以左上角为坐标原点(0,0),令m=0,n=0,M为神经网络输入层的大小;4.2.3.2分割检测函数利用神经网络对宽的坐标为区间[m,m+M],高的坐标为区间[n,n+M]范围内的切片进行目标检测,图像的预测结果由神经网络输出层计算并得到,针对目标位置的预测是采用先验框加位置偏移量得到的,得到宽坐标为区间[m,m+M],高的坐标为区间[n,n+M]范围内各切片的识别结果,即各目标的位置坐标与类别;4.2.3.3若m<W‑M,则m=m+M,转4.2.3.2;若W‑M≤m≤W,转4.2.3.4;4.2.3.4分割检测函数利用神经网络对宽的坐标为区间[m,W],高的坐标为区间[n,n+M]范围内的切片进行目标检测,得到宽的坐标为区间[m,W],高的坐标为区间[n,n+M]范围内的各切片的识别结果,m=0;4.2.3.5若n<H‑M,则n=n+M,转4.2.3.2;若H‑M≤n≤H,转4.2.3.6;4.2.3.6分割检测函数利用神经网络对宽的坐标为区间[m,m+M],高的坐标为区间[n,H]范围内的切片进行目标检测,得到宽的坐标为区间[m,m+M],高的坐标为区间[n,H]范围内的各切片的识别结果;4.2.3.7若m<W‑M,则m=m+M,转4.2.3.6;若W‑M≤m≤W,转4.2.3.8;4.2.3.8分割检测函数利用神经网络对宽的坐标为区间[m,W],高的坐标为区间[n,H]范围内的切片进行目标检测,得到宽的坐标为区间[m,W],高的坐标为区间[n,H]范围内的各切片的识别结果;4.2.3.9分割检测函数将宽坐标为区间[m,m+M],高坐标为区间[n,n+M]范围内的各切片识别结果、宽坐标为区间[m,W],高坐标为区间[n,n+M]范围内的各切片识别结果、宽坐标为区间[m,m+M],高坐标为区间[n,H]范围内的各切片识别结果、宽坐标为区间[m,W],高坐标为区间[n,H]范围内的各切片识别结果进行整合,得出整幅图像P的识别结果;4.2.4功能模块将P的识别结果传给输入输出模块;4.3输入输出模块将P的识别结果输出给客户端。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910076845.1/,转载请声明来源钻瓜专利网。