gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
阅读:2488回复:1

激光点云与全景地图的融合研究—科研笔记

楼主#
更多 发布于:2015-11-19 10:43
   好长时间没写点东西了。
    这段时间一直在做激光点云和惯导的实验,除了一堆堆的数据,却没有留下什么,现在又开始看文章,写文档了(为了年终的项目结题,要准备好还过得去的文档啊)。终于想起来,可以在这里写科研笔记,也方便以后回来查阅。
    激光点云与全景地图的融合研究,这是我自己起的题目,也不知道恰不恰当啊。总之,我要做的就是在激光点云的支撑下,满足全景地图的量测功能。后续要做一些Indoor和Outdoor的场景建模(包括古建筑、古文物),然后再看一下全景图像怎么在建模后的纹理映射上发挥作用。
    是否太过理想了。因为这样做到了,真正意义上的实景三维城市、地球就快要诞生了。毕竟,在GIS界,做的很多,做的很好的却没有真正见过。
    OK,GO!
 
    这段时间的笔记估计要多为 文章的读后感了,因为这段时间要写很多文字,不读是不行的。所有评论,只对科研工作,请大家指正啊。
    刚才读了一篇《车载激光点云的栅格化处理》,整不太明白。我觉得激光点云的栅格化预处理应该是在没有pos系统和特殊情况下(比如特别颠簸)。因为我们跑的点云貌似不需要栅格化处理,毕竟扫描精度10cm,和相机又是相对固定。不太影响测量和建模的,应该只是需要简化。
    《利用深度图像进行场景的三维重建》一文,阐述了重建的过程,包括平面分割、图像配准、生成三角网等。但是没有具体实践一下平面分割的过程和效果。先通览一下其他的论文再说吧,还有一两百篇呢。
    不过,还有的收获就是激光点云集也称为“深度图像”,谁起的名字啊,还好,有道理。
 
    又看了两天文章,终于感觉有一点点头绪了。刚开始理解的杨长强老师的文章也没有理解透彻,自己在真正做的时候才意识到 激光点云的栅格化处理 是一个很重要的步骤。还有张爱武老师的局部二次拟合方法都是非常实用有效的。
     点云到模型是逆向工程中的重要内容,从点云处理到建立模型是一个相当复杂的过程。机械加工的零部件尚且如此,就不用提大规模的室外场景了。
    当无法突破的时候,就从最简单的开始吧。就如电子地图搞了那么多年,才明白一片一片切开的道理。
    读张爱武老师的文章真是一种享受,写的就是实在。我也从单一视点的点云处理开始吧,虽然朦胧中感到自己的移动车载点云处理方法是可行的。
    整理一下思路,单一视点点云处理与建模与我之前的全景地图采用相同模式,让激光扫描仪原地旋转360°,然后处理采集的点云。根据光的可逆原理,激光扫描仪扫不到的点也是全景相机看不到的点(同一视点嘛),因此,两种数据融合后的效果在此视点下应该不会有“洞”。
    处理过程计划如下:1)栅格化;2)局部拟合;3)化简;4)凸体建模(自己起的名字,就是不进行物体分类与提取);5)图像纠正;6)纹理映射。
    行得通行不通,只有实验结果出来才知道。
    接触过一点模式识别的知识,朦胧中感觉模式识别或许可以在栅格化中发挥作用。(或许可以申请一个课题,基于模式识别的激光点云矢量化研究,哈哈)。
    首先是栅格化,这可是GIS人的专长。写个程序,算了。PostGIS应该可以完成吧,并且还好管理,试一下。。。
 
 
(未完待续)
喜欢0 评分0
GIS麦田守望者,期待与您交流。
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2015-11-19 10:44
这段时间一直在考虑车载激光点云数据如何处理,如何分类,如何生成模型。现在来看,自动分类还是关键中的关键。
自动分类主要涉及模式识别和人工智能方面的知识,这段时间在恶补,恨不得一天可以学完edx和courses上的所有相关课程。ITC也有一套系统的点云数据分类理论,也还没有完成掌握。
前几天请武汉滨湖电子的移动测量车跑了几条街道的数据,这几天就望着数据出神。我想,其实,单头车载激光点云数据可以看做2个2.5维的数据相加。而每一个2.5维可以处理为深度图像。对于深度图像的切割和分类技术相对多一些,可以从这个方面入手,完成所有激光点云的分类提取和对象建模。
深度图像(灰度图像)的分割技术比较多,常用的阈值、边缘检测、区域增长等。阈值的选取通常通过分析灰度直方图估计,边缘检测其实是深度图像分割的一个很好的方法。但,阈值毕竟是深度图像的第一特征,能否通过混合阈值和边缘检测的方法实现比较理想的点云图像分割呢,这或许是我下一步的实验路线。
有过类似处理经验的高人千万要不吝赐教啊!
采集的点云数据具有丰富的信息,包括了空间坐标、回波强度和颜色。但是是路两侧的。因此处理的第一步就是沿道路中心线进行分割。这是一个非常简单的算法。今天下午就完成了分割,写在这里,作为备忘。
分割的原理很简单,就是每个点向量同道路中心线向量做叉乘,大于0就在左边,小于0就在右边,等于0就在线上。这是GIS的基础知识了。我在matlab中实现了点云数据的分割。具体代码如下:
function tellside()
clear all;
% read raw point data
a = textread('1.TXT');
%start point and end poit of one road segment
x1 = 525056.71;
y1 = 3385799.17;
z1 = 5.84;
x2 = 525144.92;
y2 = 3385446.93;
z2 = 6.42;
v = [x2-x1,y2-y1,1];
for k=1:1000000
vk = [x2 - a(k,1),y2 - a(k,2),1];
ws = cross(v,vk);
if ws > 0
   a(k,1) = 0;
end
end
a = a(find(a(:,1) ~=0.0),:)
dlmwrite('1.xyz',a,'delimiter','\t','precision','%.1f') ;
值得注意的是,matlab中的叉乘参数是三维向量,区别于平时二维数据处理中的二维向量,因此,一般把第三维设为1,齐次坐标系。
切割后的彩色点云如图所示:(啊哈,我们单位门口)



   使用该方法就可以读取路网节点,沿道路中线切割点云了。
   后面就是线投影,格网化生成深度彩色点云图像。清明上班后再继续处理...
   程序参考代码见附件:
tellside.m
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
游客

返回顶部