自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 controlnet训练流程详解

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

2024-02-05 13:32:12 465

原创 Diffusion Models

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

2024-01-18 23:56:45 877

原创 SD text prompt 文生图系列

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

2024-01-02 14:49:44 416

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

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

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

原创 AdaIN

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

2023-11-16 11:38:39 105

原创 NeRF基础代码解析

对position和view direction做embedding。

2023-08-10 15:56:21 435

原创 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 114

原创 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 524 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 709

原创 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 1138

原创 Transformer BEV 3D object detection

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

2022-10-03 12:03:10 683

原创 GRU学习笔记

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

2022-09-27 16:49:41 1051

原创 VINS学习笔记

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

2022-09-24 18:02:19 778

原创 Transformer学习

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

2022-08-01 10:14:10 62

原创 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 313

原创 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 524

原创 Deep Snake for Real-Time Instance Segmentation

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

2022-07-15 15:44:58 527

原创 Sparse Instance Activation for Real-Time Instance Segmentation

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

2022-07-13 20:51:11 448

原创 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 972

原创 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 2458

原创 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 569

原创 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 189

原创 2D&3D Pose数据集

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

2022-03-30 11:45:32 805

原创 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 4792

原创 RetinaFace解析

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

2021-11-30 21:34:00 1227

原创 常用激活函数解析

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 360

原创 高通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 2822 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 1033

原创 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 609

原创 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 981

原创 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 374 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 410

原创 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 673

原创 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 3374 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 370

原创 通过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 972

原创 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 1209

原创 yolov5

网络结构以coco数据集为例,合计80类。yolov5在stride为8, 16, 32这三个维度上分别检测小目标,中目标,大目标。在每个尺度的每个位置上铺num_anchors个anchor。正常来说,num_anchors=3。假设输入图片的尺寸为[N, 3, H, W],这三个stride上输出特征图的尺寸分别为:[N, num_anchors, H/8, W/8, num_classes + 5][N, num_anchors, H/16, W/16, num_classes + 5]

2021-08-10 11:52:34 5980

原创 交叉熵损失

交叉熵损失BCELossBCEWithLogitsLossCrossEntropyLossBCELoss全称为Binary CrossEntropy Loss,二值交叉熵损失。l(x,y)={l1,...,lN}Tl(x, y) =\{l_1,..., l_N\}^Tl(x,y)={l1​,...,lN​}Tln=−wn[ynlog(xn)+(1−yn)log(1−xn)]l_n = -w_n[y_n log(x_n) + (1-y_n)log(1-x_n)]ln​=−wn​[yn​log

2021-08-09 21:33:36 1740

原创 TNN笔记

(TNN框架)模型部署:1. 模型转换:将在tensorflow, pytorch, caffe等平台训练得到的模型,先转为统一的onnx格式,再转换为TNN格式的模型。tnn模型转换需要依赖的环境比较复杂,建议直接用官方构建好的docker。docker pullturandotkay/tnn-convert:latest验证下docker镜像能否正常使用:docker run -it tnn-convert:latest python3 ./conver...

2020-12-16 21:37:07 1936

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

Python游戏编程入门

Hello! This book will teach you how to make graphical computer games with the Pygame framework (also called the Pygame library) in the Python programming language. Pygame makes it easy to create programs with 2D graphics. Both Python and the Pygame framework can be downloaded for free from http://python.org and http://pygame.org. All you need is a computer and this book to begin making your own games. This book is an intermediate programming book. If you are completely new to programming, you can still try to follow along with the source code examples and figure out how programming works. However, it might be easier to learn how to program in Python first. ―Invent Your Own Computer Games with Python‖ is a book that is available completely for free from http://inventwithpython.com. That book teaches programming by making non-graphical, text- based games for complete beginners, and also has a few chapters about using the Pygame library. However, if you already know how to program in Python (or even some other language, since Python is so easy to pick up) and want to start making games beyond just text, then this is the book for you. The book starts with a short introduction to how the Pygame library works and the functions it provides. Then it provides the complete source code for some actual games and explains how the code works, so you can understand how actual game programs make use of Pygame. This book features seven different games that are clones of popular games that you’ve probably already played. The games are a lot more fun and interactive than the text-based games in ―Invent with Python‖, but are still fairly short. All of the programs are less than 600 lines long. This is pretty small when you consider that professional games you download or buy in a store can be hundreds of thousands of lines long. These games require an entire team of programmers and artists working with each other for months or years to make. The website for this book is http://inve

2014-09-16

单片微机时钟程序

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

2013-09-06

空空如也

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

TA关注的人

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