demi的博客

使用深度学习的三维点云分类的介绍

在过去的这些年里,对二维图像已经有了大量深入的研究,并且有着长足的发展。它在分类任务上取得了极好的结果主要得益于一下两个关键因素:

1. 卷积神经网络。

2. 数据 - 大量图像数据可用。

但是对于3D点云,数据正在迅速增长。大有从2D向3D发展的趋势,比如在opencv中就已经慢慢包含了3D点云的处理的相关模块,在数据方面点云的获取也是有多种渠道, 无论是源于CAD模型还是来自LiDAR传感器或RGBD相机的扫描点云,无处不在。 另外,大多数系统直接获取3D点云而不是拍摄图像并进行处理。因此,在深度学习大火的年代,应该如何应用这些令人惊叹的深度学习工具,在3D点云上的处理上达到对二维图像那样起到很好的作用呢?

3D点云应用深度学习面临的挑战。首先在神经网络上面临的挑战:

(1)非结构化数据(无网格):点云是分布在空间中的XYZ点。 没有结构化的网格来帮助CNN滤波器。

(2)不变性排列:点云本质上是一长串点(nx3矩阵,其中n是点数)。 在几何上,点的顺序不影响它在底层矩阵结构中的表示方式,例如, 相同的点云可以由两个完全不同的矩阵表示。 如下图所示:

物联网的这些认知误区,你都中招了吗?

误区之一

把传感网或RFID网等同于物联网。事实上传感技术也好、RFID技术也好,都仅仅是信息采集技术之一。除传感技术和RFID技术外,GPS、视频识别、红外、激光、扫描等所有能够实现自动识别与物物通信的技术都可以成为物联网的信息采集技术。传感网或者RFID网只是物联网的一种应用,但绝不是物联网的全部。

误区之二

把物联网当成互联网的无边无际的无限延伸,把物联网当成所有物的完全开放、全部互连、全部共享的互联网平台。实际上物联网绝不是简单的全球共享互联网的无限延伸。即使互联网也不仅仅指我们通常认为的国际共享的计算机网络,互联网也有广域网和局域网之分。

物联网既可以是我们平常意义上的互联网向物的延伸;也可以根据现实需要及产业应用组成局域网、专业网。现实中没必要也不可能使全部物品联网;也没必要使专业网、局域网都必须连接到全球互联网共享平台。今后的物联网与互联网会有很大不同,类似智能物流、智能交通、智能电网等专业网;智能小区等局域网才是最大的应用空间。

误区之三

机器学习(三)——线性回归、逻辑回归、Softmax回归的区别

1、什么是回归?

是一种监督学习方式,用于预测输入变量和输出变量之间的关系,等价于函数拟合,选择一条函数曲线使其更好的拟合已知数据且更好的预测未知数据。

2、线性回归

于一个一般的线性模型而言,其目标就是要建立输入变量和输出变量之间的回归模型。该模型是既是参数的线性组合,同时也是输入变量的线性组合。

机器学习(三)——线性回归、逻辑回归、Softmax回归的区别

最小二乘法,代价函数(平方误差代价函数,加1/2是为了方便求导):

深度学习中常见的过拟合方法

前言

机器学习的主要挑战在于在未见过的数据输入上表现良好,这就是泛化(generalization)能力。由于我们的机器学习模型都是从训练集中学习参数得到的,如何确保其在测试集上表现良好呢?

量化模型在训练集和测试集上的表现,分别成为训练误差(training error)和测试误差(test error),后者也称为泛华误差(generalization error)。理想的模型就是在最小化训练误差的同时,最小化泛化误差。

如果我们的训练集和测试集都是随机生成的,不服从任何分布,那么这个模型将会注定在测试集上表现糟糕,事实上,将不会有任何模型可能在其上表现地明显优于随机猜测。因此,训练集和测试集通常都假设为独立同分布。

我们能观察到的训练误差和泛化误差之间的直接关系就是,训练误差的期望等于测试误差的期望。举个例子:假设我们从p(x, y)中重复采样生成训练集和测试集,对于固定的模型参数W,训练误差的期望等于泛化误差的期望,因为此时测试集和训练集只是名字不同而已,其实其还都是满足数据生成分布的。

深度学习之卷积神经网络

由于在看这类文章时专业名词较多,所以在正式开始前,我先介绍一些同义专业名词,各名词具体含义以及之间的关系在文中介绍。

卷积层 = C层

采样层 = 池化层(pooling层),S层

平面 = 特征图(feature map),通道,map

卷积核 = 权向量,滤波器

神经元 = 特征,结点,单元,像素点,patch

局部感受野的大小 = 滤波器的大小

1、 引入

在人工神经网络中,当网络层数增多时,网络中的权值以成倍的速度在增长。比如当输入为一个1000*1000图片时(假如网络总共有6层,每层100个节点)则需要的权值数为:1000*1000*100+100*100*4,这么多的权值数目严重影响了网络的训练速度,为了训练好模型同时也需要更多的训练样例,同时过于复杂的模型也易导致过拟合的发生。

在上例中,主要是前面的输入层到第一层的权重参数太多,那么如何解决呢?传统的方法就是人工从图像中抽取较少特征,然后再放入全连接的神经网络中,但这种方法存在两个问题,一个问题是人工抽取特征效率较低,其次是抽取的特征不一定准确。

5G网络带来翻天覆地的变化,这些应用你应该知道

关于5G的应用,你了解多少呢?要知道,每一次的网络革命都会给人们的生活带来翻天覆地的变化,当然5G也不例外。5G这个概念一出,立马引起了网上的众多讨论。而关于5G的应用你又了解多少呢?

所谓5G就是第五代移动通信技术,其理论的峰值已经达到了每秒10GB,比我们一般使用的4G网络要快数百倍,这样的速度下载整个超高的画质的电影只需要1秒内就可下载完成。

伴随着5G技术的诞生,同样也在推动着其他不同领域的发展。这些5G的应用你一定要了解:

1、无人驾驶技术:说到无人驾驶技术,其实无人驾驶就是依靠车内以计算机系统为主的智能驾驶仪来实现无人驾驶的目标。但其实无人驾驶技术对网络也是有着极高的要求,要知道无人驾驶技术最好也是要求毫秒级的延时,延时越低安全系数越高。其实汽车在飞速的行驶中,如果时速达到120公里每小时,那就意味着1毫米的移动距离也就是3厘米多,4G的网络显然已经不足以支撑无人驾驶功能,而5G网络却可以满足自动驾驶的功能需求。

5种开发人工智能的最佳编程语言!

人工智能现在在全世界流行,如果你想进行AI开发,那就先来了解这5种开发AI的最佳语言吧!

1、Python

5种开发人工智能的最佳编程语言!

Python语法简单,功能多样,是开发人员最喜爱的AI开发编程语言之一,因为它允许开发人员创建交互式,可解释式性,模块化,动态,可移植和高级的代码,这使得它比Java语言更独特。Python非常便携,可以在Linux,Windows等多平台上使用。另外,Python是一种多范式编程语言,支持面向对象,面向过程和函数式编程风格。由于它拥有简单的函数库和理想的结构,Python很适合神经网络和自然语言处理(NLP)解决方案的开发。

但是,习惯于Python的开发人员在尝试使用其他语言时,难以调整状态使用不同的语法进行开发。与C ++和Java不同,Python在解释器的帮助下运行,在AI开发中这会使编译和执行变的更慢,不适合移动计算

神经网络:卷积神经网络

一、前言

这篇卷积神经网络是前面介绍的多层神经网络的进一步深入,它将深度学习的思想引入到了神经网络当中,通过卷积运算来由浅入深的提取图像的不同层次的特征,而利用神经网络的训练过程让整个网络自动调节卷积核的参数,从而无监督的产生了最适合的分类特征。这个概括可能有点抽象,我尽量在下面描述细致一些,但如果要更深入了解整个过程的原理,需要去了解DeepLearning。

这篇文章会涉及到卷积的原理与图像特征提取的一般概念,并详细描述卷积神经网络的实现。但是由于精力有限,没有对人类视觉的分层以及机器学习等原理有进一步介绍,后面会在深度学习相关文章中展开描述。

二、卷积

卷积是分析数学中一种很重要的运算,其实是一个很简单的概念,但是很多做图像处理的人对这个概念都解释不清,为了简单起见,这里面我们只介绍离散形式的卷积,那么在图像上,对图像用一个卷积核进行卷积运算,实际上是一个滤波的过程。

我们先看一下卷积的基本数学表示:

机器学习(二)——支持向量机SVM

1、SVM的原理是什么?

SVM是一种二类分类模型。它的基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器。(间隔最大是它有别于感知机)

试图寻找一个超平面来对样本分割,把样本中的正例和反例用超平面分开,并尽可能的使正例和反例之间的间隔最大。

支持向量机的基本思想可以概括为,首先通过非线性变换将输入空间变换到一个高维的空间,然后在这个新的空间求最优分类面即最大间隔分类面,而这种非线性变换是通过定义适当的内积核函数来实现的。SVM实际上是根据统计学习理论依照结构风险最小化的原则提出的,要求实现两个目的:
1)两类问题能够分开(经验风险最小)
2)margin最大化(风险上界最小)既是在保证风险最小的子集中选择经验风险最小的函数。

分为3类支持向量机:
(1)当训练样本线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机;
(2)当训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,学习一个线性分类器,即线性支持向量机;
(3)当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。