人工智能技术与咨询

来源:《电子学报》 ,作者李宝奇等

摘 要: 针对SSD原始附加特征提取网络(Original Additional Feature Extraction Network,OAFEN)中stride操作造成图像小目标信息丢失和串联结构产生的多尺度特征之间冗余度较大的问题,提出了一种计算量小、感受野大的深度可分离空洞卷积(Depthwise Separable Dilated Convolution,DSDC),并利用DSDC设计了一个包含三个独立子网络的并行附加特征提取网络(Parallel Additional Feature Extraction Network,PAFEN).PAFEN上路用两个DSDC提取尺寸为19*19和3*3的特征图;中路用一个DSDC提取尺寸为10*10的特征图;下路用两个DSDC提取尺寸为5*5和1*1的特征图.实验结果表明,在SSD框架内,PAFEN在mAP和检测时间等方面均优于OAFEN,适用于地面小目标的检测任务.

关键词: 目标检测;SSD;深度可分离卷积;空洞卷积;深度可分离空洞卷积;并行附加特征提取网络

1 引言

地面目标检测在无人机导航、搜索、精确打击和毁伤后评估中发挥着重要作用[1~3].考虑飞行安全和飞行距离,无人机通常会在较远距离获取地面目标图像,由此造成的结果是图像内目标像素比较小,这会进一步增加目标检测的难度[4].

通过将深度学习[5~7]模型 CNN(Convolutional Neural Networks)[8~10]嵌入到目标检测模型之中,目标检测精度在过去几年中不断提高,结合CNN的目标检测算法可分为基于候选区域和基于回归两类.Girshick等[11]第一个将CNN用于目标检测,并提出R-CNN(Regionbased Convolutional Neural Networks)模型.R-CNN使用区域建议方法从输入图像中生成2000个候选区域,并将所有的候选区域缩放到固定尺寸.然后,使用CNN在这些候选区域上提取特征.在CNN的最后一个特征层加入两个全连接层(SVM和回归层).由于SVM和回归层是分开训练,R-CNN很难优化而且占用内存空间非常大.Girshick 等[12]又提出 Fast R-CNN 模型.Fast RCNN首先在图像中提取感兴趣区域 (Regions of Interest,RoI);然后对每幅图像只做一次卷积处理,在最后一个卷积层输出的特征图上对每个RoI进行映射,并送入RoI池化层把各尺寸的特征图统一到相同的大小[13];最后利用 Softmax Loss和 Smooth L1 Loss对分类概率和边框回归联合训练.联合训练省去了特征存储,提高了空间和时间利用率.然而,提取感兴趣区域占用了整个检测过程的大部分时间.Ren等[14]提出了目标检测模型Faster R-CNN.与Fast R-CNN相比,Faster RCNN利用RPN(Region Proposal Network)在CNN最后一个连接层中自行产生建议框,因此建议框生成网络和目标检测网络共享卷积网络.同时建议框数目从原有的约2000个减少为300个,重要的是建议框的质量也有本质的提高,但Faster R-CNN检测的速度依然有待提高.

基于区域建议的目标检测方法不能利用局部目标在整幅图像中的空间信息,所以一些研究者开展了无区域建议的目标检测研究,主要采用回归的思想.Redmon等[15]提出了一种无区域建议的目标检测模型,称为YOLO(You Only Look Once).YOLO通过采用空间限制,减少了对同一目标的重复检测,大大提高了效率,能够达到实时的效果.但是YOLO的检测精度不如Faster R-CNN.针对 YOLO 存在的不足,Liu等[16]提出 SSD(Single Shot Detector)模型.SSD模型主要由四部分组成:基础网络VGG-16(Visual Geometry Group),附加特征提取层部分,default boxes生成部分和卷积预测部分.SSD通过融合六个尺度的特征来提高目标检测的精度.原始附加特征提取网络从基础网络特征层conv4_3(38*38)开始,然后通过在标准卷积层中使用stride操作依次生成 fc7(19*19)、conv6_2(10*10)、conv7_2(5*5)、conv8_2(3*3)和conv9_2(1*1)五个尺度的特征图.stride操作会造成图像目标信息的丢失[17~19],尤其是图像中的小目标.原始附加特征提取网络中六个尺度的特征图采用串联结构生成,彼此之间具有很高的冗余度,特征图之间冗余度较高不利于图像小目标的精准定位.为了提高SSD对小目标的检测精度,Cao等[20]提出 FFSSD(Feature-Fused SSD)模型.FFSSD 利用Feature Fusion Module对VGG-16中conv5_3进行2倍上采样操作,并与conv4_3融合来提高小尺寸目标的检测精度.Fu等[21]提出 DSSD(Deconvolutional Single Shot Detector)模型.DSSD基础网络为特征提取能力更强的Resnet-101,并利用Deconvolution Module扩展低维度信息的上下文信息来提高小尺度目标的检测精度.FFSSD和DSSD都是通过整合更多尺度上的语义特征来提高模型对小目标的检测精度,但是这些方法,在提高对于目标物体特别时小物体识别效果的同时由于加入了额外的层,也增大了计算量,影响了检测的实时性.Zhou 等[22]提出了 STDN(Scale-Transferrable Object Detection)模型.STDN基础网络为 DenseNet-169,并通过Scale-Transfer层实现了在几乎不增加参数量和计算量的前提下生成大尺寸的特征层来提高模型对小目标的检测精度.由于Scale-Transfer层是一个转换操作,因此基本不会引入额外的参数量和计算量.为了提高SSD的检测速度,Howard等[23]提出了轻量化的卷积神经网络MobileNet.MobileNet用深度可分离卷积(Depthwise Separable Convolution,DSC)替换标准卷积来减少模型的参数和计算量,它在不影响目标检测精度的条件下能极大地提高SSD的检测速度.

除了上述针对SSD的改进方法外,还有一些其它提高小目标检测精度的研究工作,例如设计专用的目标检测的骨干网络[24],优化检测模型训练过程[25],IoU阈值动态设计[26]和生成高分辨率小目标特征[27]等.特别是文献[27],Li等提出了一种基于PGAN(Perceptual Generative Adversarial Networks)的小目标检测方法.PGAN通过训练条件生成网络使小目标的特征表示与大目标特征表示类似,并利用一个新的感知分类器来监督小目标特征的生成从而更精确地检测小目标.

针对上述改进方法不能兼顾小目标检测精度和速度的问题,本文提出了一种计算量小,覆盖范围大的卷积单元-深度可分离空洞卷积(Depthwise Separable Dilated Convolution,DSDC),并利用 DSDC设计了一种包含三个子网络的并行附加特征提取层网络(Parallel Additional Feature Extraction Network,PAFEN),同时通过优化DSDC空洞率(Dilation Rate)的选取来改善 PAFEN的性能,最后在SSD框架内通过结合MobileNet(基础网络)和PAFEN(特征提取网络)实现对地面小目标的快速、准确的检测.

2 基于并行附加特征提取网络的SSD小目标检测模型

本文通过改进附加特征提取网络来提高SSD对地面小目标的检测精度和速度.在新的附加特征提取网络中,深度可分离空洞卷积作为网络基本单元(深度可分离空洞卷积摒弃了stride操作,它通过通道分解和卷积核空洞化来减少计算量和增大感受野);三个独立子网络结构替代原来的单网络串联结构以增加多尺度特征图的多样性,并为与conv4(在MobileNet中与VGG-16中conv4_3对应的层为conv4)直接相连的三个多尺度特征fc7、conv6_2和conv7_2设计convex空洞率策略来增加上下两个子网络的信息以改善新附加特征提取网络的性能.

2.1 深度可分离空洞卷积单元

深度可分离卷积通过将标准卷积分解成深度卷积和点卷积来大幅降低模型的参数,重要的是卷积层的特征提取能力基本不受影响.但为了生成尺寸更小的特征图,深度可分离卷积只能通过增加卷积核尺寸或stride操作实现,过大尺寸的卷积核会大幅增加模型参数,而stride操作会造成图像小目标信息的丢失.深度可分离空洞卷积是在深度可分离卷积的基础上,通过对深度卷积空洞化实现.空洞化是向标准卷积中引入了一个称作空洞率的新参数[17],并利用扩张率控制卷积核处理数据时各值的间距,从而在计算量相当的条件下实现卷积层感受野的增大.深度可分离空洞卷积与深度可分离卷积相比具有更大的感受野,与空洞卷积相比具有更小的计算量.深度可分离空洞卷积(DSDC)、深度可分离卷积(DSC)和标准卷积之间的关系如图1所示.

对于M个尺寸为DF*DF的输入特征图F,经尺寸为DK*DK的卷积核操作后,输出N个尺寸为DG*DG的特征图G,其中DF是输入的特征图的宽度和高度,M是输入通道数,DG是输出特征图的宽度和高度,N是输出通道数.标准卷积、深度可分离卷积和深度可分离空洞卷积的计算分解过程如图2所示.

标准卷积生成特征图G的计算成本为:

深度可分离卷积生成特征图G的计算成本为:

深度可分离空洞卷积生成特征图G的计算成本为:

深度可分离卷积和深度可分离空洞卷积与标准卷积的计算成本比值均为:

但在相同计算量的条件下,深度可分离空洞卷积的覆盖范围更大.深度可分离空洞卷积实际空洞滤波器(RDF)尺寸与空洞率之间的关系如下:

其中K rdf为该层RDF尺寸,DK为该层卷积核尺寸,R为该层空洞率大小.例如,一个卷积核尺寸为3*3,空洞率R=2的空洞卷积层,RDF的实际覆盖范围为5*5,即K rdf=5.同时可以通过进一步增大空洞率R来扩大卷积层的感受野.

2.2 基于并行附加特征提取网络的SSD小目标检测模型设计

附加特征提取网络并行化设计是由conv4直接生成剩余的多尺度特征图,每个子网络之间保持独立,生成的多尺度特征图之间的冗余度也相对较小[23].考虑conv7_2(5*5)、conv8_2(3*3)和 conv9_2(1*1)三个尺度的特征图尺寸比较接近,因此将剩余的五个尺度特征图设计为三个独立的子网络结构,即conv4与fc7、conv6_2和conv7_2直接相连接,同时将 conv8_2和conv9_2分配到上路和下路两个子网络有助于提升fc7和conv7_2特征图的质量,也可以避免与conv7_2特征尺度上的重复.基于MobileNet和PAFEN的SSD地面小目标检测模型结构如图3所示,记作MPSDD.

地面小目标图像首先进入SSD基础网络部分,其中基础网络为MobileNet被截断至conv4的部分网络,并将conv4作为PAFEN的第一个特征层;PAFEN由conv4生成三个独立的子网络:上路子网络、中路子网络和下路子网络.上路子网络由conv4(38*38)生成fc7(19*19)和conv8_2(3*3)两个尺度的特征图;中路子网络由 conv4(38*38)生成conv6_2(10*10)一个尺度的特征图;下路子网络由conv4(38*38)生成conv7_2(5*5)和conv9_2(1*1)两个尺度的特征图.default boxes生成部分根据预先定义的scales和aspect ratios从上述六个尺度的特征层中提取数量和大小不同的default boxes;卷积预测部分则是对default boxes内目标的类型和位置进行判断.

利用深度可分离空洞卷积构建PAFEN需要首先解决网格问题[17~19],网格问题就是空洞卷积网络每一层实际感受野叠加操作后无法实现对输入图像的完全覆盖,因此会造成信息的丢失.文献[17]和文献[19]针对并行和串行空洞卷积网络分别提出了卷积核尺寸固定下的空洞率选取准则.考虑PAFEN并非严格意义上的串联或并联结构,同时PAFEN主要是为了提取图像小目标特征,因此文献[17]和文献[19]中的空洞率选取策略并不适用PAFEN中深度可分离空洞卷积空洞率的设计.为了更好地提取图像小目标特征,PAFEN中使用的空洞率数值整体相对较小.同时,由于PAFEN上路和下路子网络均包含两个DSDC,因此fc7和conv7_2使用更小的空洞率有利于提高两个子网络特征图的质量.PAFEN中五个深度可分离空洞卷积层的参数设置如表1所示.

为了严格保证PAFEN与OAFEN中多尺度特征图尺寸完全一致,需要对部分DSDC进行填充,例如fc7、conv6_2和 conv9_2.

表1 并行附加特征提取网络参数设置

3 仿真试验

为了验证PAFEN的有效性以及特征层组合方式和DSDC空洞率选取对PAFEN性能的影响,实验以mAP、平均检测时间和参数大小作为模型定量评价指标.设计实验 1,以 MOSSD[23](基础网络为 MobileNet,特征提取网络为OAFEN)为参考,比较分析Faster-RCNN[14]、SSD[16]、FFSSD[20]、DSSD[21]与本文地面小目标检测方法MPSSD(基础网络为MobileNet,特征提取网络为PAFEN)之间的性能差异.设计实验2,以附加特征提取网络中不同尺度的特征图为研究对象,比较分析特征图不同的组合方式对PAFEN性能的影响.设计实验3,以深度可分离空洞卷积的空洞率为研究对象,比较分析不同的空洞率选取方式对PAFEN性能的影响.SSD、FFSSD、DSSD、MOSSD 和 MPSSD 由 Caffe工具箱设计,采用 GPU(Titan X)计算方式[28],其中检测时间为模型检测100幅图像的平均前向时间,参数大小指模型(.caffemodel文件)的实际大小.Faster-RCNN实验模型由TensorFlow工具箱设计,同样采用GPU(Titan X)计算方式,平均检测时间为模型检测完整测试数据集的平均时间,参数大小指模型(.ckpt文件)的实际大小.

3.1 实验数据集

为了更好地检验基于PAFEN的SSD模型(MPSSD)对图像小目标的检测性能,我们建立了一个地面小目标数据集:SGT-DET.SGT-DET包括四种地面目标:军用卡车、直升机、导弹和坦克,共计3350幅图像,其中2410幅用于模型训练,940幅图像用于模型测试,如表2所示.

表2 地面小目标数据集组成

地面小目标是一个相对的概念,其中“小”指的是图像中目标的像素比值小,SGT-DET图像中四个地面小目标的像素比均小于0.05.

3.2 实验1:目标检测算法的性能比较

本实验比较分析 Faster-RCNN、SSD、FFSSD、DSSD、MOSSD与本文地面小目标检测方法MPSSD在数据集SGT-DET上的性能差异.Faster-RCNN的基础网络为VGG-16,特征提取网络为 RPN;SSD的基础网络为VGG-16,特征提取网络为OAFEN;FFSSD的基础网络为VGG-16,特征提取网络为 Feature Fusion Module;DSSD的基础网络为ResNet101,特征提取网络为Deconvolution Module;MOSSD的基础网络为MobileNet,特征提取网络为OAFEN;MPSSD的基础网络为MobileNet,特征提取网络为PAFEN,其中PAFEN包含三个独立的子网络,其中fc7,conv6_2和conv7_2三个卷积层的卷积核,空洞率和填充为[8,3,1]、[7,5,1]和[12,3,0].分别记录检测模型在迭代30000次时对 SGTDET测试数据集的mAP数值、平均检测时间和参数大小.

从表3可以发现,Faster-RCNN的检测精度最高为97.6%,MPSSD的检测时间最短为7.18ms,MPSSD的参数大小最少为7.9MB.FFSSD、DSSD和SSD的实验结果表明增加特征提取网络的层数(增加contextual information)能够改善SSD对小目标检测的精度,但不可避免地会增加计算量和模型参数.MOSSD和SSD的实验结果表明利用MobileNet替换VGG-16在减少模型参数和降低检测时间方面带来的效果是明显的,但也存在检测精度上的下降.MPSSD和MOSSD的实验结果表明PAFEN在三种定量评价指标中明显优于OAFEN,在地面小目标的检测任务中,PAFEN比OAFEN精度更高,速度更快.综合考虑检测精度(mAP)、平均检测时间(Times)和参数大小(Parameters)三个因素,MPSSD优于其它检测模型,更适合无人机远距离地面实时检测任务.

为了更直观的说明MPSSD对地面小目标的检测效果,通过Juyter notebook利用训练30000次的MPSSD模型分别对4种地面小目标图像进行检测,检测结果如图4所示.从图4可以看出,MPSSD模型对四种地面小目标能实现准确检测.

表3 目标检测模型性能比较

3.3 实验2:子网络数量对PAFEN性能的影响

本实验比较不同数量子网络对PAFEN性能的影响.实验以包含三个子网络的 PAFEN为参考,记PAFEN-3;设计包含一个子网络的PAFEN-1和包含五个子网络的PAFEN-5.PAFEN-1可解释为OAFEN的深度可分离空洞化,其中 fc7、conv6_2、conv7_2、conv8_2和conv9_2五个卷积层的卷积核、空洞率和填充为[8,3,1]、[4,3,0]、[4,3,2]、[3,2,1]和[3,2,1].PAFEN-5为包含五个独立子网络的并行附加特征提取网络,即fc7、conv6_2、conv7_2、conv8_2 和 conv9_2 直接与 conv4相连,其中五个卷积层的卷积核、空洞率和填充为[8,3,1]、[8,4,0]、[8,5,1]、[8,5,0]和[8,6,3].记录模型迭代30000次时模型对SGT-DET测试数据集的mAP数值、平均检测时间和参数大小.

从表4可以看出,随着PAFEN子网络数量的增加,模型的检测时间和参数都存在一定的增加,其中PAFEN-3比 PAFEN-1时间增加 0.09ms、参数增加0.4MB,PAFEN-5比PAFEN-1时间增加0.24ms,参数增加1.4MB.但检测精度并没有随着子网络数量的增加而改善,PAFEN-5的mAP比PAFEN-3低3.3%.综合考虑检测精度、平均检测时间和参数大小三个评价指标,将PAFEN设计成三个子网络效果最好.

表4 子网络数量对PAFEN性能的影响

3.4 实验3:空洞率选取对PAFEN性能的影响

fc7、conv6_2、conv7_2 与 conv4 直接相连,这三个卷积层对PAFEN的性能影响最大,因此本实验主要分析和比较fc7、conv6_2、conv7_2三个卷积层空洞率选取对PAFEN性能的影响.实验设计四种形式的空洞率策略:rise、decline、uniformity和 convex,其中 convex 为 PAFEN采用的策略.rise、decline和uniformity三种策略的空洞率分别为[3,5,7]、[7,5,3]和[5,5,5].记录模型迭代30000次时对SGT-DET测试数据集的mAP数值、平均检测时间和参数大小.

从表5可以看出,四种空洞率策略下模型的检测时间和参数大小基本相同.rise、decline、uniformity三种策略下模型的mAP数值也保持在同一水平,但convex策略下模型的mAP数值高于其他三种策略,比rise高2.7%,比decline高2.6%,比uniformity高2.3%.换句话说,为包含更多层的子网络的初始层设置较低的空洞率有助于提升PAFEN的性能.

表5 空洞率选取对PAFEN性能的影响

3.5 讨论

实验从mAP、平均检测时间和参数大小三个方面比较了本文小目标检测方法MPSSD与经典算法(Faster-RCNN和SSD)和最新算法(FFSSD和DSSD)性能上的差异,也进一步分析了子网络的数量和空洞率的选取如何影响PAFEN的性能.本文地面小目标检测模型MPSSD的基础网络为 MobileNet,特征提取网络为PAFEN.PAFEN利用计算量小、感受野大的深度可分离空洞卷积单元组建附加特征提取网络能消除stride操作造成图像中小目标信息丢失的问题.PAFEN采用三个独立的子网络结构,使其能从conv4生成三组尺度独立的特征图,减少多尺度特征图之间的冗余度,提高目标检测的精度.但并非子网络的数量越多越好,例如PAFEN-5的检测精度低于 PAFEN-3.在 PAFEN-5中,conv4(38*38)直接生成conv8_2(3*3)或conv9_2(1*1),由于两个子网络尺度之间跨度较大(38-3或38-1),在一定程度上会影响conv8_2(3*3)和conv9_2(1*1)两个尺度特征图的质量.同时,PAFEN-5用五个独立的子网络生成五个尺度的特征图,特征图之间的独立性能为目标检测提供更丰富的选择,但过于独立的特征会影响图像目标的定位.因此,PAFEN需要兼顾特征图的质量和特征图的多样性.PAFEN使用convex空洞率策略获得了最高的检测精度,事实上,四种空洞率策略下PAFEN的检测精度均高于OAFEN.在convex策略中,上路和下路网络初始特征层使用较小空洞率能从conv4中获取更多的信息,增强conv8_2和conv9_2两个尺度特征图的质量,进而提高模型的检测精度.

Faster-RCNN和SSD是经典目标检测算法的代表,Faster-RCN侧重于目标检测精度,而SSD侧重于目标检测速度,实验1的结果也验证了这一观点.MOSSD用MobileNet替换基础网络VGG-16来进一步提高SSD的检测速度.对于本文的SGT-DET数据集,MOSSD比SSD检测精度低3.5%,精度下降的幅度还是比较大,这也间接表明MobileNet作为小目标检测模型的基础网络还存在改进的空间.FFSSD和DSSD是针对小目标检测任务提出改进模型:FFSSD通过引入conv5_3的信息;DSSD通过融合特征提取网络反卷积变化后的特征.虽然FFSSD和DSSD在一定程度上提升了小目标检测的精度,但却增加了计算量.对于无人机远距离目标检测任务而言,除了满足检测精度要求外,图像的实时检测是另外一个重要的指标.MPSSD在减少模型参数和计算量的前提下,提升了对地面小目标的检测速度.

4 结论

地面小目标检测任务具有重要的理论研究和实际应用价值.在SSD检测模型框架内,本文提出了一种并行附加特征提取网络PAFEN.PAFEN有效提升SSD对地面小目标检测精度和速度,并经理论分析和仿真实验证明了PAFEN的有效性.

对于基于SSD的地面小目标检测任务,改进基础网络结构和default box生成策略同样能提升SSD模型的性能.下一步的研究重点包括:(1)研究适合小目标特征提取的基础网络;(2)研究适合捕获小目标特征的default box生成策略.

我们的服务类型

公开课程

人工智能、大数据、嵌入式                    

内训课程

普通内训、定制内训                         

项目咨询

技术路线设计、算法设计与实现(图像处理、自然语言处理、语音识别)

基于并行附加特征提取网络的SSD地面小目标检测模型相关推荐

  1. 特征提取算法_基于特征选择与特征提取融合的鸡蛋新鲜度光谱快速检测模型优化...

    鸡蛋新鲜度为鸡蛋运输.加工以及销售等环节中所需要考察的重要指标.随着鸡蛋新鲜度越来越受重视,新鲜度检测水平亟待提高,其中优化新鲜度检测模型.提高检测效率至关重要.近年来,国内外学者运用光谱分析.介电特 ...

  2. IEEE:基于轻量级特征增强卷积神经网络的低空小目标检测

    论文下载:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9574645 Abstract 无人机(UAV)被称为" ...

  3. 目标检测论文解读复现之十一:基于特征融合与注意力的遥感图像小目标检测

    前言 此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文,帮 ...

  4. 对于ssd对小目标检测效果的思考

    对于ssd模型对于小目标检测效果不好的问题,我认为可以结合.prototxt文件进行分析,以conv4_3_norm_mbox_priorbox为例: prior_box_param {min_siz ...

  5. 目标检测YOLO实战应用案例100讲-基于去雾增强和张量分析的红外小目标检测

    目录 前言 红外小目标图像预处理 红外小目标检测 2红外小目标图像特性与数据集构建

  6. SSD和YOLO对小目标检测的思考

    所谓的小目标,要看是绝对小目标(像素),和相对小目标(相对原图的长宽来看的).大目标小目标只跟receptive field(感受野)有关,cnn本身可以检测任何尺度的物体.ssd对小目标检测不太适用 ...

  7. 基于深度学习的小目标检测方法综述

    随着深度学习的发展,基于深度学习的目标检测技术取得了巨大的进展,但小目标由于像素少,难以提取有效信息,造成小目标的检测面临着巨大的困难和挑战. 为了提高小目标的检测性能,研究人员从网络结构.训练策略. ...

  8. 哈尔滨工业大学提出 RISTDnet:强鲁棒性的红外小目标检测网络

    哈工大提出***RISTDnet***:强鲁棒性的红外小目标检测网络 RISTDnet: Robust Infrared Small Target Detection Network 作者单位:哈尔滨 ...

  9. 融合多层级特征的遥感图像地面弱小目标检测

    论文基本信息 标题:融合多层级特征的遥感图像地面弱小目标检测 发表时间:2022.03 期刊:仪 器 仪 表 学 报 第一作者:闫钧华 创新点如何出现的: 0.背景 本文针对单帧遥感图像中地面弱小目标 ...

最新文章

  1. 开源的库RestSharp轻松消费Restful Service
  2. 数据结构与算法:排序算法的稳定性以及各性能比较python实现
  3. 如何解决使用JSON.stringify时遇到的循环引用问题
  4. 给与用户建立dblink的权限_网络安全 之 NTFS安全权限
  5. 应用squid全面加速web(全)
  6. 推荐10个趣味实战项目,从零入门人工智能和数据分析,看这篇就够了
  7. 杭电acm2028 Lowest Common Multiple Plus
  8. Writing Serializable Classes---定义可序列化的类
  9. Atitit 文员招募规范 attilax总结
  10. [趣谈网络协议学习] 17 P2P协议:我下小电影, 99%急死你
  11. dataframe_转换日期格式
  12. macbook 查看本机ip地址
  13. 鹏业安装算量材料表不能复制问题解答
  14. 批量同时创建邮箱和AD账户
  15. canvas 画布标签
  16. 【arXiv 2021】Cluster Contrast for Unsupervised Person Re-Identification(CCU)
  17. Unity 动态改变整个粒子特效缩小放大
  18. 网上订餐系统java论文_网上订餐系统的毕业设计
  19. 莫名其妙的jsp错,引号内不能在使用引号
  20. Python 中隐藏的彩蛋们

热门文章

  1. ESP32 coredump 分析
  2. STM32F103按键操作的另一种实现——状态机
  3. 一般一个前端项目完成需要多久_制作分销小程序最快要多久
  4. 单片机实现环形队列_稀疏数组和队列(二)
  5. dll可以在linux下使用吗_Linux下安装和使用杀毒软件AntiVir
  6. 电脑如何测网速_物联网卡的网速到底怎么样呢
  7. JS高级——JSON、数据存储学习笔记
  8. LeetCode 2115. 从给定原材料中找到所有可以做出的菜(拓扑排序)
  9. LeetCode 2053. 数组中第 K 个独一无二的字符串(哈希)
  10. 面向对象4大特性的作用