CN112052935A - 卷积神经网络系统 - Google Patents
卷积神经网络系统 Download PDFInfo
- Publication number
- CN112052935A CN112052935A CN201910489729.2A CN201910489729A CN112052935A CN 112052935 A CN112052935 A CN 112052935A CN 201910489729 A CN201910489729 A CN 201910489729A CN 112052935 A CN112052935 A CN 112052935A
- Authority
- CN
- China
- Prior art keywords
- neural network
- convolutional neural
- network system
- layer
- stage
- 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
Links
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 64
- 238000010586 diagram Methods 0.000 claims description 6
- 230000003068 static effect Effects 0.000 claims description 5
- 238000000034 method Methods 0.000 abstract description 11
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
一种卷积神经网络方法,其包含:决定一暂时缓冲层,其位于卷积神经网络系统的第一层与最终层之间;于第一阶段,从卷积神经网络系统的第一层至暂时缓冲层,根据该暂时缓冲层之前层级的部分输入数据,执行卷积操作以产生一特征图线;及于第二阶段,从卷积神经网络系统的暂时缓冲层至最终层,执行卷积操作以产生一特征图。
Description
技术领域
本发明涉及一种神经网络,特别涉及一种二阶段基于线的特征图(line-basedfeature map)的卷积神经网络(CNN)方法与系统。
背景技术
卷积神经网络(convolutional neural network,CNN)是深层神经网络的一种,其使用卷积层对输入进行过滤,以获得有用信息。卷积层的过滤器可根据所学习的参数进行修改,以提取得到特定工作的最有用信息。卷积神经网络通常可适用于分类、检测与识别,例如影像分类、医学影像分析及影像/视讯识别。
卷积神经网络的卷积操作包含模型权重(model weighting)与特征图(featuremap)之间的相乘-相加操作,这是一种数据密集(data-intensive)运算。于硬件的实施方面,大量的特征图数据需要缓冲于存储器(例如静态随机存取存储器)当中,以确保卷积神经网络的硬件加速器可即时取得特征图数据,以进行下一层级的卷积操作。由于特征图的大小正比于输入影像尺寸,因此对于较大尺寸的输入影像,则需要更多的静态随机存取存储器。
单次检测器(single shot detector,SSD),例如you only look once单次检测器,由于其高图帧率(frame rate)与高效能,因此有愈来愈普遍的趋势,且胜过传统基于滑动式视窗(sliding-window-based)检测器。于传统具单次检测器的卷积神经网络,硬件加速器需要三倍于特征图大小的静态随机存取存储器,以确保于最坏情况下可正确储存特征图。因此,传统具单次检测器的卷积神经网络需要非常多的静态随机存取存储器,才能维持其高图帧率与高效能。
因此亟需提出一种新颖的卷积神经网络方法与系统,其需求较少存储器且不会牺牲图帧率与效能。
发明内容
鉴于上述,本发明实施例的目的之一在于提出一种二阶段基于线的特征图的卷积神经网络(CNN)方法与系统,其可大量降低所需存储器。
根据本发明实施例,卷积神经网络方法包含以下步骤。决定一暂时缓冲层,其位于卷积神经网络系统的第一层与最终层之间。于第一阶段,从卷积神经网络系统的第一层至暂时缓冲层,根据暂时缓冲层之前层级的部分输入数据,执行卷积操作以产生一特征图线。于第二阶段,从卷积神经网络系统的暂时缓冲层至最终层,执行卷积操作以产生一特征图。
附图说明
图1显示本发明实施例的二阶段卷积神经网络(CNN)方法的流程图。
图2A显示本发明实施例的基于线的特征图的卷积神经网络(CNN)系统的方块图。
图2B显示图2A的存储器的配置。
图3显示暂时缓冲层的特征图线及暂时缓冲层之前层级的部分输入数据。
图4例示本发明实施例的卷积神经网络系统。
附图标记说明:
100 二阶段卷积神经网络方法
11 决定暂时缓冲层
12 (第一阶段)根据第一层至暂时缓冲层的部分输入数据以产生特征图线
13 (第二阶段)从暂时缓冲层至最终层产生特征图
200 卷积神经网络系统
21 处理器
22 存储器
221 第一阶段缓冲器
222 暂时区段
223 第二阶段缓冲器
224 指令区段
23 感测器
具体实施方式
图1显示本发明实施例的二阶段卷积神经网络(CNN)方法100的流程图。图2A显示本发明实施例的基于线的特征图(line-based feature map)的卷积神经网络(CNN)系统200的方块图。
在本实施例中,卷积神经网络系统200可包含处理器21,用以执行卷积神经网络相关的(或卷积)操作。本实施例的卷积神经网络系统200可包含存储器22,用以储存处理器21所产生的特征图。存储器22可为挥发性存储器(例如静态随机存取存储器(SRAM))。存储器22可储存指令,以供处理器21执行。本实施例的卷积神经网络系统200可包含感测器23,例如相机,用以提取输入数据(例如影像数据),以供处理器21处理。
图2B显示图2A的存储器22的配置。在本实施例中,存储器22可分割为以下区段(section):第一阶段部分特征图缓冲器(以下简称第一阶段缓冲器)221、暂时(temporary)缓冲层区段(以下简称暂时区段)222、第二阶段特征图缓冲器(以下简称第二阶段缓冲器)223,及用以储存指令的指令区段224。
于步骤11,使用离线(offline)最佳化器(optimizer)以决定暂时缓冲层,该暂时缓冲层位于卷积神经网络系统200的第一层与最终层之间。一般来说,卷积神经网络系统200的所有层级当中,具有最小数据量(包含高、宽与通道数)的层级即决定为暂时缓冲层。
接着,于步骤12,流程进入第一阶段,处理器21(例如卷积神经网络硬件加速器)从卷积神经网络系统200的第一层至暂时缓冲层执行卷积操作。根据本实施例的特征之一,处理器21可根据暂时缓冲层之前层级的部分输入数据,以产生(或输出)特征图线(featuremap line),其中部分输入数据可储存于第一阶段缓冲器221。部分输入数据相应产生的特征图线一行行地储存于暂时区段222。值得注意的是,执行第一阶段的卷积操作所需时间相同于传统(基于数据帧)卷积神经网络方法所需时间,然而所需存储空间则远小于传统(基于数据帧)卷积神经网络方法所需存储空间。
图3显示暂时缓冲层(例如第M层)的特征图线(标示为点状区域)及暂时缓冲层之前层级(例如第M-1层与第M-2层)的部分输入数据(标示为斜线区域),其储存于第一阶段缓冲器221。在此例子中,滤波器(filter)的尺寸为3x3。
第M-1层的部分输入数据可包含相应于特征图线的一条线及其上、下各一条(水平)线。类似的情形,第M-2层的部分输入数据可包含相应于特征图线的一条线及其上、下各二条线。换句话说,层级的序号愈小,则该层级的部分输入数据愈多。如果于层级之间执行降取样(down-sampling),则相应于特征图线的上、下线的数目需乘以降取样比例(down-sampling ratio)。一般来说,若滤波器的尺寸为(2n+1)x(2n+1),第M-P层的部分输入数据可包含相应于特征图线的一条线及其上、下各nxP条线,其中暂时缓冲层位于第M层,P为小于M的正整数。
当整个输入数据已处理且暂时区段222已填满特征图线,则流程进入步骤13的第二阶段,处理器21(例如卷积神经网络硬件加速器)从卷积神经网络系统200的暂时缓冲层至最终层执行卷积操作,其以(传统)层至层(layer-to-layer)方式(而非如第一阶段的线至线(line-by-line)方式)执行。在本说明书中,层至层方式指的是传统卷积神经网络系统(从暂时缓冲层至最终层)以传统方式执行卷积操作。其中,根据处理器21所取得的整个输入数据,处理器21产生(或输出)特征图(而非特征图线)。所产生的特征图可储存于第二阶段缓冲器223。值得注意的是,位于暂时缓冲层之后层级的特征图尺寸一般比位于暂时缓冲层之前层级的特征图尺寸来得小。
上述实施例可适用于单次检测器(single shot detector,SSD),例如you onlylook once单次检测器。图4例示本发明实施例的卷积神经网络系统。在一实施例中,静态随机存取存储器(SRAM)的第一阶段缓冲器221的尺寸为174K,暂时区段222的尺寸为48K,且第二阶段缓冲器223的尺寸为48K。传统(基于数据帧的)卷积神经网络系统所需静态随机存取存储器(SRAM)的尺寸为3x520K。因此,本发明实施例的基于线的卷积神经网络系统可减少大约80%的静态随机存取存储器(SRAM)。
以上所述仅为本发明的较佳实施例而已,并非用以限定本发明的权利要求范围;凡其它未脱离发明所揭示的精神下所完成的等效改变或修饰,均应包含在随附权利要求范围内。
Claims (10)
1.一种卷积神经网络系统,包含:
一处理器,用以执行卷积操作;
一感测器,用以提取输入数据,以供该处理器处理;
一存储器,用以储存指令,以供该处理器执行;
其中该处理器执行以下步骤:
决定一暂时缓冲层,其位于该卷积神经网络系统的第一层与最终层之间;
于第一阶段,从该卷积神经网络系统的第一层至该暂时缓冲层,根据该暂时缓冲层之前层级的部分输入数据,执行卷积操作以产生一特征图线;及
于第二阶段,从该卷积神经网络系统的该暂时缓冲层至最终层,执行卷积操作以产生一特征图。
2.根据权利要求1所述的卷积神经网络系统,其中该卷积神经网络系统的所有层级当中,该暂时缓冲层具有最小数据量。
3.根据权利要求1所述的卷积神经网络系统,其中该存储器分割为以下区段:
一第一阶段缓冲器,用以储存该部分输入数据;
一暂时区段,用以储存第一阶段所产生的该特征图线;及
一第二阶段缓冲器,用以储存第二阶段所产生的该特征图。
4.根据权利要求3所述的卷积神经网络系统,其中该存储器的暂时区段已填满时,则进入第二阶段。
5.根据权利要求1所述的卷积神经网络系统,其中该存储器包含静态随机存取存储器。
6.根据权利要求1所述的卷积神经网络系统,其中该感测器包含一相机。
7.根据权利要求1所述的卷积神经网络系统,其中于该第一阶段,层级的序号愈小,则该层级的部分输入数据愈多。
8.根据权利要求1所述的卷积神经网络系统,其中于该第一阶段,若滤波器的尺寸为(2n+1)x(2n+1),第M-P层的部分输入数据包含相应于该特征图线的一条线及其上、下各nxP条线,其中该暂时缓冲层位于第M层,P为小于M的正整数。
9.根据权利要求1所述的卷积神经网络系统,其中该第二阶段以层至层方式执行。
10.根据权利要求1所述的卷积神经网络系统,其中该卷积神经网络系统包含一单次检测器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910489729.2A CN112052935B (zh) | 2019-06-06 | 2019-06-06 | 卷积神经网络系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910489729.2A CN112052935B (zh) | 2019-06-06 | 2019-06-06 | 卷积神经网络系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112052935A true CN112052935A (zh) | 2020-12-08 |
CN112052935B CN112052935B (zh) | 2024-06-14 |
Family
ID=73609578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910489729.2A Active CN112052935B (zh) | 2019-06-06 | 2019-06-06 | 卷积神经网络系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112052935B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160350645A1 (en) * | 2015-05-29 | 2016-12-01 | Samsung Electronics Co., Ltd. | Data-optimized neural network traversal |
CN107437110A (zh) * | 2017-07-11 | 2017-12-05 | 中国科学院自动化研究所 | 卷积神经网络的分块卷积优化方法及装置 |
CN108320296A (zh) * | 2017-12-28 | 2018-07-24 | 新智数字科技有限公司 | 一种视频中目标对象的检测跟踪方法、装置及设备 |
CN108805274A (zh) * | 2018-05-28 | 2018-11-13 | 重庆大学 | 基于FPGA的Tiny-yolo卷积神经网络硬件加速方法及系统 |
CN109034183A (zh) * | 2018-06-07 | 2018-12-18 | 北京飞搜科技有限公司 | 一种目标检测方法、装置及设备 |
CN109101994A (zh) * | 2018-07-05 | 2018-12-28 | 北京致远慧图科技有限公司 | 一种卷积神经网络迁移方法、装置、电子设备及存储介质 |
CN109214504A (zh) * | 2018-08-24 | 2019-01-15 | 北京邮电大学深圳研究院 | 一种基于fpga的yolo网络前向推理加速器设计方法 |
CN109754357A (zh) * | 2018-01-26 | 2019-05-14 | 京东方科技集团股份有限公司 | 图像处理方法、处理装置以及处理设备 |
CN109800712A (zh) * | 2019-01-21 | 2019-05-24 | 成都快眼科技有限公司 | 一种基于深度卷积神经网络的车辆检测计数方法及设备 |
-
2019
- 2019-06-06 CN CN201910489729.2A patent/CN112052935B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160350645A1 (en) * | 2015-05-29 | 2016-12-01 | Samsung Electronics Co., Ltd. | Data-optimized neural network traversal |
CN107437110A (zh) * | 2017-07-11 | 2017-12-05 | 中国科学院自动化研究所 | 卷积神经网络的分块卷积优化方法及装置 |
CN108320296A (zh) * | 2017-12-28 | 2018-07-24 | 新智数字科技有限公司 | 一种视频中目标对象的检测跟踪方法、装置及设备 |
CN109754357A (zh) * | 2018-01-26 | 2019-05-14 | 京东方科技集团股份有限公司 | 图像处理方法、处理装置以及处理设备 |
CN108805274A (zh) * | 2018-05-28 | 2018-11-13 | 重庆大学 | 基于FPGA的Tiny-yolo卷积神经网络硬件加速方法及系统 |
CN109034183A (zh) * | 2018-06-07 | 2018-12-18 | 北京飞搜科技有限公司 | 一种目标检测方法、装置及设备 |
CN109101994A (zh) * | 2018-07-05 | 2018-12-28 | 北京致远慧图科技有限公司 | 一种卷积神经网络迁移方法、装置、电子设备及存储介质 |
CN109214504A (zh) * | 2018-08-24 | 2019-01-15 | 北京邮电大学深圳研究院 | 一种基于fpga的yolo网络前向推理加速器设计方法 |
CN109800712A (zh) * | 2019-01-21 | 2019-05-24 | 成都快眼科技有限公司 | 一种基于深度卷积神经网络的车辆检测计数方法及设备 |
Non-Patent Citations (1)
Title |
---|
张抢强: "基于分块卷积的大图像输入卷积神经网络优化", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 03 * |
Also Published As
Publication number | Publication date |
---|---|
CN112052935B (zh) | 2024-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110189255B (zh) | 基于两级检测的人脸检测方法 | |
KR102261894B1 (ko) | 객체인식장치 및 객체인식방법 | |
CN110659658B (zh) | 一种目标检测方法及其装置 | |
KR102070956B1 (ko) | 영상 처리 장치 및 방법 | |
CN114549913B (zh) | 一种语义分割方法、装置、计算机设备和存储介质 | |
CN111461161A (zh) | 基于cnn且抗波动性强的客体检测方法及装置 | |
CN112749726B (zh) | 目标检测模型的训练方法、装置、计算机设备和存储介质 | |
KR102034659B1 (ko) | 컨볼루션 뉴럴 네트워크를 위한 하드웨어 가속기 및 컨볼루션 연산량 감소 방법 | |
WO2023116632A1 (zh) | 基于时空记忆信息的视频实例分割方法和分割装置 | |
CN112001923B (zh) | 一种视网膜图像分割方法及装置 | |
CN111178217A (zh) | 人脸图像的检测方法及设备 | |
CN110503002B (zh) | 一种人脸检测方法和存储介质 | |
CN112150497A (zh) | 基于二值神经网络的局部激活方法与系统 | |
CN111127510A (zh) | 一种目标对象位置的预测方法及装置 | |
CN111027551B (zh) | 图像处理方法、设备和介质 | |
WO2020248706A1 (zh) | 图像处理的方法、装置、计算机存储介质及终端 | |
KR102086042B1 (ko) | 영상 처리 장치 및 방법 | |
CN112052935A (zh) | 卷积神经网络系统 | |
KR20200134813A (ko) | 기계 학습을 위한 이미지 처리 장치 및 방법 | |
US11620812B2 (en) | Online distillation using frame cache | |
TWI746987B (zh) | 卷積神經網路系統 | |
CN107967691B (zh) | 一种视觉里程计算方法和装置 | |
CN112784828B (zh) | 基于方向梯度直方图的图像检测方法、装置、计算机设备 | |
US20200372280A1 (en) | Apparatus and method for image processing for machine learning | |
CN111310824A (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 |