CN111709522B - 一种基于服务器-嵌入式协同的深度学习目标检测系统 - Google Patents

一种基于服务器-嵌入式协同的深度学习目标检测系统 Download PDF

Info

Publication number
CN111709522B
CN111709522B CN202010436453.4A CN202010436453A CN111709522B CN 111709522 B CN111709522 B CN 111709522B CN 202010436453 A CN202010436453 A CN 202010436453A CN 111709522 B CN111709522 B CN 111709522B
Authority
CN
China
Prior art keywords
model
training
data
deep learning
layer
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.)
Active
Application number
CN202010436453.4A
Other languages
English (en)
Other versions
CN111709522A (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.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
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 Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN202010436453.4A priority Critical patent/CN111709522B/zh
Publication of CN111709522A publication Critical patent/CN111709522A/zh
Application granted granted Critical
Publication of CN111709522B publication Critical patent/CN111709522B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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

Landscapes

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

Abstract

本发明公开了一种基于服务器‑嵌入式协同的深度学习目标检测系统。服务器端包括知识库、训练模型、测试结果统计分析和计算资源监控模块,知识库包括数据管理模块,训练模型包括深度学习网络训练模块和模型压缩模块,测试结果统计分析包括模型测试模块,计算资源监控模块用于对系统的CPU、GPU资源进行实时监控,便于用户根据实际情况合理利用计算资源;嵌入端包括主控制器ARM和协处理器FPGA,主控制器ARM负责外部图像输入、图像预处理、NMS算法、叠加检测信息和图像输出任务;协处理器FPGA负责深度网络推理中的卷积层、捷径层和上采样层加速。本发明解决现深度学习网络模型由服务器端的训练到嵌入式端的快速部署问题。

Description

一种基于服务器-嵌入式协同的深度学习目标检测系统
技术领域
本申请设计服务器端训练与嵌入式端部署技术领域,尤其涉及一种基于服务器-嵌入式协同的深度学习目标检测系统。
背景技术
深度学习是基于数据驱动的机器学习算法,具备超强的特征自提取能力,在图像目标检测方面取得的效果,尤其在面向多种类、多尺度、多角度目标检测方面,远远超过传统机器学习方法。随着物联网时代的来临和边缘计算的兴起,深度学习目标检测网络逐渐从服务器端向嵌入式端发展,实现万物互联和万物感知。
深度学习的本质是大数据支撑下,由多层人工神经网络堆叠形成的信号处理系统,具有参数数目多,计算复杂度高等特点。深度学习的训练和运行都需要大量的运行空间与并行计算设备。2012年AlexNet开启这一轮深度学习热潮的时候,网络只有8层,但就算只有8层也需要大量的计算。2016年153层的ResNet以及最近甚至出现了上千层的网络结构,需要更强大的计算资源来支撑网络训练。同时深度学习训练的一个特点是具有很强的迭代性,即网络结构确定后,可以周期性地通过增加训练数据而提高模型的泛化能力。这个迭代周期越短,模型更新的速度越快,就能获得更好的效果和更快的产品更新。因此,深度学习网络模型的快速获取需要服务器端强大计算资源的支持。
服务器端由于其强大的计算能力适合深度学习网络模型的训练和学习,但是由于其体积庞大,功耗高,难以快速的部署和应用到目标检测识别场景当中。边缘计算的发展使得深度学习模型快速部署成为可能。嵌入式设备由于体积小,功耗低可以应用到机载、星载目标识别场景中,但是由于其计算资源受限,难以达到实时检测,因此需要服务器-嵌入式协同以达到实时目标检测识别,在服务器端训练深度模型,并加入模型压缩算法,在保证模型精度不损失的前提下,实现模型参数和计算量的大幅度压缩,同时结合嵌入式平台特性,实现深度学习网络推理加速。
目前服务器端深度学习网络模型训练、模型压缩以及嵌入式平台加速相互独立,缺少一个可以打通三者数据通路的目标检测系统,并且各个模块并未封装成易于操作的软件界面,增加了快速应用的难度,为了降低深度学习模型训练、压缩以及嵌入式部署的门槛,需要一套“服务器-嵌入式”协同的深度学习目标检测系统,其采用界面可视化方式降低深度学习目标识别网络学习门槛,帮助非深度学习人员可快速上手应用,以便达到深度学习目标检测应用快速落地的目的。
发明内容
本发明提供一种基于服务器-嵌入式协同的深度学习目标检测系统,解决现深度学习网络模型由服务器端的训练到嵌入式端的快速部署问题,可在服务器端实现深度模型的训练以及模型,使深度模型满足嵌入式计算资源要求,同时在根据嵌入式特性实现深度模型的快速部署,从而缩短深度目标检测应用落地时间和降低应用门槛。
本发明通过以下技术方案实现:
一种基于服务器-嵌入式协同的深度学习目标检测系统,所述系统包括服务器端和嵌入端,所述服务器端包括知识库、训练模型、测试结果统计分析和计算资源监控模块,所述知识库包括数据管理模块,所述数据管理模块为深度学习网络训练提供数据支撑;
所述训练模型包括深度学习网络训练模块和模型压缩模块,所述深度学习网络训练模块实现服务器端模型训练,所述模型压缩模块实现对网络模型的压缩从而满足算力要求;
所述测试结果统计分析包括模型测试模块,所述模型测试模块用于对训练和压缩后的模型进行测试;
所述计算资源监控模块用于对系统的CPU、GPU资源进行实时监控,便于用户根据实际情况合理利用计算资源,达到快速训练模型的目的;
所述嵌入端包括主控制器ARM和协处理器FPGA,所述主控制器ARM负责外部图像输入、图像预处理、NMS算法、叠加检测信息和图像输出任务;所述协处理器FPGA负责深度网络推理中的卷积层、捷径层和上采样层加速。
进一步的,所述数据管理模块将收集的数据通过服务器端深度学习训练软件上传至服务器中,在数据上传时需要添加数据的目标类型、数据集创建人、数据集属性以及数据创建时间属性,从而实现数据集间的区分;对上传的图像数据进行目标标记,支持矩形框目标标记,调整其大小以及修改操作,生成深度学习网络训练所需的标记文件;数据集管理,支持生成的图像数据集的增加、删除、修改以及查询的常规操作,通过关键字进行目标数据集查询。
进一步的,所述深度学习网络训练模块通过以下步骤实现,
步骤S101:创建训练任务,根据应用需要创建训练任务,填写任务创建人、创建日期及任务简述;
步骤S102:深度学习算法选择及参数设置,根据应用需要,选择合适的深度学习算法以及训练数据集,并设置训练参数,系统给定默认值,如不进行参数设定,以默认值进行深度学习网络训练;
步骤S103:可视化训练过程,显示坐标epoch和纵坐标loss之间的关系,可以实时观察纵坐标loss曲线下降情况,当纵坐标loss曲线震荡不在下降或显示异常时,可及时关闭训练进程,重新调整算法参数重新开始训练;
步骤S104:增量训练模块,支持在原有模型基础上进行微调训练,提升模型泛化能力和性能;
步骤S105:模型管理,将训练完成的模型进行统一管理,模型与训练任务想关联,可根据应用场景不同选取不同的训练模型,同时为模型压缩和嵌入式模型部署提供支撑。
进一步的,所述模型压缩模块通过以下步骤实现压缩,
步骤S201:稀疏化训练模型及模型剪枝,在训练过程中对需要稀疏化的卷积层后的BN层参数施加L1范数惩罚,从而使参数具有结构化稀疏的特点,为下一步裁剪通道做准备;剪枝过程根据模型中卷积层与BN层的对应关系,剪去对应BN层中参数小的卷积层的通道,由浅及深地对每一层剪枝,从而形成通道剪枝后的新模型;
步骤S202:采用动态量化训练,实现对模型参数量化,大大降低模型参数计算量,从而满足嵌入式平台的算力要求。
进一步的,所述步骤S201具体为,
步骤S201.1:稀疏化训练,首先将原始网络中的BN层提取,放入BN层列表;然后,将训练参数进行稀疏化训练;
步骤S201.2:模型剪枝,首先,从前到后遍历模型,找出每一层卷积层之后对应的BN层;然后对BN层中的γ参数进行全局排序,根据剪枝比率计算γ参数的剪枝阈值,超过阈值将该卷积层剪枝改掉;最后从前到后遍历剪枝信息表,对每一块进行剪枝,根据各层剪枝后的剩余通道数重新定义网络模型,将剪枝后的新模型参数保存;
步骤S201.3:模型微调,在数据集上对剪枝后的模型继续训练,直到模型精度不在提升为止。
进一步的,所述步骤S202具体为,
步骤S202.1:构建常规浮点计算图,在计算图中卷积计算的相应位置插入伪量化模块,将权重和激活值量化为8位整型;
步骤S202.2:动态量化训练,同普通训练一样训练模型直至收敛,在量化训练中,需要对卷积层权重和激活值进行量化;量化训练中,输入仍采用未量化的浮点数,卷积层参数经伪量化模块量化后参与浮点数运算;中间卷积过程均为浮点数运算,经过激活函数后的激活值再经伪量化模块量化;
步骤S202.3:量化推理,保存卷积层权重量化参数和激活值的量化参数,缩放系数和零点,将融合后的偏置参数量化为32位整型,取缩放系数为卷积层权重和输入的缩放系数之积,零点=0。
进一步的,所述模型测试模块采用指标量化分析模型的精度是否能满足要求,选择已标记的图像数据上传到系统,作为模型的测试数据;选择测试数据集,选择待测试的深度学习模型,并选择评价指标;模型测试结果实时显示,最后输出模型测试报告。
进一步的,所述主控制器ARM和协处理器FPGA的架构数据流,包括以下步骤,
步骤S301:采用ARM读取输入图像,对图像数据进行预处理,处理后的图像存储在DDR4中,从片外Flash中读取模型结构文件,对网络模型进行解析,解析后的网络结构存储在DDR4中;
步骤S302:从片外Flash中读取量化模型权重文件到DDR4中,完成模型加载过程,ARM对输入特征图进行量化操作,ARM通过AXI_S接口实现DDR4与FPGA片上BRAM存储区之间的数据传输;
步骤S303:ARM读取每层的网络结构,通过AXI_S接口总线传输特征图和权重数据,计算结果经AXI_S接口写回DDR4内,经传输计算后,得出最后的结果特征图,在ARM端对结果进行解析、NMS算法和图像后处理操作,完成一次深度学习网络的目标检测。
进一步的,所述协处理器FPGA的加速网络层,包括以下步骤,
步骤S401:对卷积层进行加速计算,计算模块的输入特征图存储在寄存器阵列中,权重数据存储在权重缓存区,对各个维度的乘法运算进行全并行展开,沿一个维度累加运算结果,运算结果通过加法树机制实现快速相加,单块特征图的计算结果累加到输出缓存端;
步骤S402:对捷径层进行加速计算,捷径层为两张特征图的对位相加运算,沿一个维度对运算进行并行展开,将第一次输入的数据加载到输出缓存端,读取第二张需要与之相加的特征图到输出缓存端,与输出缓存端存储的特征图对位相加,沿一个维度并行展开,输出结果保存在输出缓存端;
步骤S403:对上采样层进行加速计算,在深度学习网络中,计算模块的输入特征图存储在输入缓存端,计算模块沿输入通道维度重复读取数据,数据共重复读取两次,将数据按顺序存储至输出缓存端,计算过程实现维度的展开,重复读取两次后读取下一区域的数据。
步骤S404:通过乒乓操作的方式实现流水,交替将输出缓存端的数据写回DDR4中,对计算卷积的结果进行写回时,对输出缓存端的值进行Leaky_RELU操作;最大化利用带宽,采用多通道写回的方法,FPGA端通过4个AXI口写回计算后的特征图数据,写回单块特征图数据时,沿通道维度对特征图进行4等分。
本发明的有益效果是:
1、本发明提出了基于“服务器-嵌入式”协同的深度学习目标检测方案,打通了服务器训练到嵌入式平台部署的数据通路,可以降低深度学习网络的训练难度、加快模型在嵌入式平台的速度、加快目标检测在应用场景的快速部署。
2、形成了服务器端的深度学习训练软件平台,集数据管理、数据上传、数据在线标注、网络训练以及模型测试等功能于一体,实现了深度学习网络训练的全流程流水化,便于非深度学习研究人员的快速上手。
3、本发明在服务器端软件平台加入了模型压缩功能,由于嵌入式平台计算资源受限,现有的模型参数量庞大,无法直接部署,本发明提出了基于通道剪枝和参数量化的模型压缩方法,可以实现模型参数量和计算量的大幅度降低,从而满足嵌入式平台的算力要求。
4、本发明在嵌入式端采用ARM+FPGA架构,可以实现深度学习网络数据流打通以及FPGA网络层加速,其输入缓存端和输出缓存端采用多通道并行读取写回的方式代替传统的单通道读写方式,最大化利用了Zynq芯片的带宽,其输入缓存端设计双缓存区和寄存器阵列,实现高效的数据复用,成倍提高带宽,实现功能相比传统加速器更适合当今主流的网络结构且更为多样化。
附图说明
图1本发明的总体技术方案结构示意图。
图2本发明的服务器端流程示意图。
图3本发明的服务器端图像数据上传数据示意图。
图4本发明的服务器端图像数据上传数据在线标记示意图。
图5本发明的服务器端可视化训练示意图。
图6本发明的服务器端模型测试示意图。
图7本发明的服务器端资源监控示意图。
图8本发明的ARM+FPGA嵌入式深度学习目标检测示意图。
具体实施方式
下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
一种基于服务器-嵌入式协同的深度学习目标检测系统,所述系统包括服务器端和嵌入端,所述服务器端包括知识库、训练模型、测试结果统计分析和计算资源监控模块,所述知识库包括数据管理模块,所述数据管理模块为深度学习网络训练提供数据支撑,因为深度目标检测网络训练需要大量已标记目标图像数据;
所述训练模型包括深度学习网络训练模块和模型压缩模块,所述深度学习网络训练模块实现服务器端模型训练,所述模型压缩模块实现对网络模型的压缩从而满足算力要求,因为深度学习网络优异的性能,得益于其强大的特征自提取能力,网络越宽越深,其特征表达能力越强,目标检测识别效果越好。但是网络越深,模型参数与计算量越大,在嵌入式计算资源受限的情况下,难以满足一些对实时性要求高的应用场景;
所述测试结果统计分析包括模型测试模块,所述模型测试模块用于对训练和压缩后的模型进行测试;
所述计算资源监控模块用于对系统的CPU、GPU资源进行实时监控,便于用户根据实际情况合理利用计算资源,达到快速训练模型的目的;
所述嵌入端包括主控制器ARM和协处理器FPGA,根据深度学习网络结构,分配ARM和FPGA的计算任务,所述主控制器ARM负责外部图像输入、图像预处理、NMS算法、叠加检测信息和图像输出任务;所述协处理器FPGA负责深度网络推理中的卷积层、捷径层和上采样层加速。
进一步的,所述数据管理模块将收集的数据通过服务器端深度学习训练软件上传至服务器中,在数据上传时需要添加数据的目标类型、数据集创建人、数据集属性以及数据创建时间属性,从而实现数据集间的区分;对上传的图像数据进行人工挑选,将图像质量不符合的进行人工删除,从而保证数据质量;对上传的图像数据进行目标标记,支持矩形框目标标记,可调整其大小以及修改操作,生成深度学习网络训练所需的标记文件;通过数据增广方法选择,由于深度学习训练需要大量的数据支撑,而由于应用场景不同,包含目标数据数量可能不足。因此,可以采用数据增广方法,如旋转、裁剪、光照变换等实现数据量的倍增,从而提升深度学习网络模型性能;数据集管理,支持生成的图像数据集的增加、删除、修改以及查询的常规操作,可通过关键字进行目标数据集查询。
进一步的,所述深度学习网络训练模块通过以下步骤实现,
步骤S101:创建训练任务,根据应用需要创建训练任务,填写任务创建人、创建日期及任务简述,以便于对任务进行查询与追溯;
步骤S102:深度学习算法选择及参数设置,根据应用需要,选择合适的深度学习算法以及训练数据集,并设置训练参数,如学习率、迭代次数、衰减率、损失函数等,系统给定默认值,如不进行参数设定,以默认值进行深度学习网络训练;
步骤S103:可视化训练过程,显示横坐标epoch和纵坐标loss之间的关系,可以实时观察纵坐标loss曲线下降情况,当纵坐标loss曲线震荡不在下降或显示异常时,可及时关闭训练进程,重新调整算法参数重新开始训练,节省训练时间;
步骤S104:增量训练模块,支持在原有模型基础上进行微调训练fune-training,提升模型泛化能力和性能,节省模型的训练时间;
步骤S105:模型管理,将训练完成的模型进行统一管理,模型与训练任务想关联,可根据应用场景不同选取不同的训练模型,同时为模型压缩和嵌入式模型部署提供支撑。
进一步的,所述模型压缩模块通过以下步骤实现压缩,
步骤S201:稀疏化训练模型及模型剪枝,在训练过程中对需要稀疏化的卷积层后的BN层参数施加L1范数惩罚,从而使参数具有结构化稀疏的特点,为下一步裁剪通道做准备;剪枝过程根据模型中卷积层与BN层的对应关系,剪去对应BN层中参数小的卷积层的通道,由浅及深地对每一层剪枝,从而形成通道剪枝后的新模型;
步骤S202:采用动态量化训练,实现对模型参数量化,大大降低模型参数计算量,从而满足嵌入式平台的算力要求。
进一步的,所述步骤S201具体为,
步骤S201.1:稀疏化训练,首先将原始网络中的BN层提取,放入BN层列表;然后,置训练超参数进行稀疏化训练;
步骤S201.2:模型剪枝,首先,从前到后遍历模型,找出每一层卷积层之后对应的BN层;然后对BN层中的γ参数进行全局排序,根据剪枝比率计算γ参数的剪枝阈值,超过阈值将该卷积层剪枝改掉;最后从前到后遍历剪枝信息表,对每一块进行剪枝,根据各层剪枝后的剩余通道数重新定义网络模型,将剪枝后的新模型参数保存;
步骤S201.3:模型微调,在数据集上对剪枝后的模型继续训练,直到模型精度不在提升为止。
进一步的,所述步骤S202具体为,
步骤S202.1:构建常规浮点计算图,在计算图中卷积计算的相应位置插入伪量化模块,将权重和激活值量化为8位整型;
步骤S202.2:动态量化训练,同普通训练一样训练模型直至收敛,在量化训练中,需要对卷积层权重和激活值进行量化;量化训练中,输入仍采用未量化的浮点数,卷积层参数经伪量化模块量化后参与浮点数运算;中间卷积过程均为浮点数运算,经过激活函数后的激活值再经伪量化模块量化;
步骤S202.3:量化推理,保存卷积层权重量化参数和激活值的量化参数,缩放系数和零点,将融合后的偏置参数量化为32位整型,取缩放系数为卷积层权重和输入的缩放系数之积,零点=0。
进一步的,所述模型测试模块采用指标量化分析模型的精度是否能满足要求,选择已标记的图像数据上传到系统,作为模型的测试数据;选择测试数据集,选择待测试的深度学习模型,并选择评价指标,如IOU、MAP等;模型测试结果实时显示,最后输出模型测试报告。
进一步的,所述主控制器ARM和协处理器FPGA的架构数据流,包括以下步骤,
步骤S301:采用ARM读取输入图像,对图像数据进行预处理,处理后的图像存储在DDR4中,从片外Flash中读取模型结构文件,对网络模型进行解析,解析后的网络结构存储在DDR4中;
步骤S302:从片外Flash中读取量化模型权重文件到DDR4中,完成模型加载过程,ARM对输入特征图进行量化操作,ARM通过AXI_S接口实现DDR4与FPGA片上BRAM存储区之间的数据传输;
步骤S303:ARM读取每层的网络结构,通过AXI_S接口总线传输特征图和权重数据,计算结果经AXI_S接口写回DDR4内,经传输计算后,得出最后的结果特征图,在ARM端对结果进行解析、NMS算法和图像后处理操作,完成一次深度学习网络的目标检测。
进一步的,所述协处理器FPGA的加速网络层,包括以下步骤,
步骤S401:对卷积层进行加速计算,计算模块的输入特征图存储在寄存器阵列中,权重数据存储在权重缓存区,对各个维度的乘法运算进行全并行展开,沿一个维度累加运算结果,运算结果通过加法树机制实现快速相加,单块特征图的计算结果累加到输出缓存端;
步骤S402:对捷径层进行加速计算,捷径层为两张特征图的对位相加运算,沿一个维度对运算进行并行展开,将第一次输入的数据加载到输出缓存端,读取第二张需要与之相加的特征图到输出缓存端,与输出缓存端存储的特征图对位相加,沿一个维度并行展开,输出结果保存在输出缓存端;
步骤S403:对上采样层进行加速计算,在深度学习网络中,计算模块的输入特征图存储在输入缓存端,计算模块沿输入通道维度重复读取数据,数据共重复读取两次,将数据按顺序存储至输出缓存端,计算过程实现维度的展开,重复读取两次后读取下一区域的数据。
步骤S404:通过乒乓操作的方式实现流水,交替将输出缓存端的数据写回DDR4中,对计算卷积的结果进行写回时,对输出缓存端的值进行Leaky_RELU操作;最大化利用带宽,采用多通道写回的方法,FPGA端通过4个AXI口写回计算后的特征图数据,写回单块特征图数据时,沿通道维度对特征图进行4等分。
实施例2
本发明应用于机载下视目标检测场景中,可以实现机载下视目标的模型的服务器端快速训练与压缩,压缩后的模型快速部署到Xilinx ZCU102平台,实现了嵌入式端的机载下视目标实时检测,具体包括以下步骤:
步骤1:收集机载下视目标数据,包含6类目标,分别是飞机、港口、油罐、舰船、机场以及桥梁。<飞机>这一类别的目标,共收集源图像760幅。分辨力为0.5m。港口源数据共收集包含<港口>这一类目标的图像1121幅,分辨力为0.5m。收集的<油罐>目标图像为高分辨力图像,共900幅,分辨力为0.5m。收集的<舰船>目标图像为高分辨力图像,共533幅,分辨力为0.5m。对于<机场>这一目标类型的数据,收集了分辨力为6m以上的机场数据共500张。对于<桥梁>这一目标,共收集源数据558张,分辨力都在6m及以上;
表1机载下视数据集
Figure GDA0003695404800000101
步骤2:将收集的数据上传至服务器深度学习训练平台,并对图像数据进行在线标记,生成用于深度学习模型训练的标准数据集;
步骤3:根据应用需要,本发明选择基于Mobilenet V2的YOLO V3网络,选择ImageNet作为与训练模型,采用标准的数据增强方法,包括随机剪裁、透视变换和水平翻转,额外采用了mixup数据增强方法对标记的机载下视目标数据进行增广;
步骤4:采用Adam优化算法,余弦退火的学习率策略,初始学习率为4e-3,batchsize大小为16。稀疏化训练中,设置稀疏化系数为0.01。对训练的模型进行通道剪枝,压缩模型参数量;
步骤5:对剪枝后模型继续使用量化训练算法进行量化。采用int8量化,使用剪枝后模型在机载下视数据集上量化训练,超参数采用同样的设置。在10轮后冻结BN层参数,在15轮后冻结量化参数。
步骤6:服务器端深度学习训练平台输出权重参数文件和网络结构文件,以便于部署到嵌入式平台中;
步骤7:根据YOLOv3网络结构,分配ZCU102中ARM和FPGA的计算任务,采用ARM作为主控制器,采用FPGA作为协处理器,ARM负责外部图像输入、图像预处理、NMS算法、叠加检测信息、图像输出任务,YOLOv3网络推理中的路由层和YOLO层;FPGA负责YOLOv3网络推理中的卷积层、捷径层和上采样层。
步骤8:YOLOv3算法流程在嵌入式端的实现以ARM为主处理器,FPGA为协处理器,DDR4作为主存储器,BRAM作为数据缓冲器。程序启动,在ARM部分中,读取输入图像,对图像数据进行预处理,处理后的图像存储在DDR4中。从片外Flash中读取模型结构文件,对网络模型进行解析,解析后的网络结构存储在DDR4中。从片外Flash中读取量化模型权重文件到DDR4中,完成模型加载过程。ARM端对输入特征图进行量化操作,通过AXI4接口实现DDR4与FPGA片上BRAM存储区之间的数据传输。ARM端读取每层的网络结构,通过AXI4总线传输特征图和权重数据,计算结果经AXI4写回DDR4内。YOLOv3网络共有106层,经106次传输计算后,得出最后的结果特征图,在ARM端对结果进行解析、NMS算法和图像后处理等操作。经上述过程,完成一次YOLOv3网络的目标检测功能。
步骤9:嵌入式平台实时输出机载下视目标检测结果,包括目标类别、目标位置以及目标置信度信息。

Claims (8)

1.一种基于服务器-嵌入式协同的深度学习目标检测系统,其特征在于,所述系统包括服务器端和嵌入端,所述服务器端包括知识库、训练模型、测试结果统计分析和计算资源监控模块,所述知识库包括数据管理模块,所述数据管理模块为深度学习网络训练提供数据支撑;
所述训练模型包括深度学习网络训练模块和模型压缩模块,所述深度学习网络训练模块实现服务器端模型训练,所述模型压缩模块实现对网络模型的压缩从而满足算力要求;
所述测试结果统计分析包括模型测试模块,所述模型测试模块用于对训练和压缩后的模型进行测试;
所述计算资源监控模块用于对系统的CPU、GPU资源进行实时监控,便于用户根据实际情况合理利用计算资源,达到快速训练模型的目的;
所述嵌入端包括主控制器ARM和协处理器FPGA,所述主控制器ARM负责外部图像输入、图像预处理、NMS算法、叠加检测信息和图像输出任务;所述协处理器FPGA负责深度网络推理中的卷积层、捷径层和上采样层加速;
主控制器ARM和协处理器FPGA的架构数据流,包括以下步骤,
步骤S301:采用ARM读取输入图像,对图像数据进行预处理,处理后的图像存储在DDR4中,从片外Flash中读取模型结构文件,对网络模型进行解析,解析后的网络结构存储在DDR4中;
步骤S302:从片外Flash中读取量化模型权重文件到DDR4中,完成模型加载过程,ARM对输入特征图进行量化操作,ARM通过AXI_S接口实现DDR4与FPGA片上BRAM存储区之间的数据传输;
步骤S303:ARM读取每层的网络结构,通过AXI_S接口总线传输特征图和权重数据,计算结果经AXI_S接口写回DDR4内,经传输计算后,得出最后的结果特征图,在ARM端对结果进行解析、NMS算法和图像后处理操作,完成一次深度学习网络的目标检测。
2.根据权利要求1所述一种基于服务器-嵌入式协同的深度学习目标检测系统,其特征在于,所述数据管理模块将收集的数据通过服务器端深度学习训练软件上传至服务器中,在数据上传时需要添加数据的目标类型、数据集创建人、数据集属性以及数据创建时间属性,从而实现数据集间的区分;对上传的图像数据进行目标标记,支持矩形框目标标记,调整其大小以及修改操作,生成深度学习网络训练所需的标记文件;数据集管理,支持生成的图像数据集的增加、删除、修改以及查询的常规操作,通过关键字进行目标数据集查询。
3.根据权利要求1所述一种基于服务器-嵌入式协同的深度学习目标检测系统,其特征在于,所述深度学习网络训练模块通过以下步骤实现,
步骤S101:创建训练任务,根据应用需要创建训练任务,填写任务创建人、创建日期及任务简述;
步骤S102:深度学习算法选择及参数设置,根据应用需要,选择合适的深度学习算法以及训练数据集,并设置训练参数,系统给定默认值,如不进行参数设定,以默认值进行深度学习网络训练;
步骤S103:可视化训练过程,显示横坐标epoch和纵坐标loss之间的关系,可以实时观察纵坐标loss曲线下降情况,当纵坐标loss曲线震荡不在下降或显示异常时,可及时关闭训练进程,重新调整算法参数重新开始训练;
步骤S104:增量训练模块,支持在原有模型基础上进行微调训练,提升模型泛化能力和性能;
步骤S105:模型管理,将训练完成的模型进行统一管理,模型与训练任务想关联,根据应用场景不同选取不同的训练模型,同时为模型压缩和嵌入式模型部署提供支撑。
4.根据权利要求1所述一种基于服务器-嵌入式协同的深度学习目标检测系统,其特征在于,所述模型压缩模块通过以下步骤实现压缩,
步骤S201:稀疏化训练模型及模型剪枝,在训练过程中对需要稀疏化的卷积层后的BN层参数施加L1范数惩罚,从而使参数具有结构化稀疏的特点,为下一步裁剪通道做准备;剪枝过程根据模型中卷积层与BN层的对应关系,剪去对应BN层中参数小的卷积层的通道,由浅及深地对每一层剪枝,从而形成通道剪枝后的新模型;
步骤S202:采用动态量化训练,实现对模型参数量化,大大降低模型参数计算量,从而满足嵌入式平台的算力要求。
5.根据权利要求4所述一种基于服务器-嵌入式协同的深度学习目标检测系统,其特征在于,所述步骤S201具体为,
步骤S201.1:稀疏化训练,首先将原始网络中的BN层提取,放入BN层列表;然后,将训练参数进行稀疏化训练;
步骤S201.2:模型剪枝,首先,从前到后遍历模型,找出每一层卷积层之后对应的BN层;然后对BN层中的γ参数进行全局排序,根据剪枝比率计算γ参数的剪枝阈值,超过阈值将该卷积层剪枝改掉;最后从前到后遍历剪枝信息表,对每一块进行剪枝,根据各层剪枝后的剩余通道数重新定义网络模型,将剪枝后的新模型参数保存;
步骤S201.3:模型微调,在数据集上对剪枝后的模型继续训练,直到模型精度不在提升为止。
6.根据权利要求4所述一种基于服务器-嵌入式协同的深度学习目标检测系统,其特征在于,所述步骤S202具体为,
步骤S202.1:构建常规浮点计算图,在计算图中卷积计算的相应位置插入伪量化模块,将权重和激活值量化为8位整型;
步骤S202.2:动态量化训练,同普通训练一样训练模型直至收敛,在量化训练中,需要对卷积层权重和激活值进行量化;量化训练中,输入仍采用未量化的浮点数,卷积层参数经伪量化模块量化后参与浮点数运算;中间卷积过程均为浮点数运算,经过激活函数后的激活值再经伪量化模块量化;
步骤S202.3:量化推理,保存卷积层权重量化参数和激活值的量化参数,缩放系数和零点,将融合后的偏置参数量化为32位整型,取缩放系数为卷积层权重和输入的缩放系数之积,零点=0。
7.根据权利要求1所述一种基于服务器-嵌入式协同的深度学习目标检测系统,其特征在于,所述模型测试模块采用指标量化分析模型的精度是否能满足要求,选择已标记的图像数据上传到系统,作为模型的测试数据;选择测试数据集,选择待测试的深度学习模型,并选择评价指标;模型测试结果实时显示,最后输出模型测试报告。
8.根据权利要求1所述一种基于服务器-嵌入式协同的深度学习目标检测系统,其特征在于,所述协处理器FPGA的加速网络层,包括以下步骤,
步骤S401:对卷积层进行加速计算,计算模块的输入特征图存储在寄存器阵列中,权重数据存储在权重缓存区,对各个维度的乘法运算进行全并行展开,沿一个维度累加运算结果,运算结果通过加法树机制实现快速相加,单块特征图的计算结果累加到输出缓存端;
步骤S402:对捷径层进行加速计算,捷径层为两张特征图的对位相加运算,沿一个维度对运算进行并行展开,将第一次输入的数据加载到输出缓存端,读取第二张需要与之相加的特征图到输出缓存端,与输出缓存端存储的特征图对位相加,沿一个维度并行展开,输出结果保存在输出缓存端;
步骤S403:对上采样层进行加速计算,在深度学习网络中,计算模块的输入特征图存储在输入缓存端,计算模块沿输入通道维度重复读取数据,数据共重复读取两次,将数据按顺序存储至输出缓存端,计算过程实现维度的展开,重复读取两次后读取下一区域的数据;
步骤S404:通过乒乓操作的方式实现流水,交替将输出缓存端的数据写回DDR4中,对计算卷积的结果进行写回时,对输出缓存端的值进行Leaky_RELU操作;最大化利用带宽,采用多通道写回的方法,FPGA端通过4个AXI口写回计算后的特征图数据,写回单块特征图数据时,沿通道维度对特征图进行4等分。
CN202010436453.4A 2020-05-21 2020-05-21 一种基于服务器-嵌入式协同的深度学习目标检测系统 Active CN111709522B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010436453.4A CN111709522B (zh) 2020-05-21 2020-05-21 一种基于服务器-嵌入式协同的深度学习目标检测系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010436453.4A CN111709522B (zh) 2020-05-21 2020-05-21 一种基于服务器-嵌入式协同的深度学习目标检测系统

Publications (2)

Publication Number Publication Date
CN111709522A CN111709522A (zh) 2020-09-25
CN111709522B true CN111709522B (zh) 2022-08-02

Family

ID=72537889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010436453.4A Active CN111709522B (zh) 2020-05-21 2020-05-21 一种基于服务器-嵌入式协同的深度学习目标检测系统

Country Status (1)

Country Link
CN (1) CN111709522B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112153347B (zh) * 2020-09-27 2023-04-07 北京天玛智控科技股份有限公司 煤矿井下智能视觉终端感知方法、存储介质及电子设备
CN113159082B (zh) * 2020-09-30 2023-06-02 北京理工大学 一种增量式学习目标检测网络模型构建及权重更新方法
CN112464687A (zh) * 2020-11-19 2021-03-09 苏州摩比信通智能系统有限公司 图形码处理方法、装置以及终端设备
CN112347034A (zh) * 2020-12-02 2021-02-09 北京理工大学 一种用于老年看护的多功能一体化片上系统
CN112580627A (zh) * 2020-12-16 2021-03-30 中国科学院软件研究所 基于国产智能芯片K210的yolov3目标检测方法及电子装置
CN112668416A (zh) * 2020-12-17 2021-04-16 国网山西省电力公司运城供电公司 无人机配网巡检视频实时分析识别方法和嵌入式巡检装置
CN112819988A (zh) * 2020-12-25 2021-05-18 朗坤智慧科技股份有限公司 基于5g的无人机电站智能巡检方法、系统和网络侧服务端
CN112836801A (zh) * 2021-02-03 2021-05-25 上海商汤智能科技有限公司 深度学习网络确定方法、装置、电子设备及存储介质
CN112911171B (zh) * 2021-02-04 2022-04-22 上海航天控制技术研究所 一种基于加速处理的智能光电信息处理系统及方法
CN113033661A (zh) * 2021-03-25 2021-06-25 桂林电子科技大学 一种基于嵌入式平台特点改进的目标检测方法
CN113111587A (zh) * 2021-04-20 2021-07-13 北京理工雷科电子信息技术有限公司 一种基于插件式模型的可重用、可扩展机器学习方法
CN115701302A (zh) * 2021-05-26 2023-02-07 京东方科技集团股份有限公司 一种深度学习模型测试的方法、设备及计算机存储介质
CN113298259B (zh) * 2021-06-10 2024-04-26 中国电子科技集团公司第十四研究所 支持嵌入式平台多核并行的cnn网络推理框架设计方法
CN113486936A (zh) * 2021-06-28 2021-10-08 国网宁夏电力有限公司电力科学研究院 输电线设备覆冰检测方法、装置、系统及存储介质
CN113554163B (zh) * 2021-07-27 2024-03-29 深圳思谋信息科技有限公司 卷积神经网络加速器
CN113763196A (zh) * 2021-08-23 2021-12-07 中国农业大学烟台研究院 一种基于改进YOLOv3的果园产量测定系统
CN113673684A (zh) * 2021-08-24 2021-11-19 东北大学 基于输入修剪的边缘端dnn模型加载系统及方法
CN113744220B (zh) * 2021-08-25 2024-03-26 中国科学院国家空间科学中心 一种基于pynq的无预选框检测系统
CN114007037B (zh) * 2021-09-18 2023-03-07 华中科技大学 一种视频前端智能监控系统、方法、计算机设备、终端
CN114419473B (zh) * 2021-11-17 2024-04-16 中国电子科技集团公司第三十八研究所 一种基于嵌入式设备的深度学习实时目标检测方法
CN113928947B (zh) * 2021-11-18 2023-05-23 浙江新再灵科技股份有限公司 电梯维保过程检测方法及装置
CN115238873B (zh) * 2022-09-22 2023-04-07 深圳市友杰智新科技有限公司 神经网络模型部署方法、装置、计算机设备
CN116740507A (zh) * 2023-08-02 2023-09-12 中科星图测控技术股份有限公司 一种基于arm架构的空间目标检测模型构建方法
CN116841911B (zh) * 2023-08-24 2024-01-16 北京智芯微电子科技有限公司 基于异构平台的模型测试方法、异构芯片、设备及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1677346A (zh) * 2004-04-01 2005-10-05 迈普(四川)通信技术有限公司 可编程器件程序更新方法及可更新程序的板卡
CN102134027A (zh) * 2011-04-12 2011-07-27 范奉和 电梯故障检测与报警装置及其方法
CN203241148U (zh) * 2013-04-28 2013-10-16 宁波塞福特设备制造有限公司 一种风力发电机组实时振动故障监测装置
CN106250939A (zh) * 2016-07-30 2016-12-21 复旦大学 基于fpga+arm多层卷积神经网络的手写体字符识别方法
CN107578094A (zh) * 2017-10-25 2018-01-12 济南浪潮高新科技投资发展有限公司 基于参数服务器和fpga实现神经网络分布式训练的方法
CN108009583A (zh) * 2017-11-30 2018-05-08 速感科技(北京)有限公司 一种可寻物的智能可移动设备及智能寻物方法
CN108830380A (zh) * 2018-04-11 2018-11-16 开放智能机器(上海)有限公司 一种基于云服务的训练模型生成方法及系统
CN110895714A (zh) * 2019-12-11 2020-03-20 天津科技大学 一种YOLOv3的网络压缩方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1677346A (zh) * 2004-04-01 2005-10-05 迈普(四川)通信技术有限公司 可编程器件程序更新方法及可更新程序的板卡
CN102134027A (zh) * 2011-04-12 2011-07-27 范奉和 电梯故障检测与报警装置及其方法
CN203241148U (zh) * 2013-04-28 2013-10-16 宁波塞福特设备制造有限公司 一种风力发电机组实时振动故障监测装置
CN106250939A (zh) * 2016-07-30 2016-12-21 复旦大学 基于fpga+arm多层卷积神经网络的手写体字符识别方法
CN107578094A (zh) * 2017-10-25 2018-01-12 济南浪潮高新科技投资发展有限公司 基于参数服务器和fpga实现神经网络分布式训练的方法
CN108009583A (zh) * 2017-11-30 2018-05-08 速感科技(北京)有限公司 一种可寻物的智能可移动设备及智能寻物方法
CN108830380A (zh) * 2018-04-11 2018-11-16 开放智能机器(上海)有限公司 一种基于云服务的训练模型生成方法及系统
CN110895714A (zh) * 2019-12-11 2020-03-20 天津科技大学 一种YOLOv3的网络压缩方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Implementation of CNN on Zynq based FPGA for Real-time Object Detection;Aman Sharma et al.;《2019 10th International Conference on Coputing,Communication and Networking Technologies(ICCCNT)》;20191230;1-7 *
Using FPGA-SoC interface for low cost IoT based image processing;Shivank Dhote et al.;《2016 International Conference on Advances in Computing, Communications and Informatics (ICACCI)》;20161103;1963-1968 *
基于APSoC架构的嵌入式卷积神经网络的实现和快速部署;王俊;《中国优秀高级论文全文数据库(信息科技辑)》;20200315;I140-146 *
基于MobileNetV3的结构性剪枝优化;宋非洋等;《自动化与信息工程》;20191215;第40卷(第6期);20-25 *
目标检测模型压缩算法的研究与实现;李冰;《中国优秀高级论文全文数据库(信息科技辑)》;20200215;I138-1664 *

Also Published As

Publication number Publication date
CN111709522A (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
CN111709522B (zh) 一种基于服务器-嵌入式协同的深度学习目标检测系统
CN108764466A (zh) 基于现场可编程门阵列的卷积神经网络硬件及其加速方法
CN111383741A (zh) 医学成像模型的建立方法、装置、设备及存储介质
CN113516230B (zh) 基于平均秩重要性排序的自动化卷积神经网络剪枝方法
CN114676830B (zh) 一种基于神经网络编译器的仿真实现方法
CN113065653B (zh) 面向移动端图像分类的轻量级卷积神经网络的设计方法
CN112163601A (zh) 图像分类方法、系统、计算机设备及存储介质
CN109961446A (zh) Ct/mr三维图像分割处理方法、装置、设备及介质
CN112785034A (zh) 基于融合神经网络的台风路径预报方法、系统、介质及终端
US20230289402A1 (en) Joint perception model training method, joint perception method, device, and storage medium
CN114154646A (zh) 一种移动边缘网络中联邦学习的效率优化方法
CN115600650A (zh) 基于强化学习的自动化卷积神经网络量化剪枝方法、设备和存储介质
WO2023236319A1 (zh) 一种面向微控制器的卷积神经网络部署和优化方法
CN114429208A (zh) 基于残差结构剪枝的模型压缩方法、装置、设备及介质
CN111383742A (zh) 一种医学成像模型的建立方法、装置、设备及存储介质
Kalkan et al. Cloudy/clear weather classification using deep learning techniques with cloud images
CN112947080B (zh) 一种基于场景参数变换的智能决策模型性能评估系统
CN115953330B (zh) 虚拟场景图像的纹理优化方法、装置、设备和存储介质
CN115456149B (zh) 脉冲神经网络加速器学习方法、装置、终端及存储介质
CN116306879A (zh) 数据处理方法、装置、电子设备以及存储介质
CN116152547A (zh) 异构计算架构的图像分类识别方法、系统、介质及设备
CN114049764B (zh) 一种基于卷积长短时记忆神经网络的交通仿真方法及系统
CN113592074B (zh) 一种训练方法、生成方法及装置、电子设备
CN115688917A (zh) 神经网络模型的训练方法、装置、电子设备及存储介质
CN115392441A (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