基于改进SSD算法的小目标检测与应用

2023-05-16

人工智能技术与咨询

点击蓝字 · 关注我们

来源:《 计算机科学与应用》 ,作者刘洋等

关键词: SSD;深度学习;小目标检测

摘要:

  摘要: 针对通用目标检测方法在复杂环境下检测小目标时效果不佳、漏检率高等问题,本文对SSD小目标检测算法进行改进。利用训练损失的反馈作为判断条件,结合数据增强提高模型对复杂环境的抗干扰能力,降低小目标的漏检率,在网络中引入注意力机制,增加SENet (Squeeze-and-Excitation)模块,对模型中的特征通道进行权重重分配,对无效的特征权重进行抑制,提升有用的特征权重占比。实验结果表明,相比原SSD算法,改进的SSD算法在不引入过多计算量的情况下,能够有效弥补训练过程中小目标监督不到位的不足,在VOC数据集和工地安全帽佩戴数据集上,精度都得到了明显提升。

1. 引言

目标检测是计算机视觉中最具有挑战性的任务,目的是在图像的复杂背景下找到若干目标,并对每一个目标给出一个精确的目标包围盒并判断包围盒中的目标所属的类别 [1]。深度学习的兴起使得目标检测得到加速发展,准确性和实时性都得到了提升,如Girshick等人提出的R-CNN、Fast R-CNN算法 [2] [3]、Ren等人提出的Faster R-CNN算法 [4]、Joseph等人提出的YOLO算法 [5] 以及Liu等人提出的SSD (Single Shot MultiBox Detector)算法 [6] 等。其中,小目标检测是目标检测领域中一个重要的难点问题,实际应用场景复杂、小目标信息不充分,导致小目标的检测效果始终不是很好。小目标检测因而成为计算机视觉领域中的一项具有巨大挑战性的任务。

上述方法仅对常规的目标检测问题效果较好,但所提取出的特征对小目标的表示能力较差,检测效果不佳。MS COCO数据集中将尺寸小于32 × 32像素的目标定义为小目标 [7],大于32 × 32像素小于96 × 96像素的目标定义为中目标,大于96 × 96像素的目标为大目标。Huang等人 [8] 对现阶段的检测器进行调研发现,现阶段的目标检测系统的精度,在小目标上的精度普遍比大目标低10倍,原因主要是由于样本中的小目标分辨率太低,虽然卷积神经网络的特征提取能力对于大中目标已经足够,但是对于小目标还是力不从心,小目标能提供给模型的信息过少也是制约目标检测发展的瓶颈之一。对此,一系列针对小目标检测的方法应运而生,小目标检测因而成为热点研究领域。

Fu等人 [9] 提出DSSD算法,利用ResNet [10] 替换SSD中的VGG [11] 模型,同时为了减少小目标的漏检率,加入反卷积层(Deconvolution),将图像分为更小的格子,但因为ResNet中引入残差连接等,算法的额外开销较大,比SSD算法的速度略慢。Singh等人 [12] 从训练角度切入,在数据层面思考,对数据集进行分析,发现训练样本中的小目标在待检测的图像中占比较小,于是采用一种多尺度的训练方式——图像的尺度归一化(SNIP),在金字塔模型的每一个尺度上进行训练,高效利用训练数据,检测效果得到显著提升,但是计算成本巨大。Lin等人 [13] 利用特征金字塔网络(FPN)融合模型高低层语义信息,增强模型提取的特征对小目标的表达能力。虽然上述方法都在一定程度上提升了小目标的检测精度,由于网络模型冗余导致的算法实时性不足、模型轻量化导致的精度不够、数据量不平衡导致训练不充分等因素,上述方法在实际场景下的检测效果仍然不理想。

本文基于SSD方法,利用数据增强和注意力机制设计一种小目标检测算法,在增加计算量可近似忽略的前提下,提升检测精度。首先,对训练过程进行优化,采用数据增强的方法加强模型对小目标的监督,以每次迭代过程中的各项目标损失占比为判断依据,确定是否在下次迭代过程中增强输入数据,若在当前迭代中小目标贡献的损失占比小于给定阈值,则下次迭代输入为增强图像,反之输入原图像;此外加入SENet模块,提升有效的特征信息权重,抑制作用较小的特征信息权重。实验结果表明,改进后的SSD算法优于原SSD算法,在实际场景下也能有很好的检测效果。

2. SSD算法

2.1. 网络模型

SSD的主要特点是在不同尺度上进行检测与识别,其网络模型分为基础网络和附加网络,在基础网络的末端添加了几个特征层作为附加网络用于预测不同尺度目标以及包围盒的偏移量和置信度。该算法以VGG-16模型作为特征提取网络并将其全连接层替换为卷积层,网络输入RGB三通道图像,附加网络附加4个卷积层。为提高目标检测精度,SSD算法在不同的尺度上进行检测,如图1所示,图像输入网络后从左至右得到6层不同尺寸的特征图(feature map) Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2,尺寸分别为38 × 38、19 × 19、10 × 10、5 × 5、3 × 3、1 × 1,借鉴Faster RCNN算法中的锚点思想,在特征图上生成不同尺度不同宽高比的先验框,而后通过非极大抑制(NMS)等方法输出最终目标类别和定位结果。

Figure 1. SSD network model

图1. SSD网络模型

2.2. SSD优缺点分析

作为单步检测器,SSD算法以回归的方式进行分类和定位,并结合Faster RCNN中的锚点思想进行预测,其算法中的先验框可以使得模型更快的收敛,降低训练成本。若没有采用锚点,则直接回归预测目标的坐标位置,模型难以收敛且计算成本巨大。同时SSD算法选取了模型中的六个特征图进行多尺度检测,各个卷积层所输出的特征图包含的信息是不同的,深层特征尺寸小,包含的语义信息更丰富,适合检测大目标,而浅层特征尺寸大,细节纹理特征信息更为丰富,对小目标的检测很有帮助,其采用的多尺度检测一定程度上是有利于提升小目标的检测精度的。

虽然SSD采用了多尺度的检测机制,利用VGG-16作为网络模型,通过Conv4_3的大尺度特征图来预测小目标,但是该层离顶层距离仍然较远,一个32 × 32的目标经过卷积后在Conv4_3特征图上大小仅为4 × 4,如此少的像素信息难以对目标进行预测。另一方面,虽然采用了六个特征图进行预测,但是特征与特征之间都是独立的,实际上,模型的底层高分辨率特征由于经过的卷积运算较少,包含更多的纹理和细节信息,但包含的语义信息不足,难以区分目标和背景,而高层低分辨率特征语义信息丰富,但卷积下采样过程中丢失了大量细节信息。同时,浅层特征图中包含大量通道,不同通道对于网络的判断也有差别,有些通道包含的信息更为丰富,有些则不那么重要,SSD算法并没有在通道上进行注意力关注。综上,SSD算法在实际应用场景下,对于小目标的检测效果并不理想。

3. 算法改进

3.1. 数据增强

Mosaic方法 [14] 是由Bochkovskiy等人提出的一种数据增强方法,可以当作是Cutmix [15] 方法的改进版。Cutmix算法对一张图像进行操作,在待增强图像上随机生成一个裁剪框,在裁剪框内填充训练集中其它数据中相应的位置像素,可以提高训练的效率。而Mosaic方法在Cutmix基础上再加入两张图像,如图2所示,采用4张图像进行混合,极大程度地丰富了训练图像的背景以及上下文信息,可以一定程度降低小目标的漏检率,同时4张图像的混合使得mini-batch不需要太大,可降低硬件需求。

Figure 2. Mosaic data enhancement example

图2. Mosaic数据增强示例

3.2. 训练优化

目标在现实生活中其实是随处可见的,比如远距离的交通标志,空中大背景下的小鸟等。MS COCO数据集中设定小于32 × 32大小的目标即为小目标,小目标虽然是很常见的,但其分布却是不可预测的。MS COCO数据集中,有41.43%的目标是小目标,远远高于其他两种尺度的目标。然而,包含小目标的图像只占训练集所有图像的51.82%,而包含大尺度目标和中等尺度目标的图像占比分别为70.07%和82.28%。也就是说,现有的环境下,待检测的大部分目标都是小目标,但是几乎一半的图像是不包含小目标的。这种训练样本的不平衡,也就导致训练的不平衡,严重阻碍了训练过程的推进。因此,考虑结合数据增强的策略从训练过程中去改善这种不平衡。模型在训练过程中大中小目标都是会反馈一定的损失进行优化驱动的,而在这一过程中,小目标所贡献的损失往往偏低,这样一来,训练好的模型对于大中目标的检测效果自然更好,这里提出一种优化方法,根据小目标所贡献的损失占总损失的比例来进行训练优化,如图3所示。假定某次迭代d中,来自小目标贡献的损失占总损失的比例小于给定阈值μ(即表示这次迭代小目标受到的监督不足),则第d + 1次迭代采用数据增强后的图像输入,反之,则采用原常规训练图像(此处阈值根据经验设置,经过多次不同阈值的设置对比,取0.1最为合适)。对于目标o,其面积So可以近似于它的包围盒宽高之积ho × woS表示第d次迭代中的小目标,MS COCO数据集规定面积小于32 × 32的目标即为小目标, LdSLSd 为第d次迭代下小目标的总损失, LdLd 为第d次迭代下的总损失, μdSμSd 为小目标的损失比。这种优化方法能够损失分布不均匀以及训练样本不平衡的问题。

Figure 3. Training optimization pipeline

图3. 训练优化流程图

3.3. 模型优化

SENet (Squeeze-and-Excitation Networks) [16] 是Hu等人结合注意力机制提出的一种网络结构,Hu等人曾凭借该结构夺得ImageNet2017竞赛图像分类任务冠军。该网络的核心思想在于,通过学习的方式,自动获取网络中每一个特征通道的重要程度,而网络也可以依据这个重要程度去提升有用的特征通道重要性并且抑制对于当前任务用处不大的通道重要性。输入特征X,经过一系列卷积池化操作得到特征通道数为C的特征U。首先对特征U进行压缩(Squeeze)操作,沿着空间维度进行特征压缩,得到通道级的全局特征,这个特征某种程度上具备全局感受野,且输出的维度与输入的特征通道数相匹配,表示在特征通道上响应的全局分布,可以让较浅的层获得更为全面的感受野。而后进行激励(Excitation)操作,学习各个通道之间的关系,通过参数w为每个特征通道生成权重。最后再进行权重的重新分配,完成在通道维度上对于特征的重标定,使得模型对于各个通道的特征更有判别能力。

因此,考虑到SSD算法模型中不同的通道对于小目标的检测也有着不同影响,也可以通过增强有效通道的特征权重,抑制无效通道的特征权重,从而提升SSD算法对于小目标检测的精度。所以选择在Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2层之后加入SE模块对特征图的特征通道进行权重重分配,改进后的结构图如图4所示。

4. 实验

实验平台采用如下配置:Ubuntu18.04操作系统,基于Pytorch1.3框架搭建实验,GPU显卡型号为RTX2080ti,为充分展现实验效果,采用两套数据集,分别为Pascal VOC数据集以及SHWD数据集(工地场景安全帽数据集),其中,为避免产生过拟合等由于数据量不充足造成的问题,选用VOC2007和VOC2012数据集的训练集作为训练集,在VOC2012数据集的测试集上进行测试。SHWD数据集提供了用于安全帽佩戴和人头检测的数据,包括7581张图像,其中9044个佩戴安全帽的样本和111514个正常头部样本。

实验采用VOC2007数据集和VOC2012数据集进行训练,选取目前几个比较流行的目标检测方法进行对比,包括YOLO系列、SSD系列、RCNN系列,可以看出算法的平均精度得到了有效的提高,如表1所示。

Figure 4. Improved network structure diagram

图4. 改进后的网络结构图

Table 1. Comparison of mAP indexes of several target detection algorithms

表1. 几种目标检测算法mAP指标对比

具体各类的精度如表2所示,在VOC2007验证集上进行验证,将本文改进的SSD算法与原算法对比。可以得知,改进后的模型在bird、bottle、plants、chair等不同小目标类别上相比于原SSD算法均有着不同程度的提高。

算法名称

数据集

mAP(%)

aero

bike

bird

boat

bottle

bus

car

cat

chair

SSD

07 + 12

77.6

79.9

85.1

76.1

71.7

54.0

85.6

85.9

87.1

58.6

Ours

07 + 12

80.6

83.8

87.7

79.1

75.2

59.2

88.9

87.7

88.3

64.2

cow

table

dog

horse

motorbike

person

plant

ship

sofa

train

tv

SSD

83.6

76.3

85.2

87.3

86.2

79.1

50.3

78.9

77.6

87.5

77.1

Ours

85.0

77.6

86.4

88.6

86.8

81.9

57.9

81.7

82.1

88.7

81.2

Table 2. Comparison of different types of AP indexes

表2. 不同类别的AP指标对比

图5是原SSD算法与本文改进算法的效果对比,可以看出,原SSD算法对于chair、bottle、plant等小尺寸目标检测效果较差,漏检率较高,而改进后的SSD算法一定程度上降低了小目标的漏检率,并且提升了检测小目标的精度。

Figure 5. Comparison of SSD algorithm and improved SSD algorithm

图5. SSD算法效果与改进SSD算法效果对比

除了在标准公共数据集下进行比较,为了进一步探究算法的实际应用有效性,在相同的实验环境下,通过SHWD数据集中的安全帽佩戴进行训练,将训练完成后的模型进行测试,测试指标如表3所示,可以看出改进后的算法在该数据集上的平均精度是要高于SSD算法的,同时在识别安全帽是否佩戴的两种情况下,精度都是要高于原SSD算法的。如图6所示,图6左侧代表改进SSD算法的效果,图6右侧表示原SSD算法效果。由图6可以看出,工地场景下遮挡情况较多,原SSD算法容易因为遮挡而没有检测到相应目标,甚至可能因为环境光线等因素而出现误判,而改进SSD算法在遮挡情况下仍然成功检测到相应目标。

综合上述实验可得,本文提出的改进SSD算法相较改进前的算法,一定程度上降低了小目标的漏检率,同时精度得到有效提高,对于小目标以及遮挡目标的检测效果也更好,在实际的应用场景下如文中选用的工地环境下,也能得到充分应用,具有一定的实用价值。

算法名称

AP (%)

mAP(%)

佩戴安全帽

未佩戴安全帽

SSD300

86.5

87.6

87.1

SSD512

87.7

88.5

88.1

Ours

90.6

91.1

90.9

Table 3. Comparison of two methods in construction site

表3. 工地场景下两种方法对比

Figure 6. Comparison of two methods in construction site

图6. 工地场景下两种方法效果对比

5. 结语

本文针对小目标检测效果不佳、漏检率高等问题,对SSD算法进行改进,从小目标的训练损失占比切入,对每次迭代过程中的损失占比进行监督,结合一些数据增强方法增强了小目标的训练效果,在计算量增加成本可以忽略不计的情况下提高了检测效果。并在模型中引入SENet模块,筛选通道间的注意力并学习通道之间的相关性,对每层的特征通道进行权重重分配,最终改进的SSD算法在小目标的检测效果上得到了很大的改善,同时在安全帽佩戴数据集上表现优异,在实际场景下也具备一定的应用价值。未来将继续研究训练过程的优化和网络结构的调整以及从多尺度的方面入手,争求进一步提高精度。

赶紧长按上面图片添加关注!

转发,点赞,在看,安排一下

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于改进SSD算法的小目标检测与应用 的相关文章

  • 程序=算法+数据结构

    JAVA 数据结构 及 基础算法 算法 xff1a 解决问题的流程 步骤 xff08 分支 循环 顺序 xff09 数据结构 xff1a 将数据按照某种特定的结构来保存 设计良好的数据结构会导致好的算法 凭借一句话获得图灵奖的Pascal之
  • 【嵌入式】stm32+freeRTOS移植与应用

    freeRTOS 源码移植 手动移植 xff1a freeRTOS官网 点击Download FreeRTOS点击Download解压zip文件 FreeRTOS是内核文件夹 xff0c 只需关注这个 FreeRTOS Demo 示例程序
  • benchmark

    一 定义 xff1a benchmark译为基准测试 xff0c 基准测试是指通过设计科学的测试方法 测试工具和测试系统 xff0c 实现对一类测试对象的某项性能指标进行定量的和可对比的测试 二 基准的特征 xff1a 相关性 基准应该度量
  • 在 Linux Ubuntu / Windows 10配置 RealSense 开发环境 开发预处理以及了解树莓派3

    Linux Ubuntu 首先 xff0c 打开Intel Realsense 官网 Intel RealSense Computer Vision Depth and Tracking cameras intelrealsense com
  • Docker的安装(基于windows的安装)

    在安装windows前需要有几个准备工作 1 启用Hyper V以在 Windows 10上创建虚拟机 xff1a a 使用 PowerShell 启用 Hyper V 在windows中搜索powerShell 使用管理员身份打开控制台
  • 提交代码前未拉取代码,导致冲突及解决办法

    前提 xff1a 和同事协作开发代码 xff0c 用git管理的项目 xff0c 在vscode可视化工具里面拉取项目代码 xff0c 没有反应 xff0c 然后在git里git pull xff0c 也没拉到远端的代码 xff0c 就提交
  • static 静态成员变量 静态成员函数 类中使用

    关于在类中使用static的一些情况 xff1a 静态成员函数和静态成员变量的调用格式 xff0c 尽量采用类名 成员的格式 xff0c 不要以对象来调用 1 static func静态成员函数 1 其地址可以直接由函数指针来存储 xff0
  • ucosii消息队列学习

    近期在学习ucosii的内容使用的平台为STM32F103C8T6最小系统板 今日关于消息队列的使用遇到了一些问题 基本情况 xff1a 移植代码为正点原子ucosiii消息队列 信号量集和软件定时器例程 主要新建两个任务post task
  • day41—编程题

    文章目录 1 第一题1 1题目1 2思路1 3解题 2 第二题2 1题目2 2思路2 3解题 1 第一题 1 1题目 描述 xff1a Emacs号称神的编辑器 xff0c 它自带了一个计算器 与其他计算器不同 xff0c 它是基于后缀表达
  • SLAM学习笔记

    编译环境参考之前的笔记 cmake文件 cmake minimum required VERSION 3 0 project odometry set CMAKE BUILD TYPE 34 Release 34 add definitio
  • eclipse配置Tomcat

    文章目录 前言一 预先工作1 Tomcat是什么 xff1f 2 Tomcat下载3 安装Eclipse for Java EE 二 在eclipse中配置Tomcat 前言 目前开始了j2ee的学习 xff0c 为了给以后的学习做准备 x
  • MATLAB学习笔记(一)上:MATLAB基础知识

    笔记配套课程 xff1a 科学计算与MATLAB语言 中国大学MOOC 慕课 icourse163 org PART ONE xff1a MATLAB系统环境 1 命令行窗口中 xff0c 如果一条命令很长 xff0c 我们可以分成两行来输
  • H3C路由器基本配置命令

    1 system view 进入系统视图 2 sysname R1 配置路由器名字为R1 3 display clock 查看当前系统时间 4 clock datetime 00 00 00 2 26 2023 用户模式下修改系统时间 配置
  • ubuntu18.04双系统卸载并重装

    卸载ubuntu18 04 原文档 xff08 稍作整理 xff0c 方便自己使用 xff09 下载diskgenius工具 xff1a diskgenius 删除Ubuntu系统使用的几个分区 xff08 包括EFI分区 xff09 xf
  • 安装zed-ros-wrapper 并解决一些报错

    创建工作空间 如果没有工作空间 xff0c 先根据如下命令建立工作空间 source opt ros melodic setup bash mkdir p catkin ws src cd catkin ws catkin make cat
  • rtabmap+orbslam2+D435i建图

    配置rtabmap 参考 xff1a rtabmap安装与使用 配置orbslam2参考 xff1a ubuntu18 04 安装orb slam2并结合ZED运行 建图参考 xff1a Rtabmap 43 ORB SLAM2 43 D4
  • matlab2018a帮助文档设置为中文

    版本 xff1a matlab2018a 1 主页 预设 2 帮助 文档位置 xff08 第二个 xff09 简体中文 应用 确定 3 结果展示
  • Vue2与Vue3的生命周期一览

    Vue2与Vue3的生命周期 生命周期前言介绍Vue2的生命周期钩子函数Vue3的生命周期钩子函数setup函数Vue3新增生命周期 生命周期 前言介绍 生命周期也称生命周期回调函数 生命周期函数 生命周期钩子 每个 Vue 组件实例在创建
  • FreeRTOS入门

    文章目录 一 FreeRTOS简介二 学习任务三 学习内容多任务程序实现1 相关文件2 头文件的添加3 路径添加4 修改主函数main c 中代码5 将程序烧录到stm32开发板中6 最终结果 四 参考资料 一 FreeRTOS简介 Fre
  • 嘉立创SMT贴片打板流程

    说明 xff1a 打板平台 嘉立创下单助手 使用嘉立创EDA画板可参考以下过程 使用AD画板 xff0c 不同点是 xff08 1 xff09 导出的文件是PCB源文件压缩包 43 BOM表 43 坐标文件 xff08 2 xff09 确保

随机推荐

  • Android Studio安装超详细步骤(包括SDK安装不成功,模拟器无法创建等问题)

    本文主要介绍CPU 为AMD锐龙 和英特尔 两种类型在安装中出现的一些问题 xff0c 两种解决的方案不同 xff0c 所以首先查看属于哪种 xff0c 然后找相对应的安装方法 Android Studio的安装需要准备两个安装文件 xff
  • HTML+CSS仿写京东页面附代码(web前端大作业)

    学习前端时间不多 xff0c 看了两晚上就开始赶实训作业 xff0c 大家看看就行 先来看看效果 xff1a lt DOCTYPE html gt lt html lang 61 34 en 34 gt lt head gt lt meta
  • DIY组装无人机电机+电调+电池+桨叶搭配知识

    以下内容转载至下网址 有一点点修改 DIY组装无人机电机 43 电调 43 电池 43 桨叶搭配知识 xff08 转贴 xff09 多旋翼 模吧 moz8 com https www moz8 com forum php mod 61 vi
  • (每日一练)MATLAB二维插值

    在前面介绍了学习MATLAB的一维插值方法 xff0c 今天来学习MATLAB二维插值方法 首先来看二维插值函数的使用格式 xff1a z1 61 interp2 x y z x1 y1 39 method 39 其中x y z分别是我们给
  • Ubuntu18.04安装D435iSDK和ROS Wapper

    实验室新到D435i深度相机 xff0c 我想来跑跑开源算法 xff0c 安装驱动各种帖子很多 xff0c 我把我看到两篇最有用的帖子整理一下 帖子连接放在文末 1 安装Intel RealSense SDK 2 0 参考 xff1a ht
  • 【Ros控制机械臂学习笔记】move_group C++interface接口学习

    在完成机器人URDF模型建立 xff0c 利用moveit setup assistant配置生成robot moveit config文件夹之后 xff0c 接下来就是要的学习方向有两个 一个是向下位机走 xff0c 即上图的右面 xff
  • MATLAB校准磁力计

    初识magcal函数 语法 A b expmfs 61 magcal D A b expmfs 61 magcal D fitkind 描述 A xff0c b xff0c expmfs 61 magcal xff08 D xff09 返回
  • C语言练习之路--函数篇

    目录 一 前言二 选择题三 编程题1 乘法口诀表2 交换两个整数3 函数判断闰年4 函数判断素数5 递归实现n的k次方6 计算一个数的每位之和 xff08 递归实现 xff09 7 strlen的模拟 xff08 递归实现 xff09 8
  • 使用VOFA调试PID算法

    1 选用FireWater模式 这个模式下才支持多通道数据 2 代码编写 我使用的是cubemx和keil xff08 1 先在cubemx里把串口打开 我用的是401 xff08 2 打开我的Keil继续 span class token
  • 基于 JSP+Mysql 学生成绩查询web系统

    文章目录 一 学习任务二 学习内容1 准备工作1 1 相关软件1 2 源代码 2 连接MySQL3 idea配置4 运行结果5 web访问 三 参考博客 一 学习任务 首先在Mysql中创建相应的学生成绩表 xff0c 然后基于 JSP 4
  • jquery获取指定元素的指定属性的值

    使用jquery获取指定元素的指定属性的值 xff1a 选择器 attr 34 属性名 34 gt 用来获取那些值不是true false的属性的值 选择器 prop 34 属性名 34 gt 用来获取值是true false的属性的值 例
  • Maven3.6.1下载安装基本使用 (初识)(自用)

    对MAVEN的粗浅认识 Apache Maven 是 项目管理与构建工具 基于POM xff08 项目对象模型 xff09 的概念 作用 提供了一套标准化的项目结构 粗浅理解就是 xff0c 通常eclipse xff0c idea等jav
  • VSCode代码格式化快捷键

    我们在编写代码和阅读别人代码的时候 xff0c 容易出现同级元素缩进没有对齐的情况 xff0c 我们需对代码进行格式化 xff0c 以方便自己和他人的阅读 在vscode中使用快捷键 Shift 43 Alt 43 F 使用示例 xff1a
  • for循环【C++】

    for循环 执行一个特定循环的控制结构 for 条件 条件判断 条件处理 执行体 xff1b 条件 条件判断和条件处理都不是必要的 xff0c 当三者都没有 xff0c 则相当于一个无限循环 条件不一定需要在括号内声明和初始化 xff0c
  • 基于深度强化学习的智能船舶航迹跟踪控制

    基于深度强化学习的智能船舶航迹跟踪控制 人工智能技术与咨询 昨天 本文来自 中国舰船研究 xff0c 作者祝亢等 关注微信公众号 xff1a 人工智能技术与咨询 了解更多咨询 xff01 0 引 言 目前 xff0c 国内外对运载工具的研究
  • 面向区块链的高效物化视图维护和可信查询

    面向区块链的高效物化视图维护和可信查询 人工智能技术与咨询 来源 xff1a 软件学报 xff0c 作者蔡 磊等 摘 要 区块链具有去中心化 不可篡改和可追溯等特性 可应用于金融 物流等诸多行业 由于所有交易数据按照交易时间顺序存储在各个区
  • 基于深度学习的磁环表面缺陷检测算法

    基于深度学习的磁环表面缺陷检测算法 人工智能技术与咨询 来源 xff1a 人工智能与机器人研究 xff0c 作者罗菁等 关键词 缺陷检测 xff1b 深度学习 xff1b 磁环 xff1b YOLOv3 xff1b 摘要 在磁环的生产制造过
  • 基于PX4的地面无人车避障系统及路径规划研究

    基于PX4的地面无人车避障系统及路径规划研究 人工智能技术与咨询 来源 xff1a 动力系统与控制 xff0c 作者姜琼阁等 关键词 地面无人车 xff1b 避障 xff1b PX4 xff1b 摘要 地面无人车避障及路径规划是指 xff0
  • 基于图像的数据增强方法发展现状综述

    基于图像的数据增强方法发展现状综述 人工智能技术与咨询 2022 03 22 20 57 点击蓝字 关注我们 来源 xff1a 计算机科学与应用 xff0c 作者冯晓硕等 关键词 数据增强 xff1b 图像数据集 xff1b 图像处理 xf
  • 基于改进SSD算法的小目标检测与应用

    人工智能技术与咨询 点击蓝字 关注我们 来源 xff1a 计算机科学与应用 xff0c 作者刘洋等 关键词 SSD xff1b 深度学习 xff1b 小目标检测 摘要 xff1a 摘要 针对通用目标检测方法在复杂环境下检测小目标时效果不佳