自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

曲草的博客

技术连接你我

  • 博客(27)
  • 问答 (1)
  • 收藏
  • 关注

原创 RANSAC(随机采样一致性)算法在多目三维空间点重构中的应用demo(c++代码实现)

**RANSAC(随机采样一致性)**算法与最小二乘算法不同之处在于它假设数据样本中包含局外点即outliers,其余为局内点即inliers。该算法通过迭代一定的次数,每次随机选取若干样本构造一个模型,然后验证其余样本是否为局内点。以此找到一个相对合理的最优模型。在计算机视觉方面广泛应用。具体可参考网上其余博主对RANSAC算法层面上的讲述和理解。1 问题:笔者在做多目三维人体关节点重构时遇到一个这样的问题:在某些视角视角下,关节点的二维检测是不准确的,错误的检测在三角化是就会导致重构结果偏差较大。例如

2020-08-24 17:33:20 1303 3

原创 ubuntu配置用户,添加vnc桌面,配置TensorFlow PyTorch GPU环境

搞深度学习的同学肯定一直都在跟ubuntu服务器打交道,无论创建用户,配置远程桌面,远程调试,配置TF或者PT的GPU环境等等,很多都是重复繁琐的步骤,还有可能各种踩坑,笔者就把的一些配置经验整理一下分享给各位。1 英伟达驱动安装拿到一台新的ubuntu服务器,首先安装一下英伟达驱动,建议去官网下载对应GPU版本的驱动文件。这一步我不赘述,很多关于驱动安装的帖子。安装好显卡驱动之后通过nvidia-smi可以看到驱动版本和CUDA版本,GPU各种详细信息。nvidia-smi2 关于CUDA

2020-08-21 14:23:02 733

原创 tensorflow tf.equal() broadcasting用法补充

tf.equal()逐元素判断Tensor x,y是否相等,是则为True,否则为Falseequal(x, y, name=None)大部分博客都只是如下一个简单的例子:import tensorflow as tfa = [[1,2,3],[4,5,6]]b = [[1,0,3],[1,5,1]]with tf.Session() as sess: print(sess.run(tf.equal(a,b)))如果:[[ True False True] [False

2020-07-08 14:06:26 514

原创 Pycharm专业版远程调试功能详细配置

1 新建一个空项目,或者打开一个已有的本地项目,这里我选择打开一个本地项目作为测试,如下图:2 打开Settings --> Project: xxxx --> Project Interpreter --> Add,首次配置远程解释器时选择Add添加之后:3 选择SSH Interpreter ,配置Host和UserName ,以linux服务器为例,即为服务器IP,自己的用户名,后面为端口,如果使用内网穿透服务,则Host和Port根据具体穿透连接配置。选择Next下一步

2020-06-04 20:57:01 784

原创 Python创建XML文件,C++解析XML文件

最近在做一些代码移植工作,为了测试正确性,要拿同样的输入数据测试,于是打算使用XML来存储数据,C++进行解析。简单做个记录。数据源这里我选择用10帧图像中的人体2维关节点骨架作为数据源(可以在此下载 提取码 ersp)shape为 10 x person_number x 17 x 2 , 分别表示帧,人数,关节点数,关节点图像坐标(x,y)使用python生成xml目标是生成下面的样子,直接看代码吧,python这个xml库用起来比较简单,看个例子就会了。import numpy as n

2020-05-28 18:08:37 336

原创 使用scipy.optimize的fsolve, root函数求解非线性方程

求解如下方程from scipy.optimize import fsolve, rootimport numpy as np# 定义方程内容def f(x, *arg): return arg[0] * 2 ** (1 - x) / (1 - x) + (1 - arg[0]) * 1.6 ** (1 - x) / (1 - x) - arg[0] * 3.85 ** (1 ...

2020-03-20 10:20:20 3535 2

转载 直方图均衡化算法原理及bins的理解

我们知道提高图像对比度的变换函数f(x)需要满足以下条件:f(x)在0<=x<=L−1上单调递增(不要求严格单调递增),其中L表示灰度级(L=256) f(x)的范围是[0,L−1]我们知道当图像直方图完全均匀分布的时候,此时图像的熵是最大的(随机变量每个值的概率都相同时,概率最大),图像对比度是最大的。所以,理想情况下,图像经过变换函数f(x)变换后,直方图能够均匀分布,此时...

2020-03-19 15:38:05 5016 1

原创 python matplotlib 绘制h36m 3D骨架

静态动画静态import matplotlib.pyplot as pltimport numpy as np# h36m骨架连接顺序,每个骨架三个维度,分别为:起始关节,终止关节,左右关节标识(1 left 0 right)human36m_connectivity_dict = [[0, 1, 0], [1, 2, 0], [2, 6, 0], [5, 4, 1], [4, ...

2019-12-27 23:04:29 5625 27

原创 多维标度法(MDS,Multidimensional Scaling)及普氏分析(Procrustes Analysis)在人体姿态关节点上的简单示例(python)

多维标度法(MDS,Multidimensional Scaling)多维标度法一个简单的应用示例就是,已知一组城市之间的相对距离关系(相似矩阵),如何求解出各个城市在地图上的位置,使其尽可能满足前面的相对距离约束。有关多维标度法的具体介绍大家可以参考网上其他博主的讲解,我在这里就不具体展开了。普氏分析(Procrustes Analysis)最近网上比较火的换脸操作大部分都会用到普氏分析法...

2019-12-21 23:47:29 2585

原创 kde neon节能助手plasma-pstate安装

plasma-pstateIntel P-state and CPUFreq Manager是一个KDE Plasma小部件,用于控制在具有HWP的活动模式或不具有HWP的活动模式下运行的任何现代Intel处理器的Intel CPU及其集成GPU的频率。 它还可以通过“性能偏好”(EPP)旋钮(如果支持)或“性能偏差”(EPB)旋钮(否则)来管理处理器的能耗。安装git clone htt...

2019-12-03 16:30:17 895

原创 human36m 3d姿态可视化

可以进行数据集中四个视角的切换以及一个全局视角相机上方为处理的编号demo为遛狗的一个场景(opencv实现,当然也可以用opengl)数据集须官方账户下载这里生成的3d标注是经过预处理的,处理过程可以参考learnable-triangulation-pytorch的处理方式,生成逐帧的标注信息,其内部包括个体信息,相机参数信息,每帧的标注信息…具体实现代码放在了这里,有兴趣一起交...

2019-11-26 21:40:42 4979 22

原创 opengl绘制出多目相机配置场景

标定工具得到的Rt参数都表示原点在相机坐标系下的变换,因此后面绘制时需要将其转化到相机相对于原点的变换。转化也很简单:R’ --> R.TT’ --> -R.T @ Tok,下面就是简单的绘制了,直接看代码:import timefrom OpenGL.GL import *import numpy as npfrom GEngine.shader import Sha...

2019-11-01 19:34:43 755 2

原创 tensorflow对图像分通道进行标准化

tensorflow自带的tf.image.per_image_standardization会在整个图像通道上计算均值标准差,进而标准化。这里实现分别在r g b通道上单独标准化。import tensorflow as tfimport numpy as npimport cv2origin = cv2.resize(cv2.imread('/home/shuai/Desktop/t...

2019-09-30 20:16:32 1909

原创 tensorflow 生成一个tensor的mask

import tensorflow as tfa = tf.constant([[-1, 2, 3], [2, -3, 4], [5, 6, -7]], dtype=tf.float32)d = tf.ones(shape=[3, 3], name='a')e = tf.zeros(shape=[3, 3], name=...

2019-09-17 12:56:33 3214

原创 jQuery.filer文件上传插件简单使用

官网文档这里贴出使用该插件上传多图片的demo,后端使用python flask。demo前端demo.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>jQuery.filer Demo</title&g...

2019-09-12 15:58:19 1646

原创 tensorflow serving docker 环境配置及模型部署

tf serving docker 环境配置1 ubuntu docker 安装# pre setupsudo apt-get updatesudo apt-get install apt-transport-https ca-certificates curl software-properties-commoncurl -fsSL https://download.docker...

2019-09-07 09:16:43 744

原创 SVD奇异值分解求解非齐次线性方程组代码实现

SVD可以很方便的求解齐次和非齐次线性方程组,这篇帖子有关于奇异值分解的介绍以及求解齐次和非齐次线性方程组推导过程。求解非齐次线性方程组 Ax=b等价于寻找x使||Ax−b||2最小化求解步骤(图片引用自博客)代码...

2019-08-28 13:52:24 2606 2

原创 kde neon 使用pycharm添加ssh远程解释器 userName must not be null

pycharm添加ssh远程解释器 userName must not be null最近把ubuntu换成了kde neon,用起来感觉很不错,但是在添加pycharm ssh远程python解释器时会出现userName must not be null的错误,这是因为kde neon中缺少gnome-keyring相关的packages,于是就在包管理器(我这里用的Muon Package...

2019-08-19 14:13:41 939

原创 nump 求二维数组最大值索引

a = np.random.randn(3, 3)print(a)print(np.unravel_index(np.argmax(a), a.shape))np.argmax默认会将数组a展平,这样的得到的索引为一维的位置,所以利用unravel_index函数将其恢复到数组a对应的位置,因此传入a.shape。...

2019-08-07 10:07:36 1999

原创 双目相机标定结果内参及外参验证

双目相机标定结果(内参,外参)验证–在OpenGL中重投影目标模型到图像平面,与左右视角图像中的模型同时重合相机标定是计算机视觉任务中比较基础且重要的前提步骤。单目相机的标定可以直接用来对图像进行反扭曲处理。多目相机标定稍微复杂一些,笔者这里在做多目姿态估计的任务,因此接触到了多目相机标定。我这里用到的方法也很简单,用的是比较经典的棋盘格标定法。两个相机设置一定的拍摄角度,同时拍摄若干组标定板...

2019-07-12 14:32:54 11184 11

原创 PyOpenGL骨骼动画(skeleton animation) 二

上一期简单介绍了一下Collada文件的格式,这一节我们就来实际操作该文件,但是不是自己定义xml文件的读取解析方法(这个轮子就没必要造了),在google查了一下,python里有pycollada扩展库,可以用来帮我们解析dae格式的文件,同时,它还可以生成dae文件,功能很强大,这里我们只是用最基础的功能。废话不多说,先来看一下最终动画的效果(录制原因导致帧率有点低)。代码及资源参考了这里...

2019-04-12 11:47:42 4792 6

原创 PyOpenGL骨骼动画(skeleton animation) 一 Collada模型格式简单解读

Collada简介collada格式文件是一种比较流行的3D模型文件存储格式,Blender默认的默认导出格式就是.dae格式的,相比obj文件,dae文件不仅存储了顶点,法向量,面,贴图坐标,材质信息,还存储了整个3D场景的结构信息以及骨骼动画信息。Collada格式上图所是为Collada的基本结构,可以看到,文件是以XML格式进行存储的。library_geometries包含3D...

2019-04-11 23:12:46 3907

原创 tensorflow获取预训练模型某层参数并赋值到当前网络指定层

已经有了一个预训练的模型,我需要从其中取出某一层,把该层的weights和biases赋值到新的网络结构中,可以使用tensorflow中的pywrap_tensorflow(用来读取预训练模型的参数值)结合Session.assign()进行操作。这种需求即预训练模型可能为单分支网络,当前网络为多分支,我需要把单分支A复用到到多个分支去(B,C,D)。先导入对应的工具包from tens...

2019-04-01 14:49:36 6320 2

原创 tensorflow获取网络weights和biases

可以获取指定层的训练参数check_result = []check_v_name = [v.name for v in tf.trainable_variables()]values = sess.run(check_v_name)for n, v in zip(check_v_name, values): check_result.append([n, v])...

2019-04-01 14:29:04 2783 3

原创 TSNE高维向量降维3D可视化

搞深度学习时可能会遇到想可视化神经网络某一层的输出向量的需求,我最近就遇到了这样的需求,需要对网络的降维结果进行可视化,我这里对3D可视化做一下简单的介绍。主要还是参考了网上很多大神的写法。TSNE和PCA两种方法都可以实现高维向量可视化,两者原理不同,速度也差很多,TSNE会慢一些。这里主要还是用到了python里的matplotlib库进行图形绘制。...

2019-03-23 11:02:04 10075 9

原创 python 脚本下载bilibili右上角表情包

python 脚本下载bilibili右上角表情包B站是个十分有趣的地方,今天就来下载一下B站官网的表情包图片。事实上,B站的表情包全部在一个json文件中,只要请求即可。顺便访问一下我的github主页python的urllib库来进行网络请求python json库进行json数据解析先来看以下上面的json请求后的结果:我们需要title和下载链接即icon那一行,所以接下...

2019-03-16 21:08:54 1964 4

原创 python opencv 为图片添加alpha通道并设置透明 ;根据bbox(或多个bbox)生成该区域的抠图

python opencv 为图片添加alpha通道并设置透明opencv 读取图片后通道为BGR的格式,这里做个示范将图片的左半边设置为透明效果。原图透明图 (100)透明图(0)opencv 读取图片后通道为BGR的格式,这里做个示范将图片的左半边设置为透明效果。import cv2import numpy as npimg = cv2.imread(&quot;/home/shuai/Des...

2019-03-14 22:52:40 11639 17

空空如也

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

TA关注的人

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