单目多人三维人体重建CenterHMR 单目多人三维人体重建CenterHMRgithub链接: https://github.com/Arthur151/CenterHMR.只需要单个网络,一次前向预测,大家可以在Google Colab上尝试我们方法的效果,也可以自己上传图片。网络运行的结果,包括三维人体网格,三维人体关键点和三维人体统计模型参数SMPL会保存在一个npz文件里,以便其他任务使用。...
1 euro filter 及其他滤波器效果可视化 http://www.lifl.fr/~casiez/1euro/InteractiveDemo/非常棒,很好展示了多种滤波器的效果和用途偏向,1 euro filter比较简洁,i可以较好的追踪动态信号,延迟较低,但对震颤的抗性较差,如果要去震,那么β不能设太大,fc也要小一点,才有点除颤效果。...
python3 dict ndarray 存成json,并保留原数据精度 import numpy as npimport codecs, json a = np.arange(10).reshape(2,5) # a 2 by 5 arrayb = a.tolist() # nested lists with same data, indicesfile_path = "/path.json" ## your path variablejson.dump...
HumanevaI dataset part15下载链接失效解决方法 HumanevaI dataset官网的Linux版下载链接part15下载链接失效,最蛋疼的是缺一个就没办法解压: 经过博主思索后发现,是它的链接地址存错了,所以只要把下面的报错网址http://humaneva.is.tue.mpg.de/main/download?file=HumanEvaI_Data_CD25.tar改成http://humaneva.is.t...
SMPL模型改用python3+numpy计算 SMPL自带的代码是用python2+chumpy,不太方便,还难理解,在github上发现了同样想改用python3+numpy计算的同道中人:https://github.com/CalciferZh/SMPL但要调不多不少的bug,分享给大家。首先就是chumpy库只支持python2,从安装到运行都要改成python3的,不然就会各种报错,我就是就着报错一路改过来的: ...
简单粗暴而有效的备份ubuntu系统 系统备份系统设置(systemsetting)里有Backups,但只能备份还原home文件夹。首先打开终端进入根目录并获取root权限cd /sudo sucd/media/sunyu/数据/ubuntubackuptar cvpzf 最新备份.tgz--exclude=/proc --exclude=/media --exclude=/lost+found--exclude=/backup.t...
docker命令简集 1.获取container信息:sudo docker ps2.openface的container名字:unruffled_montalcini所以可用:sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' unruffled_montalcini获取其docker ip3.官方提供的使...
cudnn 转自https://blog.csdn.net/lucifer_zzq/article/details/76675239为什么需要安装cudnncuDNN的全称为NVIDIA CUDA® Deep Neural Network library,是NVIDIA专门针对深度神经网络(Deep Neural Networks)中的基础操作而设计基于GPU的加速库。cuDNN为深度神经网络中的标准流程提供...
opencv3与opencv2代码区别总结 总是在caffe编译时遇到opencv的版本问题,继续总结记录一波。基本上都是opencv3与opencv2版本差距问题。本人常常遇到的是:cvtColor函数中颜色转换系的宏,全替换为”COLOR_”前缀,如CV_BGR2HSV改为COLOR_BGR2HSV在caffe有时还要在前加cv::,不然还是找不到。caffe2 报错:caffe2/image/image_input_op.h:521:...
pytorch多进程加速及代码优化 目标:优化代码,利用多进程,进行近实时预处理、网络预测及后处理:本人尝试了pytorch的multiprocessing,进行多进程同步处理以上任务。from torch.multiprocessing import Pool,Manager为了进行各进程间的通信,使用Queue,作为数据传输载体。 manager = Manager() input_queue = manager.Q...
python代码性能优化 1.可视化代码运行时间工具vprof:https://github.com/nvdv/vprof安装:sudo pip3 install vprof然后直接用它运行代码:vprof -c h test.pyh会让它根据每行代码的运行时间附上热图。需要带输入时:vprof -c cmh "testscript.py --foo --bar"2.用上下文管理器测量部分代码运行时间:from time ...
Segmentation fault (core dumped) Segmentation fault (core dumped)这个bug调的我有点懵。因为是pytorch训练时,跑着跑着突然停了,然后用的ecllipse也没有任何报错信息,就开始查网页,说是Dataloader、Dataparallel的事,就把他们都换了,结果还是出问题。就用gdb找:gdb python3r train.py这时出现了这个报错:Segmentation fault (co...
pytorch 减小显存消耗,优化显存使用,避免out of memory 本文是整理了大神的两篇博客:如何计算模型以及中间变量的显存占用大小:https://oldpan.me/archives/how-to-calculate-gpu-memory如何在Pytorch中精细化利用显存:https://oldpan.me/archives/how-to-use-memory-pytorch还有知乎中大神的解答:https://zhuanlan.zhihu.com/p/3...
Debug:intel realsense sdk2.0 Ubuntu18.04 modprobe: could not insert 'videodev': Exec format error 在Ubuntu18.04上安装intel realsense sdk2.0,运行系统补丁文件./scripts/patch-realsense-ubuntu-lts.sh,会有如下报错modprobe: could not insert 'videodev': Exec format error 多谢大佬们的讨论:https://github.com/IntelRealSense/libreals...
caffe中的矩阵运算函数caffe_cpu_gemm,cblas_sgemm等解析 caffe中最典型且常用的卷积运算,是通过将卷积操作转化成矩阵乘法来实现的,因此,卷积层的一系列程序实际上就是在为矩阵的卷积式展开和矩阵乘法函数做准备,caffe_cpu_gemm也就是在调用矩阵乘法函数cblas_sgemm。1.矩阵间乘法:这里我们先来看一下这些矩阵乘法函数有输入需求,以单精度矩阵乘法函数cblas_sgemm为例:cblas_sgemm(CblasRowMajor, Cbla...
caffe源码 base_conv_layer详解 看完了caffe中层的基础功能及构成后,我们通过base_conv_layer这个十分基础的卷积层来具体认识一下,caffe中层的定义,不多说,看源码。1.头文件先看头文件中,主要是一些声明和变量的定义:#ifndef CAFFE_BASE_CONVOLUTION_LAYER_HPP_#define CAFFE_BASE_CONVOLUTION_LAYER_HPP_#include <...
三维坐标莫顿码计算 c++算法程序 莫顿码可以将多维数据转化为一维数据编码,根据一维编码位数可确定多维数据保留精度,是一种比较常用的压缩编码方法,尤其是作为哈希表的映射算法等,加速了树结构数据的存储和访问速度。莫顿编码也叫z-order code ,因为其编码顺序按照空间z序.从二维莫顿编码的计算开始:上图展示了8*8的图像每个像素的空间编码,从000000到111111,用一维二进制数,编码了x,y值在0-7的位置坐标。交错二进制...
pytorch源码 folder 在使用pytorch构建数据库时,会使用到ImageFolder这个模块便于数据加载,了解其源码便于快速开发。import torch.utils.data as data#PIL: Python Image Library缩写,图像处理模块# Image,ImageFont,ImageDraw,ImageFilterfrom PIL import Image import ...
python3 cv2.VideoCapture 无法获取usb摄像头图像 之前做的一些利用摄像头的工作,结果python3下怎么弄都cv2.VideoCapture 无法获取usb摄像头图像,但在python2下能用。解决方案:1.从opencv的github上git clone最新的源码,自行编译安装:打开cmake,选好路径,configure , generate ,然后就sudo make install 要编译一阵。。2.编译好的文件:sudo cp <...
高效八叉树octree:基于hash函数的数据结构 1.基础知识八叉树octree是一种递归、轴对齐且空间分隔的数据结构,常用于计算机几何来优化碰撞检测、最邻近搜索等,且常用于3D数据的表达。一个八叉树结构,将有限的三维体数据等分为8个octants。octants也被称为nodes(节点,树结构概念中)或者cells(单元,空间概念中)。将空间分成等大小的立方体可以加速细分运算,且单元大小的存储也节省空间。一个八叉树是通过递归的将空间细分成八个子...
caffe源码 Net的Init()及Netparameter 详解 Net完成的工作主要是:根据咱们写的prototxt网络结构文件,完成层之间的连接和初始化。这里先介绍其数据结构Netparameter ,再详解源码。关于protobuf的前置知识可以参考之前的博文。message NetParameter { optional string name = 1; // consider giving the network a name网络名 // DE...
caffe源码 数据结构 google protobuf caffe的数据结构,除了使用blob作为数据块,大部分的数据结构都用proto文件来定义。我们为表达网络结构所写prototxt文件就是protobuf读取的文件,从其中,protobuf可以获取层、参数的设置,反馈NetParameter、LayerParameter等重要初始化信息用于网络、层的建立和设置。caffe编译时,第一个编译的就是caffe.proto,它是所有文件的基础。什么是p...
Ubuntu下最便捷好用微信、QQ(Wine-Tim Wine-QQ )没有之一 被webqq困扰的挠头,经过寻找,发现Ubuntu 下最便捷好用Wine-Tim Wine-QQ,没有之一目前装的是Wine-Tim,装完界面体验和windows下一毛一样,简直了!!!!不多说,放图:贼厉害Ubuntu18.04方法如下:sudo apt-get install wine-devel去该地址下载:https://github.com/askme765cs/Wine-QQ-TIM我...
caffe源码 Layer 详解 Layer层是深度网络中基础单元,了解其源码架构,利于我们编写自定义的caffe层。通过阅读源码我们可以了解到Layer层的上通下达,不仅是对输入输出明确,还要明确需要重写、覆写的部分是哪些。#ifndef CAFFE_LAYER_H_#define CAFFE_LAYER_H_#include <algorithm>#include <string>#inclu...
caffe源码 SyncedMemory 详解 SyncedMemory是caffe中直接用于管理内存分配和GPU、CPU数据交互的类,只要服务Blob类。其头文件中大部分是声明,还有一些特别的:优化多GPU:如果用CUDA+GPU模式,CPU内存将会被分配固定(分配的内存可以常驻在内存空间中对效率是有帮助的,空间不会被别的进程所抢占)用cudamallochost,避免了用于传输的动态固定。这种对单GPU没啥用,但对多GPU提升了大模型的稳定...
caffe源码 Blob.cpp 详解 caffe数据块是整个框架的基础部分,了解其结构特点对了解框架特点抑或自己开发新层是十分必要的。 其blob.hpp主要是进行了一些:声明、类函数inline内嵌、简单函数定义等,不是很复杂。 因此主要介绍其cpp模块。#include <climits>#include <vector>#include "caffe/blob.hpp"#include...
caffe Dtype 泛型编程详解 caffe源码中大量应用了泛型编程,即编写与类型无关的代码,便于代码复用。其中,最常见的就是 template <typename Dtype>Dtype是泛型类型,进行利用模板的泛型编程,独立于任何特定类型,其参数模板类型Dtype无具体类型,根据输入类型来实例化具体类型。即使用其为占位符,使用类时再提供具体类型或者值。举个栗子:模板函数:template<typename T...
ubuntu18.04编译最新caffe错误修正 这里记录些编译caffe时的报错:每次报错修改好后,别忘了先make clean,再make all -j4:1.主要是cuda,nvcc路径问题,解决方案:就是找到东西,把它复制到caffe想要的路径或者修改make.config文件中相应的库路径,个人比较喜欢复制的方法。。。2.还有就是我用的CUDA9.1不再支持compute_20架构了,所以把以下两行注释了就好了。CUDA_ARCH :=...
octree generative net 向最新版caffe移植过程 1.先将caffe/src/caffe/layers 中cpp文件和 caffe/include/caffe/layers 中hpp文件中所有有关于OGN的层复制到最新版caffe的对应位置,除了ogn开头的文件外,还有caffe/src/caffe/layers/label_to_onehot_layer.cpp和其对应hpp文件。此外,将caffe/include/image_tree_too...
caffe NetState 参数中 level stages解释 摘自http://caffecn.cn/?/question/104level stages这两个参数网上没有太多解释,但实际上这两个参数可以一定程度增加网络的灵活程度,只需要设置几个数字即可便捷的在网络初始化阶段进行网络各层的删减和增加。NetState描述网络的State,在caffe.proto里的定义如下:message NetState { optional Phase phase ...
lightGBM、caffe等 编译报错:expected '{' before _GLIBCXX_VISIBILITY 系g++版本问题 之前为了编译cuda,需要用低版本的g++,就安装了g++-5,并且通过如下命令提高了它的优先级,使它成为默认的g++:sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5所以cmake就默认用g++5了,但好像最新的软件都不支持老版...
Debug: mayavi Cannot contour: No scalars in input data! 报错:AttributeError: 'ImageChangeInformation' object has no attribute 'set_update_extent'Cannot contour: No scalars in input data!traits.trait_errors.TraitError: The 'vector_component' trait of a SmartV...
ubuntu更新错误:dists/artful/main/binary-arm64/Packages 404 Not Found Failed to fetch http://archive.ubuntu.com/ubuntu/dists/artful/main/binary-arm64/Packages 404 Not Found [IP: 91.189.88.162 80]困扰了很久的ubuntu更新错误,后来终于找到了答案:https://askubuntu.com/questions/705895/how-to-...
pyCUDA教程-系列学习(1):GPU结构、pyCUDA、numbapro安装及HelloGPU例子 GPU结构CPU v.s. GPU CPU是被设计用来处理复杂任务的,而GPU只能做好一件事-处理百万级的低级任务(原来是被用来生成3D图形中的三角形),而且GPU有上千个ALU(算术逻辑单元),而CPU通常只有8个。而且很多程序大部分时间都花在GPU擅长的简单运算上了,所以GPU加速程序很有必要。CUDA编程有越来越复杂的趋势,但pyCUDA则大大简化了这个过程,并且拥有GPU加速的享受,所以...
Debug:pytorch module 'torch' has no attribute 'form_numpy' 在torch的主页上有这样一句话,经过仔细分析才明白其中的意思:Pylint isn't picking up that torch has the member function from_numpy. It's because torch.from_numpy is actually torch._C.from_numpy as far as Pylint is concern
ubuntu创建桌面快捷方式 ubuntu会将自动安装的软件快捷方式,存放在/usr/share/applications目录下。1.新建快捷方式文件:sudo gedit /usr/share/applications/wechat.desktop2.在打开的文件里加上: Exec代表应用程序的位置【视实际情况修改】Icon代表应用程序图标的位置【视实际情况修改】Terminal的值为false表...
ubuntu17 安装 qt5.10 1.下载(最好用wget,不然要官网注册申请啥的特麻烦):wget http://download.qt.io/official_releases/qt/5.10/5.10.0/qt-opensource-linux-x64-5.10.0.run2.给权限下载后给执行权限chmod +x ./qt-opensource-linux-x64-5.10.0.run3.安装./q
目标检测定位与分割论文阅读心得总结:FCN U-Net R-CNN FR-CNN Faster R-CNN Mask R-CNN 目前,基于区域的方法主要分为两类:任务解耦和的RCNN[1]和任务高度耦合的FCN[2]。RCNN是将任务分解,目标检测、定位与分割依次逐一进行,前者决定后者的输入,因此称为任务解耦和。而FCN则将三类任务在一个网络中同时进行,不分先后,任务高度耦合。FCN已在医学图像领域有很多表现优异的衍生网络,如U-NET[12]等,而RCNN则应用较少。
Jetson TX2 开机测试及刷机 仰慕已久的TX2终于到货了,分享一下配置过程。先来一张板子图,这里主要使用的是右下角的电源按键【19】,强制恢复按键【20】和重置按键【22】.1.开机测试:首先找块屏幕这里是HDMI接口连接,鼠标键盘也接上。然后恩开机键,图中最下面的红键(两侧亮灯的那个就是电源键)。因为这里配置比较简单就没留图。就是根据屏幕的提示做,安好显
Pytorch图像分割BUG心得汇总(一) 用了一段时间PYTORCH,感觉这个开始用着很得劲的,所以把BUG梳理一下,再接再厉,祝大家写的一手好BUG,并能调的通。- —— -图像分割任务相对特殊的就是他的标签,是类别图,这也是pytorch有意思的一点。pytorch的NLLLoss2d用来做n类图像分割,接受的每个数据的标签是 W x H 的标签图,每个像素上是该元素的类别号从0开始,到C-1,官方文档是这么描述的:#
Debug:cuda error gcc 版本过高不支持 error: #error -- unsupported GNU version! gcc versions later than 6 are not supported!错误的解决方式很简单,就是安装低版本gcc和g++,并创建链接或更改gcc各版本的优先级。 此处为以后考虑安装了gcc-6和g++-6,大家可以自行决定版本,只要比错误中提到的支持上限小就没问题sudo apt-...
ubuntu开机自动挂载硬盘分区 格式: # file system: 分区定位,可以是磁盘号,或UUID 一般用uuid,用磁盘号维护时可能错乱。 mount point: 挂载点,如:/media/wind/data type: 挂载磁盘类型,根据实际情况填写,我的linux是ext4, win
安装与卸载最优的Nvidia驱动在Ubuntu(亲测ubuntu17.10上快捷好用) 1.点击左下角的显示应用按钮搜索software。选择 “Software & Updates” 。2.选择附加驱动 “Additional Drivers”:可以看到目前使用的是开源的 nouveau drivers.安装 Nvidia drivers, 点击 “Using Nvidia binary driver” ,而后 “
ubuntu更新Debug:E: Some index files failed to download, they have been ignored, or old ones used inst ubuntu更新Debug:E: Some index files failed to download, they have been ignored, or old ones used inst这个错误是由于你的软件源有没法链接到的或者已经停止服务的,所以去掉这个错误就是删除这个软件源即可。1.打开系统设置:选择软件更新(software update)。2.删除不想要
Debug:Error loading notebook An unknown error occurred while loading this notebook. Error loading notebookAn unknown error occurred while loading this notebook. This version can load notebook formats v4 or earlier. See the server log for details.这个错误的弥补方法是修改~/.local/share/jupyter
树莓派3b系统Ubuntumate16下的tightvnc或xrdp远程控制开机启动 本文主要是树莓派3b系统Ubuntumate16下,tightvnc开机自启动的爬坑经验,这一技术极大便利了我们在手机、电脑端,远程控制树莓派等基于liux系统的移动开发硬件。实现的过程从0到1,爬遍大小坑,试过改rc.local等不太好用,最后成功做出这个来,开机就能再局域网链接,方便的很。