前言

在实时/非实时大规模三维场景重建中,引入了语义SLAM这个概念,参考三维重建:SLAM的尺度和方法论问题三维重建:SLAM的粒度和工程化问题 。大规模三维场景重建的尺度增大,因此相对于整个重建过程的粒度也从点到特征点到目标物体级别,对场景进行语义标记成为重要的工作。

场景语义标记的传统方法

其他:机器人在线场景感知问题,场景识别问题。

参考文章:场景感知:图像的稀疏表示

对场景进行目标检测,并串联目标特征或者打包成set,形成场景特征。根据场景特征进行分类场景,既是场景感知。对于大量需要感知的场景,既是场景中有多类物体,形成的场景特征的向量维数变得更大更长,为了降低计算量,引入了稀疏编码的方法。

深度学习的语义标记方法

对于超大环境,比如整个中国建立一个三维地图,Agent端的存储能力和计算能力必定达不到海量数据存储和检索的要求。因此,引入C/S模式的云端框架是合适的选择。对于超量的类别进行模式识别,传统的集成学习仍然遇到理论上的困难,比如VC维的约束。因此,基于深度学习的场景语义识别是暂时最佳可选的方案,Agent作为一个数据获取端,把数据传输到云端服务器,在服务器上使用DCNN进行语义检测,用于检测目标和场景,进而判断是否存在闭环/Agent在场景中的位姿。

语义SLAM的关键元素

目标检测、场景识别、DCNN。

目标识别的传统方法经典方法利用概率图模型(CRF)对图片进行分割,使用传统模式识别方法进行目标识别(SVM、随机森林等),这些传统方法应对海量数据和高精度的挑战都成问题,比如CRF模型对于大量数据训练极为困难、模式识别方法模型本身就受到VC维的约束。

场景识别的传统方法如前面所述,使用稀疏编码的方式对每一类场景进行稀疏编码,把图片场景识别拖入模式识别的范畴,使用传统模式识别的方法完成场景识别。

DCNN

对于检测-识别过程,传统方法的一般模式是,需要对图像进行特征提取,把图像从二维张量空间转化到N维向量空间,称为特征提取;再通过模式识别方法把N维向量空间压缩到0维空间的离散个点上。由此完成分类识别。

在此过程中,特征提取是一个专家知识极浓的经验过程,并在图像压缩转化过程中必然承受着压缩/特征提取损失。

CNN具有图像处理过程中张量压缩的天然结构。CNN结构直接把图像在二维张量空间中进行处理,不停的Conv和polling,使用数据来完成特征提取,更多的数据得出更可靠的特征(特征一词对于CNN没有实际意义,此过程并非形式化,且可以表示为任一步及几步的组合)。不停的Conv和polling,直至图像的X*X像素收敛为1*1,直接把图像从二维张量空间压缩到一维向量空间中的点(也可以称之为二维张量空间上的点,但没有了明确的维度限制)上。

此外,CNN的二维链接结构,可以使用权值共享和分层乘法来降低参数数量,以至于在添加更多的类别时避免造成参数的指数级增长(传统方法随类别的参数增长一般是指数级别或者亚指数级别的,至少是超多项式的)。

深度学习方法作为分类模型,发展已久,从AlexNet到GoogleNet,到Residual Network,不断取得更高的精度和处理更多的类别以及获得更快的速度。

深度学习作为检测模型,经典网络为R-CNN和Yolo-DarkNet,随后更新了多个版本,基于Region Proposal的网络为R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN、R-FCN和Mask RCNN;基于Regression的有Yolo、SSD-Net、YoloV2、LocalNet等。

DCNN检测模型

基于Region Proposal的网络为R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN、R-FCN和Mask RCNN;基于Regression的有Yolo、SSD-Net、YoloV2、LocalNet等。

参考文章:SPP-Net:CNNs添加一尺度不变特征-神经元层

参考文章:Going deeper with convolutions:卷积的更深一些

参考文章:CVPR 2016论文快讯:目标检测领域的新进展

工程化问题

语义SLAM中大规模语义分析,通常方法也变为S端使用DCNN做服务器实现场景检测/闭环检测和C端Agent根据返还结果辅助实现三维位姿确定。

三维重建5:场景中语义分析/语义SLAM/DCNN-大尺度SLAM的更多相关文章

  1. TensorFlow中的语义分割套件

    TensorFlow中的语义分割套件 描述 该存储库用作语义细分套件.目标是轻松实现,训练和测试新的语义细分模型!完成以下内容: 训练和测试方式 资料扩充 几种最先进的模型.轻松随插即用 能够使用任何 ...

  2. 三维重建:SFM中BA的并行化

    1. BA在重建中的作用 借鉴于运动中重建的方法,BA引入SLAM过程,而传统的滤波方法引入BA是跟随闭环检测出现. 1.1 BA在滤波方法中的嵌入 PTAM 1.2 BA在闭环检测之后的应用 在三维 ...

  3. 第七章 人工智能,7.6 DNN在搜索场景中的应用(作者:仁重)

    7.6 DNN在搜索场景中的应用 1. 背景 搜索排序的特征分大量的使用了LR,GBDT,SVM等模型及其变种.我们主要在特征工程,建模的场景,目标采样等方面做了很细致的工作.但这些模型的瓶颈也非常的 ...

  4. 三维场景中使用BillBoard技术

    三维场景中对于渲染效果不是很精致的物体可以使用BillBoard技术实现,使用该技术需要将物体实时朝向摄像机,即计算billboard的旋转矩阵M. 首先根据摄像机位置cameraPos和billBo ...

  5. LoadRunner测试场景中添加负载生成器

    如何在LoadRunner测试场景中添加负载生成器 本文对如何在LoadRunner的测试场景中添加负载生成器,如何使用负载生成器的方法,总结形成操作指导手册,以指导测试人员指导开展相关工作. 1.什 ...

  6. [python]在场景中理解装饰器

    原来我也自己通过查资料,来学习python的装饰器,但是效果不好.因为没有接触过需要用到装饰器的场景,所以 一起的资料都只停留在纸面上,但是今天偶然看到了vimer的这篇文章:http://www.v ...

  7. SharpGL学习笔记(十二) 光源例子:解决光源场景中的常见问题

    笔者学到光源这一节,遇到的问题就比较多了,收集了一些如下所述: (1) 导入的3ds模型,如果没有材质光照效果很奇怪.如下图 (2) 导入的3ds模型,有材质,灯光效果发暗,材质偏色,效果也很奇怪. ...

  8. Loadrunner:场景中添加负载生成器

    场景中添加负载生成器: (1)远程机子(假设ip为192.168.134.23)开启负载生成器 开始菜单找到:LoadRunner Agent Process 开启后任务栏会显示如下图: (2)场景中 ...

  9. [Unity3D]Unity3D游戏开发之在3D场景中选择物体并显示轮廓效果

    大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei. 在<仙剑奇侠传>.<古剑奇谭>等游戏中,常常须要玩家在一个3D场景中 ...

随机推荐

  1. [BZOJ 4999]This Problem Is Too Simple!

    [BZOJ 4999]This Problem Is Too Simple! 题目 给您一颗树,每个节点有个初始值. 现在支持以下两种操作: 1. C i x(0<=x<2^31) 表示将 ...

  2. hdu_1021_Fibonacci Again_201310232237

    Fibonacci Again Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  3. [bzoj4385][POI2015]Wilcze doły_单调队列

    Wilcze doły bzoj-4385 POI-2015 题目大意:给定一个n个数的序列,可以将连续的长度不超过d的区间内所有数变成0,求最长的一段区间,使得区间和不超过p. 注释:$1\le n ...

  4. 淘宝信海龙 --PHP系统

    https://yq.aliyun.com/users/1467229535950742?spm=5176.100239.blogrightarea56002.3.RoToxZ

  5. Axure RP一个专业的高速原型设计工具

    Axure RP是一个专业的高速原型设计工具.Axure(发音:Ack-sure),代表美国Axure公司.RP则是Rapid Prototyping(高速原型)的缩写. Axure简要介绍 Axur ...

  6. JavaScript模式读书笔记 第4章 函数

    2014年11月10日 1.JavaScript函数具有两个特点: 函数是第一类对象    函数能够提供作用域         函数即对象,表现为:         -1,函数能够在执行时动态创建,也 ...

  7. 转:Java阳历转农历

    package cloud.app.prod.home.utils; import java.text.ParseException; import java.text.SimpleDateForma ...

  8. XMPP 协议工作流程具体解释

    XMPP 要点. 1. client(C) 和server端(S) 通过TCP连接5222port进行全双工通信. 2. XMPP 信息均包括在 XML streams中.一个XMPP会话, 開始于& ...

  9. SecureCRT——设置打印中文字符

    1. 设置方法 使用SecureCRT打印由STM32发送的中文字符提示信息,显示乱码.在网上找了一些链接,再加上自己摸索,终于出了能够让SecureCRT打印中文的方法. 设置以下几个地方即可. 1 ...

  10. jquerymobile之collapsible可折叠块标题内容动态显示

    jquery mobile提供了一种可折叠的组件--data-role="collapsible",这种组件可以通过点击折叠块头部来展开/折叠块内的内容,详细组件说明可参考w3cs ...