自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 Photometric Stereo 光度立体三维重建(三)——由法向量恢复深度(二)DGP方法

在这篇文章中,笔者将介绍一篇论文,论文提出了一种由法向量恢复深度的方法:论文为Surface-from-gradients: An approach based on discrete geometry processing1.论文的动机与概况SfS(surface from shading)和PS(photometric stereo)可以计算稠密带噪的法向量图(梯度场),通过积分可计算出深度图。数学上,由三维表面生成的梯度场是可积的,但实际上,由于噪声导致不可积。以前的处理方法中,有强制可积性约束(

2022-02-19 12:00:32 4880 4

原创 Photometric Stereo光度立体三维重建(五)——基于深度学习的PS方法

本文将会介绍几种具有代表性的将深度学习与Photometric Stereo进行结合来进行三维重建的方法一、开山之作 DPSN论文:Deep Photometric Stereo Networkgithub:https://github.com/hiroaki-santo/deep-photometric-stereo-network参数化的郎伯反射模型建立在理想的漫反射假设下,而且只适用于有限种类的材料,这种理想化的假设在实际环境中会受到全局照明以及光线遮挡的影响论文提出直接用深度神经网络(DN

2021-04-02 20:37:15 3577 2

原创 Photometric Stereo 光度立体三维重建(四)——光源标定

光源标定是进行光度立体三维重建的第一步,本文将介绍两种光源标定方法——基于金属球反射的标定以及基于“SFM”思想的标定1.基于金属球反射的标定标定光源的一种方法是使用金属球,在排到的金属球的照片上面的最亮的点指明了光源的方向来源于http://pages.cs.wisc.edu/~csverma/CS766_09/Stereo/stereo.html的示意图:然而,这幅示意图的几何向量标注具有一定的误导性,我将其换个角度表示以便展开光源方向的推导:其中,反射方向R是固定的(因为它一直正对着观察

2021-01-25 01:01:50 6331 10

原创 Photometric Stereo 光度立体三维重建(三)——由法向量恢复深度

本文分为三部分,第一部分是使用最小二乘法求解物体表面法向量,第二部分是利用求解得到的法向量求出物体表面的深度(物体表面的高度场),第三部分是将求出的高度场写成obj文件后使用MeshLab显示1. 最小二乘求解物体表面法向量Python代码代码所使用的数据来自https://github.com/yasumat/RobustPhotometricStereoimport numpy as npimport cv2import globfrom sklearn.preprocessing imp

2021-01-17 22:04:49 9999 21

翻译 Photometric Stereo 光度立体三维重建(二)——研究现状

本文首先介绍基于稀疏回归的鲁棒光度立体三维重建,再介绍光度立体三维重建的基准数据集1.基于稀疏回归的鲁棒光度立体三维重建在基于光度的三维重建中,若表面不是郎伯的,会出现离群值,比如物体表面的投射阴影,附着阴影以及高光点(镜面反射),如图所示:1.1 回归方法我们对郎伯成像模型加上腐蚀(corruption,理解为加上噪声):再通过传统的最小二乘法求解:但是,L2回归会受到非郎伯噪声(原文是corruption,理解为噪音)的影响我们希望从被噪声高度污染的观察中恢复物体表面的法向量在早期

2021-01-17 20:21:06 3564

翻译 Photometric Stereo 光度立体三维重建(一)——介绍

在计算机视觉的三维重建中,基于几何的方法有:SFM立体视觉结构光我们在这篇文章中介绍的是基于光度立体视觉的三维重建方法:基于几何的三维重建方法中可以恢复粗略的三维形状,而光度法的特点是可以对物体进行精细恢复0. 预备知识0.1 物体表面法向量一个表面的法向量(法线)n垂直于其切平面: 0.2 郎伯反射特点:1.反射光的量与 lTn(=cosθ)\ l^Tn(=cos\theta) lTn(=cosθ)成正比2.表面亮度不取决于观察角

2021-01-17 18:48:46 12636 4

原创 基于MNIST数据集对Lenet网络卷积层进行探究

1.Lenet结构对于Mnist 28x28的输入数据,Lenet网络的结构为:2. MNIST数据集MNIST原始数据集的读取可以看我这篇博客https://blog.csdn.net/SZU_Kwong/article/details/107900629原始数据一张图像以行向量存储,为了和网络输入格式统一,将MNIST数据集改为张量格式存储def MNIST_to_Tensor(): """ 将以向量保存的MNIST转换为以张量保存,方便CNN模型读入 """

2021-01-14 22:00:22 352 1

原创 Python实现朴素贝叶斯分类器

0. 算法简介及数据集算法的测试数据集是西瓜数据集3.0:我将数据集转成了csv格式方便Python读取:青绿,蜷缩,浊响,清晰,凹陷,硬滑,0.697,0.46,是乌黑,蜷缩,沉闷,清晰,凹陷,硬滑,0.774,0.376,是乌黑,蜷缩,浊响,清晰,凹陷,硬滑,0.634,0.264,是青绿,蜷缩,沉闷,清晰,凹陷,硬滑,0.608,0.318,是浅白,蜷缩,浊响,清晰,凹陷,硬滑,0.556,0.215,是青绿,稍蜷,浊响,清晰,稍凹,软粘,0.403,0.237,是乌黑,稍蜷,浊响

2021-01-14 20:08:48 2695 1

原创 C++图书馆管理系统——基于jsoncpp与windows.h

0. 演示视频先直接上演示视频看看具体的实现效果 C++图书馆管理系统——基于jsoncpp和windows.h 系统的代码打包为百度云链接:https://pan.baidu.com/s/1Lm40gKgYdHdnyz35GsxMWA提取码:qu721. 系统概述1.1 系统功能编写一个图书管理系统对学生信息和图书信息进行管理。其中学生信息包括姓名,学号,所属学院,最大借阅

2021-01-14 19:46:44 954 1

原创 一个简单的神经网络训练框架

神经网络基本原理前向传播其中,σ(·)是激活函数,在简单的密集神经网络中,隐层一般使用ReLu线性整流函数或者Sigmoid函数,在输出层,如果分类任务是二分类,一般使用Sigmoid函数,如果是多分类,一般使用Softmax函数,这几种函数为:损失函数针对二分类任务,我们一般选择二元交叉熵损失函数针对多分类任务,我们选择多元交叉熵损失函数反向传播先让损失函数对输出层未激活单元z求导得出最后一层的误差值:随后通过链式求导得出每一层的误差:然后就可以得出损失函数对权重矩阵及偏差向

2020-12-02 01:13:55 461 1

原创 C++自定义一个分数类,实现分数基本功能与运算符重载

分数类的基本功能建立一个分数类。分数类的数据成员包括分子和分母,操作包括约分、通分、加、减、乘、除、求倒数、比较、显示和输入。在运算符重载中,对 =,+,−,∗,/,+=,−=,∗=,/=,++,−−\ =,+,-,*,/,+=,-=,*=,/=,++,-- =,+,−,∗,/,+=,−=,∗=,/=,++,−−进行重载分数类构成类的定义class fraction{ int above; //分子 int below;

2020-11-30 01:27:22 13705 4

原创 ID3决策树的Python实现以及可视化

算法介绍ID3决策树是比较经典的决策树,在周志华的机器学习中,生成决策树的算法为:算法的关键是如何选择最优划分属性,在ID3决策树中,用信息增益来指导决策树选择最优划分属性首先定义信息熵为:再定义信息增益为:一般而言,信息增益越大,意味着使用属性a进行划分所获得的纯度提升越大,因此我们选择最大信息增益的属性作为最优划分属性。Python实现思路树的数据表示既然要实现一棵树,首先要做的就是定义节点的数据结构,在C中,节点一般以结构体的形式存储,所以我们在Python中可以参考这一思路定义

2020-11-12 00:21:42 2098 5

原创 对称正定矩阵的Cholesky分解

对称正定矩阵的三角分解设 A\ A A为n阶对称正定矩阵,则 A\ A A可以分解为一个单位下三角矩阵 L~\ \tilde{L} L~和一个上三角矩阵 U~\ \tilde{U} U~的乘积: A=L~U~\ A=\tilde{L} \tilde{U} A=L~U~令 D=diag(u11~,⋯ ,unn~)\ D=diag(\tilde{u_{11}},\cdots, \tilde{u_{

2020-11-08 21:27:42 6159

原创 矩阵的Doolittle分解(LU分解)

基本三角分解法设矩阵 A=(aij)n×n\ A=(a_{ij})_{n \times n} A=(aij​)n×n​的各阶顺序主子式不为零,A有分解式 [a11a12⋯a1na21a22⋯a2n⋮⋮⋮an1an2⋯ann]=[1l211⋮⋮⋱ln1ln2⋯1][u11u12⋯u1nu22⋯u2n⋱⋮unn]≡LU\ \begin{bmatrix}a_{11} \quad a_{12} \quad \cdots \quad a_{1n} \\a_{21} \quad

2020-11-08 20:49:41 4628

原创 Gauss法解线性方程组

基本方法设有线性方程组 Ax=b\ Ax=b Ax=b当 detA≠0\ det A \neq 0 detA​=0时,方程组解存在且唯一,对增广矩阵 (A,b)=(A(1),b(1))\ (A,b)=(A^{(1)},b^{(1)}) (A,b)=(A(1),b(1))作行初等变换,化 A(1)\ A^{(1)} A(1)为上三角矩阵 A(n)\ A^{(n)} A(n),同时 b(1)化为

2020-11-08 19:50:10 777

原创 深度学习笔记——CNN中的数学推导

前向传播一般输入的张量维度的格式有两种一种是channels_last : (batch_sizes, height, width, channels)一种是channels_first : (batch_sizes, channels, height, width)卷积层 记s为卷积步长stride,p为padding填充的大小,前一层长或宽为n,滤波器在对应维度上的长度为f,滤波器的数量为nc,则\ 记 s为卷积步长stride, p为padding填充的大小,前一层长或宽为n,滤波

2020-08-27 23:22:19 1194

原创 Python中Numpy实现数组的180度反转操作

有时会遇到要对ndarray进行翻转的操作,比如CNN中卷积层的反向传播,在Python中,其实只要运用好数组的切片,就可以简单实现数组的反转。数组样例:对数组进行左右反转:对数组进行上下反转:对数组的1,3行进行左右反转:对数组进行180度反转(上下反转1次,左右反转1次):...

2020-08-16 23:37:13 5406 2

原创 用Numpy读取MNIST数据集(附已经读取完成的mat文件)

MNIST是常用的手写字符数据集可以在杨立昆的网站下载此数据集:http://yann.lecun.com/exdb/mnist/该数据集的存储方式比较特殊,是用二进制格式存储的,以下是网站对数据集格式的说明一共有四个文件,各自是训练集和测试集的图片数据和标签数据可以看出,在数据集中,第一列为字节索引,第二列为对应字的类型,第三列为值,第四列为说明在标签数据中,前4个字节用于存储magic number,是对数据类型的说明第5-8个字节是用于存储样本数的,第9个字节开始才是数据部分,所以

2020-08-09 22:01:38 2049

原创 概率论总结(《概率论与数理统计》第四版 浙江大学)

一、概率论的基本概率1.随机试验具有以下三个特点的实验成为随机试验:1.可以在相同的条件下重复进行2.每次试验的可能结不止一个,并且能事先明确试验的所有可能结果3.进行一次试验之前不能确定哪一个结果会出现2.样本空间、随机事件2.1样本空间我们将随机试验E的所有可能结果组成的集合称为E的样本空间,记为S。样本空间的元素,即E的每个结果,成为样本点2.2随机事件一般,我们称试验E的样本空间S的子集为E的随机事件,简称事件。在每次试验中,当且仅当这一子集中的一个样本点出现时,称这一事件发生

2020-07-12 22:55:51 1685

原创 使用SVD奇异值分解求解PCA+Python实现

这几天在看有关PCA的博客时,感觉文章中针对如何用SVD解PCA的过程的讲解不是很清晰,自己捋了捋思路,把自己对于SVD解PCA的步骤分享出来关于PCA的思想和原理,这里不阐述,不过我强烈推荐这篇文章,当初就是看这篇文章入坑PCA的http://blog.codinglabs.org/articles/pca-tutorial.html直接解PCA设有n组m维数据,组成 m*n 的矩阵 Xm∗n\Chi_{m*n}Xm∗n​ , 则 X\ChiX 的协方差矩阵            C\mathc

2020-06-04 02:08:15 2656 2

原创 ORL、Yale等人脸数据库百度云链接

近段时间做人脸识别的实验,收集了几个人脸库,如图这里放出百度云的链接,需要的自取链接:https://pan.baidu.com/s/11_7bFdo_hhc83WQXmWtxvw提取码:5ohd

2020-05-31 13:08:18 5664 11

原创 用两种启发函数的A*算法解决八数码问题

八数码问题八数码问题(重排九宫问题)是在一个3 x 3的方格盘上, 放有1 ~ 8的数码,另一格为空(也可以定义为0)。空格四周的数码可以移到空格。要解决的问题是如何找到一个数码移动序列使初始的无序数码转变为特殊的序列。例:A*算法(启发式搜索)在一个搜索图中,每下一步我们需要从所有叶节点中选择一个节点扩展。为了尽快找到从初始节点到目标节点的一条耗散值比较小的路径,我们希望所选择的节点尽...

2020-05-03 00:42:33 22973 10

MNIST_data.zip

MNIST数据集,包含原文件(idx1/3-ubyte类型),转换称矩阵数据后存储的mat文件,转换的python代码

2020-08-12

空空如也

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

TA关注的人

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