- 博客(49)
- 资源 (11)
- 收藏
- 关注
原创 MLP在CV上的复兴,“Pay Attention to MLPs“
前言本文写于2021年8月27日。最近好像没人写这方面的总结,我就稍微写一写。transformer最近成为cv学术圈的宠儿,有声音鼓吹要取代CNN。然而透过一切浮华的外表,有人说,不就是MLP+softmax嘛。这不,谷歌吹响了复兴MLP的号角,一系列魔改接踵而至。MLP能否达到transformer的热度?拭目以待。为什么需要要复兴MLP?我觉得有两个原因很重要:简单,通用。目前的实验结果表明,MLP确实有复兴的希望。先锋:MLP-MixerMLP-Mixer: An all-MLP Arc
2021-08-27 17:45:58
1168
1
原创 【CUDA编程】二:实现图像滤波和K均值聚类算法
前面介绍了几个简单的CUDA程序,这里再举两个更具体的应用。为简单记,用python写。图像滤波图像滤波是用一个带参数滤波器(也可以称为核,也可以称为模板)对图像逐像素点处理,通常是对像素邻域进行加权和。这里滤波器设为能够提取边缘的索贝尔算子。import pycuda.autoinitimport pycuda.driver as drvfrom pycuda.compiler import SourceModuleimport cv2import mathimport numpy a
2021-06-02 16:03:24
1336
3
原创 【CUDA编程】一:从简单的实例入门
前提拥有NVIDIA的显卡-配置好cuda有C/C++基础代码1//helloworld.cu#include <iostream>#include <stdio.h>/** __global__ 用于修饰在gpu上运行且由cpu调用的函数*/__global__ void k_add (int a, int b, int* c ){ *c = a+b;}/** __host__用于修饰在cpu上运行的函数,一般缺省*/int main(v
2021-05-31 14:09:06
6526
2
原创 CNN中特征融合的一些策略
尽管特征融合的方法很多,但如果数学化地表示,大体可以分为以下几种形式:X+Y\textbf{X}+\textbf{Y}X+Y: X\textbf{X}X、Y\textbf{Y}Y表示两个特征图,+++表示元素级相加. 代表如ResNet、FPNX concat Y\textbf{X} \; concat\;\textbf{Y}XconcatY .concatconcatconcat表示张量 拼接操作。 代表如GoogleNetX+G(Y)⋅Y\textbf{X}+\textbf{G(Y)}\cd
2020-11-29 20:51:39
13891
3
原创 CNN反向传播推导
基础:链式法则神经网络反向传播的求导基于链式法则。以两个复合的函数为例:df(g(x))dx=df(g(x))dg(x)⋅dg(x)dx\frac{\mathrm{d}f(g(x))}{\mathrm{d}x}=\frac{\mathrm{d}f(g(x))}{\mathrm{d}g(x)}\cdot \frac{\mathrm{d}g(x)}{\mathrm{d}x}dxdf(g(x))=dg(x)df(g(x))⋅dxdg(x)神经网络的每层相当于一个简单的函数,整个神经网络就相当于这些函数
2020-06-19 22:58:02
564
原创 概率论基础复习
基本概念样本空间:试验所有可能结果构成的集合互斥事件:不可能同时发生的事件对立事件:两个事件必然有一个且仅有一个发生德摩根率:A∪B‾=A‾∩B‾\overline{A\cup B}=\overline{A}\cap \overline{B}A∪B=A∩B, A∩B‾=A‾∪B‾\overline{A\cap B}=\overline{A}\cup \overline{B}A∩B=A∪B加奇减偶:P(A1∪A2)=P(A1)+P(A2)−P(A1∩A2)P(A_1\cup A_2)=P(A_1)
2020-06-05 22:59:36
778
原创 微积分基础复习
复习用书:《同济高等数学》第五版第一章 函数与极限集合:具有某种特定性质的事物的总统,其中的元素简称元常用集合:全体正整数N, 全体整数Z,全体有理数Q,全体实数R领域:以点a为中心的任何开区间称为a的邻域,记为U(a)基本初等函数:包括 幂函数,指数函数,对数函数,三角函数,反三角函数数列极限:xnx_nxn为数列,∃a,∀ϵ,∃N,n>N→∣xn−a∣<ϵ\exist a,\forall\epsilon,\exist N, n>N\rightarrow|x_n-a|&
2020-06-05 22:43:18
476
原创 【CVPR2020】无监督:VC RNN
无监督的视觉常识特征学习:VC RNN文章来源:https://arxiv.org/pdf/2002.12204.pdf作者先讲了一堆普通人可能没接触过的概念,看英文可能比较难看懂(其实就是贝叶斯网络的那一套)直接看作者中文解释吧Here...
2020-06-03 22:37:12
638
原创 【CVPR2020】视频分析:e2e
小样本视频识别:e2e文章来源:https://arxiv.org/pdf/2003.01455.pdfMotivation实际应用中获得视频的标签代价是高昂的,然而目前已经有丰富的视频识别训练集。可以在已有的训练集上训练再作迁移。小样本视频识别一般可分两种,一是测试视频已知但测试标签未知,二是测试视频和标签都未知。本文探讨的是后一种。不论哪种,训练样本的标签应该和测试样本的标签不重合,但是很多文章都做不到这一点。Previous work之前小样本视频识别方法:给一个测试视频x,和测试标签集
2020-06-03 19:58:28
286
原创 【CVPR2020】目标检测:ATSS/Few-Shot/AugFPN
ATSS文章标题:Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection本文做的三个工作都值得玩味:1,anchor based和 anchor free的本质区别是如何定义正负训练样本2,提出了ATSS模块用于自动选择正负训练样本3,每点只需一个anchor即可Essential Difference以achor based的代表Reti
2020-05-28 16:52:45
864
2
原创 【CVPR2020】人脸识别:Face X-ray/SCN
反伪造:Face X-ray文章来源:https://arxiv.org/pdf/1912.13458.pdfIntuition大部分的人脸伪造算法都具有相同的步骤:将一个修改后的人脸图像放在另一个背景图像中,如下图所示而这两张图像由于采集或生成方式的不同,某些性质可能有差异,如果成功检测出这些差异,不仅可以判断人脸是否是伪造的,还可以确定图像融合的边界。下图展示了伪造人脸和背景两个指标的不同。fomula人脸融合的公式如下其中IM是融合后的图像,IF是前景图像,IB是背景图像,M
2020-05-27 13:09:18
3460
原创 【CVPR2020】网络结构:GhostNet/频域卷积/Pi-Net
轻量网络:GhostNetIntuition1, CNN的特征图往往含有冗余的信息2,冗余的信息可能是网络表现好的关键3,这些冗余的信息可以通过更简单的计算得到下图列举了三组相似的特征图,每组两张。可以通过简单的线性计算使其中一张特征图转换为另一张Network设s张特征图可以分为一组。则每组只需一张特征图(暂称为标准特征图)由普通的方式得到,其他的可以用这一张特征图再做卷积(不带激活层)得到。设输入特征图c×h×wc\times h \times wc×h×w,输出特征图n×h′×w′
2020-05-26 21:15:33
1827
原创 【行为识别】TSN/TRN/TSM/SlowFast/Non-local
前言记录视频理解领域的几篇文章吧,由于每篇值得记录的东西不多,所以合在一起。关于开源框架,目前已知的有Facebook的SlowFast和商汤的X-Temporal,有设备的就尽量多跑跑模型吧视频相对于静态图像多了时间维度。静态图像的分类、检测、分割做得相对完善了,视频方面的工作想有创新必须在时间这个维度上钻研。预备知识时空卷积文章标题:A Closer Look at Spatiotemporal Convolutions for Action Recognition首先探讨一下几种形式的
2020-05-24 14:33:24
6938
原创 【视频检测】Flow-Guided Feature Aggregation for Video Object Detection
文章来源: Flow-Guided Feature Aggregation for Video Object DetectionIntroductionFGFA 是Deep Feature Flow的拓展工作。其主要思路是通过光流融合相邻帧的特征图来增强本征的特征。DFF为了提升速度而牺牲精度,而FGFA为了精度而牺牲速度。Network Architecture图中左右间隔K=10,聚合长度为2K+1=21. 当前帧(第t帧)由于运动模糊等原因导致特征图原本有目标的部分没有响应,但相邻帧(第.
2020-05-20 19:09:36
600
原创 【视频检测】FlowNet: Learning Optical Flow with Convolutional Networks
文章来源:https://arxiv.org/pdf/1504.06852.pdfNetwork Architecture作者从两个思路来设计网络,一种是更为通用的(这个网络用于其他领域比如语义分割也行),将两张图像拼接到一起(concate)作为输入,经由单个网络输出,名为FlowNetSimple;另一种能体现出计算Optical Flow 的特点(即计算两张图像的变化),作两路输入提取到两路特征图,之后再做进一步的操作,名为FlowNetCorr。FlowNetCorr这部分引用 ht.
2020-05-20 13:29:56
254
原创 【视频检测】Deep Feature Flow for Video Recognition
文章来源:https://arxiv.org/pdf/1611.07715.pdfIntroduction提出了DeepFeatureFlow Network,通过流场将深度特征从关键帧映射到其他帧,这样就节省了其他帧计算深度特征的时间。因为计算流场的时间相较而言很短,所以能够提高效率。Related WorkSlow Feature Analysis研究发现高级语义特征(深层特征)在帧间的变化慢于低级的语义特征(原图或浅层特征)。Optical Flow计算光流有传统的方法。也有基于神经.
2020-05-19 22:38:18
283
原创 【目标检测】多尺度问题:TridentNet/
前言多尺度问题是目标检测里老生常谈的话题了。TridentNet文章来源: https://arxiv.org/pdf/1901.01892.pdf文章首先通过实验证明了感受野和待测物体尺寸匹配的重要性。大的感受野配大的待测物体。增大感受野的方式就是将普通卷积替换为带孔卷积。下图为Trident block结构。 总共有三个分支,每个分支使用同一套卷积参数,只不过带孔卷积的dilation rate不同。Output1对小目标效果较好,Output2对中等目标效果好,Output3对大目标效果
2020-05-18 22:43:16
595
原创 【图像分类实战】比赛技巧总结
如何扩充数据集1、使用外部公开的数据集,比如从ImageNet中抽出相应的类2、数据增广3、如果必要的话,将验证集加入训练如何提高模型的表现1、如果设备允许的话,尝试更深、更宽的模型2、尝试把当前流行的结构诸如res模块、inception模块、attention机制等加入合适的位置3、如果必要的话,做模型的集成。e.g.分类任务,用resnet50得出一组概率,用vgg19得出另一组概率,将它们相加取概率最大的标签作为最终的结果。如何解决尺寸不平衡问题解决图像尺寸不统一一般有两种方法:1
2020-05-09 23:10:41
1084
原创 【目标检测】AnchorBased和AnchorFree/TwoStage和OneStage
two stage一般来说,两阶段的检测网络由以下部分组成backbone. 顾名思义,backbone是整个网络中的支柱部分,作用是特征提取。输入图像,得到一系列不同尺度的特征图(feature map)。常用的backbone有vgg/ResNet50/ResNet101。neck. 由于backbone通常是专门为分类设计的,其提取的特征图可能不适合检测(原因之前的文章已经讲过...
2020-04-28 22:25:30
967
原创 【常用检测框架】DetNet/Casecade RCNN/FCOS/RetinaNet
DetNet在DetNet提出之前,检测框架的backbone一般都是用分类框架,或在上面稍加改动。分类框架用于检测有以下几个缺点:1、stage(不同尺度的特征图,用于多尺度检测)少,只能自己加,但没有相应的预训练的权重。2、downsample丢失信息严重。分类框架只需要预测类别,相比检测容许丢失更多的信息。detNet在resNet50的基础上作改进。改动部分为con4_x(stag...
2020-04-23 23:13:15
1227
原创 卷积总结
卷积的作用图像处理和提取特征各自类型的卷积带孔卷积带孔卷积实现时并不是在卷积核的“孔”里填0,而是在feature map上跳着卷积。参数rate表示每隔(rate-1)个像素采样优点:扩大感受野。分组卷积顾名思义,则是对输入feature map进行分组,然后每组分别卷积。假设输入feature map的尺寸仍为C∗H∗W,输出feature map的数量为N个,如果设定要分成G...
2020-04-21 20:53:02
304
原创 Sigmoid/Tanh/ReLu激活函数的优缺点
激活函数的作用引入非线性,增强神经网络的表达能力Sigmoid/Tanh/ReLu激活函数的优缺点这三个激活函数都没能解决梯度消失梯度弥散就是梯度消失。一种很流行的说法是Relu解决了梯度消失的问题,其实并不是这样。单从激活函数的导数来说,看激活函数的“死区”范围,即导数接近于0的区间。Sigmoid和Tanh仅0附近一小段范围非死区;即使是Relu仍有一半的死区。此外,梯度不仅包...
2020-04-15 13:52:49
7035
原创 关于CNN中的不变性
不变性包括三种平移不变性旋转不变性尺度不变性所谓不变性即图像目标经过平移/旋转/尺度变化后是否还能取得相似的检测结果。之前很流行的说法是CNN同时具有三种不变性,然而有论文证明并非这样(论文就不贴了,那篇论文我也没看过,只看了标题,嘻嘻)。目前比较令人信服的说法是:CNN具有平移不变性。这是由卷积核滑动操作决定的天然属性。CNN中的池化层具有一定程度的旋转不变性和尺度不变性。...
2020-04-15 12:34:59
1003
原创 【经典检测框架】RCNN/SPP NET/Fast R-CNN/Faster R-CNN/SSD/YOLO
参考来源https://cloud.tencent.com/developer/news/281788RCNNR-CNN的简要步骤如下(1) 输入测试图像(2) 利用选择性搜索Selective Search算法在图像中从下到上提取2000个左右的可能包含物体的候选区域Region Proposal(3) 因为取出的区域大小各自不同,所以需要将每个Region Proposal缩放...
2020-03-31 20:49:41
286
原创 【经典分类框架】vgg/GoogLeNet/ResNet/DenseNet/MobileNet/ShuffleNet
太早的LeNet和AlexNet就不提了,也相对比较简单。vgg16 vgg19文章《VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE SCALE IMAGE RECOGNITION》发现了小卷积核搭配更深的网络会有更好的效果。小卷积核堆叠在保持感受野不变的情况下参数更少,网络更深学习能力更强。结构:前面一堆卷积层后面跟三层全连接层。卷积核全为...
2020-03-28 15:09:17
1924
原创 【动手实现操作系统】三:中断
中断类型保护模式下中断分为三种错误Fault: ⼀种可被更正的异常, ⼀旦被更正, 程序可以不失连续性地继续执⾏, 中断程序返回地址为产⽣ Fault 的指令陷阱Trap: 发⽣ Trap 的指令执⾏之后⽴刻被报告的异常, 也允许程序不失连续性地继续执⾏, 但中断程序返回地址是产⽣ Trap 之后的那条指令终止Abort: Abort 异常不总是精确报告发⽣异常的位置, 它不允许程序继续...
2020-03-22 08:36:51
341
原创 【动手实现操作系统】二:文件系统
我们需要用文件系统来管理文件。每⼀个⽂件由若⼲个块(block)组成, 这些块不需要顺序存放, 只要按照某种⽅法组织起来. 这样, 即使⼩⽂件被删除, 他们所占⽤的块也可以得到有效的利⽤。块⼤⼩不同对⽂件系统⼀些参数的有影响。这里取一个块占2个扇区即1kb.INode创建结构INode来对这些块进行索引。union Inode { // Inode Table的表项 uint8_t by...
2020-03-19 16:50:25
255
原创 【动手实现操作系统】一:bootloader
前言记录一下自己动收实现操作系统的过程。只会给出关键地方的代码,一旦给出会尽可能详细地解释。正文开机时,硬件会自动把0号扇区(512b)的内容加载到内存0x7c00上。所以要在0号扇区放引导启动操作系统的代码(bootloader)。如果操作系统足够小的话,也可以直接把操作系统内核代码放在0号扇区。以下为bootloader代码,用asm汇编语言写。.code16#一开始处于实模式下,所...
2020-03-19 15:57:05
470
原创 【视频检测】T-CNN
文章来源 《Appearance-and-Relation Networks for Video Classification》视频主要包含两部分的信息:每一帧的图像(空间信息)帧之间的顺序 (时间信息)目前有三种比较成功的视频检测框架:2-stream CNN.有两路输入,一路是普通的帧图像(apperance,空间信息),一路是光流(optical flow,时间信息,体...
2020-03-09 19:17:16
652
原创 池化层的改进
从新的角度看池化层池化可以看成是对滑动窗口内的激活值(activation)线性加权,作用是降采样( downsampling)。具体的数学形式如下:设F为池化函数,I为输入的特征图(FeatureMap), O为池化后的输出,考虑单通道情况下,Ix,y,Ox,yI_{x,y},O_{x,y}Ix,y,Ox,y分别表示输入和输出在坐标(x,y)处的激活值,Ω\OmegaΩ为池化窗口的索引集...
2020-03-09 11:41:45
2089
原创 Team Communication
前言采用UDP协议传播,所以发送的消息所有机器人都可以接收。正文representations中的TeamData包含了所有接受的信息,BHumanMessageOutputGenerator包含了所有要发送的信息。可能因为这两个数据流格式差不多,所以统一交给module里的TeamMessageHandler处理....
2020-02-28 22:56:23
426
原创 【机器学习】西瓜书一些关键词
前言记录周志华《机器学习》里的一些概念(尽量包括中英文)方便日后温习~正文第一章 绪论特征向量 feature vector —— 机器学习的输入往往是向量形式分类 classification —— 预测为离散值的任务回归 regression —— 预测为连续值的任务聚类 clustering有监督学习 supervised learning —— 有标记信息,代表有分类和...
2020-02-20 23:29:28
414
原创 【操作系统】一些概念
1、cpu架构根据寄存器位数,分为32位和64位。Intel的86系列是著名的32位cpu,所以32位操作系统也通常被称为x86系统。i386(Intel 80386)就是对Intel 32位处理器的简称。AMD率先造出兼容x86的64位系统,称为AMD64。Intel后发明兼容x86的64位系统,称为x86_64。...
2020-02-16 23:06:35
174
原创 深度强化学习动态运动技能
文章:《DeepLoco:Dynamic Locomotion Skills Using Hierarchical Deep Reinforcement Learning》1、INTRODUCTION提出了两级控制器DeeoLoco:低级控制器(low-level controller,LLC)和高级控制器(high-level controller,HLC)。低级控制器在小的时间尺度上以保...
2020-02-07 23:10:16
726
转载 【Nao V6】其他——SpecialAction
前言~正文添加SpecialAction在 \Src\Representations\MotionControl\SpecialActionRequest.h 中名为SpecialActionID的ENUM对象中添加一个新的action在 \Config\mof 目录下添加一个空文件,命名为 ${actionName}.mof在 \Config\mof 下的extern.mof添加一...
2020-02-05 19:24:19
320
原创 【Nao V6】Representation——写逻辑常用的
前言记录写逻辑时常用的representations角度默认弧度制,逆时针增加。时间默认ms,长度默认mm。机器人坐标系为右手坐标系,即上为z轴正方向,前为x轴正方向,左边为y轴正方向。正文pose2f记录平面坐标和旋转角度 (Angle)(0) rotation, (Vector2f)(Vector2f::Zero()) translation,robotpose记录了...
2020-02-05 18:06:27
628
原创 【Nao V6】Behavior Control ——Goalkeeper
前言~正文KeeperCatchBallCard每隔100ms检测一次球可能穿过来的方向,对应的手举起来,时刻准备扑倒,若会碰到门柱,则禁止扑倒KeeperSearchForBallCard触发条件:当整个队伍都看不到球时先检查一下球有没有在脚边,若没有再走到一个最好的地方检查自己的半场KeeperClearBallCard触发条件:需要keeper把球踢出去时ReturnTo...
2020-02-04 13:50:31
396
WebFace人脸识别数据集[裁剪]
2020-02-13
BioID人脸识别数据集[裁剪]
2020-02-11
CaltechFaces人脸识别数据集[裁剪+对齐]
2020-02-11
AR人脸识别数据集(已分类)
2020-02-10
FERET人脸数据集
2020-02-10
ORL人脸识别数据集
2020-02-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人