自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 Adversarial Patch(PyTorch)实现

Adversarial Patch是2017年NIPs的文章,网上有很多复现代码,但主要集中于TF。在找代码的过程中发现了Adversarial Robustness Toolbox包,这个包集成了很多对抗攻击方法,包括酚类、检测、跟踪,甚至还有语音识别,而且提供了TF、Pytorch等多种框架的实现方式。很值得大家一试。...

2022-06-15 22:50:43 1500 3

原创 RoIPooling与RoIAlign

直接上代码。import numpyimport torchimport torchvisiontorch.random.manual_seed(0)x1, y1, x2, y2 = 0.0, 16.0, 16.0, 32.0#RoIPooling的池化后输出3×3大小的特征图.图像尺寸为224,特征图尺寸为14,下采样倍数16.RoIPooling = torchvision.ops.RoIPool(output_size=3, spatial_scale=1/16)#设定原始图像的尺寸

2022-04-04 11:26:17 541

原创 RPN-4 结果

可以看出,RPN生产的框主要分布在前景。代码位于:https://gitee.com/wang_yang123/rpn

2022-04-02 21:40:09 440 1

原创 RPN-3 标签分配与选取正负样本

  本文介绍RPN是如何筛选正负样本。对应图中的红色部分。  假设输出特征图尺寸为13×19,在特征图的每个位置上会放置15个Anchor,则总共有13×19×15=3705个Anchor。但是一张图像上的Ground Truth是有限的,不能要求每一个Anchor都试图去回归Ground Truth,因此必须要有取舍。RPN从所有的Anchor中挑选出256个样本,其中正样本最多为128个,不够的用负样本补齐,并通过这256个样本进行训练。  首先计算图像中所有Ground Truth与Anchor

2022-04-02 20:58:44 1087 2

原创 RPN-2 Anchor Generator与RPN Head

  计算得到骨干网络的输出特征图后,进行两个步骤:1)生成Anchor并放置到特征图上的每一个点;2)将输出特征图输入RPN Head,在特征图的每个位置上预测Anchor的目标与回归参数。对应于图中的红色框部分。 def forward(self, image_list, feature_maps): # type: (ImageList, List[Tensor]) -> List[Tensor] # 获取每个预测特征层的尺寸(height, width)

2022-04-01 21:27:06 535 1

原创 RPN-1数据处理

简介  Region Propsal Network由任少卿等人提出,通过深度卷积网络从特征图上生产候选区域(Proposals),极大地提升了执行速度,并实现了端到端的训练。RPN也是Faster R-CNN的第一阶段框架,虽然距提出已有6年的时间,但是其中的基本机理对今天的目标检测任务仍有很大的启发意义,也适合新手作为入门的第一个项目。其后的Cascade R-CNN、Libra R-CNN等算法也对RPN中存在的问题进行了改进。

2022-04-01 19:57:05 474 1

原创 Vision Transformer-Base流程图

流程图注意的是,每一次Encoder执行完输出的特征图尺寸是一样的,会消耗较多的资源。训练时需要大量的额外数据才能达到和CNN近似的效果,我认为的主要原因是没有和CNN一样带有一定的先验知识(平移不变等)。...

2021-11-21 10:27:08 2637

原创 Intermediate Level Attack

2021-03-09 09:37:22 214

原创 CAM可视化全集

2021-01-20 16:08:36 229

原创 Pytorch unfold和fold

今天撸代码看到了unfold和fold,简单记述一下用法。文档中说明输入大小为(N,C,),输出为(N,C×连乘,L)。计算L的公式中,d为数据的空间维度,假设输入数据为(1,3,4,4),则可以将其看作是batch=1,channel=3,4×4的图像,4×4为二维,所以d=2。unfold到底在计算什么呢?我们平时调用pytorch的卷积接口,使用的是Conv,是一个完全封装好的过程。使用unfold,相当于将kernel滑动扫过的数据提取出来。比如刚刚(1,3,4,4),如果使用kernel_

2021-01-13 15:01:00 4598

原创 PyTorch中的梯度计算2

上篇博客已经说到,torch对梯度求导,仅保留叶子节点的梯度。这里使用FGSM进行说明。FGSM的公式为:对损失函数进行反传,得到原图x的梯度方向,在梯度方向上添加定长的扰动。结果为:这里打印了x梯度及其方向的[0,0,0,0:10]。但这里存在的一个问题是,我们仅能获得原图x的梯度,原图x为叶子结点。之后原图x送入网络,中间任何层的输出,均不是叶子结点,直至最后通过全连接输出结果(叶子节点)。那应当如何保存,数据通过网络中间层而产生的梯度呢?知乎上的解答写的很好:开发者说是因为当初开发时

2020-11-16 16:17:26 464

原创 PyTorch中的梯度计算1

主要用pytorch,对其他的框架用的很少,而且也没经过系统的学习,对动态图和梯度求导没有个准确的认识。今天根据代码仔细的看一下。import torchfrom torch.autograd import Variabletorch.manual_seed(1)x = torch.Tensor([2])y = torch.Tensor([10])loss = torch.nn.MSELoss()w = Variable(torch.randn(1),requires_grad=True)

2020-11-13 22:51:01 3697 1

原创 针对短接结构的对抗攻击策略

2020-11-09 23:28:39 82

原创 Transferable Adversarial Attacks for Image and Video Object Detection

2020-10-12 08:38:42 421 1

原创 ShapeMask

2020-10-09 09:03:57 271

原创 Commonality-Parsing Network

ECCV2020的一篇文章。

2020-10-06 15:47:02 106

原创 AutoFocus

2020-09-23 10:26:28 98

原创 SNIPER

2020-09-11 20:31:14 84

原创 SNIP

2020-09-10 20:00:46 88

原创 Anchor-Free算法-CornerNet

CornerNet是2018年ECCV的文章,使用人体关键点检测的思想完成目标检测任务。使用卷积神经网络进行目标检测任务已经取得了显著的效果。而目标检测中最常使用的一种机制就是锚框机制。不论是单阶段还是双阶段方法都应用了锚框机制。我个人理解呢,双阶段的锚框,如Faster-RCNN,使用不同大小、比例的锚框对图像进行遍历,判断出前后背景,并根据GT对锚框的位置进行回归;单阶段在不同缩放比例的特征图上放置锚框,对框的位置进行回归。但使用锚框存在多个问题,1.用不同的锚框对图像遍历,会产生非常非常多的锚框,

2020-09-07 16:47:05 426

原创 DCNv2阅读笔记

本文是对DCNv1的改进版本。DCNv1通过学习偏移增大卷积的感受野,虽然增大的感受野对任务是有帮助的,但是增大的部分可能远远超过了我们需要的部分,有点过犹不及,使得提取出的特征包含无关的图像信息。所以本文的主要目标就是解决这个问题。首先作者在网络中更大规模的使用变形卷积,提升网络的建模能力。其次通过老师网络指导主干网络对偏移的学习,控制其范围。(有点博弈的意思)作者回顾了DCNv1提出的可变形卷积与DCN ROI Pooling。通过可视化DCN训练中的感受野变化,作者发现感受野的激活点主要集中在目标

2020-09-02 20:11:38 441

原创 DCNv1阅读笔记

提出由于卷积网络卷积核的结构固定,导致对图像的建模不精确,对此作者提出了可变性卷积DCN和可变形ROI Pooling,两种方法都是在空间中通过学习偏移量来扩展卷积核的采样空间,并且所增加的资源很少,也可以进行端到端的训练。如何对于目标的形状、角度等几何变换进行建模,一般来说有两种方法,一是获得大量的监督信息,但这样成本太高;二是通过手工设计,这类的方法以前有很多了,但这种方法泛化能力较差,而且复杂情况下也未必奏效。卷积神经网络在计算机视觉任务取得了显著的成果,但同样有着上述的问题,卷积结构固定,对目标

2020-09-02 10:58:48 346

原创 pytorch语法unsqueeze、squeeze和gather

今天看网上DCN的解读,顺带看了代码,决定这次把unsqueeze和gather搞明白。unsqueeze的作用跟字面意思一样,与squeeze作用相反,就是扩维,请看代码。>>> import torch>>> a = torch.tensor([1,2,3,4,5])>>> a.shapetorch.Size([5])可以看到a的维度为1.>>> b=a.unsqueeze(dim=0)>>>

2020-09-02 08:26:36 1019

原创 Towards Large yet Imperceptible Adversarial Image Perturbations with Perceptual Color Distance

本文是白盒方法,已开源。

2020-08-17 08:07:59 286 1

原创 C&W攻击

C&W是非常经典的算法,它总结了之前算法的一些优缺点,成为了对抗样本生成算法的一个标杆。之前读了很多遍都没有踏踏实实的读下去,这是第一次全文认真读完,也有一些不明白的地方,希望能一起讨论。...

2020-08-13 00:13:52 3223

原创 残差注意力网络

2020-08-05 08:20:28 1225

原创 BEGAN

2020-07-07 11:03:55 105

原创 Universal Style Transfer via Feature Transforms

2020-07-06 19:01:18 163

原创 PSGAN阅读笔记

2020-07-02 10:59:18 250

原创 Self-Attention GANs 自注意力网络

2020-06-27 22:37:35 589

原创 Attention-GAN

2020-06-27 09:26:37 1161

原创 Dreaming to distill

b站机器之心有一作的oral。

2020-06-08 17:08:57 262 1

原创 AI-GAN阅读笔记

2020-06-04 17:10:31 249

原创 AdvGAN阅读笔记

2020-06-02 20:51:40 1001

原创 YOLO损失讲解

一点自己的认识,主要走的代码流程,理论基本没有,有错请指正。

2020-05-21 22:07:18 171

原创 对VAE的一些理解

2020-05-15 19:02:04 346

原创 暗通道先验对单图像去雾 Single Image Haze Removal Using Dark Channel Prior

原文发表在PAMI2011,一作何凯明。# -*- coding: utf-8 -*-import cv2import numpy as npimport argparsedef dark_channel(img, size = 15): r, g, b = cv2.split(img) min_img = cv2.min(r, cv2.min(g, b))#求出三...

2020-04-26 21:58:27 490

原创 NMS代码详解

dets = np.array([ [204, 102, 358, 250, 0.5], [257, 118, 380, 250, 0.7], [280, 135, 400, 250, 0.6], [255, 118, 360, 235, 0.7]])thresh = ...

2020-04-05 23:48:20 1044

原创 傅里叶级数与变换(二)

2020-04-02 23:50:06 116

原创 傅里叶级数与变换(一)

图像课讲到了对图像进行频域处理。讲到傅里叶…学了好几遍(信号课、信息隐藏课再到考研),但一直没学明白…这次好好推导一下。有种预感,在模型里加频域信息,将称为一类新的分支,CVPR20里有向分割模型里加频域信息的,然分割我看不懂…...

2020-03-30 12:57:53 350

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除