-
摘要:
芯粒集成逐渐成为不同场景下敏捷定制深度学习芯片的高可扩展性的解决方案,芯片设计者可以通过集成设计、验证完成的第三方芯粒来降低芯片开发周期和成本,提高芯片设计的灵活性和芯片良率. 在传统的芯片设计和商业模式中,编译器等专用软件工具链是芯片解决方案的组成部分,并在芯片性能和开发中发挥重要作用. 然而,当使用第三方芯粒进行芯片敏捷定制时,第三方芯粒所提供的专用工具链无法预知整个芯片的资源,因此无法解决敏捷定制的深度学习芯片的任务部署问题,而为敏捷定制的芯片设计全新的工具链需要大量的时间成本,失去了芯片敏捷定制的优势. 因此,提出一种面向深度学习集成芯片的可扩展框架(scalable framework for integrated deep learning chips)——Puzzle,它包含从处理任务输入到运行时管理芯片资源的完整流程,并自适应地生成高效的任务调度和资源分配方案,降低冗余访存和芯粒间通信开销. 实验结果表明,该可扩展框架为深度学习集成芯片生成的任务部署方案可自适应于不同的工作负载和硬件资源配置,与现有方法相比平均降低27.5%的工作负载运行延迟.
Abstract:Chiplet integration is becoming a highly scalable solution of customizing deep learning chips for different scenarios, thus many chip designers start to reduce the chip development cost by integrating "known-good" third-party dies, which shows advantages in higher yield, design flexibility, and shorter time-to-market. In conventional chip business model, the dedicated software toolchain such as compiler is provided as part of the chip solution and plays an important role in chip performance and development. However, when it comes to chip solution that assembles multiple third-party dies, the toolchain must face the situation that is unknown to the dedicated compiler of die vendors in advance. In such a situation, how to dispatch tasks to hardware resources and manage the cooperation between the provided interfaces of independent third-party dies becomes a necessity. Moreover, designing a whole-new toolchain for each integrated chip is time-consuming and even deviating the original intention of agile chip customization. In this paper, we propose Puzzle, a scalable compilation and resource management framework for integrated deep learning chips. Puzzle contains a complete framework from profiling the input workload to run-time management of chip resources, and reduces redundant memory access and expensive inter-die communication through efficient and self-adaptive resource allocation and task distribution. Experimental results show that Puzzle achieves an average of 27.5% latency reduction under various chip configurations and workloads compared with state-of-the-art solutions.
-
Keywords:
- agile chip customization /
- chiplet /
- deep learning chip /
- neural processing unit /
- task dispatching
-
小目标检测作为目标检测中的难点技术,被广泛应用于自动驾驶、医学领域、无人机导航、卫星定位和工业检测等视觉任务中. 近些年基于深度学习的目标检测算法发展迅猛. 以YOLO(You Only Look Once)[1]和SSD(Single Shot MultiBox Detector)[2]为代表的一阶段算法直接预测出目标的位置和类别,具有较快的速度. 而二阶段算法[3-4]在生成候选框的基础上再回归出目标区域,具有更高的精度.但是这些算法在检测只含有较少像素的小目标(小于32×32像素)时表现较差,检测率甚至不到较大目标的一半. 因此,小目标检测仍然具有很大的改进空间.
小目标检测效果差主要是由于网络本身的局限性以及训练数据不平衡所导致[5]. 为了获得较强的语义信息和较大的感受野,检测网络不断堆叠下采样层,使得小目标信息在前向传播的过程中逐渐丢失[6],限制了小目标的检测性能. 特征金字塔网络(feature pyramid network, FPN)[7]将低层特征图和高层特征横向融合,可以在一定程度上缓解信息丢失的问题[1-2]. 然而FPN直接融合不同层级的特征会造成语义冲突,限制多尺度特征的表达,使小目标容易淹没于冲突信息中. 同时,目前主流的公开数据集中,小目标的数量远远小于较大目标,使得小目标对损失的贡献小,网络收敛的方向不断向较大目标倾斜.
针对小目标检测效果差的问题,本文提出一种上下文增强和特征提纯相结合的复合FPN结构,该结构主要包括上下文增强模块(context augmentation module, CAM)和特征提纯模块(feature refinement module, FRM). 同时,提出一种复制—缩小—粘贴(copy-reduce-paste)的数据增强方法,具体有3点:
1)CAM融合多尺度空洞卷积特征以获取丰富的上下文信息,补充检测所需信息;
2)FRM引入通道和空间自适应融合的特征提纯机制以抑制特征中的冲突信息;
3)通过copy-reduce-paste数据增强来提高小目标在训练过程中对损失的贡献率.
1. 相关工作
1.1 现代目标检测器
目标检测是一种基础的计算机视觉任务,经过多年的发展,基于卷积神经网络(convolutional neural network, CNN)的目标检测器逐渐成为主流. RCNN[3]首先生成候选区域以匹配不同尺寸的目标,然后通过CNN筛选候选区域. FasterR-CNN[4]将候选区域生成阶段和分类阶段结合在一起,以提高检测速度. EFPN[8]提出超分辨率FPN结构以放大小目标的特征[9]. 一阶段网络SSD将锚盒密集的布置在图像上以回归出目标框,同时充分利用不同尺度的特征,以检测较小目标. YOLOV3[1]利用特征金字塔的3层输出分别检测大、中、小目标,明显提高小目标检测性能. RefineDet[10]引入一种新的损失函数以解决简单样本和复杂样本不平衡的问题. 同时也有研究者提出基于anchor-free架构的检测器[11].尽管目标检测算法发展迅速,但是小目标检测率却一直较低. 本文选用带有FPN的YOLOV3作为基础网络,并在此基础上做出改进.
1.2 多尺度特征融合
多尺度特征是一种提高小目标检测率的有效方法. SSD[2]首次尝试在多尺度特征上预测目标位置和类别. FPN[7]自上而下地将含有丰富语义信息的高层特征图和含有丰富几何信息的低层特征图横向融合. PANet[12]在FPN的基础上添加了额外的自下而上的连接以更高效地传递浅层信息到高层. NAS-FPN[13]利用神经架构搜索技术搜索出了一种新的连接方式. BiFPN[14]改良了PANet的连接方式,使其更加高效,并在连接处引入了简单的注意力机制. 虽然文献[12−14]中的结构都能提升网络多尺度表达的能力,但是都忽略了不同尺度特征之间冲突信息的存在可能会阻碍性能的进一步提升,本文则充分考虑了冲突信息对检测精度的影响.
1.3 数据增强
深度学习是基于数据的方法,因而对训练数据的预处理是其关键的一环. 常见的数据预处理方法如旋转、变形、随机擦除、随机遮挡和光照畸变等. Stitcher[15]将4张训练图像缩小为原图的1/4,并且将它们拼接为1张图像来实现小目标的数据增强,同时将损失值作为反馈信号以指导数据增强的进行. YOLOV4[16]将4张训练图像缩小为不同大小并且拼接为1张来实现小目标的数据增强. 文献[15−16]中的方式对于目标尺寸普遍很大的图像来说,会将大目标图像缩小为中等目标大小,最终提高中等目标图像的检测率. Kisantal等人[5]采用将图像的小目标区域复制然后粘贴回原图的方式实现小目标数据增强. 但这种方式只能增加小目标个数而不能增加含有小目标的图像个数,也会造成一定的不平衡. 本文提出的数据增强算法则基于较大目标广泛分布于训练的各个批次的事实,保证训练平衡进行. 本文算法结构图如图1所示:
2. 本文算法
图1中{C2, C3,C4,C5}分别表示图像经过{4, 8, 16, 32}倍下采样后的特征图,{C3,C4,C5}经过1层卷积后分别生成{F1,F2,F3},其中C2由于含有大量噪声而未被使用. {L1,L2,L3}分别是{F1,F2,F3}经过FPN后的结果,{P1,P2,P3}为{L1,L2,L3}经过FRM的输出.
CAM启发于人类识别物体的模式. 如,我们很难分辨很高天空中的小鸟,但是考虑天空作为其背景,我们就很容易分辨出,因为从我们学习到的知识中可知,在天空背景下的微小目标很有可能是小鸟,而这种背景信息,即是目标的上下文信息.因此如果目标检测网络也在图像中学习到这样的“知识”将会有助于检测小目标.
由于FPN不同层的特征密度不同,因而含有大量的语义差异,在实现信息共享的同时也引入了很多冲突信息. 因此,本文提出了FRM用于过滤冲突信息,减少语义差异. FRM通过将不同层间的特征自适应融合,以达到抑制层间冲突信息的目的.
针对小目标对损失贡献低的问题,提出了一种copy-reduce-paste数据增强方法,以提高小目标对损失的贡献.
2.1 上下文增强和特征提纯的特征金字塔网络
2.1.1 上下文增强模块(CAM)
目标检测需要定位信息也需要语义信息,处于FPN最低层的L3含有较多的定位信息而缺少语义信息. FPN自上而下的信息共享结构在通道数减少之后才进行融合,使得L3未能获取充分的语义信息. 为此我们利用不同空洞卷积率的空洞卷积来获取上下文信息,并将其注入到FPN中,以补充上下文信息.
图2(a)是CAM的结构图. 对于大小为[bs, C, H, W]的输入分别进行空洞卷积率为1,3,5的空洞卷积[17]. bs, C, H, W分别为特征图的批次大小、通道数、高和宽.由于该模块输入的尺寸较小,为了获取更多的细节特征,不宜使用大卷积,因此选用3×3的卷积.同时为了避免引入较多的参数量,选取卷积核的个数为C/4,即首先压缩通道数为输入的1/4,然后再通过1×1的卷积扩张通道数为C,得到3种大小相同而感受野不同的输出,最后融合得到的特征. 特征融合可采用的方式如图2(b)~(d)所示. 图2(b),(c)分别为拼接融合和加权融合,即分别在通道和空间维度上直接拼接和相加. 图2(d)是自适应融合方式,即通过卷积、拼接和归一化等操作将输入特征图压缩为通道为3的空间权重,3个通道分别与3个输入一一对应,计算输入特征和空间权重的加权和可以将上下文信息聚合到输出中.
本文通过消融实验验证各个融合方式的有效性,实验结果如表1所示.
表 1 CAM消融实验结果Table 1. Ablation Experimental Results of CAM% 算法 AP(IOU=0.5) AR(IOU=0.5) APs APm ARs ARm 基线模型 34.8 60.5 57.9 78.7 相加融合 35.6 63.0 60.5 81.8 自适应融合 36.0 63.1 58.9 81.0 拼接融合 36.6 61.0 59.8 79.5 注:基线模型为YOLOV3,测试数据集为VOC,IOU为交并比. APs,APm分别指小目标、中目标的平均精度;ARs,ARm分别指小目标、中目标的平均召回率. 由表1可知,对于小目标来说,拼接融合所取得的增益最大,APs和ARs分别提高了1.8%和1.9%. 自适应融合对中目标的提升最为明显,APm提升了2.6%. 相加融合带来的提升则基本介于拼接融合和自适应融合两者之间,因此本文选择拼接融合的方式.
本文将部分特征图可视化以说明CAM的效果,可视化结果如图3所示.
图3(b)为CAM输入特征图,从中可以发现在图像的目标处有微小响应,呈现为较小的“白点”. 图3(c)为CAM输出特征图,可以明显看到目标处的响应明显增强,并且响应范围更大,这是因为CAM将目标周围的上下文信息也融入特征中,使得目标处的响应更强. 因此将CAM提取的上下文信息注入网络中将有助于小目标的检测.
2.1.2 特征提纯模块(FRM)
FPN用于融合不同尺度大小的特征,然而不同尺度的特征具有不可忽视的语义差异,将不同尺度的特征直接融合可能引入大量的冗余信息和冲突信息,降低多尺度表达的能力. 为了抑制冲突信息,本文提出FRM,该模块结构如图4所示.
图4(a)为接在FPN第2层后的FRM结构图. 从图(4)可看出,
{\boldsymbol{X}}^1 ,{\boldsymbol{X}}^2 ,{\boldsymbol{X}}^3 (FPN的3层输出)为该模块的输入,首先将{\boldsymbol{X}}^1 ,{\boldsymbol{X}}^2 ,{\boldsymbol{X}}^3 3个输入缩放到同一大小,分别为{\boldsymbol{R}}^1 ,{\boldsymbol{R}}^2 ,{\boldsymbol{R}}^3 ,然后再利用拼接和卷积操作将所有输入特征的通道数压缩为3,随后接上并联的通道提纯模块和空间提纯模块.通道提纯模块的具体结构如图4(b)所示,为了计算通道注意力,采用平均池化和最大池化相结合的方式来聚合图像的全局空间信息. 用
{\boldsymbol{X}}^m 表示FRM的第m(m∈{1,2,3})层输入特征图,其输出可表示为{\boldsymbol{U}} = {\boldsymbol{\alpha }} \times RS({{\boldsymbol{X}}^1}) + {\boldsymbol{\beta }} \times {{\boldsymbol{X}}^2} + {\boldsymbol{\gamma }} \times RS({{\boldsymbol{X}}^3}). (1) 其中RS表示resize函数,在式(1)中将
{\boldsymbol{X}}^1 和{\boldsymbol{X}}^3 特征缩放到和{\boldsymbol{X}}^2 同一尺度.{\boldsymbol{\alpha }} ,{\boldsymbol{\beta }} ,{\boldsymbol{\gamma }} 为通道自适应权重,其尺度为1×1×1. 经过归一化的{\boldsymbol{\alpha }} ,{\boldsymbol{\beta }} ,{\boldsymbol{\gamma }} 代表3个输入的相对权重,这3个值越大表示具有更大的响应,将它们与输入相乘,响应大的输入将被放大,响应小的输入将被抑制,以此将更加有用的信息增强而抑制不重要的噪声.{\boldsymbol{\alpha }} ,{\boldsymbol{\beta }} ,{\boldsymbol{\gamma }} 可表示为{\text{[}}{\boldsymbol{\alpha }},{\boldsymbol{\beta }},{\boldsymbol{\gamma }}{\text{]}} = sigmoid{\kern 1pt} {\kern 1pt} {\text{[}}{AvgPool} {\text{(}}{\boldsymbol{F}}{\text{)}} + {MaxPool} {\text{(}}{\boldsymbol{F}}{\text{)]}}. (2) 其中F为图4(a)中标识的特征图,AvgPool和MaxPool分别为平均池化和最大池化操作.
空间提纯模块利用softmax函数将特征图在空间上归一化,得到特征图中某点关于其他所有位置的相对权重,然后将其与输入分别相乘. 其输出可表示为
\begin{split} {\boldsymbol{D}} =\;& {{\boldsymbol{\mu }}_{{\text{(}}x,y{\text{)}}}} \times RS\left( {{\boldsymbol{X}}_{{\text{(}}x,y{\text{)}}}^1} \right) + \;{{\boldsymbol{\nu }}_{{\text{(}}x,y{\text{)}}}} \times {\boldsymbol{X}}_{{\text{(}}x,y{\text{)}}}^2+ \\ &{{\boldsymbol{\omega }}_{{\text{(}}x,y{\text{)}}}} \times RS\left( {{\boldsymbol{X}}_{{\text{(}}x,y{\text{)}}}^3} \right). \end{split} (3) (x,y)表示特征图的空间坐标.
{\boldsymbol{\mu }} ,{\boldsymbol{\nu }} ,{\boldsymbol{\omega }} 为空间自适应权重,目标区域的响应较大,将会获得更大的权重,反之背景区域获得的权重较小.{\boldsymbol{\mu }} ,{\boldsymbol{\nu }} ,{\boldsymbol{\omega }} 与输入具有相同的空间大小,因此将它们和输入直接相乘可以达到将目标特征放大和背景噪声抑制的目的.{\boldsymbol{\mu }} ,{\boldsymbol{\nu }} ,{\boldsymbol{\omega }} 可由式(4)表示.[{\boldsymbol{\mu }},{\boldsymbol{\nu }},{\boldsymbol{\omega }}] = {\text{soft}}\max ({\boldsymbol{F}}). (4) softmax函数用于归一化特征参数以提高模型的泛化能力.那么此模块的总输出为
{\boldsymbol{P}} = {\boldsymbol{U}} + {\boldsymbol{D}}. (5) FPN所有层的特征都在自适应权重的引导下融合,融合的结果作为整个网络的输出.
为更加直观地说明特征提纯模块的作用,图5展示了部分可视化的特征图. 由于小目标的检测由FPN的最低层主导,因此我们仅可视化了最低层的特征. 图5中F3,L3,P3分别对应图1中的标签F3,L3,P3.
由图5可知,F3特征可大致定位目标位置,但是包含较多背景噪声,具有较大误检的可能. L3相比于F3,背景信息明显减少,这是FPN融合高层信息的结果. 高层信息更加关注于物体的抽象信息而不关注背景信息,因此背景信息会被中和. 但是由于特征的细腻度不同,引入了冲突信息,使得目标的响应被削弱.而P3的目标特征被强化,并且目标和背景之间的边界更加明显. 由可视化分析可知,本文提出的FRM可减少干扰小目标的冲突信息,提高判别性,以此提高小目标的检测率.
2.2 copy-reduce-paste数据增强
当前主流的公开数据集中,小目标的数量或包含小目标的图片数量远远小于较大目标的,如VOC数据集,统计情况如表2所示. 同时,如图6(a)所示,小目标产生的正样本数量远远小于较大目标的,因而小目标对损失的贡献率远远小于较大目标的,使得网络收敛的方向不断向较大目标倾斜.
表 2 VOC数据集目标尺寸统计结果Table 2. Statistical Results of Target Size on VOC Datebase% 统计值 小目标 中目标 大目标 目标数量占比 10.0 16.6 73.4 图片数量占比 8.2 16.2 75.6 为了缓解这个问题,我们在训练过程中复制、缩小、粘贴图像中的目标,以增加小目标产生的正样本数量以及对损失的贡献值,使得训练更为平衡. 数据增强效果如图6(b)和图6(c)所示.
图6(b),图6(c)是粘贴1次的结果示例,实线框是原有的目标,虚线框为粘贴的目标. 首先复制大目标图像块,然后对图像块进行缩小,最后粘贴到原图的不同位置.我们提出的数据增强方法并没有直接复制小目标图像区域粘贴到不同位置,这是考虑到数据集中含有小目标的图像数量较少,如果仅仅复制粘贴小目标,在很多批次中小目标对损失的贡献仍然很低. 此外,我们研究了粘贴次数对小目标检测性能的影响, 实验结果如表3所示.
表 3 数据增强消融实验结果Table 3. Ablation Experimental Results of Data Augmentation% 粘贴次数 AP(IOU=0.5) AR(IOU=0.5) APs APm ARs ARm 0(基线模型) 34.8 60.5 57.9 78.7 1 37.3 62.7 59.8 80.9 2 36.8 62.6 58.0 81.0 3 33.2 59.7 58.0 79.8 注:基线模型为YOLOV3,IOU为交并比.APs,APm分别指小目标、中目标的平均精度;ARs,ARm分别指小目标、中目标的平均召回率. 从表3中可知,随着粘贴次数的增加,小目标的检测率逐渐减小,甚至会造成低于基线模型的情况.这可能是由于随着粘贴次数的增加,逐渐破坏了原始数据的分布,使得在测试集的表现较差. 在粘贴1次时,APs提高了2.5%,ARs提高了1.9%,同时中目标的检测率也略有提升,结果表明粘贴1个目标是最佳的设定.
3. 实 验
3.1 训练设置
本文实验在VOC和TinyPerson两种数据集[18]上进行. VOC有22136张训练图像和4952张测试图像,共20个类别. TinyPerson数据集包含2个类别,798张训练图片和816张测试图片,其场景多为远距离大背景下的图像,所标注目标的平均大小为18像素,是一个真正意义上的小目标数据集.
本文所使用的评估指标为:
精度(precision, P),用来检测结果中相关类别占总结果的比重;
召回率(recall, R),用来检测结果中相关类别占总类别的比重. 由P-R曲线可计算所有大、中、小目标平均检测精度的均值(mAP):
mAP = \frac{{\text{1}}}{k}\sum\limits_{n = 1}^N {P\left( n \right) \times\Delta r\left( n \right)} . (6) 其中N为测试集总数,P(n)表示n张图像的精确度,∆r(n)表示从n−1增加到n时召回率的变化量,k为类别数. 同时,使用下标s,m,l分别表示在小尺度、中尺度和大尺度目标上的性能. 本文所有的实验在同样的软件和硬件条件下进行(pytorch[19]框架,Intel Core i7-5820k CPU@3.30 GHz处理器,16 GB内存,GeForce GTX TITAN显卡).
图7为训练时的损失变化曲线,我们采用SGD优化器训练50轮次(前2个轮次预热),批次设定为8,学习率初始值为 0.0001,训练的损失值平滑下降.部分特征可视化结果如图8所示.
如图8所示,图8(b)为浅层特征,网络更关注物体的纹理信息. 图8(c)为深层特征,图像的信息逐渐抽象,网络更关注物体的高层语义信息.
3.2 实验结果
为验证本文算法在小目标检测上的有效性,本文在TinyPerson和VOC数据集上分别进行了实验.
本文复现了4种算法在TinyPerson数据集上的检测结果,由于该数据集几乎全是小目标,因此只进行APs指标的对比,对比结果如表4所示.
由表4可知,本文算法在该数据集上的APs达到55.1%. 相比YOLOV5和DSFD算法,本文算法分别有0.8%和3.5%的提升,而相比于AL-MDN和MaskR-CNN则分别高出21%和12.6%.
本文复现了3种较为前沿的目标检测算法在VOC上的结果,并且比较这些算法在小目标、中目标上的AP和AR,实验结果如表5所示:
表 5 VOC数据集上的小目标检测结果Table 5. Results of Small Targets Detection on VOC Dataset% 由表5可知,本文算法相比于YOLOV4,APs高3.9%,ARs高11.3%;相比于RefineDet,APs高5.3%,ARs高9.2%;而相比于CenterNet,本文算法的APs和ARs分别具有7.7%和12.0%的优势. 不难发现,本文算法在小目标的召回率上具有较大优势,说明本文算法具有较强的小目标查找能力.
将本文算法和近几年的一阶段算法和二阶段算法在VOC数据集上的mAP进行对比,对比结果如表6所示.
表 6 VOC数据集上的实验结果(IOU=0.5)Table 6. Experimental Results on VOC Dataset (IOU=0.5)类型 算法 主干网络 输入尺寸 mAP/% 二阶段 Faster R-CNN[4] ResNet101 1000×600 76.4 R-FCN[3] ResNet101 1000×600 80.5 HyperNet[25] VGG16 1000×600 76.3 CoupleNet[26] ResNet101 1000×600 82.7 Reconfig[27] ResNet101 1000×600 82.4 IPG-Net[28] IPGNet101 1000×600 84.8 一阶段 SSD[2] VGG16 512×512 79.8 RefineDet[10] VGG16 512×512 81.8 RFBNet[29] VGG16 512×512 82.2 ScratchDet[30] RestNet34 320×320 80.4 PFPNet[31] VGG16 512×512 82.3 本文算法 Darknet53 448×448 83.6 本文算法+ Darknet53 448×448 85.1 注:“+”表示多尺度测试. 由表6可知,与一阶段算法相比,本文算法比PFPNet的mAP高1.3%,具有最好的表现. 与二阶段算法相比,本文算法优于大部分的二阶段算法,但比IPG-Net的mAP低1.2%,这主要是由于本文算法的主干网络性能较差以及输入图像大小较小. 如果本文采用多尺度测试的方法,则在VOC数据集上的检测率可达到85.1%,高于所有的对比算法.
本文算法对小目标的检测具有较大优势,不管是总体检测效果还是小目标的检测率、召回率都表现良好,优于大多数检测算法.
3.3 消融实验
本文以消融实验验证每个模块的贡献.通过逐个添加数据增强方法、CAM和FRM到基线模型YOLOV3中,得出实验结果如表7所示:
表 7 消融实验结果Table 7. Ablation Experimental Results基线模型 增强 CAM FRM AP/% (IOU = 0.5) AR/% (IOU = 0.5) APs APm APl ARs ARm ARl √ 34.8 60.5 83.6 57.9 78.7 92.8 √ √ 37.3 62.7 83.4 59.8 80.9 93.0 √ √ 36.6 61.0 84.2 59.8 79.5 93.1 √ √ 37.6 62.1 83.9 59.0 79.1 92.6 √ √ √ √ 40.2 64.1 84.6 64.8 81.0 93.9 注:√表示包含该模块,IOU为交并比.APs,APm,APl分别指小目标、中目标和大目标的平均精度;ARs,ARm,ARl分别指小目标、中目标和大目标的平均召回率. 总体来说,本文提出的算法可显著提高目标检测率,尤其是小目标和中等目标的检测率,这也符合本文算法的初衷. 如表7所示,APs提升5.4%,APm提升3.6%,而APl提升1.0%. 同时对于不同尺度目标的召回率也有不同程度的提升. 具体来说,ARs提升6.9%,ARm提升1.3%,ARl提升1.1%.
copy-reduce-paste数据增强方法将APs和APm分别提高2.5%和2.2%.而APl略有下降. 由此可知,该方法可有效提高小目标检测率.
CAM分别提高小目标的APs和ARs 1.8%和0.6%.证实了补充上下文信息对于小目标检测的重要性.
FRM将APs和APm分别提高2.8%和1.6%,而APl基本持平. 由此可见,FRM可滤除特征的冲突信息,提高较小目标特征的判别性.
4. 总 结
小目标特征模糊,能够提取的特征少,是目标检测领域的难点. 为了解决小目标特征消散的问题,本文引入CAM,通过不同空洞卷积率的空洞卷积提取上下文信息,以补充小目标的上下文信息. 由于小目标容易淹没在冲突信息中,本文提出FRM,该模块结合通道和空间自适应融合来抑制冲突信息,提高特征的判别性. 同时,提出一种copy-reduce-paste的小目标增强方法来提高小目标对损失函数的贡献,使得训练更加平衡.通过实验结果可知,本文提出的小目标检测网络在TinyPerson和VOC数据集上均表现良好,优于大多数的目标检测算法.
致谢 感谢武汉大学超级计算中心对本文的数值计算提供的支持.
作者贡献声明:肖进胜和赵陶设计网络并实践;肖进胜和周剑负责论文撰写;乐秋平和杨力衡提供数据支持和文章的润色
-
表 1 深度学习集成芯片资源配置
Table 1 Integrated Deep Learning Chip Resource Configurations
芯片
类型芯粒间
互连NPU芯
粒类型芯粒总
数量NPU核数
(芯粒数量)片上网
络类型片上互连网
络带宽GB/sNPU PE
阵列尺寸NPU片上
缓存容量数据流
(芯粒数量)PA-Small 3x3 Mesh Eyeriss[44] 4 8 (2)
3 (2)3×3 Mesh
2×2 Mesh28.8 12×14 108KB OS (2)
WS (2)NN-Baton[31] 2 3 2×2 Mesh 28.8 8×8 64KB WS TANGRAM[32] 2 8 (1)
3 (1)3×3 Mesh
2×2 Mesh28.8 16×16 128KB OS PA-Big 3x3 Mesh TPU[13] 4 3 (2)
1 (2)2×2 Mesh
57.6 256×256 8MB OS PREMA[35] 2 3 2×2 Mesh 57.6 128×128 8MB (特征值)
4MB (权重)WS AI-MT[37] 2 3 2×2 Mesh 57.6 128×128 18MB(特征值)
1MB (权重)OS PA-Hybrid 3x3 Mesh TPU[13] 2 3 2×2 Mesh 57.6 256×256 8MB OS Eyeriss[44] 2 8 3×3 Mesh 28.8 12×14 108KB OS AI-MT[37] 1 3 2×2 Mesh 57.6 128×128 18MB(特征值)
1MB (权重)OS TANGRAM[32] 1 3 2×2 Mesh 28.8 16×16 128KB OS PREMA[35] 1 1 57.6 128×128 8MB (特征值)
4MB (权重)WS NN-Baton[31] 1 8 3×3 Mesh 28.8 8×8 64KB WS 注:Mesh表示网格;WS表示权重固定;OS表示输出固定. -
[1] Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[C/OL] //Proc of the 3rd Int Conf on Learning Representations. 2015[2023-04-01].https://arxiv.org/pdf/1409.1556.pdf
[2] He Kaiming, Zhang Xiangyu, Ren Shaoqing, et al. Deep residual learning for image recognition [C] //Proc of the 2016 IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2016: 770–778
[3] Liu Wei, Anguelov D, Erhan D, et al. SSD: Single shot multibox detector [C] //Proc of the European Conf on Computer Vision. Berlin: Springer, 2016: 21–37
[4] Ren Shaoqing, He Kaiming, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks [C] //Advances in Neural Information Processing Systems. New York: Curran Associates, Inc. , 2015: 91–99
[5] Hochreiter S, Schmidhuber J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735−1780 doi: 10.1162/neco.1997.9.8.1735
[6] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need [C] //Advances in Neural Information Processing Systems. New York: Curran Associates, Inc. , 2017: 5998–6008
[7] Devlin J, Chang Mingwei, Lee K, et al. BERT: Pre-training of deep bidirectional transformers for language understanding [C] //Proc of the 2019 Conf of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers). Minneapolis, Stroudsburg, PA: Association for Computational Linguistics, 2019: 4171–4186
[8] NVIDIA. DGX-2 : AI servers for solving complex AI challenges [EB/OL]. 2018[2023-04-01]. https://www.nvidia.com/en-us/data-center/dgx-2/
[9] Google. Edge TPU - run inference at the edge [EB/OL]. 2018[2023-04-01].https://cloud.google.com/edge-tpu
[10] Huawei. Ascend 310 AI processor[EB/OL]. 2018[2023-04-01].https: //e.huawei.com/eu/products/cloud-computing-dc/atlas/ascend-310 [11] Chen Tianshi, Du Zidong, Sun Ninghui, et al. DianNao: A small-footprint high-throughput accelerator for ubiquitous machine-learning [C] //Proc of the 19th Int Conf on Architectural Support for Programming Languages and Operating Systems. New York: ACM , 2014: 269–284
[12] NVIDIA. NVDLA primer—NVDLA documentation [EB/OL]. 2017[2023-04-01]. http://nvdla.org/primer.html
[13] Google. Cloud TPU [EB/OL]. 2018[2023-04-01].https://cloud.google.com/tpu
[14] Tesla. Artificial intelligence & autopilot [EB/OL]. 2019[2023-04-01].https://www.tesla.com/AI
[15] Cerebras. Cerebras CS-2 - system [EB/OL]. 2021[2023-04-01].https://www.cerebras.net/product-system/
[16] 包云岗,常轶松,韩银和,等. 处理器芯片敏捷设计方法:问题与挑战[J]. 计算机研究与发展,2021,58(6):1131−1145 doi: 10.7544/issn1000-1239.2021.20210232 Bao Yungang, Chang Yisong, Han Yinhe, et al. Agile design of processor chips: Issues and challenges[J]. Journal of Computer Research and Development, 2021, 58(6): 1131−1145 (in Chinese) doi: 10.7544/issn1000-1239.2021.20210232
[17] Kim J, Krishna C V C, Rahman N M, et al. Silicon vs. organic interposer: PPA and reliability tradeoffs in heterogeneous 2.5D chiplet integration [C] //Proc of the 2020 IEEE 38th Int Conf on Computer Design. Piscataway, NJ: IEEE, 2020: 80−87
[18] Li Tao, Hou Jie, Yan Jinli, et al. Chiplet heterogeneous integration technology—Status and challenges[J]. Electronics, 2020, 9(4): Article No.670 doi: 10.3390/electronics9040670
[19] Bharadwaj S, Yin Jieming, Beckmann B, et al. Kite: A family of heterogeneous interposer topologies enabled via accurate interconnect modeling [C] //Proc of the 2020 57th ACM/IEEE Design Automation Conf. Piscataway, NJ: IEEE, 2020: 1–6
[20] Banijamali B, Chiu C, Hsieh C, et al. Reliability evaluation of a cowos-enabled 3D IC package [C] //Proc of the 2013 IEEE 63rd Electronic Components and Technology Conf. Piscataway, NJ: IEEE, 2013: 35–40
[21] Gomes W, Khushu S, Ingerly D B, et al. 8.1 lakefield and mobility compute: A 3D stacked 10nm and 22FLL hybrid processor system in 12×12mm2, 1mm package-on-package [C] //Proc of the 2020 IEEE Int Solid- State Circuits Conf. Piscataway, NJ: IEEE, 2020: 144−146
[22] Singh T, Rangarajan S, John D, et al. 2.1 zen 2: The AMD 7nm energy-efficient high-performance x86−64 microprocessor core [C] //Proc of the 2020 IEEE Int Solid- State Circuits Conf. Piscataway, NJ: IEEE, 2020: 42−44
[23] Gomes W, Koker A, Stover P, et al. Ponte Vecchio: A multi-tile 3D stacked processor for exascale computing [C] //Proc of the 2022 IEEE Int Solid- State Circuits Conf. Piscataway, NJ: IEEE, 2022: 42−44
[24] Arunkumar A, Bolotin E, Cho B, et al. MCM-GPU: Multi-chip-module gGPU for continued performance scalability [J].ACM SIGARCH Computer Architecture News, 2017, 45(2): 320–332
[25] Hwang R, Kim T, Kwon Y, et al. Centaur: A chiplet-based, hybrid sparse-dense accelerator for personalized recommendations [C] //Proc of the 2020 ACM/IEEE 47th Annual Int Symp on Computer Architecture. Piscataway, NJ: IEEE, 2020: 968–981
[26] Shao Y S, Clemons J, Venkatesan R, et al. Simba: Scaling deep-learning inference with multi-chip-module-based architecture [C] //Proc of the 52nd Annual IEEE/ACM Int Symp on Microarchitecture. New York: ACM, 2019: 14–27
[27] Pal S, Liu Jingyang, Alam I, et al. Designing a 2048-chiplet, 14336-core waferscale processor [C] //Proc of the 2021 58th ACM/IEEE Design Automation Conf. Piscataway, NJ: IEEE, 2021: 1183–1188
[28] Naffziger S, Lepak K, Paraschou M, et al. 2.2 AMD chiplet architecture for high-performance server and desktop products [C] // Proc of the 2020 IEEE Int Solid-State Circuits Conf. Piscataway, NJ: IEEE, 2020: 44−45
[29] AMD. UCIe [EB/OL]. 2022[2023-04-01].https://www.uciexpress.org
[30] Vinnakota B, Agarwal I, Drucker K, et al. The open domain-specific architecture: 1[J]. IEEE Micro, 2021, 41(1): 30−36 doi: 10.1109/MM.2020.3042383
[31] Tan Zhanhong, Cai Hongyu, Dong Runpeng, et al. NN-Baton: DNN workload orchestration and chiplet granularity exploration for multichip accelerators [C] //Proc of the 2021 ACM/IEEE 48th Annual Int Symp on Computer Architecture. Piscataway, NJ: IEEE, 2021: 1013–1026
[32] Gao Mingyu, Yang Xuan, Pu Jing, et al. TANGRAM: Optimized coarse-grained dataflow for scalable nn accelerators [C] //Proc of the 24th Int Conf on Architectural Support for Programming Languages and Operating Systems. New York: ACM , 2019: 807–820
[33] Venkataramani S, Dubey P, Raghunathan A, et al. ScaleDeep: A scalable compute architecture for learning and evaluating deep networks [C] //Proc of the 44th Annual Int Symp on Computer Architecture. New York: ACM , 2017: 13–26
[34] Song Linghao, Mao Jiachen, Zhuo Youwei, et al. HyPar: Towards hybrid parallelism for deep learning accelerator array [C] //Proc of the 2019 IEEE Int Symp on High Performance Computer Architecture. Piscataway, NJ: IEEE, 2019: 56–68
[35] Choi Y, Rhu M. PREMA: A predictive multi-task scheduling algorithm for preemptible neural processing units [C] //Proc of the 2020 IEEE Int Symp on High Performance Computer Architecture. Piscataway, NJ: IEEE, 2020: 220–233
[36] Kwon H, Lai Liangzhen, Pellauer M, et al. Heterogeneous dataflow accelerators for multi-DNN workloads [C] // Proc of the 2021 IEEE Int Symp on High-Performance Computer Architecture. Piscataway, NJ: IEEE, 2021: 71−83
[37] Baek E, Kwon D, Kim J. A multi-neural network acceleration architecture [C] //Proc of the 2020 ACM/IEEE 47th Annual Int Symp on Computer Architecture. Piscataway, NJ: IEEE, 2020: 940–953
[38] Liu Zihan, Leng Jingwen, Zhang Zhihui, et al. VELTAIR: Towards high-performance multi-tenant deep learning services via adaptive compilation and scheduling [C] //Proc of the 27th ACM Int Conf on Architectural Support for Programming Languages and Operating Systems. New York: ACM, 2022: 388–401
[39] Ghodrati S, Ahn B H, Kyung Kim J, et al. Planaria: Dynamic architecture fission for spatial multi-tenant acceleration of deep neural networks [C] // Proc of the 2020 53rd Annual IEEE/ACM Int Symp on Microarchitecture. Piscataway, NJ: IEEE, 2020: 681–697
[40] Oh Y H, Kim S, Jin Y, et al. Layerweaver: Maximizing resource utilization of neural processing units via layer-wise scheduling [C] //Proc of the 2021 IEEE Int Symp on High-Performance Computer Architecture. Piscataway, NJ: IEEE, 2021: 584–597
[41] Zhao Yongwei, Du Zidong, Guo Qi, et al. Cambricon-F: Machine learning computers with fractal von neumann architecture [C] //Proc of the 46th Int Symp on Computer Architecture. New York: ACM, 2019: 788–801
[42] Yang Xuan, Gao Mingyu, Liu Qiaoyi, et al. Interstellar: Using halide’s scheduling language to analyze dnn accelerators [C] //Proc of the 25th Int Conf on Architectural Support for Programming Languages and Operating Systems. New York: ACM, 2020: 369–383
[43] Chen Tianqi, Moreau T, Jiang Ziheng, et al. TVM: An automated end-to-end optimizing compiler for deep learning [C] //Proc of the 13th USENIX Conf on Operating Systems Design and Implementation. Berkeley, CA: USENIX Association, 2018: 579–594
[44] Chen Y, Emer J, Sze V. Eyeriss: A spatial architecture for energy-efficient dataflow for convolutional neural networks [C] //Proc of the 2016 ACM/IEEE 43rd Annual Int Symp on Computer Architecture. Piscataway, NJ: IEEE, 2016: 367–379
[45] Samajdar A, Zhu Y, Whatmough P, et al. SCALE-Sim: Systolic CNN accelerator simulator [J]. arXiv preprint, arXiv: 1811.02883, 2019
[46] Jiang N, Balfour J, Becker D U, et al. A detailed and flexible cycle-accurate network-on-chip simulator [C] //Proc of the 2013 IEEE Int Symp on Performance Analysis of Systems and Software (ISPASS). Piscataway, NJ: IEEE, 2013: 86–96
[47] Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks [C] //Proc of the 2012 Advances in Neural Information Processing Systems. New York: Curran Associates, Inc. , 2012: 84–90
[48] Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions [C] //Proc of the 2015 IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2015: 1–9
[49] Howard A G, Zhu Menglong, Chen Bo, et al. MobileNets: Efficient convolutional neural networks for mobile vision applications [J]. arXiv preprint, arXiv: 1704.04861, 2017
[50] Redmon J, Farhadi A. YOLO9000: Better, faster, stronger [C] //Proc of the IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2017: 7263–7271
[51] Adarsh P, Rathi P, Kumar M. YOLO v3-tiny: Object detection and recognition using one stage improved model [C] //Proc of the 2020 6th Int Conf on Advanced Computing and Communication Systems. Piscataway, NJ: IEEE, 2020: 687–694
-
期刊类型引用(13)
1. 田青,王颖,张正,羊强. 改进YOLOv8n的选通图像目标检测算法. 计算机工程与应用. 2025(02): 124-134 . 百度学术
2. 鞠伟强,曹立华. 基于改进的YOLOv7小目标检测算法. 计算机工程与设计. 2025(01): 145-151 . 百度学术
3. 郝佳,姚国英,周剑,王斯远,肖进胜. 基于图像和点云融合的三维小目标检测方法. 测绘通报. 2025(03): 33-38 . 百度学术
4. 杨新秀,徐黎明,冯正勇. 基于YOLOv5全局注意力和上下文增强的遥感图像目标检测方法. 西华师范大学学报(自然科学版). 2024(03): 321-326 . 百度学术
5. 杨帅鹏,李贺,刘金江,付主木,张锐,贾会梅. 基于多尺度特征融合和注意力机制的水面死鱼检测方法. 郑州大学学报(理学版). 2024(06): 32-38 . 百度学术
6. 李耀. 基于YOLOv5-PNCM的飞鸟目标检测算法研究. 现代计算机. 2024(11): 9-15+22 . 百度学术
7. 冉庆东,郑力新. 基于改进YOLOv5的锂电池极片缺陷检测方法. 浙江大学学报(工学版). 2024(09): 1811-1821 . 百度学术
8. 郭虎升. 目标检测综述:从传统方法到深度学习. 新兴科学和技术趋势. 2024(02): 128-145 . 百度学术
9. 马枫,石子慧,孙杰,陈晨,毛显斌,严新平. 自注意力机制驱动的轻量化高鲁棒船舶目标检测方法. 中国舰船研究. 2024(05): 188-199 . 百度学术
10. 周楝淞,邵发明,杨洁,彭泓力,李赛野,孙夏声. 基于区域预推荐和特征富集的SOD R-CNN交通标志检测网络. 信息安全与通信保密. 2024(10): 115-126 . 百度学术
11. 贾帅帅,田明浩,路红阳. 基于数据增强的组合神经网络异常检测算法. 信息技术与信息化. 2023(04): 187-190 . 百度学术
12. 潘晓英,贾凝心,穆元震,高炫蓉. 小目标检测研究综述. 中国图象图形学报. 2023(09): 2587-2615 . 百度学术
13. 齐向明,柴蕊,高一萌. 重构SPPCSPC与优化下采样的小目标检测算法. 计算机工程与应用. 2023(20): 158-166 . 百度学术
其他类型引用(17)