Jiadai Sun

生命不息 奋斗不止


  • 首页

  • 标签

  • 分类

  • 文章列表

  • 个人简历

  • 个人相册

  • 搜索

使用Gulp压缩Hexo-优化提速

发表于 2019-10-08 | 分类于 Hexo | | 阅读次数: ℃
字数统计: 566 | 阅读时长 ≈ 2

最近朋友反应博客速度太太太太……太慢了,然后做优化吧,最先想到的是CDN加速,但是需要对域名进行备案,然而备案需要有一台服务器生成授权码,还是先进行一些小修小补吧,网上最常见的现在是使用gulp对js, css, html, img进行压缩

前期准备-安装依赖包

1
2
3
4
5
6
7
8
#安装gulp
npm install gulp -g

#安装功能模块
npm install gulp-htmlclean gulp-htmlmin gulp-minify-css gulp-uglify gulp-imagemin --save

# 查看gulp版本的方式 `注意:网上有的是使用gulp3(3.9.1),部分代码在gulp4或更高版本可能不适用
gulp -v
阅读全文 »

重新理解Point-to-Point的ICP

发表于 2019-09-14 | 分类于 3D Vision | | 阅读次数: ℃
字数统计: 1.6k | 阅读时长 ≈ 7

重新理解Point-to-Point ICP

说了很多次ICP,其实只知道个大概,ICP是做什么的,也用PCL做过一点ICP,但是在一次组会中发现自己对ICP的算法过程理解还不是很到位,所以重新阅读&重新理解,推荐的一篇博客

ICP算法的基本原理

分别在带匹配的目标点云$P$和源点云$Q$中,按照一定的约束条件,找到最邻近点$(p_i, q_i)$,然后计算出最优匹配参数$R$和$t$,使得误差函数最小。误差函数为$E(R, t)$为:

其中$n$为最邻近点对的个数,$p_i$为目标点云$P$中的一点,$q_i$ 为源点云$Q$中与$p_i$对应的最近点,$R$为旋转矩阵,$t$为平移向量。

阅读全文 »

计算机图形学-圆的扫描转换

发表于 2019-06-26 | 分类于 Computer Graphics | | 阅读次数: ℃
字数统计: 1.1k | 阅读时长 ≈ 5

上个学期的专业选修课,现在想复习一下,趁机把手写的笔记草稿敲成了电子版

圆的扫描转换

圆的扫描转换是在屏幕像素点阵中确定最佳逼近于理想圆的像素点集的过程。这里记录两种方式:

  1. 中点画圆法

  2. Bresenham画圆法

阅读全文 »

计算机图形学-直线的扫描转换

发表于 2019-06-26 | 分类于 Computer Graphics | | 阅读次数: ℃
字数统计: 1.1k | 阅读时长 ≈ 4

上个学期的专业选修课,现在想复习一下,趁机把手写的笔记草稿敲成了电子版

直线的扫描转换

在数学上,理想的直线是没有宽度的,它是由无数个点构成的集合。对直线进行光栅化时,只能在显示器说给定的有限个像素组成的矩阵中,确定最佳逼近于该直线的一组像素,并且按扫描线顺序。下面常见的几种方法:

阅读全文 »

三维数据存储-OcTree八叉树

发表于 2019-06-25 | 分类于 PointCloud , 3D Vision | | 阅读次数: ℃
字数统计: 2.4k | 阅读时长 ≈ 8

一、OcTree原理介绍

维基释义:八叉树(Octree)是一种用于描述三维空间的树状数据结构。八叉树的每个节点表示一个正方体的体积元素,每个节点有八个子节点,这八个子节点所表示的体积元素加在一起就等于父节点的体积。一般中心点作为节点的分叉中心。八叉树是四叉树在三维空间上的扩展,二维上我们有四个象限,而三维上,我们有8个卦限。八叉树主要用于空间划分和最近邻搜索。

阅读全文 »

Kabsch算法求解变换矩阵RT

发表于 2019-06-24 | 分类于 Algorithm , Mathematics , 3D Vision | | 阅读次数: ℃
字数统计: 1k | 阅读时长 ≈ 4

Kabsch算法求解变换矩阵RT

计算两组对应点之间的平移向量和旋转矩阵是一个很常见的问题,如下图,示意了针对3组对应点的变换。

阅读全文 »

转载-SVD奇异值分解的数学涵义及其应用实例

发表于 2019-06-14 | 分类于 Mathematics , Computer Vision | | 阅读次数: ℃
字数统计: 2.5k | 阅读时长 ≈ 11

这篇文章分别从数学角度和图形变换角度分析了SVD分解的意义,值得收藏原文链接

SVD(Singular Value Decomposition, 奇异值分解)是线性代数中既优雅又强大的工具, 它揭示了矩阵最本质的变换. 使用SVD对矩阵进行分解, 能得到代表矩阵最本质变化的矩阵元素. 这就好比一个合数能表示为若干质数之积, 分解合数能得到表示该合数的质因数; 复杂周期信号可以表示为若干简单的正弦波和余弦波之和, 使用傅里叶变换能得到表示该信号的简单波; 复杂矩阵所代表的线性变换可由若干个简单矩阵所代表的线性变换组合起来, 使用SVD能找到这些简单矩阵.

阅读全文 »

批量梯度下降(BGD)-随机梯度下降(SGD)-小批量梯度下降(MBGD)的理解

发表于 2019-06-13 | 分类于 Machine Learning | | 阅读次数: ℃
字数统计: 1.6k | 阅读时长 ≈ 6

这篇文章的给出的三种方式的对比很好原文链接

梯度下降法作为机器学习中较常使用的优化算法,其有着三种不同的形式:批量梯度下降(Batch Gradient Descent)、随机梯度下降(Stochastic Gradient Descent)以及小批量梯度下降(Mini-Batch Gradient Descent)。其中小批量梯度下降法也常用在深度学习中进行模型的训练。接下来,我们将对这三种不同的梯度下降法进行理解。

阅读全文 »

转载-NDT算法(与ICP对比)和一些常见配准算法

发表于 2019-06-07 | 分类于 PointCloud , 3D Vision | | 阅读次数: ℃
字数统计: 1.5k | 阅读时长 ≈ 5

这篇文章算是一片目录 整理了较多的方法,但不够详细,仍有待补充 原文链接

目前三维配准中用的较多的是ICP迭代算法,需要提供一个较好的初值,同时由于算法本身缺陷,最终迭代结果可能会陷入局部最优。本文介绍的是另一种比较好的配准算法,NDT配准。这个配准算法耗时稳定,跟初值相关不大,初值误差大时,也能很好的纠正过来。

阅读全文 »

GPU并行编程复习——OpenCL快速入门教程

发表于 2019-06-05 | 分类于 GPU | | 阅读次数: ℃
字数统计: 3k | 阅读时长 ≈ 13

转载自:博客园 原文地址:官方文档

这是第一篇真正的OpenCL教程。这篇文章不会从GPU结构的技术概念和性能指标入手。我们将会从OpenCL的基础API开始,使用一个小的kernel作为例子来讲解基本的计算管理。

首先我们需要明白的是,OpenCL程序是分成两部分的:

  • 一部分是在设备上执行的(对于我们,是GPU)
  • 另一部分是在主机上运行的(对于我们,是CPU)
阅读全文 »
12…9
Jiadai Sun

Jiadai Sun

89 日志
24 分类
24 标签
RSS
个人简历 活动相册 GitHub E-Mail WeChat YouKu
Links
  • CSDN
  • 个人简历
  • 活动相册
© 2018 — 2019 Jiadai Sun
Page View : | Site words total count: 130.9k
0%