kuweicai
码龄14年
  • 1,149,025
    被访问
  • 131
    原创
  • 78,571
    排名
  • 732
    粉丝
  • 32
    铁粉
关注
提问 私信
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2008-11-30
博客简介:

生命在于折腾!

查看详细资料
  • 6
    领奖
    总分 2,672 当月 63
个人成就
  • 获得1,089次点赞
  • 内容获得229次评论
  • 获得6,583次收藏
创作历程
  • 1篇
    2022年
  • 31篇
    2021年
  • 23篇
    2020年
  • 24篇
    2019年
  • 18篇
    2018年
  • 33篇
    2017年
  • 16篇
    2016年
成就勋章
TA的专栏
  • 深度总结
    25篇
  • 目标跟踪
    2篇
  • 模型优化
    1篇
  • 深度学习
    28篇
  • Backbone
    12篇
  • 目标检测
    14篇
  • pytorch
    2篇
  • caffe
    5篇
  • 人脸识别
    4篇
  • 特征提取与匹配
    9篇
  • 数字图像处理基础
    22篇
  • opencv
    27篇
  • 数据结构与算法
    17篇
  • 项目例程
    6篇
  • C/C++知识点
    20篇
  • python
    5篇
  • 高效工具
    11篇
兴趣领域 设置
  • 人工智能
    图像处理深度学习opencv计算机视觉
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Pytorch 混合精度训练(Automatic Mixed Precision)原理解析

默认情况下,大多数深度学习框架(比如 pytorch)都采用 32 位浮点算法进行训练。Automatic Mixed Precision(AMP, 自动混合精度)可以在神经网络推理过程中,针对不同的层,采用不同的数据精度进行计算,从而实现节省显存和加快速度的目的。Pytorch AMP 是从 1.6.0 版本开始的,在此之前借助 NVIDIA 的 apex 可以实现 amp 功能。Pytorch 的 AMP 其实是从 apex 简化而来的,和 apex 的 O1 相当。AMP 里面的 Mixed
原创
发布博客 2022.08.15 ·
195 阅读 ·
0 点赞 ·
0 评论

目标检测中的数据类别不均衡问题总结

目标检测中的数据类别不平衡问题1. 问题概述在目标检测任务中存在各种各样的不均衡问题(参考 目标检测领域中的数据不均衡问题综述),这里仅仅针对数据类别不均衡问题,就是下表的前景类别间不均衡问题,也是我们常说的长尾数据问题。当然这个问题并非是检测任务才有,其他的比如分类任务也是一样存在的,可能有区别的是,对于检测来说,是每个类别的 bbox 数量而不是图片数量。2. 解决思路2.1 从数据着手从数据上来说,哪一类少就增加哪一类,但是如果要去收集代价可能又太大了,有时候甚至是不可能。重采样(r
原创
发布博客 2021.12.31 ·
2662 阅读 ·
3 点赞 ·
1 评论

小目标检测常用解决方法

小目标检测1 定义通用的定义来自 COCO 数据集,定义小于 32x32 pix 的为小目标。2 小目标检测的难点可利用特征少现有数据集中小目标占比少小目标聚集问题首先小目标本身分辨率低,图像模糊,携带的信息少。由此所导致特征表达能力弱,也就是在提取特征的过程中,能提取到的特征非常少,这不利于我们对小目标的检测。另外通常网络为了减少计算量,都使用到了下采样,而下采样过多,会导致小目标的信息在最后的特征图上只有几个像素(甚至更少),信息损失较多。在 COCO 挑战赛上,小目标的检测精度(
原创
发布博客 2021.12.31 ·
6326 阅读 ·
10 点赞 ·
0 评论

模型推理速度与硬件算力

模型推理速度与硬件算力1. 模型大小衡量指标参数量这里的参数量就是指模型的权重,对于 CNN 网络而言,主要就集中在 Conv 和 FC 层。参数量主要会体现在模型的物理大小(硬盘占用大小),在运行时也会体现在内存(显存)占用上,对运行速度没有直接的影响(间接的影响显然是存在的)。具体来说就是,如果模型硬盘占用很大,显然会影响最终软件的大小,如果模型内存占用很多,显然会影响一块显卡(或其他硬件)能同时加载模型的数量。计算量FLOPs(Floating Point Operations)浮点计
原创
发布博客 2021.11.28 ·
872 阅读 ·
2 点赞 ·
0 评论

CV 经典主干网络 (Backbone) 系列: CSPNet

CV 经典主干网络 (Backbone) 系列: CSPNet作者:Chien-Yao Wang 等发表时间:2019Paper 原文: CSPNet: A New Backbone that can Enhance Learning Capability of CNN开源代码:Cross Stage Partial Networks该篇是 CV 经典主干网络 (Backbone) 系列 下的一篇文章。作者认为目前的网络结构虽然效果好,但是都是建立在较大的计算量上的,这阻碍了算法应用 ,特别是
原创
发布博客 2021.11.13 ·
4921 阅读 ·
3 点赞 ·
0 评论

多目标跟踪(MOT)中的卡尔曼滤波(Kalman filter)和匈牙利(Hungarian)算法详解

多目标跟踪(MOT)中的卡尔曼滤波(Kalman filter)和匈牙利(Hungarian)算法详解1. 概览在开始具体讨论卡尔曼滤波和匈牙利算法之前,首先我们来看一下基于检测的目标跟踪算法的大致流程。2. 卡尔曼滤波(Kalman filter)目标跟踪中使用的就是最基础的 Kalman filter 算法。这里也仅仅讨论最基础的 Kalman filter 算法。卡尔曼滤波算法的过程很简单,如下图所示。最核心的两个步骤就是预测和更新(下图的 correct)。在目标跟踪任务中,目标的
原创
发布博客 2021.10.24 ·
10929 阅读 ·
24 点赞 ·
3 评论

目标跟踪之 MOT 经典算法:ByteTrack 算法原理以及多类别跟踪

目标跟踪之 MOT 经典算法:ByteTrack 算法原理以及多类别跟踪作者:Yifu Zhang 等发表时间:2021Paper 原文:ByteTrack: Multi-Object Tracking by Associating Every Detection Box开源代码:ByteTrack1. 概述ByteTrack 是基于 tracking-by-detection 范式的跟踪方法。作者提出了一种简单高效的数据关联方法 BYTE。它和之前跟踪算法的最大区别在于,并不是简单的去掉低分检
原创
发布博客 2021.10.20 ·
35836 阅读 ·
23 点赞 ·
17 评论

目标检测中目标框回归损失函数(IoU, GIoU, DIoU, CIoU)总结

目标检测中目标框回归损失函数(IoU, GIoU, DIoU, CIoU)总结1. Smooth L1 Loss这个是 Faster-RCNN 中的损失函数。具体可以参考深度学习目标检测之 R-CNN 系列:Faster R-CNN 网络详解 中相应介绍。Smooth L1 Loss 相比 L1 和 L2 的优势可以参考 损失函数:L1 loss, L2 loss, smooth L1 loss。总结其优势就是:smooth L1和L1-loss函数的区别在于,L1-loss在0点处导数不唯一,可
原创
发布博客 2021.09.29 ·
1605 阅读 ·
2 点赞 ·
0 评论

Pytorch 并行训练(DP, DDP)的原理和应用

Pytorch 并行训练(DP, DDP)的原理和应用1. 前言并行训练可以分为数据并行和模型并行。模型并行模型并行主要应用于模型相比显存来说更大,一块 device 无法加载的场景,通过把模型切割为几个部分,分别加载到不同的 device 上。比如早期的 AlexNet,当时限于显卡,模型就是分别加载在两块显卡上的。数据并行这个是日常会应用的比较多的情况。每一个 device 上会加载一份模型,然后把数据分发到每个 device 并行进行计算,加快训练速度。如果要再细分,又可以分
原创
发布博客 2021.09.27 ·
3737 阅读 ·
5 点赞 ·
1 评论

3D 池化(MaxPool3D) 和 3D(Conv3d) 卷积详解

3D 池化(MaxPool3D) 和 3D(Conv3d) 卷积详解池化和卷积的过程是类似的,只是池化没有权重,相比起来更容易说明计算的过程。这里从 3D 池化开始详细接受 MaxPool3D 和 Conv3d 的过程,并尝试通过 2D 和 1D 的池化来实现 3D 池化的过程。3D (池化或者卷积)相比 2D 增加了一个维度,但是大致过程依然和 2D 类似,所以在看 3D 之前应该确保已经清楚 2D 的过程了,如果对 2D 不熟悉的朋友,可以参考 动图详细讲解 LeNet-5 网络结构,里面有动图演示
原创
发布博客 2021.09.11 ·
6282 阅读 ·
9 点赞 ·
3 评论

python 中的模块、包以及搜索路径的问题

Python1. 模块(module)1.1 什么是模块?一个 .py 文件就是一个模块。1.2 模块搜索路径当你导入一个模块,Python 解析器对模块位置的搜索顺序是:1、当前目录(入口的目录,比如 python main.py 是指 main.py 所在的目录)2、如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。3、如果都找不到,Python 会察看默认路径。UNIX下,默认路径一般为 /usr/local/lib/python/。
原创
发布博客 2021.09.08 ·
272 阅读 ·
0 点赞 ·
0 评论

目标检测 YOLO 系列:你有我无 YOLOX

目标检测 YOLO 系列:你有我无 YOLOX作者:Zheng Ge发表时间:2021Paper 原文:YOLOX: Exceeding YOLO Series in 20211. 概览那边 YOLOv5 还在不断更新,这边旷世 YOLOX 又开了新头了,真是一幅百舸争流啊。。。当然作为一名工业界的搬运工,还是很兴奋的,又有新的砖可以搬了。YOLOX 一出,各种公众号“吊打一切”,“秒天秒地” 的声音就出来了,真有这么神?作为一名搬运工,我觉得单从工业应用的角度,吸引力没有那么大,因为精度提升不大
原创
发布博客 2021.08.15 ·
853 阅读 ·
0 点赞 ·
0 评论

目标检测 YOLO 系列:快速迭代 YOLO v5

目标检测 YOLO 系列:快速迭代 YOLO v5作者:Glenn Jocher发表时间:2020Paper 原文:没有发表论文,通过 github(yolov5) 发布。1. 概览YOLOv5 刚发布之初还颇有争议,有人觉得它能不能叫 YOLOv5,但是它凭借优秀的性能和完善的工程配套(移植到其他平台)能力,现在(2021年)YOLOv5 依然是检测领域最活跃的模型。YOLOv5 不仅生而不凡,更关键的是它还非常勤快,从发布至今,已经发布了 5 个大版本。所以在使用 YOLOv5 的时候需要注意
原创
发布博客 2021.08.01 ·
1013 阅读 ·
0 点赞 ·
0 评论

目标检测 YOLO 系列: 你有我有 YOLO v4

目标检测 YOLO 系列: 你有我有 YOLO v4作者:Alexey Bochkovskiy 等发表时间:2020Paper 原文: YOLOv4: Optimal Speed and Accuracy of Object Detection2020 年 Alexey 从 Joseph 手中接棒,推出了 YOLO v4。只是仅仅两个月后 YOLO v5 就来了,所以工业界 v4 应用的可能不及 v5 广泛(不同的领域可能有不同)。YOLO v4 可以说是集大成者,把市面上各种目标检测的 trick
原创
发布博客 2021.08.01 ·
192 阅读 ·
0 点赞 ·
0 评论

目标检测 YOLO 系列: 持续改进 YOLO v3

目标检测 YOLO 系列: 持续改进 YOLO v3作者:Joseph Redmon, Ali Farhadi发表时间:2018Paper 原文: YOLOv3: An Incremental Improvement(严格来说,这并非是一篇学术论文,因为没有正式发表,作者行文也比较潇洒)YOLO v3 最大的特点是精度不错,但是速度飞快,并且对小目标的效果也有提升。320x320 YOLO v3 精度和 SSD321 差不多,但是速度是 SSD321 的三倍。凭借卓越的性能,YOLO v3 在工业界
原创
发布博客 2021.08.01 ·
461 阅读 ·
0 点赞 ·
0 评论

目标检测 YOLO 系列: 更快更准 YOLO v2

目标检测 YOLO 系列: 更快更准 YOLO v2作者:Joseph Redmon, Ali Farhadi发表时间:2016Paper 原文: YOLO9000: Better, Faster, StrongerJoseph Redmon 等于 2016 年在 YOLO9000: Better, Faster, Stronger 中提出了 YOLO 的改进版本 YOLO V2 和 YOLO9000,其中 YOLO9000 是在 YOLO V2 的基础上采用联合训练的方式,使其可以检测超过 900
原创
发布博客 2021.08.01 ·
264 阅读 ·
0 点赞 ·
0 评论

目标检测 YOLO 系列: 开宗立派 YOLO v1

目标检测 YOLO 系列: 开宗立派 YOLO v1作者:Joseph Redmon,Santosh Divvala , Ross Girshick , Ali Farhadi发表时间:2015Paper 原文:You Only Look Once:Unified, Real-Time Object Detection1 网络结构先来看看 YOLO V1 的网络结构,如下图(来自目标检测 YOLO)所示。这里 backbone 是基于 GoogleNet 修改的。具体来说,这里的 GoogLe
原创
发布博客 2021.08.01 ·
262 阅读 ·
0 点赞 ·
0 评论

目标检测 YOLO 系列: 开篇

目标检测 YOLO 系列: 开篇该系列主要由以下几篇文章组成:目标检测 YOLO 系列: 开篇目标检测 YOLO 系列: 开宗立派 YOLO v1目标检测 YOLO 系列: 更快更准 YOLO v2目标检测 YOLO 系列: 持续改进 YOLO v3目标检测 YOLO 系列: 你有我有 YOLO v4目标检测 YOLO 系列:快速迭代 YOLO v51. 概览1.1 V1 到 V4YOLO 是 Joseph Redmon 和 Ross Girshick 等于
原创
发布博客 2021.08.01 ·
210 阅读 ·
0 点赞 ·
0 评论

Pytorch LSTM 代码解读及自定义双向 LSTM 算子

Pytorch LSTM 代码解读及自定义双向 LSTM 算子1. 理论关于 LSTM 的理论部分可以参考PaperLong Short-Term Memory Based Recurrent Neural Network Architectures for Large Vocabulary Speech Recognition解析Understanding LSTM Networks人人都能看懂的LSTMPytorch LSTM 算子LSTM 文档2. 源代码python
原创
发布博客 2021.07.13 ·
1766 阅读 ·
1 点赞 ·
0 评论

C/C++ 中的位运算及其典型应用

C/C++ 中的位运算及其典型应用C/C++ 中提供了6种位运算,对于每一种都很好理解。位运算比较简单,但是如果能灵活应用往往能取得预想不到的效果。这里将不会一一介绍其定义,这里的重点是介绍一些比较经典的应用。如果对其定义还不是很熟悉的朋友可以参考位运算。需要注意的是负数按补码形式参加位运算。操作符标记&按位与|按位或~取反^按位异或<<左移>>右移1. 按位与1.1 判断奇偶 int x =
原创
发布博客 2021.06.02 ·
364 阅读 ·
0 点赞 ·
0 评论
加载更多