汇总|目标检测中的数据增强、backbone、head、neck、损失函数

2024-06-17 15:48

本文主要是介绍汇总|目标检测中的数据增强、backbone、head、neck、损失函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、数据增强方式

  1. random erase
  2. CutOut
  3. MixUp
  4. CutMix
  5. 色彩、对比度增强
  6. 旋转、裁剪

解决数据不均衡:

  • Focal loss
  • hard negative example mining
  • OHEM
  • S-OHEM
  • GHM(较大关注easy和正常hard样本,较少关注outliners)
  • PISA

二、常用backbone

  1. VGG
  2. ResNet(ResNet18,50,100)
  3. ResNeXt
  4. DenseNet
  5. SqueezeNet
  6. Darknet(Darknet19,53)
  7. MobileNet
  8. ShuffleNet
  9. DetNet
  10. DetNAS
  11. SpineNet
  12. EfficientNet(EfficientNet-B0/B7)
  13. CSPResNeXt50
  14. CSPDarknet53

三、常用Head

Dense Prediction (one-stage):

  1. RPN
  2. SSD
  3. YOLO
  4. RetinaNet
  5. (anchor based)
  6. CornerNet
  7. CenterNet
  8. MatrixNet
  9. FCOS(anchor free)

Sparse Prediction (two-stage):

  1. Faster R-CNN
  2. R-FCN
  3. Mask RCNN (anchor based)
  4. RepPoints(anchor free)

四、常用neck

Additional blocks:

  1. SPP
  2. ASPP
  3. RFB
  4. SAM

Path-aggregation blocks:

  1. FPN
  2. PAN
  3. NAS-FPN
  4. Fully-connected FPN
  5. BiFPN
  6. ASFF
  7. SFAM
  8. NAS-FPN

五、Skip-connections

  1. Residual connections
  2. Weighted residual connections
  3. Multi-input weighted residual connections
  4. Cross stage partial connections (CSP)

六、常用激活函数和loss

激活函数:

  • ReLU
  • LReLU
  • PReLU
  • ReLU6
  • Scaled Exponential Linear Unit (SELU)
  • Swish
  • hard-Swish
  • Mish

loss:

  • MSE
  • Smooth L1
  • Balanced L1
  • KL Loss
  • GHM loss
  • IoU Loss
  • Bounded IoU Loss
  • GIoU Loss
  • CIoU Loss
  • DIoU Loss

七、正则化和BN方式

正则化:

  • DropOut
  • DropPath
  • Spatial DropOut
  • DropBlock

BN:

  • Batch Normalization (BN)
  • Cross-GPU Batch Normalization (CGBN or SyncBN)
  • Filter Response Normalization (FRN)
  • Cross-Iteration Batch Normalization (CBN)

 

八、训练技巧

  • Label Smoothing
  • Warm Up

 

https://zhuanlan.zhihu.com/p/137769687

https://zhuanlan.zhihu.com/p/137769687

https://zhuanlan.zhihu.com/p/137769687

这篇关于汇总|目标检测中的数据增强、backbone、head、neck、损失函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1069874

相关文章

C++工程编译链接错误汇总VisualStudio

目录 一些小的知识点 make工具 可以使用windows下的事件查看器崩溃的地方 dumpbin工具查看dll是32位还是64位的 _MSC_VER .cc 和.cpp 【VC++目录中的包含目录】 vs 【C/C++常规中的附加包含目录】——头文件所在目录如何怎么添加,添加了以后搜索头文件就会到这些个路径下搜索了 include<> 和 include"" WinMain 和

【操作系统】信号Signal超详解|捕捉函数

🔥博客主页: 我要成为C++领域大神🎥系列专栏:【C++核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞👍收藏⭐评论✍️ 本博客致力于知识分享,与更多的人进行学习交流 ​ 如何触发信号 信号是Linux下的经典技术,一般操作系统利用信号杀死违规进程,典型进程干预手段,信号除了杀死进程外也可以挂起进程 kill -l 查看系统支持的信号

【服务器运维】MySQL数据存储至数据盘

查看磁盘及分区 [root@MySQL tmp]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical)

java中查看函数运行时间和cpu运行时间

android开发调查性能问题中有一个现象,函数的运行时间远低于cpu执行时间,因为函数运行期间线程可能包含等待操作。native层可以查看实际的cpu执行时间和函数执行时间。在java中如何实现? 借助AI得到了答案 import java.lang.management.ManagementFactory;import java.lang.management.Threa

SQL Server中,查询数据库中有多少个表,以及数据库其余类型数据统计查询

sqlserver查询数据库中有多少个表 sql server 数表:select count(1) from sysobjects where xtype='U'数视图:select count(1) from sysobjects where xtype='V'数存储过程select count(1) from sysobjects where xtype='P' SE

SQL Server中,isnull()函数以及null的用法

SQL Serve中的isnull()函数:          isnull(value1,value2)         1、value1与value2的数据类型必须一致。         2、如果value1的值不为null,结果返回value1。         3、如果value1为null,结果返回vaule2的值。vaule2是你设定的值。        如

tf.split()函数解析

API原型(TensorFlow 1.8.0): tf.split(     value,     num_or_size_splits,     axis=0,     num=None,     name='split' ) 这个函数是用来切割张量的。输入切割的张量和参数,返回切割的结果。  value传入的就是需要切割的张量。  这个函数有两种切割的方式: 以三个维度的张量为例,比如说一

基于CTPN(tensorflow)+CRNN(pytorch)+CTC的不定长文本检测和识别

转发来源:https://swift.ctolib.com/ooooverflow-chinese-ocr.html chinese-ocr 基于CTPN(tensorflow)+CRNN(pytorch)+CTC的不定长文本检测和识别 环境部署 sh setup.sh 使用环境: python 3.6 + tensorflow 1.10 +pytorch 0.4.1 注:CPU环境

数据时代的数字企业

1.写在前面 讨论数据治理在数字企业中的影响和必要性,并介绍数据治理的核心内容和实践方法。作者强调了数据质量、数据安全、数据隐私和数据合规等方面是数据治理的核心内容,并介绍了具体的实践措施和案例分析。企业需要重视这些方面以实现数字化转型和业务增长。 数字化转型行业小伙伴可以加入我的星球,初衷成为各位数字化转型参考库,星球内容每周更新 个人工作经验资料全部放在这里,包含数据治理、数据要

如何在Java中处理JSON数据?

如何在Java中处理JSON数据? 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨在Java中如何处理JSON数据。JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,在现代应用程序中被广泛使用。Java通过多种库和API提供了处理JSON的能力,我们将深入了解其用法和最佳