
目标检测
文章平均质量分 95
目标检测
just_sort
Acdream.
展开
-
One-YOLOv5 v1.2.0 Released(支持分类,检测,实例分割)
device选择这里因为CUDA_VISIBLE_DEVICES环境变量设置放在import oneflow之后会失败,导致device选择失败了,可以export CUDA_VISIBLE_DEVICES=1 这样子手动控制下。autobatch功能 oneflow这边缺少个memory_reserved api ,我们会尽快补齐这个api,现在还是先手动指定下batch_size, 我们将在下个版本解决并且会直接支持导出batch维度为动态的模型。训练过程loss,map,检测框等可视化 我们适配了。原创 2023-03-08 14:43:28 · 893 阅读 · 2 评论 -
再思考可变形卷积
【GiantPandaCV导语】重新思考可变形卷积。逐行代码解析,希望读者能一起完全理解DCN并明白DCN的好处,同时也清楚DCN的缺点在哪里。最后对什么时候可以选择DCN有一个较好的认识。添加了注释的代码链接:https://github.com/BBuf/pytorch-deform-conv-v2-explain0x00. 前言之前一篇文章DCN V1代码阅读笔记 已经介绍过可变形卷积这种技术,但比较可惜代码部分似乎没有解析清楚。后面,MSRA出了一篇DCNV2,也没来得及讲,因此今天这篇文章.原创 2020-12-28 23:13:37 · 1230 阅读 · 1 评论 -
低比特量化之DoreFa-Net理论与实践
1. 前言之前已经算是仔细的讲解过DoreFaNet的原理了,见:深度学习算法优化系列十二 | 旷视科技 DoReFa-Net ,所以今天这篇文章的目的是如何将DoreFaNet进行应用,在此之前还是简单回顾原理。2. DoreFaNet和前面我们讲过的BNN和TWN相比,DoreFa-Net并没有针对卷积层输出的每一个...原创 2020-07-25 21:58:40 · 3388 阅读 · 1 评论 -
Group Sample:一个简单有效的目标检测升点Trick
1. 前言今天为大家介绍一个CVPR 2019提出的一个有趣的用于人脸检测的算法,这个算法也可以推广到通用目标检测中,它和OHEM,Focal Loss有异曲同工之妙。论文地址为:http://openaccess.thecvf.com/content_CVPR_2019/papers/Ming_Group_Sampling_for_Scale_Invariant_Face_Detection_CVPR_2019_paper.pdf。2. 出发点这篇文章的出发点是,我们在做人脸检测或者通用目标检测时,原创 2020-07-23 23:46:15 · 638 阅读 · 0 评论 -
YOLOV3剪枝方法汇总
1. 前言上一篇推文如何让你的YOLOV3模型更小更快? 给大家介绍了一下利用BN层的γ\gammaγ参数对YOLOV3检测模型进行剪枝,最终获得了2倍的速度增加。但需要注意的是,这个剪枝有一些缺点,例如剪枝剪得不够极限,可能还有一些冗余通道存在,另外shortcut这种层也是没有剪枝的。并且剪枝之后模型的通道数会变成一些奇怪的数字例如232323,这在推理过程中会浪费一部分硬件的内存,并对模型的推理速度产生影响。最后,很多人在简单的场景中倾向使用YOLOV3-Tiny这个小模型,当然我们可以通过剪枝使得原创 2020-07-02 20:53:00 · 5229 阅读 · 6 评论 -
如何让你的YOLOV3模型更小更快?
1. 前言之前讲过关于模型剪枝的文章深度学习算法优化系列七 | ICCV 2017的一篇模型剪枝论文,也是2019年众多开源剪枝项目的理论基础 并分析过如何利用这个通道剪枝算法对常见的分类模型如VGG16/ResNet/DenseNet进行剪枝,见深度学习算法优化系列八 | VGG,ResNet,DenseNe模型剪枝代码实战 ,感兴趣的可以去看看。这篇推文主要是介绍一下如何将这个通道剪枝算法应用到YOLOV3上,参考的Github工程地址为:https://github.com/Lam1360/YOLO原创 2020-07-01 21:09:47 · 1124 阅读 · 1 评论 -
【从零开始学Mask RCNN】四,RPN锚框生成和Proposal生成
1. Mask RCNN Anchor 生成Mask RCNN的锚框生成和SSD的锚框生成策略类似(SSD的锚框生成策略见:【资源分享】从零开始学习SSD教程) ,都遵循以下规则:Anchor的中心点的个数等于特征图像素个数Anchor的生成是围绕中心点的Anchor框的坐标最终需要归一化到0-1之间,即相对输入图像的大小我们知道Faster RCNN只是在一个特征图上铺设Anchor,而Mask RCNN引入了FPN之后使用了多层特征,这样和SSD类似都是在多个特征图上铺设Anchor,不过原创 2020-06-27 22:55:23 · 3103 阅读 · 1 评论 -
【从零开始学Mask RCNN】三,Mask RCNN网络架构解析及TensorFlow和Keras的交互
0. 前言上一节把握了一下Mask RCNN项目的整体逻辑,这一节主要从TensorFlow和Keras的交互以及Mask RCNN的网络结构入手来分析一下。1. TensorFlow和Keras的交互说明相信熟悉Keras的同学都经常看到这行代码:import keras.backend as K如果Keras的后端是基于TensorFlow的,那么这个K就是Tensorflow了,那么自然会想一个问题,为什么不直接import tensorflow呢,这样不是多此一举吗?这个问题就涉及到Ten原创 2020-06-25 17:11:18 · 1079 阅读 · 0 评论 -
【从零开始学Mask RCNN】二,Mask RCNN框架整体把握
1. 前言这一节将从代码库里面的demo.ipynb笔记本入手,来整体理解一下Mask RCNN的网络架构。2. 代码理解首先导入需要用到的原创 2020-06-23 21:52:32 · 1278 阅读 · 0 评论 -
利用渐进校准网络(PCN)的实时角度无关人脸检测
0. 前言熟悉人脸相关业务的读者应该对下面这个3D人脸模型比较熟悉:可以看到在3D空间中人脸的位姿主要包含三种:平面内旋转角(左右歪头问题):roll。平面外左右旋转(正脸,侧脸问题):yaw。平面外俯仰(仰头,低头问题):pitch。然后现在的很多人脸检测器比如我们介绍过的MTCNN,FaceBoxes,RetinaFace等等都实现了高精度的实时人脸检测,但这些算法往往都是在直立的人脸上表现很好,在角度极端的情况下表现不好。通过上面的3D模型我们想到,人除了正坐和站立,还有各种各样的姿原创 2020-06-20 20:01:57 · 1361 阅读 · 0 评论 -
【从零开始学Mask RCNN】一,原理回顾&&项目文档翻译
0. 前言从今天开始,我将为大家逐步介绍Mask RCNN这个将检测和分割统一起来的框架的具体原理以及详细代码解读,项目地址为官方代码,基于Keras框架实现,如果你不会Keras也并不要紧,我会尽量将原理和代码的解释做到位。另外说一下我自己的写作安排,在完成Mask RCNN之后,我将继续分享一些深度学习网络的一些加速技巧例如模型剪枝,低比特量化,指令集优化等等,希望大家可以继续支持我。(文末点在看就是最大的支持啦!)1. 算法总览Mask-RCNN是一个实例分割(Instance segmenta原创 2020-06-17 22:06:19 · 925 阅读 · 0 评论 -
目标检测算法之Light-Head R-CNN
1. 前言今天要为大家介绍一个RCNN系列的一篇文章,这也是COCO 2017挑战赛上获得冠军的方案。之前我们讲过了很多RCNN系列的检测论文了,例如Faster RCNN(请看公众号的Faster RCNN电子书)以及R-FCN 目标检测算法之NIPS 2016 R-FCN(来自微软何凯明团队) 。然后R-FCN是对Faster RCNN网络进行了改进,去掉了全连接层使得网络成为了全卷积网络,从而提升了检测速度,那么还能不能继续对R-FCN进行改进呢?Light-Head RCNN就实现了这一改进,我们原创 2020-06-14 19:29:38 · 525 阅读 · 0 评论 -
一个实用价值很大的人脸关键点检测算法PFLD
1. 前言原创 2020-06-10 20:54:37 · 1939 阅读 · 0 评论 -
InsightFace力作:RetinaFace单阶段人脸检测器
1. 前言RetinaFace是2019年5月来自InsightFace的又一力作,它是一个鲁棒性较强的人脸检测器。它在目标检测这一块的变动其实并不大,主要贡献是新增了一个人脸关键点回归分支(5个人脸关键点)和一个自监督学习分支(主要是和3D有关),加入的任务可以用下图来表示:语言是空洞的,我们来看一下在WiderFace数据集上RetinaFace的表现:另外再来看看论文跑出来的一个效果图:2. RetinaFace的特点RetinaFace有几个主要特点:采用FPN特征金字塔提取多尺原创 2020-06-03 22:01:12 · 1240 阅读 · 0 评论 -
DCN V1代码阅读笔记
1. 前言笔者前几天阅读了MASA 的可变形卷积算法,并写了一篇算法笔记:MASA DCN(可变形卷积) 算法笔记 ,然后里面也说了会放出一个代码解读出来,所以今天的推文就是来干这件事的,希望看完这篇文章你可对DCN的细节可以更加了解。本次解析的代码来自:https://github.com/ChunhuanLin/deform_conv_pytorch 。2. 代码整体介绍打开这个工程,我们发现只有333个文件,整个结构非常简单:实际上我们关注前面222个文件deform_conv.py和dem原创 2020-05-28 23:34:37 · 1381 阅读 · 6 评论 -
官方DarkNet YOLO V3损失函数完结版
1. 前言有了前面两篇文章的铺垫,基本上YOLOV3的损失函数就比较明确了。然后在上一节还存在一个表述错误,那就是在坐标损失中针对bbox的宽度www和高度hhh仍然是MSE Loss,而针对bbox的左上角坐标xxx,yyy的损失则是我们YOLOV3损失函数再思考 Plus 推出来的BCE Loss。接下来我就完整的写一下根据DarkNet官方源码推出来的YOLOV3的Loss。2. DarkNet YOLOV3 Loss直接写出公式,注意带*号的变量代表预测值,不带*号的表示标签:loss(ob原创 2020-05-23 22:24:04 · 5656 阅读 · 1 评论 -
YOLOV3损失函数再思考 Plus
1. 前言看到这个题目想必大家都猜到了,昨天的文章又有问题了。。。今天,又和两位大佬交流了一下YOLOV3损失函数,然后重新再对源码进行了梯度推导我最终发现,我的理解竟然还有一个很大的错误,接下来我就直入主题,讲讲在昨天文章放出的损失函数上还存在什么错误。2. 回顾上篇文章的地址是:你对YOLOV3损失函数真的理解正确了吗? ,然后通过推导我们将损失函数的表示形式定格为了下面的等式:那么这个等式还存在什么问题呢?答案就是DarkNet中坐标损失实际上是BCE Loss而不是这个公式写的MSE L原创 2020-05-21 21:55:12 · 576 阅读 · 0 评论 -
你对YOLOV3损失函数真的理解正确了吗?
1. 前言昨天行云大佬找到我提出了他关于GiantPandaCV公众号出版的《从零开始学YOLOV3》电子书中关于原版本的YOLOV3损失的一个质疑,并给出了他的理解。昨天晚上我仔细又看了下原始论文和DarkNet源码,发现在YOLOV3的原版损失函数的解释上我误导了不少人。所以就有了今天这篇文章,与其说是文章不如说是一个错误修正吧。2. 在公众号里面的YOLOV3损失函数在我们公众号出版的YOLOV3的PDF教程里对原始的DarkNet的损失函数是这样解释的,这个公式也是我参照源码(https://原创 2020-05-20 20:57:49 · 1090 阅读 · 0 评论 -
MASA DCN(可变形卷积) 算法笔记
1. 前言Deformable Convlolutional Networks是ICCV 2017一篇用在检测任务上的论文,它的出发点是在图像任务中目标的尺寸,形状变化不一,虽然目前(指代论文发表以前)的CNN对这些变化有一定的鲁棒性,但并不太够。因此论文以此为切入点,通过在卷积层中插入offset(可变形卷积)和在ROI Pooling层中插入offset(可变形ROI Pooling)来增强网络的特征提取能力。这个offset的作用是使网络在提取特征时更多的把注意力聚焦到和训练目标有关的位置上,可以更原创 2020-05-18 22:36:23 · 2162 阅读 · 0 评论 -
用于人脸检测的SSH算法
1. 前言Single Stage Headless Face Detector(SSH)是ICCV 2017提出的一个人脸检测算法,它有效提高了人脸检测的效果,主要的改进点包括多尺度检测,引入更多的上下文信息,损失函数的分组传递等等,论文相对比较简单,获得的效果也还不错(从Wider Face的结果来看,和前几天介绍的在小尺寸人脸检测上发力的S3FD 差不多)。2. 网络结构SSH算法的网络结构如Figure2所示:SSH算法是在VGG的基础上进行了改进,创新点主要有两个,即尺度不变性和引入更多原创 2020-05-17 18:14:25 · 714 阅读 · 0 评论 -
SNIP的升级版SNIPER(效果比Mosaic更佳)
1. 前言前面介绍了在小目标检测上另辟蹊径的SNIP算法,这一节来介绍一下SNIP的升级版SNIPER算法,这个算法的目的是减少SNIP的计算量。并且相比于SNIP,基于Faster RCNN(ResNet101作为Backbone)的实验结果显示SNIPER的mAP值比SNIP算法提升了4.64.64.6个百分点,所以效果也还是非常不错的。在单卡V100上,每秒可以处理555涨图像,这个速度在two-stage的算法中来看并不快,但是效果是非常好。2. 介绍SNIP算法借鉴了多尺度训练的思想进行训练原创 2020-05-10 22:53:34 · 1000 阅读 · 0 评论 -
在小目标检测上另辟蹊径的SNIP
1. 前言相信大家都或多或少的熟悉一些检测器,不知道你是否思考过这样一个问题?FPN的多特征图融合方式一定是最好的吗?如果你看过【CV中的特征金字塔】一,工程价值极大的ASFF这篇论文的话,你应该知道这篇论文的出发点就是如何对不同尺度的特征做自适应特征融合(感觉也可以叫作FPN+Attention),而非【CV中的特征金字塔】二,Feature Pyramid Network那样较为暴力的叠加(...原创 2020-05-09 22:44:36 · 389 阅读 · 0 评论 -
【Faster R-CNN】5. Faster RCNN代码解析第四弹
1. 前言经过前面三节,我们已经大概上讲清楚了如何构造一个完整的Faster RCNN模型以及里面的代码实现细节,这一节呢主要来解析一下工程中更外围一点的东西,即train.py和trainer.py,这将教会我们如何使用已经搭建好的Faster RCNN网络。解析代码地址为:https://github.com/BBuf/simple-faster-rcnn-explain 。2. 回顾首...原创 2020-05-05 22:19:42 · 826 阅读 · 0 评论 -
【Faster R-CNN】4. Faster RCNN代码解析第三弹
1. 前言上一节详细解读了Faster RCNN中的RPN和ROIHead的细节,这一节我们将从搭建完整的Faster RCNN模型出发来进行梳理。2. 搭建Faster RCNN网络模型Faster RCNN的整体网络结构如下图所示:注意网络结构图中的蓝色箭头的线代表了计算图,梯度反向传播会经过。而红色的线不需要反向传播。一个有趣的事情是在Instance-aware Semantic...原创 2020-05-03 09:12:16 · 668 阅读 · 0 评论 -
【Faster R-CNN】3. Faster RCNN代码解析第二弹
1. 前言回顾一下上节推文的内容,我们将Faster RCNN的数据预处理以及实现细节弄清楚了,并将其总结为了下图:这一节,我们将重点讲讲Faster RCNN中的RPN即候选框生成网络。2. 原理介绍&代码详解还是先回忆一下上节讲到的Faster RCNN整体结构,如下所示:可以看到原始图片首先会经过一个特征提取器Extrator这里是VGG16,在原始论文中作者使用了Ca...原创 2020-05-02 22:43:09 · 611 阅读 · 0 评论 -
【Faster R-CNN】2. Faster RCNN代码解析第一弹
1. 前言在2月10日,Faster RCNN专栏由pprp同学起了个头,文章地址见这里:【Faster R-CNN】1. 梳理Faster R-CNN的四个模块,本着对公众号的每个专栏负责任的态度,我将在接下来的时间里将整个Faster RCNN的原理以及代码(陈云大佬的:https://github.com/chenyuntc/simple-faster-rcnn-pytorch)按照我的...原创 2020-05-02 20:11:59 · 757 阅读 · 0 评论 -
YOLT: 大尺寸图像目标检测的解决方案
1. 前言前几天听人聊到了这个YOLT,本着长见识的目的稍微看了看,然后打算在这里给没看到的人做一个科普,希望这里面的几个Tricks可以对你有所启发。YOLT论文全称You Only Look Twice: Rapid Multi-Scale Object Detection In Satellite Imagery ,是专为卫星图像目标检测而设计的一个检测器,是在YOLOV2的基础上进行改进...原创 2020-04-25 23:11:19 · 4570 阅读 · 3 评论 -
在小尺寸人脸检测上发力的S3FD
论文链接:https://arxiv.org/abs/1708.052371. 前言人脸检测领域目前主要的难点集中在小尺寸,模糊人脸,以及遮挡人脸的检测,这篇ICCV2017的S3FD(全称:Single Shot Scale-invariant Face Detector)即是在小尺寸人脸检测上发力。2. 出发点&贡献S3FD这篇论文的出发点是当人脸尺寸比较小的时候,Anch...原创 2020-04-20 13:54:57 · 969 阅读 · 0 评论 -
【CV中的特征金字塔】八,SSD的改进版之DSSD
论文原文:https://arxiv.org/abs/1701.06659开源代码:https://github.com/chengyangfu/caffe/tree/dssd1. 前言DSDD全称为Deconvolutional Single Shot Detector,即在SSD算法的前面加了一个反卷积单词,这是CVPR 2017的一篇文章,主要是对SSD进行了一个改进。关于SSD的...原创 2020-04-12 19:24:06 · 1181 阅读 · 0 评论 -
深度学习算法优化系列二十二 | 利用TensorRT部署YOLOV3-Tiny INT8量化模型
1. 前言上一节深度学习算法优化系列二十一 | 在VS2015上利用TensorRT部署YOLOV3-Tiny模型 分享了使用TensorRT在GPU上部署FP32的YOLOV3-Tiny模型,这一节继续分享一下如何部署INT8的YOLOV3-Tiny模型。2. 确定走哪条路?和上一节一样,这里仍然是走ONNX->TRT这条路,也就是说我这里的INT8量化是在TensorRT中使用nv...原创 2020-04-04 17:50:34 · 3584 阅读 · 3 评论 -
【CV中的特征金字塔】七,SSD算法的改进版Rainbow SSD
论文题目:Enhancement of SSD by concatenating feature maps for object detection论文链接:https://arxiv.org/abs/1705.095871. 前言继续来开开脑洞,今天要介绍BMVC 2017的一个SSD的改进算法R-SSD。关于SSD可以看一下之前的论文笔记:目标检测算法之SSD,后面我也会整理出来一个...原创 2020-03-30 22:14:22 · 1506 阅读 · 0 评论 -
不需要预训练模型的目标检测算法DSOD
论文:Learning Deeply Supervised Object Detectors from Scratch1. 前言DSOD(Deeply Supervised Object Detectors)是ICCV 2017的一篇文章,它表达了一个非常有意思的东西。这篇论文不是从目标检测的高mAP值或者速度更快出发,而是从另外一个角度切入来说明fine-tune后的检测模型和直接训练的...原创 2020-03-29 21:51:34 · 1052 阅读 · 0 评论 -
【AlexeyAB DarkNet框架解析】十二,Dropout层代码详解
1. 前言继续DarkNet源码解析,本次解析src/dropout.h和src/dropout.c两个文件,也即是Dropout层。2. Dropout在CNN中使用Dropout分成训练和测试两个阶段,在训练阶段,Dropout以一定的概率ppp随机丢弃一部分神经元节点,即这部分神经元节点不参与计算,如下图所示。在训练时,每个神经元有概率ppp的可能性被保留下来,即Dropout的丢...原创 2020-03-28 21:37:45 · 924 阅读 · 0 评论 -
深度学习算法优化系列二十一 | 在VS2015上利用TensorRT部署YOLOV3-Tiny模型
1. 前言大家好,最近在VS2015上尝试用TensorRT来部署检测模型,中间走了两天弯路,感觉对于一个完全新手来说要做成功这件事并不会那么顺利。所以这里写一篇部署文章,希望能让使用TensorRT来部署YOLOV3/YOLOV3-Tiny检测模型的同学少走一点弯路。2. 确定走哪条路?这里我是将AlexeyAB版本DarkNet训练出来的YOLOV3-Tiny检测模型(包含*.weigh...原创 2020-03-27 18:15:42 · 1155 阅读 · 1 评论 -
目标检测算法之CVPR 2019 Guided Anchoring
1. 前言看过前几天【CNN调参】目标检测算法优化技巧的同学应该知道,ASFF的作者在构建Stronger YOLOV3 BaseLine的时候就用到了Guided Anchoring这种Trick。这篇论文题目为《Region Proposal by Guided Anchoring》,中了CVPR 2019。这篇论文提出了一种新的Anchor生成方法,不同于以前的固定Anchor或者根据数据...原创 2020-03-27 18:15:19 · 833 阅读 · 0 评论 -
目标检测算法之CVPR 2018 Cascade R-CNN
论文全称:Cascade R-CNN Delving into High Quality Object Detection论文链接:https://arxiv.org/abs/1712.00726论文代码:https://github.com/zhaoweicai/cascade-rcnn1. 前言附录https://blog.youkuaiyun.com/u014380165/article/...原创 2020-03-24 00:16:24 · 676 阅读 · 0 评论 -
【CV中的特征金字塔】六,ECCV 2018 PFPNet
论文全称:Parallel Feature Pyramid Network for Object Detection论文链接:http://openaccess.thecvf.com/content_ECCV_2018/papers/Seung-Wook_Kim_Parallel_Feature_Pyramid_ECCV_2018_paper.pdf1. 前言今天来学习一下这篇ECCV ...原创 2020-03-19 18:17:53 · 339 阅读 · 0 评论 -
【CV中的特征金字塔】五,Google Brain EfficientDet
1. 前言上周六解读了Google Brain在2019年的大作EfficientNet,可以在这个链接找到:卷积神经网络学习路线(二十二)| Google Brain EfficientNet。紧接着Google Brain又提出了这篇EfficientDet一举刷新MS COCO数据集的目标检测精度,今天就一起来看看这篇论文的核心思想吧。论文原文见附录,代码实现官方没开源,文后有一个别人复...原创 2020-03-07 13:24:57 · 842 阅读 · 0 评论 -
目标检测算法之ECCV 2018 RFBNet,在检测中调感受野
看了不少的目标检测论文了,个人认为多数论文的出发点就两个,一是感受野,二是特征融合。此外,解决数据不平衡和轻量化也是另外两个重要的方向。今天要讲解的RFBNet就是从感受野角度来改善了SSD检测器。1. 前言今天为大家科普一篇ECCV 2018的一篇目标检测网络RFBNet,论文全名为:Receptive Field Block Net for Accurate and Fast Obje...原创 2020-03-03 17:49:15 · 738 阅读 · 0 评论 -
【CV中的特征金字塔】四,CVPR 2018 PANet
1. 前言PANet是CVPR 2018的一篇实例分割论文,作者来自港中文,北大,商汤和腾讯优图。论文全称为:Path Aggregation Network for Instance Segmentation ,即用于实例分割的路径聚合网络。PANet在Nask RCNN的基础上做了多处改进,充在COCO 2017实例分割比赛上夺冠,同时也是目标检测比赛的第二名。接下来就一起来看看吧。2. ...原创 2020-03-01 22:38:14 · 633 阅读 · 0 评论