自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小政哥的私房博客

种一棵树最好的时机是十年前,其次是现在。

  • 博客(24)
  • 收藏
  • 关注

原创 vtkImageData转换为cv::Mat

在使用VTK的过程中,我们经常需要用vtkWindowToImageFilter对象来输出渲染结果到图片。如果我们需要用OpenCV对图像进行进一步的处理和运用,需要先将其转换为cv::Mat形式。本文将介绍如何将vtkImageData转换为cv::Mat。核心的代码如下: int dim[3]; windowToImageFilter->GetOutput()-...

2018-06-18 15:32:59 1629

原创 suitesparse-metis-for-windows Release 1.3.1 CMAKE配置文件

suitesparse-metis-for-windows Release 1.3.1 CMAKE配置文件。这篇是另一篇博客Ceres Solver 在Windows下安装配置笔记的补充。# This is the CMakeCache file.# For build in directory: d:/suitesparse-metis-for-windows-1.3.1/build64...

2018-05-28 17:44:28 1434

转载 我是如何五个月从小白到AI工程师?

本文转自BitTiger,原作者Yumi,地址http://blog.bittiger.io/post155/ 转载谨作备份和分享。侵权删。- Chris BitTiger AI工程师直通车学员 EE本科,EE研究生,图像背景,SLAM和医疗图像实习;刚入职一家马里兰医疗图像公司,职位是Computer Vision Engineer。 ...

2018-05-15 19:15:51 2444

转载 到底什么是非线性规划?

本文转自新浪博客《到底什么是非线性优化?》作者:那些年的那些偏执 网址:http://blog.sina.com.cn/s/blog_7445c2940102x3x4.html 作者系在读博士生。文章写的非常浅显易懂。本文除转载之外,做简单修改整理,重新编辑公式,并加入个人注释。你是否也对非线性规划这个领域望而却步?​​​ 你是否也在思索非线性规划求解方法的根源?​​​ ...

2018-04-27 17:23:02 34315 3

原创 Ceres Solver 官方教程学习笔记(十三)——非线性最小二乘问题的解算Solving Non-linear Least Squares (上)

介绍如果想要高效地使用Ceres Solver,需要掌握一定的非线性最小二乘解算基础知识。所以在这一部分将将要介绍Ceres中核心优化算法的工作原理。设x∈Rnx∈Rnx \in \mathbb{R}^n是一个nnn维向量,并且F(x)=[f1(x),...,fm(x)]⊤F(x)=[f1(x),...,fm(x)]⊤F(x) = \left[f_1(x), ... , f_{m}(x)...

2018-04-19 19:48:34 7153

原创 VTK相机类vtkCamera原理及用法

vtk是著名的开源三维渲染库,在三维渲染过程中的一个非常重要的内容就是相机即vtkCamera类的设置。在VTK中,相机的实质是一个观测点。VTK的官方Doc对vtkCamera写的十分简略,暗坑很多。在学习和使用vtkCamera的过程中,我走了很多弯路。在我的应用中,我希望能够根据现实中相机的Transform Matrix完全模拟设置vtkCamera。下面根据我的经验和理解,介绍一下vtk...

2018-04-14 00:08:53 14044 17

原创 用OpenCV快速完成相机标定

搞图像处理离不开相机标定。但是在某些小项目中,我们希望尽可能快速简单地完成相机标定这一过程,而不希望为了获得几个相机参数而大动干戈的写代码。OpenCV其实为我们提供了一个完整的标定代码,用这个现成的代码我们可以快速完成相机的标定,而几乎不需要写任何代码。而且支持链接相机、视频和图片组多种输入源,以及亚像素精度地角点探测。相机标定的理论知识在网上到处都是,在这篇博客中不再重复。这篇博客也不包含对代...

2018-04-12 20:43:42 4110 2

原创 Ceres Solver 官方教程学习笔记(十二)——非线性最小二乘法建模Modeling Non-linear Least Squares (下)

这一部分主要是最后的Problem比较重要。带条件的代价函数ConditionedCostFunction这个类使用户可以在使用封装好的代价函数的同时,对残差值加入一定的条件限制。举个例子,现在已经有一个代价函数可以产生N个值,但是用户希望的总代价,不是这N个值的简单的平方和。比如对某个特定残差值项赋予一定的系数来改变其在总残差值中的权重。具体代码如下:// my_cos...

2018-04-09 23:37:33 6813

原创 Ceres Solver 官方教程学习笔记(十一)——非线性最小二乘法建模Modeling Non-linear Least Squares (上)

本页内容主要根据官方教程翻译而成。简介Ceres由两个部分组成。一个是建模API,它提供了非常丰富的工具,可以迅速构建一个优化问题模型。另一个是解算器API,用于管控最小化算法。这一章将围绕如何用Ceres进行优化问题建模展开。下一章 Solving Non-linear Least Squares 主要讨论各种不同的求解方法。 这里省略了一大段跟第一章简介重复的内容。...

2018-04-05 22:57:39 4644 1

原创 Ceres Solver 官方教程学习笔记(Ⅹ)——自动微分法接口Interfacing with Automatic Differentiation

这篇文章翻译自官方教程Automatic Derivatives并且参考了少年的此间的博客文章Ceres-Solver学习笔记(5)在成本函数的有一个显式表达式的情况下,自动微分算法很容易使用。但有时候这不太现实。通常程序都需要与外部的程序或数据进行交互。在这一章中,我们将考虑几种不同的方法来在这些特殊情况下使用自动微分法。现在我们考虑一个优化问题。寻找参数θθ\theta和ttt...

2018-04-05 21:05:54 1756 2

原创 Ceres Solver 官方教程学习笔记(九)——自动微分法Automatic Derivatives

这篇文章翻译自官方教程Automatic Derivatives并且参考了少年的此间的博客文章Ceres-Solver学习笔记(5)现在我们将讨论自动微分算法。它是一种可以快速计算精确导数的算法,同时用户只要做与数值微分法类似的工作。下面的代码片段实现了对Rat43(见前两节)的CostFunction。struct Rat43CostFunctor { Rat43Cost...

2018-04-05 19:57:38 2888 1

原创 Ceres Solver 官方教程学习笔记(八)——数值微分法Numeric derivatives

这篇文章翻译自官方教程Numeric derivatives并且参考了少年的此间的博客文章Ceres-Solver学习笔记(5)利用analytic derivatives的另一个极端形式是 numeric derivatives,即数值微分法。数值微分法的关键是,目标函数f(x)f(x)f(x)的微分方程可以被写成一个极限形式: Df(x)=limh→0f(x+h)−f(x)hD...

2018-04-04 23:27:42 2202 1

原创 Ceres Solver 官方教程学习笔记(七)——解析微分法Analytic Derivatives

这篇文章翻译自官方教程Analytic Derivatives并且参考了少年的此间的博客文章Ceres-Solver学习笔记(5)我们来思考一个相对复杂的曲线拟合问题。待确定参数方程如下: y=b1(1+eb2−b3x)1/b4y=b1(1+eb2−b3x)1/b4y = \frac{b_1}{(1+e^{b_2-b_3x})^{1/b_4}} 现在给定一系列的对应数据点{xi,y...

2018-04-04 20:05:00 2465 1

原创 Ceres Solver 官方教程学习笔记(六)——关于微分计算On Derivatives

本节主要根据也Ceres官方教程On Derivatives翻译而成与所有基于梯度的优化算法一样,Ceres Solver也是基于评估域中任意点的目标函数及其导数。事实上,Ceres的核心就是确定目标函数机器雅可比行列式。雅可比行列式求解的正确性和效率是评判算法优劣的关键指标。用户可以灵活的从一下三种微分算法中选择: Analytic Derivatives 解析微分算法...

2018-04-04 19:19:02 1671 1

原创 Ceres Solver 官方教程学习笔记(五)——光束法平差Bundle Adjustment

本文主要根据Ceres官方教程翻译的来。开发Ceres库的一个重要出发点就是计算光束法平差Bundle Adjustment,简称BA。 关于光束法平差的原理可以参考这篇博客《Bundle Adjustment简述》 现简单的概况如下:空间中一个点在成像平面的坐标系中投影成一个像素。这个投影称为初次投影。如果我们有多个相机,可以根据空间中同一点在不同相机中的投影(即像素坐标)来反...

2018-03-27 19:08:03 8976 4

原创 Ceres Solver 官方教程学习笔记(四)——曲线拟合Curve Fitting

本节主要依据Ceres官方指南翻译而成。最小二乘法(least square)和非线性最小二乘分析的本来目的就是对一组数据进行曲线拟合。本节将介绍曲线拟合的问题。本节所用的采样点根据y=e0.3x+0.1y=e0.3x+0.1y =e^{0.3x + 0.1}生成,并且加入标准差为σ=0.2σ=0.2\sigma = 0.2高斯噪声。这2n2n2n个数据,存入data[]当中。下面我们...

2018-03-26 20:40:16 5015 3

原创 Ceres Solver 官方教程学习笔记(三) ——鲍威尔方程Powell`s Function

本节主要翻译自官方教程Powell’s Function(鲍威尔方程)在这一节我们使用一个复杂一些的例子——求解鲍威尔方程的最小值。我们定义参数块x=[x1,x2,x3,x4]x=[x1,x2,x3,x4]x = \left[x_1, x_2, x_3, x_4 \right] 。以及代价函数如下:f1(x)f2(x)f3(x)f4(x)F(x)=x1+10x2=5–√(x3−...

2018-03-26 17:17:19 3842 5

原创 Ceres Solver 官方教程学习笔记(二)

本节内容主要翻译自官方指南Derivatives部分像大多数优化软件包一样,Ceres求解器的求解基于其能够在任意参数值下评估目标函数中每个项的值和导数。 正确而高效地做到这一点对于取得优秀的运算结果至关重要。Ceres提供了一系列解决方案,其中一个就是在Hello World中用到的Automatic Differentiation (自动微分算法)。这一部分我们将探讨另外两种可能性...

2018-03-26 16:21:56 5069

原创 Ceres Solver 官方教程学习笔记(一)

本文主要基于Ceres Solver 官方Tutourial选取要点进行翻译,并适当补充外部内容对某些概念进行简要注释。主要用于个人学习备忘之作用。简介Ceres可以解决边界约束鲁棒非线性最小二乘法优化问题。这个拗口的概念可以用以下表达式表示: minxs.t.12∑iρi(∥fi(xi1,...,xik)∥2)lj≤xj≤ujminx12∑iρi(‖fi(xi1,...,xik)‖...

2018-03-21 00:18:48 18204 1

原创 Ceres Solver 在Windows下安装配置笔记

引子因为项目需要用到Ceres Solver这个库实现非线性优化,这几天投入了很多时间来学习研究。没想到的是,这个库的安装就非常繁琐。官方的安装指南写的却过于简略。尤其是在Windows环境下,问题bug不断,很多坑。经过三天努力,今天终于成功hello world。高兴之余赶快趁机把安装过程记录下来,以便备忘。本文除了记录Ceres Solver的安装过程之外,还详细记录了gflags,gl...

2018-03-10 01:38:30 15088 42

转载 七步带你认识计算机视觉(摘要链接)

七步带你认识计算机视觉本文作者:李尊计算机视觉是一门研究如何使机器“看”的科学,本文带你七步带你认识计算机视觉。点击访问

2018-03-10 01:01:40 626

原创 OpenCV中Viz模块的安装(VS2015)

背景因工作需要使用openCV中的Viz模块,而默认的OpenCV包是不含viz模块的。故需特别安装,现将安装过程简要记录如下,以作备忘。 OpenCV 2.4.13 VTK 7.1.1 CMake-Gui 3.10.1 Visual Studio 2015 Windows 10 x64安装过程0. 安装Cmake无论是VTK还是OpenCV的安装都需要先使用CMake生...

2018-03-10 00:59:10 6502 3

原创 Linux系统下python Image.show()无反应的解决办法

from PIL import Image im = Image.open(“xxx.jpg”) im.show() 或 matplotlibfrom PIL import Image import matplotlib.pyplot as plt im = Image.open(“xxx.jpg”) plt.imshow(im) “` 但是实践过程中...

2018-03-10 00:58:10 5534 2

原创 pillow 学习笔记(11.12.2017)

本文基于 * PIL简明教程 * Python图片裁剪(如: 头像裁剪) * pillow官方文档PIL(Python Image Library)是Python进行图像处理最常用也是最基础的库之一。基本上已经算是半标准库了。但是原版PIL的开发者已经基本上放弃更新这个库了。致使这个库有很多issues亟待解决,同时也无法支持日益流行的python3。所以,现在这个库...

2018-03-10 00:57:14 247

空空如也

空空如也

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

TA关注的人

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