0%

高光谱光谱仪和成像仪的微型化是遥感走向大众应用的关键硬件技术,传统的地物光谱仪和高光谱成像仪体型大,耗电量高,需要丰富的专业知识才能操作设备并对采集的数据进行分析和理解。随着制造工艺的发展,高光谱光谱仪和成像仪小型化也逐渐成为现实,并且开始出现相应的公司和商品。本文汇总了搜集到的几款典型的小型高光谱设备,希望借此来描述目前小型化高光谱设备的最新发展状态。

阅读全文 »

1. 基本概念

语义三维重建是近几年开始出现的一种三维重建概念和技术。其目标是通过项目恢复场景几何信息的同时标识出三维场景中具有独立语义类别的部分1。这样可以解决很多三维重建无法解决的问题,例如能够回答重建结果中建筑物的体积等需要了解三维模型代表具体地物类型的问题。而在同步解决三维重建和场景语义分割的过程中,很多其他类型的先验知识可以加入到算法中,例如地面(Ground)类型的目标物在水平方向具有相似高程。

阅读全文 »

1. 高光谱波段选择仍然是一个Challenge Task的原因

摘要中描述了虽然高光谱波段选择每年有很多研究发表,但是这仍然是一个Challenge Task,究其原因,主要是对于算法的需求很高,具体来说是如下三点:

  1. 1个有效的模型:能够计算高光谱波段间的潜在关系(注:类似波段间的相关性计算)
  2. 1个快速并且鲁棒性高的度量函数:对不同类型的遥感任务都能适用(注:这个应该是说,如何评价选出来的波段对于指定任务是否好的一个度量标准)
  3. 一个有效的搜索策略:可以在合理的时间内搜索出最优结果。

2. 高光谱波段选择搜索算法的分类

高光谱波段选择问题一般来说包含两个步骤:选择标准的定义以及最优波段搜索策略。其中最优波段搜索策略可以分为如下几种方法:

  1. 基于Rank的搜索策略:这个方法就是按照选择标准对波段进行排序,然后选择排名高的波段作为最终波段。用到的标准包括互信息,受限波段选择CBS和Maximum-variance PCA等算法。
  2. 基于聚类的算法:将波段分离为互补重复的子集,并根据子集的中心选择波段。
  3. 基于贪心的算法:就是逐步增加波段选择数量,如果新 加入的波段提高了标准值,那么就修改选择子集,方法就是SFS和SBS等。
  4. 基于进化算法:包括遗传算法、粒子群优化算法等。

本文的搜索算法则是选择行列式点过程算法(Determinantal Point Process,DPP),一种数据概率论中的算法,并且在很多其他领域取得了成功的应用,比如文档自动摘要,姿态估计,视频摘要等。

1. 为什么要进行波段选择

高光谱图像一般通过连续的一百个或数百个窄观测波段,采集目标物在可见光近红外波段的反射能量信息。因此数据特点就是具备高谱段维度。这一点既是高光谱图像的优势,使高光谱图像能够根据连续的光谱曲线对地物有极强的区分能力;但与此同时在某些应用场景中也会带来很多的问题,例如图像分类问题中,多波段可能会导致“维数灾难”,也被叫做Hughes Peonomena。此外由于高光谱图像波段的连续性,使得相邻波段间的相关系数很高

阅读全文 »

关于Unit的概念

在pmvs的源代码中,有一个函数是getUnit ,其函数如下(在PMVS2的windows版本代码,optim.cc文件,1184行):

1
2
3
4
5
6
7
8
float Coptim::getUnit(const int index, const Vec4f& coord) const {
const float fz = norm(coord - m_fm.m_pss.m_photos[index].m_center);
const float ftmp = m_ipscales[index];
if (ftmp == 0.0)
return 1.0;

return 2.0 * fz * (0x0001 << m_fm.m_level) / ftmp;
}

其中index是图像编号,coord是三维射影空间下的坐标。

这个函数在pmvs代码中几乎所有的和空间几何计算相关的函数中均被调用,最开始看代码时我并没有特别注意,但是随着代码阅读的深入,发现如果不将该函数读懂,就完全无法理解pmvs中所有的几何计算函数究竟是在做什么,于是今天花时间特意钻研了下,把该函数的含义表达清楚。

先说结论:该函数是计算将图片上的一个像素反投影到空间的一个指定的面片(patch)上得到的正方形的大小(以世界坐标系中的距离为量度),这个面片满足如下条件——面片的中心位于coord, 面片的法线与相片的法线平行但方向相反(也就是论文中初始化patch时的法线计算方法)。

阅读全文 »

1. 基本信息:

Zhang, Y., Xiong, J., & Hao, L. (2011). Photogrammetric processing of low-altitude images acquired by unpiloted aerial vehicles. The Photogrammetric Record, 26(134), 190–211. https://doi.org/10.1111/j.1477-9730.2011.00641.x

论文主要是使用无人飞艇结合框幅式相机,在两个实验区域,以不同的航高(150m和350m)分别在中国的南方和北方采集了两组实验数据。由于是低空拍摄,航向重叠在80%左右,旁向重叠在60%左右。论文完整描述了使用这两组数据进行摄影测量4D产品生产和3D城市模型重建的整个流程。

阅读全文 »

1. 前言

Middlebury是计算机视觉和三维中间领域著名的高校,特别是提供了著名的立体匹配benchmark数据库,并不断提供新数据的更新。在MVS领域,也同样提供了经典的benchmark数据库,包含两个物体-Temple和Dino,其中Temple有312张相片,Dino有363张相片,如下图所示。并且每个物体还提供了由激光Lidar测量得到的地面真值(Groud Truth)数据,因此可以用来准确的衡量不同MVS算法的准确性(重建的三维模型与真值的差异)和完整性(有多少真值包含在重建的三维模型中)。

在建立该数据库的过程中,Middlebury的研究团队分类总结了当时(2006年)的state-of-art的算法,提出了算法有效性评价标准。基于该标准,并使用该数据库验证这些算法的有效性,最终形成该文章1。这篇文章是后来几乎每一篇研究MVS算法的文章的必引参考文献,其中对于算法的分类介绍和有效性验证规则十分经典,下面分别进行总结。

阅读全文 »

简介

版本管理软件是在软件开发过程中保存软件代码,方便代码回溯和多人协同开发的工具,借助版本管理软件可以方便的管理我们所写的所有代码,查看代码修改情况并且可以任意修改代码而无需担心不合理修改导致代码彻底无法使用。具体情况可以参考百度百科:版本控制软件

GIT

在众多的版本控制软件中,GIT作为新兴的版本管理软件,最初是用来管理Linux操作系统的源代码,后来随着Github等网站的兴起以及在程序猿中的广泛流行,因为其分布式管理以及方便和快速的分支管理以及标签管理,使其能够快速盛行,逐渐取代其他版本管理软件成为软件开发中主流的代码管理方式。 在本项目开发软件过程中,使用GIT作为代码管理工具。

GIT相关教程

GIT相关教程网络上有很多,下面会给出一些我随手搜索得到的教程,你也可以去网上自行搜索适合自己的教程,但是需要提醒的是,由于GIT最初被设计是在Linux系统上使用的(直到今日许多GIT服务器也是只能在Linux上搭建),因此最初GIT并没有可视化界面,只有各种命令行命令,因此在学习时大部分教程也是会讲述各种命令,但是在Windows实际开发是更多是借用各种可视化工具实现具体的操作,不会使用命令行。因此更加重要的是理解相关命令的概念以及这样做的作用。

GIT相关工具

Windows推荐使用各种可视化界面进行GIT各种操作,可以更加快速入门以及提高工作效率。常见GIT工具有:

其他更多客户端可以参见该博客:Git图形化界面客户端大汇总