
计算机视觉
文章平均质量分 92
just-solo
这个作者很懒,什么都没留下…
展开
-
部分CV文章讲解链接
1、OHEM的本质就是筛选出hard negative 的rois然后用一个单独的网络对这些样本进行前向和反向传播,然后再把训练得到的模型参数赋值给所有rois的前向传播网络。2、AZ-Net我们考虑一种递归搜索策略,从整个图像开始作为根区域。对于搜索过程中遇到的任何区域,算法从该区域提取特征以计算缩放指示符和邻接预测。邻接预测的置信度得分高于阈值的加入输出区域提议集合中。如果缩放指示符高于阈值,则表示当前区域可能包含小对象。为了检测这些小物体,以图2所示的方式将当前区域划分为子区域。然后以与其父区域相同原创 2020-11-28 19:58:26 · 221 阅读 · 0 评论 -
精选CV的最新文章(持续更新)
sparse R-CNN使用固定数量的 learnable box/feature(与backbone无关) 替代anchors,从而将原始one/two-stage检测方法转换为set prediction形式原创 2020-11-27 20:33:18 · 273 阅读 · 0 评论 -
FCN(全卷积网络)详解
FCN详解全卷积网络就是在全连接网络的基础上,通过用卷积网络替换全连接网络得到的。首先看一下什么是全连接网络,以及全连接网络的缺点。通常的CNN网络中,在最后都会有几层全连接网络来融合特征信息,然后再对融合后的特征信息进行softmax分类。假设最后一层的feature_map的大小是7x7x512,那么全连接层做的事就是用4096个7x7x512的滤波器去卷积这个最后的feature_map。所以可想而知这个参数量是很大的!!但是全卷积网络就简单多了。FCN的做法是将最后的全连接层替换为409原创 2020-11-25 19:49:02 · 15580 阅读 · 0 评论 -
centertrack
Centertrack模型转换小结首先我转的模型是centertrack这个模型,其实总的来说这个模型还是比较简单的,但是由于其中有一个DCN卷积在onnx和tensorflow中不支持的自定义算子,所以转换起来有会有很多问题。CenterNet其实CenterNet一共是有两篇文章的,他们都是AnchorFree类型的网络,两个网络既有相似的地方也有本质的区别,都很具有启发意义,跟我们的CenterTrack都有很大的关系,所以在这里都介绍一下。先讲一下《CenterNet: Keypoint T原创 2020-12-31 23:54:33 · 3919 阅读 · 2 评论 -
Light-Head R-CNN学习笔记
Light-Head R-CNN学习笔记在这篇文章里,作者主要分析了:为什么two-stage detector会慢,主要慢在哪?如何在解决速度慢同时保证精度?文中,作者把 two-stage 拆解成 body 跟 head:body: 生成proposal(RoI)的过程, 即: ROI warping.head: 基于proposal的recognition过程, 即: RCNN subnet.作者认为,目前的算法,为了追求best accurcy,一般都会把head设计的非常heavy,原创 2020-06-17 21:56:10 · 263 阅读 · 0 评论 -
R-FCN学习笔记
R-FCN学习笔记R-FCN的主要贡献在于解决了“分类网络的位置不敏感性(translation-invariance in image classification)”与“检测网络的位置敏感性(translation-variance in object detection)”之间的矛盾,在提升精度的同时利用“位置敏感得分图(position-sensitive score maps)”提升了检测速度。已经提出来的两种解决方案:首先Faster-rcnn网络的缺陷是大量的卷积层位于roi-pooli原创 2020-06-16 21:40:30 · 280 阅读 · 0 评论 -
DetectoRS学习笔记(54.7AP 目前目标检测最强模型!)
DetectoRS学习笔记从结果上看,这篇文章在Res50+HTC的基础上将box mAP从43.6刷到了51.3.文章的创新点主要来自于两点:1、FPN的改进—>RFP主要提出对FPN的结构增加feedback的反馈和recursive的repeat堆叠, 融合时还使用了ASPP的结构,增大了全局特征和感受野。具体示意图如下:公式为:这里的f代表的就是自顶向下的FPN的过程,B就是自底向上的特征提取的过程,x是输入,R是自顶向下传输到自底向上的过程中的横向连接的一种转换,也就是ASPP原创 2020-06-06 20:33:02 · 3057 阅读 · 0 评论 -
bottlenect attention module(BAM)
bottlenect attention module(BAM)1. BAM论文代码链接BAM全程是bottlenect attention module,与CBAM很相似的起名,还是CBAM的团队完成的作品。CBAM被ECCV18接收,BAM被BMVC18接收。CBAM可以看做是通道注意力机制和空间注意力机制的串联(先通道后空间),BAM可以看做两者的并联。具体的代码实现如下:2、时间注意力机制class Flatten(nn.Module): def forward(self原创 2020-06-03 17:49:49 · 937 阅读 · 0 评论 -
Convolutional Block Attention Module(CBAM)
Convolutional Block Attention Module(CBAM)论文1. 什么是注意力机制?注意力机制(Attention Mechanism)是机器学习中的一种数据处理方法,广泛应用在自然语言处理、图像识别及语音识别等各种不同类型的机器学习任务中。通俗来讲:注意力机制就是希望网络能够自动学出来图片或者文字序列中的需要注意的地方。比如人眼在看一幅画的时候,不会将注意力平等地分配给画中的所有像素,而是将更多注意力分配给人们关注的地方。从实现的角度来讲:注意力机制通过神经网络的操作原创 2020-06-03 16:27:10 · 2238 阅读 · 0 评论 -
CV中的attention机制之(cSE,sSE,scSE)
CV中的attention机制之(cSE,sSE,scSE)论文代码SE模块的博文链接提出scSE模块论文的全称是:《Concurrent Spatial and Channel ‘Squeeze & Excitation’ in Fully Convolutional Networks 》。这篇文章对SE模块进行了改进,提出了SE模块的三个变体cSE、sSE、scSE,并通过实验证明了了这样的模块可以增强有意义的特征,抑制无用特征。实验是基于两个医学上的数据集MALC Dataset和Vi原创 2020-06-03 10:11:38 · 11615 阅读 · 0 评论 -
YOLOv4---(详解各种trick)
YOLOv4—(详解各种trick)参考自(https://zhuanlan.zhihu.com/p/139764729)前段时间大名鼎鼎的yolov4终于面世了,可是看过以后确实大失所望。不是说yolov4不好,只不过没有什么革命性的创新,相当于作者尝试了计算机视觉领域的各种花里胡哨的trick,然后给了一个最佳方案的trick组合。而且,这些东西对于实际的工业生产并没有什么用。。。。也就是落地基本不可能。下面来仔细看一下文章中提到的各种trick。论文地址github文中将前人的工作主要分原创 2020-05-29 11:30:46 · 20786 阅读 · 8 评论 -
打通多个视觉任务的全能Backbone:HRNet
打通多个视觉任务的全能Backbone:HRNet参考:https://arxiv.org/pdf/1908.07919https://www.bilibili.com/video/BV1WJ41197dh?t=508https://github.com/HRNetHRNet是微软亚洲研究院的王井东老师领导的团队完成的,打通图像分类、图像分割、目标检测、人脸对齐、姿态识别、风格迁移、Image Inpainting、超分、optical flow、Depth estimation、边缘检测等网络结原创 2020-05-26 23:11:52 · 376 阅读 · 2 评论 -
ACNet(无痛涨点)
ACNet(无痛涨点)论文链接1. 前言不知道你是否发现了,CNN的结构创新在这两年已经变得相对很少了,同时要做出有影响力并且Solid的工作也变得越来越难,最近CNN结构方面的创新主要包含两个方面:1、网络结构搜索,以Google Brain的EfficientNet为代表作。2、获取更好的特征表达,主要是将特征复用,特征细化做得更加极致,以HRNet,Res2Net等为代表作。本文要介绍的是ICCV 2019的一个新CNN架构ACNet(全称为Asymmetric Convolution N原创 2020-05-26 10:45:43 · 4664 阅读 · 1 评论 -
华为GhostNet
华为GhostNet1. 引言受限于内存以及计算资源,将常规的CNN架构部署到移动设备是件非常困难的事。近几年来有各种移动端网络架构设计,大部分都是从减少卷积计算量的思路出发,谷歌出品的Mobilenet系列是提出了「Depthwise+Pointwise卷积」来减少计算量,旷视则是提出「通道混洗」,利用转置操作,均匀的shuffle各个通道进行卷积。Mixnet是在Mobilenet基础上,关注了卷积核的大小,通过「不同大小卷积核」所生成的卷积图在不增加计算量前提下进一步提高精度。而华为的Ghostn原创 2020-05-25 23:33:01 · 675 阅读 · 0 评论 -
非极大值抑制(NMS)和soft-nms,及其代码实现
非极大值抑制(NMS)和soft-nms,及其代码实现NMS算法的大致思想:对于有重叠的候选框:若大于规定阈值(某一提前设定的置信度)则删除,低于阈值的保留。对于无重叠的候选框:都保留。注释很详细了,应该能看得懂。# -*- coding:utf-8 -*-import numpy as npimport matplotlib.pyplot as pltdef NMS(arr, thresh): # 首先数据赋值和计算对应矩形框的面积 # arr的数据格式是arr = [[ xm原创 2020-05-22 11:10:28 · 1008 阅读 · 0 评论 -
目标检测中的MAP的计算(逐步推导)
目标检测中的MAP的计算(逐步推导)概念介绍首先放一下前面一篇博文中提到的precision和recall的计算公式和概念。P(precision) = TP/(TP+FP) 在目标检测中就是检测出的所有框中预测正确的比例。R(recall) = TP/(TP+FN) 在目标检测中就是所有的ground truth(不懂ground truth的自行百度,简单点就是你的训练数据中事先标注好的bboxes)中检测出来的部分所占的比例。我们假设一个场景,一共有两张图片,有两个类别,一个类别是人一个类别原创 2020-05-21 23:21:48 · 3416 阅读 · 0 评论 -
卷积神经网络系列以及代码实现继往开来的backbone(Lenet,AlexNet,ZFNet,VggNet,gooleNet,DenseNet,DPN双路网络)
继往开来的backbone(卷积神经网络系列)(Lenet,AlexNet,ZFNet,VggNet,gooleNet,DenseNet,DPN双路网络)LeNet首先看一下网络图这时候的卷积神经网络是没有padding的。keras实现代码def LeNet(): model = Sequential() model.add(Conv2D(32,(5,5),strides=(1,1),input_shape=(28,28,1),padding='valid',activa原创 2020-05-16 13:15:29 · 817 阅读 · 0 评论 -
BN(多种角度),IN,LN,GN 的原理,公式,以及反向传播的推倒及代码
batchnormalization(BN) 的原理,公式,以及反向传播的推倒及代码(参考自https://mp.weixin.qq.com/s?__biz=MzA4MjY4NTk0NQ==&mid=2247484478&idx=1&sn=10012618cc60f180c5e4fa1ef52d8d00&chksm=9f80bea8a8f737be7e2e3a2374731bcf89ac25238fcdf35fc6dde3157a12333b8c2864c568a2&原创 2020-05-16 12:44:13 · 2946 阅读 · 0 评论 -
卷积神经网络之Inception系列学习笔记
Inception系列学习笔记InceptionV1又叫做GooleNet,他的创新点主要有:1、提出Inception模块。2、使用辅助Loss。3、全连接层用简单的平均池化代替。网络太大就不放了。下面介绍一下Inception模块:a图是基本的inception模块,b图是添加1x1卷积的inception模块,这样极大的降低了计算量。Inception模块中的卷积步长都是1,另外为了保持特征图大小一致,都设置了Padding方式为Same。每个卷积层后面都接了ReLU激活函数。在输出前有原创 2020-05-16 12:36:50 · 1683 阅读 · 2 评论 -
anchor_free and anchor_based的简单理解
anchor_free and anchor_based的简单理解参考自(https://www.zhihu.com/people/AI_team-WSF)anchor_based目标检测中一般用到的就是anchor_based。那么什么是anchor_based呢?在一张图片上放置大量的预先定义好的 anchor boxes,然后预测其类别,优化这些anchor boxes的坐标,最终将这些优化后的 anchor boxes作为检测结果输出。anchor_based又分为单阶段检测和双阶段检测,原创 2020-05-15 20:48:13 · 1357 阅读 · 0 评论 -
普通卷积和可分离卷积的参数量和计算量以及FLOPS的计算
普通卷积和可分离卷积的参数量和计算量以及FLOPS的计算首先看一下普通卷积的计算过程。我们直接给出普通卷积的参数量,计算量的计算公式。假设输入的feature-map大小是N x H x W的,卷积核的大小是m x h x w,经过卷积后输出的feature-map是S x A x B。所以普通卷积的参数量h x w x N x S普通卷积的计算量h x w x A x B x N x S我们可以看出参数量和计算量的计算跟原来feature-map的长宽没有任何关系,跟卷积核的纬度也没有任何关系原创 2020-05-15 16:31:54 · 1885 阅读 · 1 评论 -
再话RNN,LSTM(双向RNN)帮助你一次记住LSTM!!
再话RNN,LSTM(双向RNN)之前写了一篇关于RNN,LSTM,GRU的公式推导以及前向传播的文章,但是后来发现,当时自己写的时候挺清楚的,后来过段时间就忘了,看来还是理解的不够啊。所以今天这篇文章写一下,到底什么是RNN,LSTM。首先,大家都知道,RNN解决的就是神经网络记忆的问题。因为RNN网络的有一个临时的输入,所以可以很好地记忆住之前的信息。但是,在进行BPTT(rnn的反向传播)的时候,你就会发现RNN会出现梯度消失的现象,RNN的梯度消失跟CNN的梯度消失是不一样的,RNN由于每个原创 2020-05-10 14:16:57 · 815 阅读 · 0 评论 -
DCN和DCNv2(可变性卷积)学习笔记(原理代码实现方式)
DCN和DCNv2(可变性卷积)网上关于两篇文章的详细描述已经很多了,我这里具体的细节就不多讲了,只说一下其中实现起来比较困惑的点。(黑体字会讲解)DCNv1解决的问题就是我们常规的图像增强,仿射变换(线性变换加平移)不能解决的多种形式目标变换的几何变换的问题。如下图所示。可变性卷积的思想很简单,就是讲原来固定形状的卷积核变成可变的。如下图所示:首先来看普通卷积,以3x3卷积为例对于每...原创 2020-07-23 08:03:00 · 38944 阅读 · 35 评论 -
RCNN,fast-rcnn学习笔记
RCNN,faste-rcnn学习笔记RCNN首先来说一下RCNN。至于RCNN的开创新地位我就不提了,直接讲RCNN的结构。首先RCNN有一个预训练的backbone(alexnet,vgg),然后重新训练一下最后的全连接层也就是fine-tune技术,因为我们的输出的N类,所以我们要把之前的20类改成N+1类输出。再然后就是候选框的生成,利用的selective Search算法提取所...原创 2020-04-20 21:52:00 · 204 阅读 · 0 评论 -
目标检测中的一些评价标准(ACC,Precision,recall,AP,MAP,F1Score,ROC,AUC)
目标检测中的一些评价标准(ACC,Precision,recall,AP,MAP,F1Score,ROC,AUC)介绍这些之前,应该了解一下最基本的TP,TN,FP,FN.先看一下下面这些解释。True positives: 简称为TP,即正样本被正确识别为正样本,飞机的图片被正确的识别成了飞机。True negatives: 简称为TN,即负样本被正确识别为负样本,大雁的图片没有被识别出...原创 2020-04-17 23:44:28 · 8018 阅读 · 0 评论 -
目标检测比赛的trick
目标检测比赛的trick取自郑烨大佬的分享。1、anchor_ratio和anchor_scale的设置。根据模型感受野,anchor的长宽比,图片的长宽比来确定上面这两个数字。链接1链接22、hrnet作为backbone来应对iou要求极高的检测3、粗检测+细检测来应对目标数量极其稀少的检测。4、训练采样的方式:a、在线加权采样(1、按照类别数量比例加权 2、按照图片类别丰富程...原创 2020-04-17 20:38:04 · 1346 阅读 · 0 评论 -
ROI-Align 原理理解
转载:https://blog.youkuaiyun.com/gusui7202/article/details/84799535转载:https://www.cnblogs.com/ranjiewen/articles/8869703.html前面一个理解较为深刻,后面讲的详细点。原创 2020-04-11 23:47:09 · 2500 阅读 · 0 评论 -
CV面试题(持续更新!!!)
CV面试题1、反卷积反卷积又叫做转置卷积,在计算机中计算的时候,转置卷积先将卷积核转为稀疏矩阵C的形式,然后计算的时候正向传播的时候左乘这个稀疏矩阵C的转置,反向传播的时候左乘这个稀疏矩阵C。一般的卷积运算可以看成是一个其中非零元素为权重的稀疏矩阵C与输入的图像进行矩阵相乘,反向传播时的运算实质为C的转置与loss对输出y的导数矩阵的矩阵相乘反卷积的运算过程与卷积正好相反,是正向传播时左乘...原创 2020-05-11 20:38:46 · 28222 阅读 · 0 评论 -
最简单最易实现的SE模块(Squeeze-and-Excitation Networks)
最简单最易实现的SE模块Squeeze-and-Excitation NetworksSENet是Squeeze-and-Excitation Networks的简称,拿到了ImageNet2017分类比赛冠军,其效果得到了认可,其提出的SE模块思想简单,易于实现,并且很容易可以加载到现有的网络模型框架中。SENet主要是学习了channel之间的相关性,筛选出了针对通道的注意力,稍微增加了一...原创 2020-04-07 23:33:51 · 11769 阅读 · 3 评论 -
EfficientNet 阅读笔记
EfficientNet 阅读笔记参考自(https://mp.weixin.qq.com/s?__biz=MzA4MjY4NTk0NQ==&mid=2247485124&idx=1&sn=d2d6ed5fc9078fe2c522c6647b340668&chksm=9f80bc52a8f735441a4cbcdb7364ba0f7e5fb781465e93a3e...原创 2020-04-07 23:26:56 · 561 阅读 · 0 评论 -
轻量化网络ShuffleNet MobileNet v1/v2/v3( MobileNet)学习笔记
轻量化网络ShuffleNet MobileNet v1/v2学习笔记部分取自(giantpandacv公众号)在学习这两部分之前,大家应该要懂一个卷积操作,分组卷积和深度可分离卷机。其实他们的原理差不多,我在这里就不详细讲了,不清楚的同学可以查看我的这篇博文这篇博文几乎涵盖了现在神经网络中大部分的卷积的骚操作,看完以后相信你就会茅塞顿开的。MobileNet v1文章链接Mobilen...原创 2020-04-07 22:57:11 · 13023 阅读 · 3 评论 -
DenseNet学习笔记
DenseNet学习笔记近几年来,Highway和ResNet结构中均提出了一种数据旁路(skip-layer)的技术来使得信号可以在输入层和输出层之间高速流通,核心思想都是创建了一个跨层连接来连通网路中前后层。在本文中,作者基于这个核心理念设计了一种全新的连接模式。为了最大化网络中所有层之间的信息流,作者将网络中的所有层两两都进行了连接,使得网络中每一层都接受它前面所有层的特征作为输入。由于网...原创 2020-04-07 14:29:31 · 404 阅读 · 0 评论 -
目标检测和感受野的总结和想法
目标检测和感受野的总结和想法先放一下大佬的微信公众号(GiantPandaCV)接下来我们讲一下目标检测中很重要的一个思想,感受野的计算方法。经典的目标检测如Faster R-CNN, YOLOv3等都用到了Anchor, 怎么设计Anchor每个目标检测方法各不相同。Faster R-CNN中的Anchor有三种形状,三种长宽比,比如形状有[128, 256, 512]三个,长宽比有[1:...原创 2020-04-07 12:14:22 · 738 阅读 · 0 评论 -
目标检测算法之AAAI 2020 DIoU Loss 已开源(YOLOV3涨近3个点)
目标检测算法之AAAI 2020 DIoU Loss 已开源(YOLOV3涨近3个点)我们先来回顾一下IoU Loss和GIoU Loss。IoU Loss可以表示为:LIoU=1−∣B∩Bst∣∣B∪Bst∣L_{I o U}=1-\frac{\left|B \cap B^{s t}\right|}{\left|B \cup B^{s t}\right|}LIoU=1−∣B∪Bst∣∣B∩B...原创 2020-04-06 22:24:35 · 1022 阅读 · 0 评论 -
目标检测算法之CVPR2019 GIoU Loss
目标检测算法之CVPR2019 GIoU Loss首先说一下GIOU的计算方式:然后计算C \ (A ∪ B) 的面积与C的面积的比值,注:C \ (A ∪ B) 的面积为C的面积减去A∪B的面积。再用A、B的IoU值减去这个比值得到GIoU。前面介绍了很多Anchor-Based的目标检测算法,它们的Loss普遍使用bbox和ground truth bbox的L1范数,L2范数来计算位...原创 2020-04-06 21:54:41 · 424 阅读 · 0 评论 -
目标检测算法之RetinaNet(引入Focal Loss)
目标检测算法之RetinaNet(引入Focal Loss)其实说白了RetinaNet就是resnet-101-fpn + Focal loss。不了解resnet的可以查看我前面的博客对resnet讲的很详细。下面我们着重来介绍一下Focal loss。在我们的目标检测中有三类不平衡(我这里总结的很详细)问题会导致我们目标检测的最终效果不是很理想。而我们的Focal loss解决的就是...原创 2020-04-06 13:44:10 · 689 阅读 · 0 评论 -
XceptionNet学习笔记
XceptionNet学习笔记惯例先放大佬链接(https://mp.weixin.qq.com/s?__biz=MzA4MjY4NTk0NQ==&mid=2247485649&idx=1&sn=915dfceaad52ddd95eebc48b14b689da&chksm=9f80b247a8f73b51c9aae836adfd7838b95bb60dd340e5...原创 2020-04-06 11:39:07 · 528 阅读 · 0 评论 -
如何提高卷积神经网络模型的泛化能力
如何提高卷积神将网络模型的泛化能力在做工程的时候如何提高自己训练出来的模型的泛化能力是一项具有挑战性同时也是一件充满"玄学"的事情。回想我这一年半载训练的那么几个任务的调参来讲,大概可以总结为下面这几点。1、使用更多的数据。竟可能标注更多的训练数据,这是提高泛化能力最理想的方法,更多的数据让模型得到更充分的学习,自然提高了泛化能力,但实际场景中考虑到标注成本的问题,可能并不能无脑加数据。2、...原创 2020-04-05 21:43:46 · 10869 阅读 · 0 评论 -
反卷积中的棋盘效应
反卷积中的棋盘效应当我们在用反卷积(转置卷积)做图像生成或者上采样的时候或许我们会观察到我们生成的图片会出现一些奇怪的棋盘图案或者说你感觉到你生成的图片有颗粒感。这种现象之所以会发生是因为在上采样使用反卷积的时候,卷积核的大小不能被步长整除导致的。先看一下没有棋盘效应的情况:stride=1,kernel_size=3再看一下出现棋盘效应的情况:stride=2,kernel_siz...原创 2020-04-05 21:31:24 · 1071 阅读 · 0 评论 -
深度学习基础之卷积(涵盖基本大多数神经网络中会用到的卷积)
大话卷积!!!首先我们说的卷积是神经网络中的卷积不是信号处理和信号分析里面的卷积,这两者是有区别的。(部分内容和图片取自https://blog.youkuaiyun.com/ahxieqi/article/details/93628533和公众号GiantPandaCV)1、1x1卷积我们都知道卷积核的一个特性就是,输出图像的纬度只取决于卷积核的数量!其实内部原理拿1x1卷积核来举个栗子就是,1x...原创 2020-04-05 15:04:10 · 1241 阅读 · 1 评论