C++
陈国文21
本科毕业西安交大,研究生在清华,专业为生物医学工程
展开
-
pycuda使用方法
pycuda的grid block thread分配以及子函数问题原创 2022-09-01 11:16:03 · 1018 阅读 · 0 评论 -
变形迁移(Deformation Transfer)DT
DT一般用于人脸表情基迁移,人体运动迁移等等。原创 2022-06-27 16:47:19 · 742 阅读 · 0 评论 -
SOX使用
Sox是一个专业的处理声音的软件。windows版本下载地址为:SoX - Sound eXchange download | SourceForge.net 改变采样率和bit数,使用开源工具sox,-r表示转换后的采样率,-c表示单声道,可以把stereo 44100 Hz 转为 mono 16000Hz。sox output_audio.wav -r 16000 -c 1 final.wav。...原创 2022-05-06 16:09:16 · 505 阅读 · 0 评论 -
open3d寻找mesh的边缘
首先需要从mesh中创建一个o3d.geometry.HalfEdgeTriangleMeshimport open3d as o3dhalf_edge_mesh = o3d.geometry.HalfEdgeTriangleMesh()mesh = o3d.geometry.TriangleMesh()mesh.vertices = o3d.utility.Vector3dVector(mesh_c.vertices)mesh.triangles = o3d.utility.Vector3i.原创 2022-04-25 22:29:47 · 1828 阅读 · 0 评论 -
scipy解决 AttributeError: type object ‘Rotation‘ has no attribute ‘from_matrix
scipy版本过老导致的找不到from_matrix和as_matrix,因为在旧版本里面写法是from_dcm和as_dcm,其中dcm是direction cosine matrices的缩写,也就是rotation matrix。 我确定的scipy版本1.7.0以上的可以找到from_matrix。 一定找不到的1.2.0...原创 2022-04-14 16:16:45 · 5166 阅读 · 0 评论 -
从旋转矩阵估计更加精确的旋转矩阵
旋转矩阵的最佳估计原创 2022-04-14 11:38:26 · 594 阅读 · 0 评论 -
形变迁移与ICP
形变迁移与ICP原创 2022-04-08 17:28:30 · 251 阅读 · 0 评论 -
几种人脸关键点的位置
几种人脸关键点的位置算法1算法2开源三:FacialHRNet(Github开源代码)原创 2022-03-15 11:01:20 · 140 阅读 · 0 评论 -
卡通驱动项目ThreeDPoseTracker的进一步分析
3D姿态估计——ThreeDPose项目简单易用的模型解析_风翼冰舟的博客-CSDN博客卡通驱动项目ThreeDPoseTracker原创 2021-10-20 18:31:24 · 3203 阅读 · 1 评论 -
人体动捕的IK实现问题
基于Coco25的人体三维关键点回归人体骨骼旋转: 1、直接计算法 2、优化法 难点: COCO25与smpl并不匹配,脊柱缺少很多点脊柱运动原创 2021-07-26 15:06:25 · 763 阅读 · 1 评论 -
Cache的特征
Allocation在CACHE中发现一个位置,并把新的cache数据存到这个位置的过程。这个处理过程可能包括evicting(驱逐)cache中已存在的数据,从而为新的数据腾出空间。Associativity指每个Set(集)里包含的line frames(行帧)数。也就是cache的way(路)数。Capacity miss容量失效 因为cache的容量限制,导致不能包括一个程序的整个working set(工作集),从而造成cac...转载 2021-02-24 11:22:55 · 2216 阅读 · 0 评论 -
win10+Vs2019编译PCL中Kinfu-largescale
PCL中Kinfu-largescale的编译极其麻烦,但是要记住编译一定要找最新的编译。 Cmake界面多折腾折腾。删删减减,OpenNi要记得加入,然后use cuda use gpu要加上,最后编译出来是dll,不是exe。。。...原创 2020-10-26 18:57:31 · 346 阅读 · 1 评论 -
对数组进行排序并返回索引表的C++ stl实现
如何利用lamda函数对vector类型进行排序并返回索引列表,如果单纯排序就直接用std::sort就可以实现,自己可以去定义cmp函数(比较函数)但是如果想返回排序索引表就需要额外加点东西了,a是需要排序列表,b是原始索引表,实质是根据a的value去对b进行重排列。这个[&a](int i, int j)->bool{return a[i] < a[j]; });是一个lamda表达式,其中重要的是需要捕获一下a才行,否则不认a。#in...原创 2020-05-16 13:56:39 · 1603 阅读 · 0 评论 -
MindSpore学习
MindSpore是华为推出的一款对标Pytorch的深度学习框架,目前原创 2020-05-10 22:25:48 · 474 阅读 · 0 评论 -
华为可信考试读本的读书笔记
程员修炼之路: 主要讲解作为一个职业程序员如何成长,关于方法路,关于如何交流,如何选择工具,打磨工具,更新知识,少量关于debug和算法复杂度相关的知识。 比较令人印象深刻的是在bug面前不要先想“”这不可能“, “”这是可能别人的代码引入的错误”,或者在项目deadline面前出现bug比较恐慌,人为的恐慌无助于问题的解决,应专注于问题的解决。应该透...原创 2020-05-02 17:08:32 · 10069 阅读 · 1 评论 -
各种物理仿真算法详解
周末补充分类: 基于冲击 基于力 和 基于位置为何没有基于速度的?原创 2020-04-29 22:57:00 · 1410 阅读 · 0 评论 -
OpenGL里的的缓冲器的分类和使用
OpenGL的缓冲区与一般意义上的缓冲区不同。OpenGL的缓冲区多半指的是GPU上面的显存。 1、初步学习了OpenGL的一些缓冲器,如顶点缓冲器、纹理缓冲器、索引缓冲器、渲染缓冲器、深度缓冲器、帧缓冲器、模板缓冲区等等。2、一些功能是渲染速度更快,比起glVertex3f()等命令;3、可以摆脱window自带的帧缓冲器,自己开辟帧缓冲器对象,也就是渲染出的图像不直接渲染到图像...原创 2015-10-15 15:23:35 · 809 阅读 · 0 评论 -
SMPL模型进阶
SMPL模型是一种参数化人体模型,是马普所提出的一种人体建模方法,该方法可以进行任意的人体建模和动画驱动。这种方法与传统的LBS的最大的不同在于其提出的人体姿态影像体表形貌的方法,这种方法可以模拟人的肌肉在肢体运动过程中的凸起和凹陷。因此可以避免人体在运动过程中的表面失真,可以精准的刻画人的肌肉拉伸以及收缩运动的形貌。 该方法中β和θ是其中的输入参数,其中β代表是个人体高............原创 2018-09-20 21:42:20 · 44526 阅读 · 62 评论 -
双目立体相机的Rectification
在ZED双目相机中,用户需要提供下面所示的参数,其中第一个参数可以理解为最终两个Rectification后的等效相机的内参数,所以各项畸变系数都为零,并且只有一套内参数fx fy。 Stereo Rectification的计算需要提供的参数有实际的内参数和实际的畸变参数以及目标的内参数矩阵。LEFT.D是左相机的原始畸变系数,LEFT.K是左相机的原始内参数矩阵...原创 2018-10-14 10:09:10 · 3390 阅读 · 4 评论 -
李群的求导,附带matlab代码
李群资料:https://en.wikipedia.org/wiki/3D_rotation_group http://www.ethaneade.com/latex2html/lie_groups/lie_groups.htmlhttp://www.ethaneade.com/latex2html/lie_groups/lie_groups.htmlhttps://git...原创 2018-10-03 15:26:26 · 2763 阅读 · 0 评论 -
Preconditioned Conjugated Gradient Solver 共轭梯度法
共轭梯度法是一种针对系统矩阵为对称正定矩阵的系统方程求解算法,具体来说就是迭代的求解共轭梯度方向,并求出最佳步长,对于线性方程具有最快的收敛性。 具体的实现上,因为具体的系统问题而有不同的预条件方法,如果系统变量为6*6分块,则预条件矩阵也应该是对角的6*6块的逆矩阵,同等情况下,如果仍然执意采用对角线的逆作为预条件则效果较差。 ...原创 2018-12-30 11:28:10 · 2379 阅读 · 0 评论 -
Thrust库的使用 - radix sort的具体实现 写作sort by key
https://thrust.github.io/doc/group__sorting.htmlhttps://devtalk.nvidia.com/default/topic/951795/fastest-sorting-algorithm-on-gpu-currently/PreconditionThe range [keys_first, keys_last)) shall no...原创 2019-02-02 01:13:25 · 1941 阅读 · 0 评论 -
DoubleFusion和DynamicFusion解读
DynamicFusion DynamicFusion是一种基于Canonical TSDF和Mesh以及一个从Mesh中提取中warpNode,本质上是一种基于深度图和ICP算法的稀疏warp场估计的DenseSlam系统。其中最关键是系统能量的wee设计: 是变形场,V是顶点场,也是TSDF值,Dt是输入的深度图像,而为Node之间的连接关系,也即NodeGrap...原创 2019-03-02 08:19:02 · 5349 阅读 · 0 评论 -
SMPL模型基本使用和资源下载地址
SMPL模型是一种参数化人体模型,是马普所提出的一种人体建模方法,该方法可以进行任意的人体建模和动画驱动。这种方法与传统的LBS的最大的不同在于其提出的人体姿态影像体表形貌的方法,这种方法可以模拟人的肌肉在肢体运动过程中的凸起和凹陷。因此可以避免人体在运动过程中的表面失真,可以精准的刻画人的肌肉拉伸以及收缩运动的形貌。 该方法中β和θ是其中的输入参数,其中β代表是个人体高...原创 2019-05-02 09:26:49 · 11238 阅读 · 10 评论 -
DoubleFusion实现的关键要点
ShapePoseOptimizer是一切的基石 也即一个好的NodeGraph,不重叠,好的NodeGraph可以生成好的KNN。实际中可以采取顶点数从1000到击200个点都可以用于表达人体的局部旋转场,比如下图是由998个点,NodeGraph构成HesssianReg,并且会决定最终系统矩阵的条件数 NodeGraph 节点图在腿部不是很...原创 2019-05-09 22:53:05 · 1967 阅读 · 1 评论 -
Mesh参数化方法/Mesh展平
Mesh参数化或者Mesh展平是图形学里面广泛用于制作贴图的一个步骤,通常英文称之为Mesh Parameterization,也被通俗的称为Mesh Flattenning。基本概念是一个三维的离散网格映射到二维平面网格的过程。为了保证后续应用的有效性,网格的参数化通常需要满足一些特定的性质,如三角形面积在映射前后变化较小、三角形的角度和边长变化较小,最根本的一点是需要映射是双射(Bi...原创 2019-07-27 07:41:20 · 5936 阅读 · 3 评论 -
Eigen求解LSCG问题
参考网址https://blog.csdn.net/xuezhisdc/article/details/54634080 Eigen中的求解Ax=b问题,应该采用什么方法, 才能较快的实现出来呢? 主要结果是这样的:Eigen中有一些求解稀疏系数矩阵的线性方程组。由于稀疏矩阵的特殊的表示方式,因此获得较好的性能需要格外注意。查看《Eigen教程3 - ...原创 2019-08-21 21:50:04 · 1117 阅读 · 0 评论 -
Laplacian Mesh Processing 三维网格拉普拉斯处理
MeshEditing是一个重要的数字几何处理技术,重要是利用拉普拉斯定理等数学原理对离散化网格上的一些参数进行规范化和平滑化,广义上Mesh Editing包括网格平滑(Mesh Smooth),网格编辑(Mesh Editing), 涂层迁移(Coating Transfer),网格移植(Mesh Transplanting)、细节混合(Detail Mixing)等等。...原创 2019-09-02 22:55:06 · 4130 阅读 · 4 评论