CN110363198A - 一种神经网络权重矩阵拆分与组合的方法 - Google Patents

一种神经网络权重矩阵拆分与组合的方法 Download PDF

Info

Publication number
CN110363198A
CN110363198A CN201910599125.3A CN201910599125A CN110363198A CN 110363198 A CN110363198 A CN 110363198A CN 201910599125 A CN201910599125 A CN 201910599125A CN 110363198 A CN110363198 A CN 110363198A
Authority
CN
China
Prior art keywords
weight matrix
classification
neural network
original
dimension
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910599125.3A
Other languages
English (en)
Other versions
CN110363198B (zh
Inventor
邓春华
刘子威
林云汉
朱子奇
丁胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University of Science and Engineering WUSE
Original Assignee
Wuhan University of Science and Engineering WUSE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University of Science and Engineering WUSE filed Critical Wuhan University of Science and Engineering WUSE
Priority to CN201910599125.3A priority Critical patent/CN110363198B/zh
Publication of CN110363198A publication Critical patent/CN110363198A/zh
Application granted granted Critical
Publication of CN110363198B publication Critical patent/CN110363198B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种神经网络权重矩阵拆分与组合的方法。该方法用于具有one‑stage网络结构的目标检测中,在进行目标检测时,首先确定要检测的物体种类,通过收集图片数据进行训练,得到原始权重矩阵;原有N个类别,当其中某一类或多个类别不再需要需移除时,要进行神经网络权重矩阵的拆分,即将原始权重矩阵中的某一类或多个类别拆分提取出来;当其中某一类或多个类别需要更新或者需要添加新类别时,将原始权重矩阵中的某一类或多个类别提取出来进行单独训练,之后再通过权重矩阵组合添加合并进去。该方法能够实现目标检测模型的自由拆分与合并,节省训练时间,简化训练步骤,针对不同的尺度具有较高的自由度,具有一定推广价值。

Description

一种神经网络权重矩阵拆分与组合的方法
技术领域
本发明属于深度学习技术领域,涉及一种神经网络权重矩阵拆分与组合的方法,尤其涉及一种图像目标检测中YOLO系列神经网络权重矩阵拆分与组合方法。
背景技术
深度学习的概念源于人工神经网络的研究,是机器学习的分支,是一种以人工神经网络为架构,对数据进行表征学习的算法。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。其中,目标检测是与计算机视觉和图像处理有关的计算机技术,其涉及在数字图像和视频中检测特定类(例如人、建筑物或汽车)的语义对象的实例。目标检测在计算机视觉的许多领域都有应用,包括图像检索和视频监控。
深度学习的核心就是卷积操作,它是用特定的卷积核(矩阵)来对整个输入图片(矩阵)通过对应元素相乘并求和来进行遍历。目的就是为了提取图像的抽象特征,一般来说网络结构越复杂和越深,它的效果会更好。一个完整的模型就是由很多卷积层与其它层堆叠而成。
目标检测中的RCNN系列算法遵循2-stage的流程:首先找出一系列(预先设定好的)候选区域,而后对这些候选区域进行分类以及位置修正。YOLO则开启了1-stage的流派:直接用一个深度网络,回归出目标的位置和归类。
YOLO(You only look once)是一个实时的目标检测系统,是一个使用卷积神经网络的目标检测框架,由大量的卷积层与其它层组合而成。它采用回归的方法进行目标框的检测以及分类;输入一张图片,马上可以得到图片中的物体类别与具体的坐标,它的检测速度很快,可以达到视频实时检测的需求。
YOLO首先将图像分割成多个大小相同的网格,再对每个网格分别预测里面有物体的概率以及物体类别和坐标的信息,然后再去除掉重复以及多余的检测框,最后可以得到需要的结果。
YOLO将物体检测作为回归问题求解,基于一个单独的端到端网络,完成从原始图像的输入到物体位置和类别的输出。它还是一种在工业界广泛使用的实时目标检测模型,以检测速度快闻名。基础YOLO检测器的速度能够达到45fps,更快的Fast YOLO则能够达到惊人的155fps。
采用YOLO实时目标检测系统的目标检测工程实施的一般过程是:
1.确定要检测的物体种类,并搜集图片,以得到训练集,确定要使用的网络结构;
2.使用在大型数据集上训练的预训练权重,或者完全从零开始训练自己的权重,后者比前者所花的时间更多。
3.权重文件训练好之后就可以使用了。如果在使用中发现需要添加新的类别,这时需要在原有训练集中添加新的类别图片并且比例和原有类别保持一致;或者要移除一些不再需要的类别,这种情况下需要移除训练集中对应类别的图片。
4.使用新的训练集重新训练,训练后得到一个新的权重并使用。
在上述的场景中,一旦当有新的类别需要加入或者原有类别需要分离时,就需要重新整理训练集并训练,而这个过程会耗费较多的时间。第二种方法是针对新的类别再重新训练一个不同的神经网络权重矩阵,与第一个网络平等地单独部署上线,但这会浪费多余的资源。这些多余的时间和资源耗费显然不是必要的。
发明内容
本发明的目的,亦即本发明要解决的技术问题是:解决现有目标检测任务中,当更新所训练的模型时需要将整个网络重新训练,耗费时间和资源的不足之处,提供一种只需训练新添加的类别将其加入原有的模型之中或者删除以前不需要的类别来组合为新的模型的,神经网络权重矩阵拆分与组合的方法。
为解决上述技术问题,本发明采用了以下技术方案:
本发明一种神经网络权重矩阵拆分与组合的方法,该方法用于具有one-stage网络结构的目标检测中,在进行目标检测时,首先确定要检测的物体种类(N类),通过收集图片数据进行训练,得到一个可以用来进行目标检测的效果好的神经网络权重矩阵,即原始权重矩阵W1;原有N个类别,当其中某一类或者多个类别(J个类别)不再需要需移除时,要进行神经网络权重矩阵的拆分,即将原始权重矩阵中的某一类或者多个类别提取出来,亦即,将N类减少为N-1类或N-J类;当其中某一类或者多个类别(J个类别)需要更新或者需要添加新类别时,要进行神经网络权重矩阵的组合(即合并),亦即,将原始权重矩阵中的某一类或者多个类别提取出来进行单独训练之后,再通过权重矩阵组合添加合并进去。
进一步地,进行神经网络权重矩阵的拆分与组合的方法如下:
(1)神经网络权重矩阵的拆分
拆分是指将包含多种检测类别的神经网络权重矩阵中的某一类或者多类单独提取出来,并保持原有类别的识别效果不变;拆分的方法是:将多余的一个类别或J个类别在原始权重矩阵W1的三个不同尺度层的最后一个卷积层即C1、C2、C3层的卷积核上的对应值直接移除,即将C1、C2、C3层的权重矩阵的第二个维度从n=(5+N)*3改为b=(N-1+5)*3或b=(N-J+5)*3,其它层的权重矩阵保持不变;即完成对W1的拆分修改,拆分修改后的W1称为W2。
进行神经网络权重矩阵拆分的具体方法如下:
a、将原始权重矩阵W1的三个不同尺度层的最后一个卷积层取出,分别为C1、C2、C3层,得到三个维度分别为m*n的权重矩阵,m为上一层通道数,n为本层通道数;原始权重矩阵W1有N类,则n=(5+N)*3;
b、在n中提取出相应的要单独提取出来的一类或者多个类别对应的维度,即提取出n列中的对应列,记为a;当只提取出一类时,a为(5+1)*3=18;当提取出两个类别时,a为(5+2)*3=21;当提取出J个类别时,a为(5+J)*3;
c、将提取出来的一类或者多个类别的新的维度组成一个m*a的权重矩阵,将提取之后剩下的N-1或N-J个类别的维度组成一个新的权重矩阵,替换掉原本的卷积层;
原始权重矩阵的第二个维度是n=(5+N)*3,提取一类之后,提取出的那一类的权重矩阵的第二个维度是a=(5+1)*3=18,提取之后剩下的N-1类的权重矩阵的第二个维度是b=(N-1+5)*3;提取J个类别之后,提取出的那J个类别的权重矩阵的第二个维度是a=(5+J)*3,提取之后剩下的N-J个类别的权重矩阵的第二个维度是b=(N-J+5)*3;
d、用相同的方法处理卷积层的偏置矩阵;
e、得到拆分后的新权重矩阵W2。
(2)对取出的权重矩阵或要添加的新类别的权重矩阵W3单独进行训练
需要更新时,从原神经网络权重矩阵W1中提取出其中的某一类或者多个类别的权重矩阵,对取出的权重矩阵进行单独训练之后再添加进去;
需要添加新类别时,从原神经网络权重矩阵W1中任意提取出其中的某一类或者多个类别的权重矩阵,作为模板,进行单独训练之后再添加进去;(添加新类别时,这一类或者多个类别可以任取,相当于只是提取一个模板出来进行单独训练);
使用新类别的数据集只对上面提取出来的C1、C2、C3三个卷积层进行单独训练,这样就得到新类别的神经网络权重矩阵(只有三个卷积层被更新为新类别的参数)。
具体方法如下:
①将W1复制得到W3,使用W3作为预训练权重矩阵进行新类别的训练;并且,在训练时,停止除C1、C2、C3卷积层以外其它层参数的更新;也就是,只对三个输出卷积层即C1、C2、C3层进行训练。
②训练后的W3中C1、C2、C3卷积层所对应的新的权重参数,就是识别新类别所需的信息,记为D1、D2、D3。
提取出1个类别时,将W1复制得到W3,将W3的C1、C2、C3卷积层修改为单类别的形式。
(3)神经网络权重矩阵的组合(即合并)
组合是指将第二步单独训练的新类别的权重矩阵W3与原有的神经网络权重矩阵(包括原始权重矩阵W1和拆分修改后的权重矩阵W2)合并为一个权重文件的过程;该过程最大化了原始权重矩阵的作用,只需要添加少部分的权重文件便完成了类别的更新;具体方法如下:
a、将新权重矩阵W3的C1、C2、C3卷积层取出,维度为m*a,a=(5+J)*3;同样,取出原有的权重矩阵W1或W2对应的层即C1、C2、C3卷积层,W1的维度为m*n,n=(5+N)*3;W2的维度为m*b,b=(N-J+5)*3;
b、将要合并的两个权重矩阵直接在m维度方向上连接到一起,形成一个维度为m*c的权重矩阵(c不等于a+b),c=(N-J+5+Jz)*3+((N-J)z+5+J)*3,下角标z表示占位;操作时,除了类别的维度,还要带上坐标和置信度五个维度一起连接。
亦即,将新训练的权重矩阵W3与原有权重矩阵W1或W2(即原始权重矩阵W1或拆分修改后的权重矩阵W2)合并;W3与W1或W2之间,除了上述C1、C2、C3三个卷积层以外,其它层都是相同的;W3与W1或W 2合并完成后,得到新的权重矩阵W4;W4相比原本的W1或W 2,权重矩阵模型的大小(占用空间,存储大小)只增加了极小一部分。
进一步地,神经网络权重矩阵的组合方法为:
①将W3中D1、D2、D3层的参数添加到W1或W2中对应的C1、C2、C3三个卷积层中。
②添加要保证类别的对应,应在C1、C2、C3部分加入对新类别的占位,在D1、D2、D3部分添加对原类别的占位。
进一步地,使用aeras等高级深度学习框架来对权重文件进行修改,也就是对权重矩阵模型的卷积层进行修改。
进一步地,该方法中,占位要将权重项置为零,偏置项置为负值,保证对原有类别不产生影响;亦即,将c中除了a+b,其他多余的部分,置为零,在格式上占个位,方便解析最后的结果。
进一步地,该方法中,拆分、合并操作要在每个尺度上进行(有三个不同尺度)。该方法可根据新类别尺度大小来添加部分卷积层,自由度很大。
本发明的有益效果:
本发明的方法能够实现目标检测模型的自由拆分与合并,节省训练时间,简化训练步骤,针对不同的尺度具有较高的自由度。总的来说,能以较高的准确度快速部署于修改模型。该方法是一种可以用在类似的one-stage网络结构里的通用方法。
本发明的方法可以向工业目标检测领域推广。随着图像处理尤其是视频安防检测的迅猛发展,快速、灵活地部署一个检测模型并保持后续更新变得越来越重要。本方法能够改善一般方法中部署后不容易更新修改的缺点,简单快速地完成新类别的训练并加入到原有类别之中,具有一定的推广价值。
附图说明
图1是本发明中的YOLOv3网络架构图;
图2是本发明的神经网络权重矩阵拆分与组合的方法的流程示意图;
图3是本发明的方法应用到履带式智能小车上的示意图。
图中:1、摄像头 2、智能小车
具体实施方式
以下结合附图和实施例对本发明作进一步的说明。
实施例1
本实施例以YOLO v3(YOLO系列第三版)为例,说明本发明一种针对YOLO v3的神经网络权重矩阵拆分与组合的方法。
下面以标准416*416在coco训练集上训练的80类的yolo v3为例,层序号以其中共106层编号为标准。
如图1所示,本发明中的YOLOv3网络结构简介如下:
输入:三通道彩色图片(416*416*3);
输出:分别预测不同大小目标的三个尺度(13*13,26*26,52*52)的预测结果。
Daranet-53:一个53层的特征提取网络,可以将图片的抽象特征提取出来。
其中,
CBL:卷积层(Conv)+批量归一化层(BN)+激活层(L-relu),主要执行卷积操作。
Res_unit:残差模块,包含2个CBL和跳级相加的残差结构,可以显著减轻网络结构太深时梯度消失的影响。
Resn:具有一个CBL和n个残差模块的合并层,Zero padding是对输入做填充以保证大小对应。
上采样:将特征图使用最邻近插值放大一倍以检测小目标。
Concat:矩阵拼接合并操作。
C:纯卷积层;C1、C2、C3指权重矩阵的三个不同尺度层的最后一个卷积层(即输出卷积层);后续类别分割和合并操作主要在本层上执行。
Out:输出层;Out1、Out2、Out3,指三个不同尺度的输出层。
如图2所示,本发明一种针对YOLO v3的神经网络权重矩阵拆分与组合的方法:
首先确定要检测的物体种类(N=80类),通过收集图片数据进行训练,得到一个可以用来进行目标检测的效果好的神经网络权重矩阵,即原始权重矩阵W1;再根据需要,对神经网络权重矩阵进行拆分与组合,方法如下:
1)神经网络权重矩阵的拆分
原有N=80种类别,现有1类或J个类别不再需要或者需要更新待处理,即要将80类减少为N-1=79类或N-J类;拆分是指将包含多种检测类别的神经网络权重矩阵中的某一类或者多类单独提取出来,并保持原有类别的识别效果不变;拆分的具体方法如下:
a、将原始权重矩阵W1的三个不同尺度层的最后一个卷积层取出,分别为C1、C2、C3层(即图1中三个C层即81、93和105层),得到三个维度分别为m*n的权重矩阵,m为上一层通道数,n为本层通道数;原始权重矩阵有80类,则n=(5+N)*3=255;原始权重矩阵W1的C1层即81层的m与n分别为1024和255,m*n=1024*255;C2层即105层的m与n分别为512和255,m*n=512*255;C3层即105层的m与n分别为256和255,m*n=256*255;
b、在n中取出相应的要单独提取出来的一类或者多个类别对应的维度,即取出n列中的对应列,记为a;当只提取出一类时,维度a为(5+1)*3=18;当取出两个类别时,维度a为(5+2)*3=21;当提取出J个类别时,维度a为(5+J)*3。
c、将提取出来的一类或者多个类别的新的维度组成一个m*a的权重矩阵,将提取之后剩下的N-1或N-J个类别的维度组成一个新的权重矩阵,替换掉原本的卷积层;原始权重矩阵的第二个维度是n=(5+N)*3,提取一类之后,提取出的那一类的权重矩阵的第二个维度是a=(5+1)*3=18,提取之后剩下的N-1类的权重矩阵的第二个维度是b=(N-1+5)*3;提取J个类别之后,提取出的那J个类别的权重矩阵的第二个维度是a=(5+J)*3,提取之后剩下的N-J个类别的权重矩阵的第二个维度是b=(N-J+5)*3;
d、用相同的方法处理卷积层的偏置矩阵;
e、得到拆分后的新权重矩阵W2。
亦即,神经网络权重矩阵的拆分,是将多余的一个类别或J个类别在原始权重矩阵W1的三个不同尺度层的最后一个卷积层即C1、C2、C3层的卷积核上的对应值直接移除,即将C1、C2、C3层的权重矩阵的第二个维度从n=(5+N)*3改为b=(N-1+5)*3或b=(N-J+5)*3,最后C1、C2、C3变为1024*252、512*252、256*252;其它层的权重矩阵保持不变;即完成对W1的修改,修改后的W1称为W2。
(2)对取出的或要添加的新类别的权重矩阵W3单独进行训练
需要更新时,从原神经网络权重矩阵W1中提取出其中的某一类或者多个类别的权重矩阵,对取出的权重矩阵进行单独训练之后再添加进去;
需要添加新类别时,从原神经网络权重矩阵W1中任意提取出其中的某一类或者多个类别的权重矩阵,作为模板,进行单独训练之后再添加进去;(添加新类别时,这一类或者多个类别可以任取,相当于只是提取一个模板出来进行单独训练);
使用新类别的数据集只对上面提取出来的C1、C2、C3三个卷积层进行单独训练,这样就得到新类别的神经网络权重矩阵(只有三个卷积层被更新为新类别的参数)。
具体方法如下:
①将W1复制得到W3,使用W3作为预训练权重矩阵进行新类别的训练;并且,在训练时,停止除C1、C2、C3卷积层以外其它层参数的更新;也就是,只对三个输出卷积层即C1、C2、C3层(81、93和105层)进行训练。
②训练后的W3中C1、C2、C3卷积层所对应的新的权重参数,就是识别新类别所需的信息,记为D1、D2、D3。
提取出1个类别时,将W1复制得到W3,将W3的C1、C2、C3卷积层修改为单类别的形式,即1024*18、512*18、256*18,其中,18=(1+5)*3。
(3)网络权重矩阵的组合(即合并)
组合是指将原有的神经网络权重矩阵与第二步新训练的权重矩阵合并为一个权重文件的过程;该过程最大化了原始权重矩阵矩阵的作用,只需要添加少部分的权重文件便完成了类别的更新;具体方法如下:
a、将新权重矩阵W3的C1、C2、C3卷积层取出,维度为m*a,a=(5+J)*3;同样,取出原有的权重矩阵W1或W2对应的层即C1、C2、C3卷积层,W1的维度为m*n,n=(5+N)*3;W2的维度为m*b,b=(N-J+5)*3;
b、将要合并的两个权重矩阵直接在m维度方向上连接到一起,形成一个维度为m*c的权重矩阵(c不等于a+b),c=(N-J+5+Jz)*3+((N-J)z+5+J)*3,下角标z表示占位;操作时,除了类别的维度,还要带上坐标和置信度五个维度一起连接。
亦即,将新训练的权重矩阵W3与原有权重矩阵W2合并;W2与W3除了上述3个卷积层以外其它层都是相同的;W3与W2合并完成后得到新的权重矩阵W4;W4相比原本的W1,模型权重大小只增加了极小一部分。
①将W3中D1、D2、D3层的参数添加到W1或W2中对应的C1、C2、C3卷积层即81、93和105层中。
当W3为1个类别时,维度a为(5+1)*3=18,将(1+5)*3=18个维度加入到(79+5)*3=252中;当W3为J个类别时,维度a为(5+J)*3,则将(5+J)*3个维度加入到(N-J+5)*3个维度中。
②添加要保证类别的对应,应在C1、C2、C3部分加入对新类别的占位,在D1、D2、D3部分添加对原类别的占位。
当W3为1个类别时,合并后的c为(79+1+5)*3+(79+1+5)*3=510,所以,添加完成后,最后的3个卷积层变为1024*510,512*510,256*510。
当W3为J个类别时,合并后的c=(N-J+5+Jz)*3+((N-J)z+5+J)*3,下角标z表示占位。
该方法中,拆分、合并操作要在每个尺度上进行(有三个不同尺度),即有多个图2中所示的5+1(一个类别)或5+N(多个类别)。
该方法中,占位要将权重项置为零,偏置项置为负值,保证对原有类别不产生影响;亦即,将c中除了a+b,其他多余的部分,置为零,在格式上占个位,方便解析最后的结果。
该方法可根据新类别尺度大小来添加部分卷积层,自由度很大。
在增加一个新类别时,本发明的方法与普通方法的效果对比如下:
表1本发明的方法与普通方法的效果对比
普通方法(重训练) 普通方法(加模型) 本发明的方法
权重模型大小 基本不变 增加一倍 基本不变
训练耗时 大于原训练时间 较短 较短
检测速度 基本不变 增加一倍 不变
检测质量 下降 不变 不变
实施例2
使用keras高级深度学习框架来对权重文件进行修改,也就是对权重矩阵模型的卷积层进行修改。下面以修改yolo v3权重文件为例。
首先确定要检测的物体种类(原始包含80种类别),通过收集图片数据训练yolov3得到一个效果较好的卷积神经网络权重,称为原始权重矩阵W1,可以用来进行目标检测的任务。
1、现有1类不再需要或者需要更新待处理,所以要将这1类提取出来,即要将80类减少为79类。
对应图1的y1、y2、y3输出13*13*255、26*26*255、52*52*255应修改为13*13*252、26*26*252、52*52*252。
1.1经过分析可以知道,原始权重矩阵W1有三个输出卷积层(图1中的3个C层),即C1、C2、C3层。它们的卷积核维度分别为1024*255、512*255、256*255,分别对应检测不同尺度上的目标。
1.2每个卷积核上都有80个类别的对应节点,用来判断不同的类别。255表示(80+5)*3,80代表80个类别,5代表4个坐标值(中心点坐标与长宽值)与1个置信度。乘3代表预测3个不同长宽比形状的矩形框,3个C层均各有3个。
1.3将多余的一个类别在原始权重矩阵W1的三个不同尺度层的最后一个卷积层即C1、C2、C3层的卷积核上的对应值直接移除,即将C1、C2、C3层的权重矩阵的第二个维度从n=(5+N)*3改为b=(N-1+5)*3=(79+5)*3=252,最后C1、C2、C3变为1024*252、512*252、256*252;其它层的权重矩阵保持不变;即完成对W1的修改;修改后的W1变成为W2。
如要将多余的J个类别在原始权重矩阵W1的三个不同尺度层的最后一个卷积层即C1、C2、C3层的卷积核上的对应值直接移除,即将C1、C2、C3层的权重矩阵的第二个维度从n=(5+N)*3改为b=(N-J+5)*3,其它层的权重矩阵保持不变;即完成对W1的修改;修改后的W1变成为W2。
2.现有一个新的检测类别需要添加到原有权重矩阵(拆分后修改的权重矩阵W2)中,所以,先要对新类别的权重矩阵W3进行单独训练。(新类别为一类)
2.1将W1复制得到W3,将W3的C1、C2、C3卷积层修改为单类别的形式。即1024*18、512*18、256*18,其中,18=(1+5)*3。
2.2使用W3作为预训练权重矩阵矩阵进行新类别的训练。并且,在训练时停止除C1、C2、C3卷积层以外其它层参数的更新。也就是只对三个输出卷积层(81、93和105层)进行训练。
2.3训练后的W3中C1、C2、C3卷积层所对应的新的权重参数就是识别新类别所需的信息,记为D1、D2、D3。
3.将新训练的新类别的权重矩阵W3与原有权重矩阵(拆分后修改的权重矩阵W2)合并。W2与W3除了上述3个C1、C2、C3卷积层以外其它层都是相同的。
3.1将D1、D2、D3层的参数添加到W2中对应的3个C1、C2、C3卷积层即81、93和105层中。
添加一个类别时,维度a为(5+1)*3=18,即将(1+5)*3=18个维度加入到(79+5)*3=252中;如果要添加J个类别时,维度a为(5+J)*3,则将(5+J)*3个维度加入到(N-J+5)*3个维度中;
3.2添加要保证类别的对应,应在C1、C2、C3部分加入对新类别的占位,在D1、D2、D3部分添加对原类别的占位。
添加一个类别时,添加连接的公式为(79+1+5)*3+(79+1+5)*3=510,所以,添加完成后,最后的3层变为1024*510,512*510,256*510。
如果要添加J个类别时,维度a为(5+J)*3,则将(5+J)*3个维度加入到(N-J+5)*3个维度中,添加连接的公式是c=(N-J+5+Jz)*3+((N-J)z+5+J)*3,下角标z表示占位。
4.合并完成后得到新的权重矩阵W4,相比原本的W1,模型权重大小只增加了极小一部分。
应用实施例
将通过本发明实施例1和实施例2的方法处理的目标检测模型移植到履带式智能小车上,与智能小车配合,并实时检测它所拍摄的画面。
如图3所示,通过摄像头1拍摄画面回传,来实时对智能小车2拍摄的画面进行分析,检测图像中的目标。摄像头不仅拍摄常规图像,还包括红外、星光等其它类型的图像。通过用以上方法对目标检测模型进行处理,分割不需要识别的类别,整合需要识别的类别。比如,停车场使用时需要检测车辆,而到了安防场景下需要检测人员。这样就可以把智能小车快速部署到不同的应用场景,更加高效地识别各种需要的类别。

Claims (10)

1.一种神经网络权重矩阵拆分与组合的方法,其特征在于,该方法用于具有one-stage网络结构的目标检测中,在进行目标检测时,首先确定要检测的物体种类,通过收集图片数据进行训练,得到一个可以用来进行目标检测的效果好的神经网络权重矩阵,即原始权重矩阵W1;原有N个类别,当其中某一类或者多个类别不再需要需移除时,要进行神经网络权重矩阵拆分,即将原始权重矩阵中的某一类或者多个类别提取出来,并保持原有类别的识别效果不变;当其中某一类或者多个类别需要更新或者需要添加新类别时,要进行神经网络权重矩阵的组合即合并,亦即,将原始权重矩阵中的某一类或者多个类别提取出来进行单独训练之后,再通过权重矩阵组合添加合并进去。
2.如权利要求1所述的神经网络权重矩阵拆分与组合的方法,其特征在于,
进行神经网络权重矩阵拆分时,将包含多种检测类别的神经网络权重矩阵中的某一类或者多类单独提取出来,并保持原有类别的识别效果不变;拆分的方法是:将多余的一个类别或J个类别在原始权重矩阵W1的三个不同尺度层的最后一个卷积层即C1、C2、C3层的卷积核上的对应值直接移除,即将C1、C2、C3层的权重矩阵的第二个维度从n=(5+N)*3改为b=(N-1+5)*3或b=(N-J+5)*3,其它层的权重矩阵保持不变;即完成对W1的修改,修改后的W1称为W2。
3.如权利要求2所述的神经网络权重矩阵拆分与组合的方法,其特征在于,
进行神经网络权重矩阵拆分的具体方法如下:
a、将原始权重矩阵W1的三个不同尺度层的最后一个卷积层取出,分别为C1、C2、C3层,得到三个维度分别为m*n的权重矩阵,m为上一层通道数,n为本层通道数;原始权重矩阵W1有N类,则n=(5+N)*3;
b、在n中提取出相应的要单独提取出来的一类或者多个类别对应的维度,即提取出n列中的对应列,记为a;当只提取出一类时,a为(5+1)*3=18;当提取出J个类别时,a为(5+J)*3;
c、将提取出来的一类或者多个类别的新的维度组成一个m*a的权重矩阵,将提取之后剩下的N-1或N-J个类别的维度组成一个新的权重矩阵,替换掉原本的卷积层;原始权重矩阵的第二个维度是n=(5+N)*3,提取一类之后,提取出的那一类的权重矩阵的第二个维度是a=(5+1)*3=18,提取之后剩下的N-1类的权重矩阵的第二个维度是b=(N-1+5)*3;提取J个类别之后,提取出的那J个类别的权重矩阵的第二个维度是a=(5+J)*3,提取之后剩下的N-J个类别的权重矩阵的第二个维度是b=(N-J+5)*3;
d、用相同的方法处理卷积层的偏置矩阵;
e、得到拆分后的新权重矩阵W2。
4.如权利要求1所述的神经网络权重矩阵拆分与组合的方法,其特征在于,
对取出的或要添加的新类别的权重矩阵W3单独进行训练;
需要更新时,从原神经网络权重矩阵W1中提取出其中的某一类或者多个类别的权重矩阵,对取出的权重矩阵进行单独训练之后再添加进去;
需要添加新类别时,从原神经网络权重矩阵W1中任意提取出其中的某一类或者多个类别的权重矩阵,作为模板,进行单独训练之后再添加进去;
使用新类别的数据集只对上面提取出来的C1、C2、C3三个卷积层进行单独训练,这样就得到新类别的神经网络权重矩阵只有三个卷积层被更新为新类别的参数。
5.如权利要求4所述的神经网络权重矩阵拆分与组合的方法,其特征在于,
对取出的或要添加的新类别的权重矩阵W3单独进行训练的方法如下:
①将W1复制得到W3,使用W3作为预训练权重矩阵进行新类别的训练;并且,在训练时,停止除C1、C2、C3卷积层以外其它层参数的更新;也就是,只对三个输出卷积层即C1、C2、C3层进行训练;
②训练后的W3中C1、C2、C3卷积层所对应的新的权重参数,就是识别新类别所需的信息,记为D1、D2、D3。
6.如权利要求4所述的神经网络权重矩阵拆分与组合的方法,其特征在于,
神经网络权重矩阵组合即合并,包括将单独训练的新类别的权重矩阵W3与原始权重矩阵W1或拆分修改后的权重矩阵W2合并为一个权重文件;亦即,将新训练的权重矩阵W3与原始权重矩阵W1或拆分修改后的权重矩阵W2合并;具体方法如下:
a、将新权重矩阵W3的C1、C2、C3卷积层取出,维度为m*a,a=(5+J)*3;同样,取出原有的权重矩阵W1或W2对应的层即C1、C2、C3卷积层,W1的维度为m*n,n=(5+N)*3;W2的维度为m*b,b=(N-J+5)*3;
b、将要合并的两个权重矩阵直接在m维度方向上连接到一起,形成一个维度为m*c的权重矩阵,c=(N-J+5+Jz)*3+((N-J)z+5+J)*3,下角标z表示占位;操作时,除了类别的维度,还要带上坐标和置信度五个维度一起连接;
W3与W1或W2之间,除了上述C1、C2、C3三个卷积层以外,其它层都是相同的;W3与W1或W2合并完成后,得到新的权重矩阵W4;W4相比原本的W1或W2,权重矩阵模型的大小包括占用空间、存储大小只增加了极小一部分。
7.如权利要求5所述的神经网络权重矩阵拆分与组合的方法,其特征在于,
神经网络权重矩阵的组合方法为:
①将W3中D1、D2、D3层的参数添加到W1或W2中对应的C1、C2、C3三个卷积层中;即将(5+J)*3个维度加入到(N-J+5)*3个维度中;
②添加要保证类别的对应,应在C1、C2、C3部分加入对新类别的占位,在D1、D2、D3部分添加对原类别的占位。
8.如权利要求7所述的神经网络权重矩阵拆分与组合的方法,其特征在于,
该方法中,占位要将权重项置为零,偏置项置为负值,保证对原有类别不产生影响;亦即,将c中除了a+b,其他多余的部分,置为零,在格式上占个位。
9.如权利要求2所述的神经网络权重矩阵拆分与组合的方法,其特征在于,该方法中,拆分、合并操作要在每个不同尺度上进行。
10.如权利要求1所述的神经网络权重矩阵拆分与组合的方法,其特征在于,使用keras高级深度学习框架来对权重文件进行修改,也就是对权重矩阵模型的卷积层进行修改。
CN201910599125.3A 2019-07-04 2019-07-04 一种神经网络权重矩阵拆分与组合的方法 Active CN110363198B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910599125.3A CN110363198B (zh) 2019-07-04 2019-07-04 一种神经网络权重矩阵拆分与组合的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910599125.3A CN110363198B (zh) 2019-07-04 2019-07-04 一种神经网络权重矩阵拆分与组合的方法

Publications (2)

Publication Number Publication Date
CN110363198A true CN110363198A (zh) 2019-10-22
CN110363198B CN110363198B (zh) 2022-12-09

Family

ID=68217904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910599125.3A Active CN110363198B (zh) 2019-07-04 2019-07-04 一种神经网络权重矩阵拆分与组合的方法

Country Status (1)

Country Link
CN (1) CN110363198B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111767937A (zh) * 2019-11-13 2020-10-13 杭州海康威视数字技术股份有限公司 目标检测模型训练方法、装置、电子设备及存储介质
CN113642730A (zh) * 2021-08-30 2021-11-12 Oppo广东移动通信有限公司 卷积网络剪枝方法和装置、电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136087A (zh) * 2011-03-08 2011-07-27 湖南大学 基于多神经网络的流量矩阵估计方法
US20170262737A1 (en) * 2016-03-11 2017-09-14 Magic Leap, Inc. Structure learning in convolutional neural networks
CN108647742A (zh) * 2018-05-19 2018-10-12 南京理工大学 基于轻量级神经网络的快速目标检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136087A (zh) * 2011-03-08 2011-07-27 湖南大学 基于多神经网络的流量矩阵估计方法
US20170262737A1 (en) * 2016-03-11 2017-09-14 Magic Leap, Inc. Structure learning in convolutional neural networks
CN108647742A (zh) * 2018-05-19 2018-10-12 南京理工大学 基于轻量级神经网络的快速目标检测方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111767937A (zh) * 2019-11-13 2020-10-13 杭州海康威视数字技术股份有限公司 目标检测模型训练方法、装置、电子设备及存储介质
CN113642730A (zh) * 2021-08-30 2021-11-12 Oppo广东移动通信有限公司 卷积网络剪枝方法和装置、电子设备

Also Published As

Publication number Publication date
CN110363198B (zh) 2022-12-09

Similar Documents

Publication Publication Date Title
CN112308158B (zh) 一种基于部分特征对齐的多源领域自适应模型及方法
CN110532900B (zh) 基于U-Net和LS-CNN的人脸表情识别方法
CN106203395B (zh) 基于多任务深度学习的人脸属性识别方法
CN109034210A (zh) 基于超特征融合与多尺度金字塔网络的目标检测方法
CN105868184A (zh) 一种基于循环神经网络的中文人名识别方法
CN108090472B (zh) 基于多通道一致性特征的行人重识别方法及其系统
CN111340123A (zh) 一种基于深度卷积神经网络的图像分数标签预测方法
Termritthikun et al. NU-InNet: Thai food image recognition using convolutional neural networks on smartphone
CN104778224A (zh) 一种基于视频语义的目标对象社交关系识别方法
CN107679501B (zh) 一种基于标签自提纯的深度学习方法
CN113159171B (zh) 一种基于对抗学习的植物叶片图像细分类方法
CN113449806A (zh) 基于层次结构的二阶段林业害虫识别与检测系统及方法
CN110363198A (zh) 一种神经网络权重矩阵拆分与组合的方法
CN114548256A (zh) 一种基于对比学习的小样本珍稀鸟类识别方法
CN114898359B (zh) 一种基于改进EfficientDet的荔枝病虫害检测方法
Cosovic et al. Classification methods in cultural heritage
CN113077438B (zh) 针对多细胞核彩色图像的细胞核区域提取方法及成像方法
CN113378962A (zh) 一种基于图注意力网络的服装属性识别方法与系统
CN114357022A (zh) 一种基于事件关系发现的媒体内容关联挖掘方法
CN113436198A (zh) 一种协同图像超分辨率重建的遥感图像语义分割方法
CN106570514A (zh) 一种基于词袋模型和支持向量机的汽车轮毂分类方法
Carlsson et al. Artificial intelligence applied to the classification of eight middle Eocene species of the genus Podocyrtis (polycystine radiolaria)
CN111860601A (zh) 预测大型真菌种类的方法及装置
CN111723742A (zh) 一种人群密度分析方法、系统、装置及计算机可读存储介质
CN114898775B (zh) 一种基于跨层交叉融合的语音情绪识别方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20191022

Assignee: Zhongke testing group ecological monitoring Wuhan Co.,Ltd.

Assignor: WUHAN University OF SCIENCE AND TECHNOLOGY

Contract record no.: X2023980053944

Denomination of invention: A Method for Splitting and Combining the Weight Matrix of Neural Networks

Granted publication date: 20221209

License type: Common License

Record date: 20231225