KAN论文笔记

KAN(Kolmogorov-Arnold Networks)相比于MLP的改进在于激活函数的可学习,可以用更少量的参数来做更深层次的拟合,极大减少了网络参数,增强了网络的可解释性,KAN缺点在于训练过于缓慢,这篇笔记主要是对论文主干的翻译,我们先看看KAN的论文。(Paper有48页,慢慢啃)

阅读更多

omniverse与blender交互

omniverse和blender结合有两种方式,一种是blender中的模型导入到omniverse中产生形态键动画,然后再导回blender,这种方式可以直接参见nvidia的视频guide,另一种方式是omniverse直接产生动画,在blender中利用插件完成绑定,我们这里介绍后面这种。

这篇博客主要介绍利用Omniverse驱动人体模型面部表情映射的大致基本流程,主要介绍两套工具之间的桥梁,不会具体到每个参数,如果需要系统学习,可以单独找omniverse或者blender的课程,它们会介绍的更详细。开始之前,需要有blender操作基础,以及对Riggfy,ARP(Auto Rig Pro)和Faceit 动画绑定插件有一些基本了解。

阅读更多

EfficientSAM论文笔记

开始之前需要一些前置知识,关于SAM请移步:SAM论文笔记, 关于ViT基础请移步:Vision Transformer,关于MAE请移步知乎:MAE(Masked Autoencoders) – 知乎 (zhihu.com)

SAM的解码器已经足够快,但是图像编码器用的ViT还是很大,于是很多工作就在SAM基础上改进性能,进行轻量化,其中有一些比较出色的工作 比如 MobileSAM 、 FastSAM 和 EfficientSAM 等,已经将SAM推到了相当轻量。这篇博客主要是EfficientSAM的论文笔记。

阅读更多

DALL-E论文笔记

DALL-E是OpenAI的多模态与训练模型,有120亿参数,在2.5亿图像文本对上寻来呢完成,主要用于文生图后续有DALL-E2和DALL-E3,其中DALL-E和DALL-E2是可以找到源代码和权重的,后面的DALL-E3是闭源的。学习原理的话我们从DALL-E入手。

从GPT开始,zero-shot的想法开始成为自然语言处理的主流,而视觉领域能否zero-shot呢(训练一个大模型,后续使用不需要微调)?CLIP和DALL-E告诉我们视觉也可以zero-shot,所以文章的Tile是Zero-Shot Image Generation,DALL-E的名字灵感来自于著名画家Salvador Dali和墨西哥的墙Wall-E。

阅读更多

CLIP论文笔记

CLIP(Contrastive Language-Image Pre-training),OpenAI给的title:Connecting text and images,被用作文本监督信号来训练可迁移的视觉模型。CLIP是一种基于对比学习的多模态模型,训练数据是文本-图像对(一张图像和其对应的文本描述),模型能够学习到文本-图像对的匹配关系。以下内容搜集自论文、知乎、OpenAI Blog Page (一手资料参阅以下链接的openai blog)

阅读更多

Biratral Grid与HDRNET论文笔记

这篇博客介绍 Google 近年来在Photography方面一篇具有代表性的论文,Deep Bilateral Learning for Real-Time Image Enhancement

HDRNET的主要特征数数据分成两路,低分辨率偏向high level语义,这一路学习到的是一系列参数(分mesh的3×4 color matrix),学习参数需要的计算资源相对于学习输出图需要的资源更少,移动端部署更加方便。高分辨率一路更偏向low-level引导,学些引导图和参数apply。

阅读更多

双目立体匹配算法mobilestereonet

通过视觉测量深度的方法目前分为如下几种,一种是双目立体匹配,该方法的好处是有一个明确的物理模型,存在视差的概念,深度信息是根据时差转换得到,另一种是单目运动,该方法也可以看成一种特殊的双目模型或者多目模型,只不过它是时间上的多目,还有一种方法是完全的单目深度估计,直接由网络端到端给出深度,单目网络在可解释性和可移植性上不如双目和单目运动,但是其效果没有比双目差太多。

随着近年来车载系统视觉方案不断完善,立体视觉问题不断收敛,学界出现了一批轻量级网络,效果还不差,这篇博客主要介绍一个轻量级双目立体匹配网络mobilestereonet,后文简称MSN。博主理解MSN主要贡献还是在与对网络模型的压缩,骨干和后面的特征提取大量使用深度可分离卷积,而论文中提及的一些网络结构,经过博主实验下来,这些并不重要(比如3d卷积用分组卷积替代,网络性能并没有明显降低),直接感受是,参数确实更少,计算也更少。

阅读更多

Pytorch模型蒸馏Distillation

网络模型在部署时会通过剪枝蒸馏等方式加快推理速度,模型蒸馏大概可以分为通道蒸馏、特征蒸馏和目标蒸馏。这里需要特别强调的是,蒸馏的student网络学习的是teacher的泛化能力,而不是过拟合训练数据。这篇博客会以pytorch代码为基础,介绍常用的模型蒸馏方法。

阅读更多

UnrealCV部署使用指南

在深度学习中,数据仿真一直是重要的topic,Unreal(虚幻引擎)是Epic主导的渲染引擎,常被用于游戏、场景设计、渲染计算,也可以被用于深度学习中的数据仿真,其中有一些比较有名的基于Unreal开发的数据仿真平台,比如CARLA(http://carla.org/)、AirSim等优秀的仿真平台被用于自动驾驶、机器人自动控制等。这篇博客也是介绍一个这样的项目UnrealCV,简单介绍下unrealcv的部署和使用。实际上UnrealCV没有CARLA和AirSim强大(主要是没有运动模型和碰撞检测),所以简单介绍仅供参考。

阅读更多

Pytorch使用2d卷积来实现3d卷积

我们在深度学习模型转换和推理过程中常常会遇到算子不被工具链支持的情况,这时我们可以通过其它算子来等价实现我们想要的算子,比如3d卷积不被工具链支持,我们可以将其拆分成2d卷积,拆分之后我们需要进行权重字典的拆分。这篇博客贴一下pytorch的实现。

阅读更多