- 博客(279)
- 资源 (5)
- 收藏
- 关注

原创 图文多模态模型CLIP
CLIP带给我的震撼是超过transformer的,这是OpenAI的重要贡献之一。就如官网所描述的:用对比学习(Contrastive Learning)来对齐约束图像模型和文本模型。用文本嵌入指导图像学习,图像嵌入指导文本学习。这样一来,图像分类进入了CLIP时代,不需像传统深度学习图像分类一样,先定义出类别范围,然后准备各类别的数据(比如MNIST的十分类,ImageNet的千分类)。我们有了CLIP,可以直接任意给出一个class set如{“cat”,“dog”, “horse”,“Other”}
2022-12-05 23:22:57
1124

原创 轻量级Visual Transformer模型——LeViT(ICCV2021)
LeViT是FAIR团队发表在ICCV2021上的成果,是轻量级ViT模型中的标杆,文章对ViT中多个部件进行的改进,如加速策略等,对很多工程化铺设ViT系列模型都是很有借鉴意义的。按说,近期出现的优质模型非常多,各种冲击SOTA的,详情可戳我整理的小综述《盘点2021-2022年出现的CV神经网络模型》。但我为何会单独对LeViT拿出来进行详细剖析呢?原因很简单:LeViT非常工程实用,是一款足够优秀的轻量级视觉transformer模型。市面上很多轻量级模型都进入了一个误区:大家都在比拼FLOPs数和
2022-03-03 20:19:24
6093
4

原创 盘点2021-2022年出现的CV神经网络模型
在transformer席卷CV领域之后,掀起了一股新型神经网络模型的涌现热潮。短短一两年时间,研究者们从不同结构领域冲击着SOTA,有ViT的,有CNN的,甚至还有纯MLP的。其中,不乏有一些启发性和奠基性的模型出现,隐约感觉到这两年是基础模型的爆发年。ViT引领了继2012年AlexNet和2015年ResNet之后的第三个基础模型爆发潮。于是,木盏以此博文做一个不是很完全的综述,整理给大家浏览,说不定可以遇到有帮助的trick。
2022-02-22 01:13:01
10980
2

原创 Swin Transformer全方位解读【ICCV2021马尔奖】
自从ViT、DETR等尝试把language模型中的王炸transformer使用到视觉领域并得到还不错的验证效果后,研究者们一直在致力于“**如何更好地将语言模型建模到视觉**”这个问题。ViT直接把图片划分patch,用对待word的方式来对待每个patch,轻松将图片建模成sentence;而DETR则需要CNN辅助提取特征,而transformer只是当一个neck。后者更像是一个过渡模式,咱们本文不做过多讨论。
2021-10-18 23:15:11
9460
9

原创 令人心动的transformer
如果非要找一个模型来作为近三年来AI算法进展的突出代表,我认为transformer定会高票当选。本文作为算法解析文章,倡导思想为主,公式为辅,希望有助于大家理解transformer。行文逻辑为总-分-总结构。本文所有未标来源的图片均为本人所画,引用时请附上本文链接。
2021-04-12 11:31:24
2173
7

原创 目标检测中的b-box回归损失函数(IOU,GIOU,DIOU,CIOU)
目标检测作为一种经典CV任务,大致可以认为是三个子任务的集合:1. 确定目标大概位置;2. 分类出目标类别;3. 回归出检测框的宽高;这三种子任务分别需要对应损失函数的反传来学习。今天介绍的b-box回归损失函数主要是面向第三个子任务而设计的损失函数。1. IOU全称Intersection-Over-Union,即交并比。计算预测框和标注框(即GT框)的交并比,就可以知道它们的“贴合程度”好不好,作为调整模型的指导。原文链接:[1608.01471] UnitBox: An Advance
2021-03-11 12:40:12
4238
4

原创 【CVPR2021】RepVGG:重参数化——让VGG再次强大
这里的VGG指代各种平铺卷积的CNN,不带resnet那种shortcut。难得在这么浮躁的时代还有人在钻研改进VGG-style的CNN。VGG作为经典CNN的代表,事实上到如今都没有被淘汰,依然活跃在各种工程中。国际惯例,先放出原文:RepVGG: Making VGG-style ConvNets Great Again链接:https://arxiv.org/abs/2101.03697论文第一作者丁霄汉在知乎的解析:https://zhuanlan.zhihu.com/p/344324
2021-02-26 17:57:48
4264
3

原创 【GNN】图注意力网络GAT(含代码讲解)
毫无疑问,图神经网络(Graph Neural Networks)是泛计算机视觉领域内继CNN、GAN、NAS等之后的又一个研究热点,非常powerful。GAT是空域GNN的代表模型,Bengio大佬团队出品,发表在ICLR2018,目前谷歌引用已经1k了。它的特点是,很适合作为上手GNN模型。
2020-03-06 17:57:02
29987
44

原创 【ICCV2019】probabilistic face embeddings 概率人脸嵌入
概率人脸嵌入PFE:http://openaccess.thecvf.com/content_ICCV_2019/papers/Shi_Probabilistic_Face_Embeddings_ICCV_2019_paper.pdf这篇博文主体为对PFE的精细翻译,附带本人加的一些注释。摘要 通过比较隐语义空间的面部特征,嵌入方法已经在人脸识别领域取得了成功。然而,在完全无约束...
2019-10-29 11:35:01
6596
2

原创 Focal Loss(ICCV2017 best student paper)
Focal Loss由FAIR提出。Kaiming包揽了ICCV2017的最佳论文(Mask R-CNN)和最佳学生论文(Focal Loss)。按照国际惯例,给出Focal Loss的论文标题和链接:Focal Loss for Dense Object Detection http://openaccess.thecvf.com/content_ICCV_2017/papers/L...
2019-05-05 19:22:54
2678

原创 WDSR(NTIRE2018超分辨率冠军)【深度解析】
s超分辨率(super-resolution)的通俗解释就是:将低分辨率的图像通过算法转换成高分辨率图像。听起来似乎很神奇,这样是不是可以把低清电影转换成高清了?就现在来看,基于深度学习的超分辨率(简称SR)已经达到了amazing的效果。当然,以木盏的习惯就是,只在博文中讨论干货。这篇博文要解析的算法叫做WDSR,来自UIUC的华人学生JiaHui Yu的论文。在SR界有一个比赛,叫做N...
2018-12-17 17:29:27
27594
46

原创 【复现】deblurGAN: 用GAN使模糊图片变清晰(ECCV2018)
requirements:LinuxPython3.6Github地址:https://github.com/RaphaelMeudec/deblur-gan直接用这个代码会有问题,因为作者升级了网络结构,但参数没有重训,所以无法直接加载预训练参数。只能重训,或者恢复到以前的模型。 所以,直接可以加载老版本的代码:https://github.com/RaphaelMeud...
2018-11-07 10:46:43
17955
31

原创 MUNIT训练自己的数据集(图像风格转换)
MUNIT是ECCV2018的一篇关于不同风格图像之间转换的文章,是UNIT的衍生版本。作者是很大方滴,在gayhub上就可以找到munit的代码。Munit做了一件说明事情呢?我们看图就知道了:通过几笔简笔就可以生成真实感的图像,这就是munit的用处之一了。准确来说,munit是cycleGAN的强化版本。论文地址:http://openaccess.thecvf.com/co...
2018-11-04 20:25:08
8569
8

原创 【AI数学】Group Normalization(何恺明ECCV2018最佳论文提名)
声明:原创文章,欢迎转载,但必须经过本人同意。论文标题:《Group Normalization》论文链接: https://arxiv.org/pdf/1803.08494.pdf作为两年一届的计算机视觉顶会ECCV前不久在德国召开,引起了诸多CVer的关注。其中,最佳论文被一个3D朝向的论文斩获,提出了具有普世性价值的AAE。对,想要拿最佳paper,你的paper一定要提出具有普...
2018-10-20 14:25:08
3403
7

原创 【AI数学】Batch-Normalization详细解析
声明:十分欢迎转载,但须先征求本人同意。BN目前已经成为了调参师面试必问题之一了。同时,BN层也慢慢变成了神经网络不可分割的一部分了,相比其他优化操作比如dropout, l1, l2, momentum,影子变量等等,BN是最无可替代的。论文标题: 《Batch Normalization: Accelerating Deep Network Training b y Reducing ...
2018-10-17 16:28:12
13279
18

原创 yolo系列之yolo v3【深度解析】
yolo_v3是我最近一段时间主攻的算法,写下博客,以作分享交流。 看过yolov3论文的应该都知道,这篇论文写得很随意,很多亮点都被作者都是草草描述。很多骚年入手yolo算法都是从v3才开始,这是不可能掌握yolo精髓的,因为v3很多东西是保留v2甚至v1的东西,而且v3的论文写得很随心。想深入了解yolo_v3算法,必须先了解v1和v2。以下是我关于v1和v2算法解析所写的文章: v1算法...
2018-09-12 16:24:48
478135
1605

原创 生成对抗网络——GAN(一)
Generative adversarial network据有关媒体统计:CVPR2018的论文里,有三分之一的论文与GAN有关! 由此可见,GAN在视觉领域的未来多年内,将是一片沃土(CVer们是时候入门GAN了)。而发现这片矿源的就是GAN之父,Goodfellow大神。 ~~~ 生成对抗网络GAN,是当今的一大热门研究方向。在2014年,被Goodfellow大神提出来,当时的G...
2018-07-30 23:38:08
88250
48
原创 Python中的logging模块
logging是Python中常见的日志工具,能够把一次运行的关键信息记录成日志,以便debug。为了让读者更快掌握这个工具,咱们逐步深入.
2023-05-22 16:31:08
630
原创 NeRF详解
对于三维重建方向的研究人员来说,NeRF的重要性不言自明。NeRF作为ECCV2022的最佳论文提名之一,是值得精读的经典论文之一。不过,NeRF所涉及的图形学知识过多,对于纯CVer阅读起来较为吃力。本文旨在用朴素易懂的概念来解释NeRF的基本原理。如有不明白之处,欢迎留言交流~NeRF,全称Neural Radiance Field,即神经辐射场。要了解NeRF,首先要知道NeRF是干嘛的,答:三维场景的新视角合成。NeRF是一种使用神经网络来隐式表达3D场景的技术。
2023-04-03 18:59:27
1409
原创 COLMAP多视角视图数据可视化
这篇博文主要介绍多视角三维重建的实用工具COLMAP。为了让读者更快确定此文是否为自己想找的内容,我先用简单几句话来描述此文做的事情: 假设我们针对一个物体(人)采集了多个(假设60个)视角的照片,希望用COLMAP实现:(1)通过不同视角之间的特征匹配算出每个视角的相机位资(内外参);(2) 对物体进行初步的稀疏重建,完成多视角数据的可视化(详见图3)。
2023-03-25 17:34:43
797
原创 Pytorch对张量进行排序(根据某列数值)
链接为:https://pytorch.org/docs/stable/generated/torch.sort.html。只支持按维度进行排序。但是,通常情况下,我们希望对一个二维张量按某一列的取值进行行的排序,比如。我们用confidence来对一组bounding box进行排序。那么,这种情况下,不能直接使用。pytorch自带的排序函数为。
2023-03-07 18:32:09
408
原创 【已解决】Ubuntu无法访问移动硬盘问题
这两个命令都会打印你的所有磁盘信息。但我们还是无法确定那个盘是受损需要修复的。上次拔硬盘而没有安全退出导致硬盘无法访问。,有红色错误提示的就是我们的受损盘,更容易找了。完成以后,拔下移动硬盘,再插上就可以正常使用了~首先,我们要找到硬盘在系统中的位置。,就知道那个盘是咱们需要修复的盘。于是,找方法修复硬盘。
2023-02-25 16:53:55
1187
原创 【AI数学】相机成像之内参数
咱们可以将Aperture(即孔径点)定义成我们坐标系的原点,以换取更简单的表示形式,则图2中紫色部分的。,在这里为了方便理解,我构建了一个坐标系,原点位置为二维平面的中心位置,z轴方向为相片法向量向外。根据式(8),若想从二维坐标拿到三维坐标,还需要知道深度信息,即目标点离相机的距离。计算机视觉偏底层的工作会跟摄像机打交道,最近正好有接触,所以整理总结一下。本文主要介绍相机内参数,并且给出简单的数学推理。内参数:相机内部的参数,包括焦距、像素偏移等。”,相机内部有一块平面感光元件,物体光线通过。
2023-02-11 14:42:12
804
原创 【AI数学】交叉熵损失函数CrossEntropy
交叉熵损失(CrossEntropyLoss)函数是分类任务里最常见的损失函数。当然,CrossEntropy(以下简称“CE”)的作用不仅仅是在简单的分类任务里,比如最近大火的图文多模态模型CLIP就用到CE来进行对比学习,稍微改造一下变成Symmetrical Cross Entropy。交叉熵不具有对称性,所以交换变量位置,会导致数值不同。所以,在使用Pytorch内置交叉熵损失函数时,记得注意顺序:(label记得放在后面)简单来说,交叉熵可以用来描述两个分布的差别。先看公式,CrossEntr
2022-12-05 20:20:50
1139
1
原创 【AI数学】余弦相似性(含python实现)
Cosine Similarity,即余弦相似度,又叫余弦相似性。是一个中学数学的概念,即用两个向量之间的夹角余弦值代表这两个向量之间的相似度。Cosine Similarity虽然简单,但广泛应用在AI模型中,比如CLIP计算图像embedding和文本embedding之间的相似性等。Python实现(Pytorch版本)在代码实现中,通常先分别计算A⃗∣A∣\vec{A} \over{\vert{A}\vert}∣A∣A、B⃗∣B∣\vec{B} \over{\vert{B}\vert}∣B∣B
2022-12-05 11:54:37
1460
1
原创 ffmpeg图片视频gif互转
用ffmpeg轻易实现视频帧转成图片文件夹,也可以用图片文件夹转成视频或者gif。视频转图片:这里的%06d.png,表示6位数字命名,前面填0,数字代表帧号。图片转视频:注:这里的和需要改成视频或者图片的具体路径!视频转gif:这里用控制一下分辨率,避免gif太大。
2022-12-04 23:12:17
694
原创 首个大规模图文多模态数据集LAION-400M介绍
openAI的图文多模态模型CLIP证明了图文多模态在多个领域都具有着巨大潜力,随之而来掀起了一股图文对比学习的风潮。就在前几天(2022年12月),连Kaiming都入手这一领域,将MAE的思路与CLIP的思路结合,推出了FLIP,有兴趣可戳(https://arxiv.org/abs/2212.00794)。对于迷茫的CV研究生,如果你找不到研究方向,just follow Kaiming绝对不会出错。今天要介绍的是一个优秀的图文多模态数据集LAION,跟CLIP原始训练数据集就有相当体量,即400个m
2022-12-04 18:25:24
3733
原创 多模态视觉任务Video Grounding介绍
Video Grounding不太好找到较好的中文翻译,grounding有“接地、基础”等意思。对于video grounding:输入:一个query(文本),以及一段视频。返回:文本所描述的活动的开始时间和结束时间
2022-12-02 14:38:50
951
原创 【解决】Linux解决nvidia-smi和nvcc输出cuda版本不一致的问题
其实,一般情况不用担心,只要export路径制定的新版本就可以。但是,对于有强迫症的同学,可以纠正nvcc -V的结果。假设安装了新的CUDA,发现nvidia-smi能显示最新的CUDA版本,但nvcc还是显示老版本。你就会发现,nvcc工具还是指向老版本的路径。咱们可以看到新版本的cuda11.6也在这个路径下(如果不在,说明安装有问题)[图片: cuda11.6 (图片靠自己想象)][图片:cuda10.0(图片靠自己想象)]这就修改了nvcc工具的路径了~
2022-12-01 00:34:24
2132
原创 Python使用LMDB(闪电内存映射数据库)
注意,lmdb存储和读取都是一个文件夹,因为要存’data.mdb’和’lock.mdb’两个文件。上述代码所示,就是存了一个样本对sample1。使用LMDB有2个优势:(1)把零碎文件合成一个大文件,更好管理和移动;我们把x和y都存到value里面,因为key具有唯一性,我们可以用一个num来表示。注意,刚刚存的时候用’\t’隔开的xy,在读取的时候也用’\t’来恢复出xy来。先思考一个问题,什么时候需要存储和快速读取大量键值对呢?组成,就可以用键值对的形式存到LMDB里面。然后闪电速度获取样本对。
2022-10-19 00:41:57
1308
原创 用Python读取超大文件中的部分行
Python文件读取一直是python的常见用法,通用方法是直接readlines加载所有行。对于大文件all_items.tsv,咱们只读取某一个区间的行来进行处理。如果是想遍历整个文件并处理每一行,其实并不需要一次加载所有行。对于超大文件(如100G的tsv),直接加载所有行会非常慢。先用迭代器滚动到start_line的位置,再开始读取。用一个while循环就可以完成从头到尾行的遍历。
2022-10-11 12:00:20
1058
原创 【已解决】Git下载私有仓库时报错Authentication failed
用git下载partner提供的private repo时,提示需要输入username和password。但怎么输入都报Authentication failed 的错误。
2022-09-06 16:22:38
4816
原创 【实用工具】Image Assistant下载指定页面的所有图片
今天推荐一个浏览器插件ImageAssistant,可以方便快捷下载一个页面的所有图片。然后开始使用插件,只需找到你要下载的page,用浏览器打开。找到右上角,选插件就好了。支持Chrome,Edge等多个浏览器。本文以Edge为例进行讲解。点击右上角安装即可,上面我已经安装成功就显示【Remove】了。在链接1中找到Edge浏览器插件的。选择下载就好了,方便又好用~...
2022-07-28 14:24:08
963
原创 Python新建纯色图片(任意颜色)
这里用到的是cv2和numpy的组合。cv2会把图片都处理成uint8的numpy矩阵,同理,我们可以把符合图片通道要求的numpy uint8矩阵用cv2保存成图片。直接看代码:直接在第三行定义出你想要的图片颜色即可。可以加入随机数:...
2022-07-13 11:37:59
1328
原创 【Python】importlib直接import绝对路径
有时候常见的脚本喜欢写成api,这样自己用的时候不需要重复造轮子。把写好的api放到一个固定位置,每次直接引用就好了。这里用到的模块是importlib。假设我们写好了一个轮子,命名为a.py:咱们import这个api就可以参考以下脚本:............
2022-06-25 11:21:47
755
3
原创 Python自动下载百度图片【含代码】
经常需要用爬虫爬爬百度图片,所以弄一篇博客记录一下。需求:输入关键词,程序自动下载百度搜索出来的图片,并保存在本地。假设代码保存为down_baidu.py使用:python down_baidu.py 篮球这个篮球就是你要搜索的关键词。最后看一下代码:import osimport os.path as ospimport argparseimport reimport requestsdef get_args(): parser = argparse.Argument
2022-05-19 17:04:50
541
1
原创 Vim下快速删除字符串
巧妙学会用命令删除字符串,将大大提高vim开发效率。首先用vim打开一个文件,假设文件内容为:name = 'cxk'hobby = "Sing, Dance"如果想把第一行中的’cxk’用命令删掉,只需把光标移动到第一行,输入:da'命令的意思是,删除所有单引号中的内容,包括引号。删除后:name = hobby = "Sing, Dance"你会发现,连引号都没了。如果你想保留引号,你可以输入:di'如果你想删除以后,直接变成插入模式,可以输入:ci'这样你可以直接
2022-05-08 18:31:09
3177
CVPR2018模板latex
2020-12-02
FCOS检测算法训练模型
2020-11-19
CVPR2018论文_oral_2
2018-06-25
inception_dec_2015
2017-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人