自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (13)
  • 收藏
  • 关注

原创 生成模型VAE

如果直接利用torch.normal,输入encoder估计出的均值和方差,生成样本,训练过程中梯度无法反传,因此需要用到重参数化,绕开torch.normal采样,采用。得到第二版SGVB估计器,因为第二项的KL散度有解析形式,因此只有第一项的重建误差需要通过采样进行估计。evidence和ELBO之间的差值是非负的KL项,因此ELBO的值不会超过evidence,且当参数化模型近似的后验分布。RHS的第一项是近似分布和真实后验分布之间的KL散度,因为KL散度的非负特性,RHS的第二项被称为数据点。

2024-08-08 17:14:59 635

原创 生成模型SDE

从随机微分方程SDE的视角去理解扩散生成。

2024-08-08 17:11:07 823

原创 数理基础知识

日常算法工作中高频涉及的数学和统计学基础知识。

2024-08-08 17:03:21 585

原创 controlnet训练流程详解

但这篇只侧重了大的框架流程,里面的controlnet训练细节太多了,在这里详细讲解,以背查询。

2024-02-05 13:32:12 529

原创 Diffusion Models

根据极限可知,随着t越来越大,最终加噪后的数据分布趋近于各向同性的标准高斯分布。也为reverse process从一个标准高斯分布采样开始逐步去噪得到最终sample的过程,两相契合。,假设后验分布为高斯分布,则估算的就是高斯分布的均值和方差,式(11)和(12)就是网络学习时,均值和方差的gt。只需要学习均值即可。这个性质很重要,意味着可以不需要迭代过程,直接获得任意时间t的加噪数据。,一般也被称为前向过程或者diffusion过程,是一个马尔可夫链。的函数,标准高斯分布有了均值和方差,就可以从。

2024-01-18 23:56:45 910

原创 SD text prompt 文生图系列

如果GPU显存空间有限,可用空间小于4GB,需要确保以float16精度加载StableDiffusionPipeline。

2024-01-02 14:49:44 431

原创 torch常用和预期输入输出

nn中定义的是类,functional里面定义的是函数操作。outshaperoundmodestrideinshape2∗padding−kernelsize​1默认的round_mode为floor,即向下取整。可以通过ceil_mode开关,指定为向上取整。

2023-11-24 12:14:45 1219 1

原创 AdaIN

在最开始的风格迁移研究中都是采用 BN,但后来发现把 BN 替换成 IN (Instance Normalization) 的效果更好。BN对一个batch的数据进行归一化,使数据符合均值为0,方差为1的分布,解决了Internal Covariate Shift问题,提升模型训练稳定性。虽然 IN 在风格迁移任务中表现很好,但是仍然不清楚为什么 IN 的效果更好。BN的计算操作如下,计算batch内数据每个通道的均值和方差,然后做归一化。

2023-11-16 11:38:39 117

原创 NeRF基础代码解析

对position和view direction做embedding。

2023-08-10 15:56:21 460

原创 MeMFace解析

中加入显式记忆,解决one-to-many的映射问题。训练刚开始,key set和value set随机初始化,根据训练过程中的误差反传,更新参数。上述几篇文章做了一些尝试,引入可读写的spceialized implicit memory,为了解决这个sequence-to-sequence问题,使用Transformer-based结构。模型:audio2expression模型。M代表keys和values的数目。输出:和语音内容语义对齐的表情系数。是嘴部相关的表情系数的维度。

2023-08-10 15:36:31 125

原创 top-down HMR translation

HMR是一个简单且广泛使用的top-down方法,用以估计3D人体的pose和shape参数。根据人物检测框,得到一个方形的人物区域裁剪图,resize到224x224分辨率,经过一个卷积encoder提取特征,再经过3次迭代的MLP回归器预测SMPL参数。CLIFF计算的是全图分辨率下的重投影误差,而不是局部crop图。相机沿X和Y轴的平移。所以这里估计的并不是传统意义上的相机内参。沿着X, Y, Z三个轴的平移。r=224代表了resized方形裁切输入的分辨率。太晚了,具体的推导待续。

2022-12-09 23:58:54 537 1

原创 HybrIK流程

T={tk}k=1KT={tk​}k=1K​:静止姿态下的关节点坐标。R={Rpa(k),k}k=1KR={Rpa(k),k​}k=1K​:相对旋转。Q={qk}k=1KQ={qk​}k=1K​:根据输入的相对旋转,FK计算出的关节点坐标。KKK: 关节点数目。pa(k)pa(k)pa(k):第k个节点的父节点。Rpa(

2022-11-23 01:36:52 739

原创 Faster Transformer

Faster Transformer是一个BERT Transformer单层前向计算的高效实现。底层由CUDA和cuBLAS实现,支持FP16和FP32两种计算模式,其中FP16可以充分利用Volta和Turing架构GPU上的Tensor Core计算单元。Faster Transformer共接收4个输入参数,首先是attention head的数量以及每个head的维度。这两个参数是决定Transformer网络结构的关键参数。其余两个参数是batch size和句子最大长度。

2022-10-04 19:53:49 1174

原创 Transformer BEV 3D object detection

传统方案:利用2D模型在各自的相机视角获取3D检测结果。再通过后处理算法将各个视角的3D检测框投影到ego frame,融合到一起。

2022-10-03 12:03:10 699

原创 GRU学习笔记

和上一个节点传递下来的隐状态(hidden state)GRU的输入输出和普通RNN一样。,这个隐状态包含了之前节点的相关信息。,GRU会得到当前隐藏节点的输出。和传递给下一个节点的隐状态。

2022-09-27 16:49:41 1070

原创 VINS学习笔记

包括姿态,速度,重力向量,偏差,3D特征位置。VIO,重定位,和姿态图优化这三个模块以多线程的方式同时运行。该模块融合IMU预积分结果,特征观测,以及来自回环检测模块的重检测特征。测量预处理模块负责特征的提取和跟踪,相邻两帧之间的IMU测量预积分。VINS定义该坐标系和IMU坐标系相同。: 表示带噪声的测量结果,或者对一个确定量的估计值。重力方向和世界坐标系的z轴平行。: body坐标系到世界坐标系的旋转。: body坐标系到世界坐标系的平移。: 世界坐标系下的重力向量。帧图像时的body坐标系。

2022-09-24 18:02:19 834

原创 Transformer学习

主流的序列转换模型基于复杂的encoder-decoder结构的循环或者卷积神经网络。本文提出一个简单的仅基于注意力机制的网络结构,Transformer。完全摆脱了循环和卷积方式。在两个机器翻译任务上的实验结果表明Transformer的翻译质量更佳,并行度更好,需要更短的训练时长。...

2022-08-01 10:14:10 72

原创 Efficient Video Instance Segmentation via Tracklet Query and Proposal

VIS的目标是同时分类,分割,跟踪视频中的多个目标实例。当下clip-level的VIS输入一小段视频,因为利用了多帧的时序上下文信息。效果要明显优于frame-levelVIS。但是目前大多数clip-level方法既不能端到端可学习,也不能实时。VIStransformer解决了上述两个问题,但由于其frame-wise的稠密注意力计算,训练时间太长;而且VisTR对多个视频段无法端到端可学习,需要手动的数据关联,将前后clips周的实例tracklet链接起来。...

2022-07-25 19:06:59 318

原创 E2EC: An End-to-End Contour-based Method for High-Quality High-Speed Instance Segmentation

不同于先前的contour-based方案,手动构造初始轮廓,E2EC方案采用可学习的轮廓初始化方案,解决人工初始轮廓可能和真实轮廓之间交织过多,导致学习和推理困难的问题。采用globalcontourdeformation,其实就是MLP,更好的利用上所有顶点的特征。提出了labelsamplingscheme,叫做multi-directionalignment,可以降低学习难度。...

2022-07-15 16:41:07 538

原创 Deep Snake for Real-Time Instance Segmentation

提出了circularconvolution,相比图卷积,可以更好的学习轮廓的cycle-graph结构。是个二阶实例分割,分为initialcontourproposal和contourdeformation两步,可以处理检测误差。1080Ti上,512x512输入的速度为32.3fps。好奇图像中的实例数对速度没影响么?而且这篇文章提出来的圆环卷积,采用特征选取的方式,导致没法用推理引擎进行加速。......

2022-07-15 15:44:58 535

原创 Sparse Instance Activation for Real-Time Instance Segmentation

用实例激活图的稀疏集合,表示一个新目标,来高亮每个前景目标区域。再聚合高亮区域的特征,得到实例级特征,用以分类和分割。基于二分图匹配,实例激活图可以一对一的方式预测目标,因而避免了NMS的后处理。......

2022-07-13 20:51:11 456

原创 Weakly supervised Semantic Segmentation by Pixel-to-Prototype Contrast

通过引入cross-view和intra-view的约束,提升类内一致性(intra-class compactness)和类间区分性(inter-class dispersion)。优点就是不会增加推理计算量的情况下,提升(弱)监督场景下的分割效果。我觉得这样的约束,在强监督场景下也可以使用,弥补交叉墒损失的缺陷。..................

2022-07-13 19:58:31 980

原创 smplify-x笔记

创建一个透视变换相机,初始化参数为rotation旋转矩阵,translation平移向量,focal_length_x x方向焦距,focal_length_y y方向焦距,batch_size相机个数,center相平面的中心坐标。如果没主动设置,默认焦距为5000。在这个相机模型里,需要梯度的有rotation,translation。前向部分,完成3d点投影的工作。主要是根据rotation和translation将坐标从世界坐标系转至相机坐标系,再根据相机投影矩阵,将坐标从相机坐标系转换至像素坐

2022-06-21 20:53:11 2765

原创 MNN学习笔记

程序调用某函数A,A函数存在于两个动态链接库liba.so,libb.so中,并且程序执行需要链接这两个库,此时程序调用的A函数到底是来自于a还是b呢?这取决于链接时的顺序,比如先链接liba.so,这时候通过liba.so的导出符号表就可以找到函数A的定义,并加入到符号表中,链接libb.so的时候,符号表中已经存在函数A,就不会再更新符号表,所以调用的始终是liba.so中的A函数。为了避免这种混乱,所以使用visibility用于设置动态链接库中函数的可见性,将变量或函数设置为hidden,则该

2022-06-09 11:21:10 579

原创 3d HMR相关

UV MappingUV mapping: 3D模型的3D网格转移到2D空间,以便进一步为模型制作纹理的过程。因为XYZ已经被用来表示3D模型的轴,所以用大写的UV表示2D纹理的轴,U和V分别指的是2D空间的水平轴和垂直轴。UV贴图是3D模型表面的平面表示,用于轻松包裹纹理。创建UV贴图的过程称为UV展开。接缝是展开任何3D几何体不可避免的副作用。接缝是网格的一部分,必须分割才能将3D网格转换为2D UV贴图。UV展开始终是一种折衷方案,即尽可能减少线框变形,同时将接缝保持在最低限度。...

2022-03-31 13:45:39 197

原创 2D&3D Pose数据集

2d&3D Pose数据集2D数据集COCOAICMPIICrowdPoseOCHuman3D数据集Human36M功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入2D数据集你好! 这是你第一次使用 Markdown编辑

2022-03-30 11:45:32 833

原创 yolov5-face

networkdataloader__getitem__()\_\_getitem\_\_()__getitem__()时,对每张图片,对应标注的数据维度为[num_objects,14][num\_objects, 14][num_objects,14],每一行的数据格式为[x, y, w, h, x1, y1, x2, y2, x3, y3, x4, y4, x5, y5]. 前四个为归一化的人脸bbox的中心和宽高,后面10个为归一化的人脸5点关键点的坐标。读入并进过一系列数据增强后,再将bbo

2021-12-02 15:10:59 4821

原创 RetinaFace解析

网络结构SSH模块通过级联的3x3卷积来模拟5x5和7x7更大的感受野,最后聚合输出out_channel通道数的特征图。Head部分classificationbboxlandmark

2021-11-30 21:34:00 1246

原创 常用激活函数解析

sigmoid 和 ReLUsigmoid(x)=11+e−xsigmoid(x) = \frac{1}{1+e^{-x}}sigmoid(x)=1+e−x1​sigmoidsigmoidsigmoid激活函数的问题是随着输入趋近±∞\pm\infty±∞时,梯度会迅速变为0,梯度回传时,浅层的参数无法得到有效更新。ReLU(x)=max(0,x)ReLU(x) = max(0, x)ReLU(x)=max(0,x)ReLUReLUReLU在x>0时,梯度恒为1,不会存在梯度消失问题。在x&l

2021-11-19 15:02:49 366

原创 高通SNPE

DL Container Loader: SNPE使用后缀为dlc的模型文件,提供了模型load函数。Model Validation: 检查输入模型与所选择的运行后端是否合法。Runtime Engine: 选择运行模式的API,包括CPU,GPU,DSP和AIP四种运行模式。Partitioning Logic: 模型处理API,包括检查网络layer的合法性,调度网络的runtime。CPU Runtime:CPU运行模型,支持32-bit和8-bit量化模型。GPU Runtime:GPU

2021-11-09 11:46:46 2891 2

原创 android学习

WorkManager可以让app在后台执行。toy demoapp->java->com.example.myfirstapp->MainActivity这是主页面,app的入点。编译和运行app时,系统会加载该activity的一个实例,和加载它的layout,也即布局。app->res->layout->activity_main.xml这个XML文件定义了activity的UI布局。里面包含了一个TextView元素,文本内容为"Hello, Wor

2021-11-09 10:57:29 1039

原创 VIBE流程

main包含了DataloadersDataloadersDataloaders, Compile  LossCompile\;LossCompileLoss, Initialize  networks,  optimizers  and  lr_schedulersInitialize\;networks,\;optimizers\;and\;lr\_schedulersInitializenetworks,optimizersandlr_schedulers, Start  TrainingStar

2021-10-19 16:31:48 626

原创 ViT结构

vision Transformer# reshape and flatten[N, C, H, W] => [N, h*w, p_h * p_w * C] => [N, h*w, dim] # h = H // p_h, w = W // p_w, input flattened feature to nn.Linear, map into dim dimenstion.# concat cls_tokens and add positional embedding[N, n, dim

2021-10-18 19:50:04 1001

原创 SPIN流程

# No reduction because confidence weighting needs to be appliedself.criterion_keypoints = nn.MSELoss(reduction='none').to(self.device)keypoint_lossdef keypoint_loss(self, pred_keypoints_2d, gt_keypoints_2d, openpose_weight, gt_weight):""" Compute 2D r

2021-10-15 17:36:20 380 1

原创 有趣的torch.einsum

import torchimport numpy as npa = torch.arange(9).reshape(3, 3)提取矩阵对角线元素out = torch.einsum('ii->i', a) # tensor([0, 4, 8])矩阵转置out = torch.einsum('ij->ji', a)out = torch.einsum('...ij->...ji', a) # 高维矩阵最后两维转置reduce sumout = torch.einsum

2021-10-15 16:04:33 423

原创 smplify

smplify是一个基于模型的优化过程。Step 1只优化相机平移和身体朝向。camera_translation = init_cam_t.clone()global_orient = init_pose[:, :3].detach().clone()camera_opt_params = [global_orient, camera_translation]camera_optimizer = torch.optim.Adam(camera_opt_params, lr=self.step_

2021-10-15 11:35:02 695

原创 SMPL模型

SMPL的python版本在官方网站有两个,分别是SMPL_python_v.1.0.0,SMPL_python_v.1.1.0。区别是:以SMPL_python_v1.1.0为例,其中包含了三个models和操作models的基础脚本。三个模型是male,female,netrual的pkl格式模型,以netrual为例,我们看下其中的数据结构。import picklewith open(model_path, 'rb') as f: smpl = pickle.load(f, encodin

2021-10-14 11:36:28 3478 1

原创 DGF网络

DGFDeep Guided Filtering Network的目标是利用低的计算代价,生成全分辨率,并保留边缘特征的输出。采用coarse-to-fine的思路。下采样原始输入图像IhI_hIh​, 得到低分辨率输入IlI_lIl​。输入到CNN中Cl(Il)C_l(I_l)Cl​(Il​),得到对应的低分辨率输出OlO_lOl​。然后以IlI_lIl​, IhI_hIh​, OlO_lOl​作为输入,生成最终的全分辨率输出OhO_hOh​。DGFSDGF_SDGFS​Cl(Il)C_l(I_l

2021-10-11 15:07:11 390

原创 通过detectron2学习AI

Norm目前detectron2中提供的归一化方式有:norm = { "BN": BatchNorm2d, # Fixed in https://github.com/pytorch/pytorch/pull/36382 "SyncBN": NaiveSyncBatchNorm if env.TORCH_VERSION <= (1, 5) else nn.SyncBatchNorm, "FrozenBN": FrozenBatchNorm2d, "GN": lambda channel

2021-09-06 18:02:20 993

原创 mmpose使用笔记

环境配置xtcocoapi, poseval需要从github下clone安装,mmcv可以直接通过pip install安装。这里主要介绍下top-down方案的使用过程。demo我不想install到全局路径中,故每次使用时,需要export一下mmpose的路径。如下:export PYTHONPATH=path_to_your_mmpose_folderimage demopython demo/top_down_img_demo.py \configs/body/2d_kpt_s

2021-08-11 14:21:54 1231

30天自制操作系统

30天自制操作系统 日本著作 师夷强技以自强

2014-12-08

Java数据结构与算法

Java数据结构与算法,入门初学者必读教材

2014-11-21

软件技术基础:离散数学、数据结构、C.编程实训.来可伟.

软件技术基础:离散数学、数据结构、C.编程实训].来可伟.文字版.

2014-11-21

Kleinberg.Tardos.Algorithm.Design2

Kleinberg.Tardos.Algorithm.Design2算法开发

2014-11-14

Robust Control

Carsten Scherer经典之作,现代控制理论进阶必读教材

2014-11-14

CMOS模拟集成电路设计 普清

CMOS模拟集成电路设计 普清还能用 对清晰度要求较高者可考虑

2014-10-29

信息论基础高清晰,科弗

《信息论基础》(美)科弗(Cover,T.M.),(美)托马斯(Thomas,J.A.) 著

2014-10-29

单片微机时钟程序

关于51单片机的时钟程序,是一个关于仓库温度报警系统的程序

2013-09-06

空空如也

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

TA关注的人

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