自动驾驶汽车开发中雷达选用原则的研究

自动驾驶汽车开发中,激光雷达理应是不能少的器件。但是车规的激光雷达,外国品牌在15万元的价位,国产也在5万的价位上。业内人士一看,就知道,如果激光雷达,成本不下降到1万以下,中国自动驾驶汽车要上市是不可能的。目前的产品基本上是,研究层面的事情,离上市还远得很。好在国内激光雷达生产厂家越来越多,水平越来越高,成本下降的空间也是越来越大。整车厂自动驾驶汽车开发工程师,对激光雷达,做深入了解的要求也是越来越高。下面做系统介绍,供同行参考。

对激光雷达的认识

普通人对雷达的认识基本上源于电影的画面(图1),雷达可以发现敌人飞机。

“深度学习”和“多层神经网络”的区别

"深度学习"是为了让层数较多的多层神经网络可以训练,能够work而演化出来的一系列的 新的结构和新的方法。
新的网络结构中最著名的就是CNN,它解决了传统较深的网络参数太多,很难训练的问题,使用了“局部感受野”和“权植共享”的概念,大大减少了网络参数的数量。关键是这种结构确实很符合视觉类任务在人脑上的工作原理。

新的结构还包括了:LSTM,ResNet等。

新的方法就多了:新的激活函数:ReLU,新的权重初始化方法(逐层初始化,XAVIER等),新的损失函数,新的防止过拟合方法(Dropout, BN等)。这些方面主要都是为了解决传统的多层神经网络的一些不足:梯度消失,过拟合等。

从广义上说深度学习的网络结构也是多层神经网络的一种。

传统意义上的多层神经网络是只有输入层、隐藏层、输出层。其中隐藏层的层数根据需要而定,没有明确的理论推导来说明到底多少层合适。

而深度学习中最著名的卷积神经网络CNN,在原来多层神经网络的基础上,加入了特征学习部分,这部分是模仿人脑对信号处理上的分级的。具体操作就是在原来的全连接的层前面加入了部分连接的卷积层与降维层,而且加入的是一个层级。

神经网络纹理合成和损失函数风格转移

稳定可控的神经网络纹理合成和采用直方图损失函数的风格转移
Stable and Controllable Neural Texture Synthesis and Style Transfer Using Histogram Losses

摘要

最近,出现了用卷积神经网络做纹理合成和风格转移的方法。这些方法令人激动,它们可以生成最新最好的质量。然而,我们发现这些方法在纹理质量,稳定性,参数调整,无需用户控制上面都有一些限制。本文提供了卷积神经网络的多尺度合成方法可以改善这些问题。我们对之前很多方法的不稳定的来源做了数学解释。我们使用直方图损失函数合成纹理改善这些不稳定性,更好地统计概率上匹配这些实例。我们还展示了如何在我们的多尺度框架中整合定位后的风格损失。这些损失函数可改善大特征的质量,增强内容和风格的分离,提供了艺术性控制,比如绘画。我们还展示了我们的方法对质量进行改进,在很少迭代中收敛,优化过程中更稳定。

一文盘点10大连接数百亿终端的无线网络技术

互联网行业发展到今天,人们生活的便利度已经被极大的提高。在家有Wi-Fi,出门有4G,定位有GPS等等,似乎网络已经成为继衣食住行之后的又一重要组成部分,覆盖生活的方方面面,但在万物互联时代,网络连接技术需要进一步迭代。

物联网架构一般被分为感知层、网络层、平台层和应用层,其中网络层处于物联网生态系统的枢纽位置,在物联网设备连接方面扮演着举足轻重的作用。物联网的最终目标仍然是服务于人,因此,具有更高便携性的无线网络连接技术得到了更广泛的关注。在互联网时代已经发展出一大批无线网络技术,面向万物互联,无线网络连接技术得到了更好的发展。

目前,无线网络连接技术按照传输距离远近可分为短距离无线连接技术和长距离无线连接技术。下面分别列举了各自的5种主要技术,包括蓝牙,Wi-Fi,NFC,ZigBee,UWB以及GPRS,5G,NB-IoT,LoRa,全球卫星导航系统等。

OpenGL中的深度、深度缓存、深度测试

1、深度

所谓深度,就是在openGL坐标系中,像素点Z坐标距离摄像机的距离。摄像机可能放在坐标系的任何位置,那么,就不能简单的说Z数值越大或越小,就是越靠近摄像机。

2、深度缓冲区

深度缓冲区原理就是把一个距离观察平面(近裁剪面)的深度值(或距离)与窗口中的每个像素相关联。

首先,使用glClear(GL_DEPTH_BUFFER_BIT),把所有像素的深度值设置为最大值(一般是远裁剪面)。

然后,在场景中以任意次序绘制所有物体。硬件或者软件所执行的图形计算把每一个绘制表面转换为窗口上一些像素的集合,此时并不考虑是否被其他物体遮挡。

其次,OpenGL会计算这些表面和观察平面的距离。如果启用了深度缓冲区,在绘制每个像素之前,OpenGL会把它的深度值和已经存储在这个像素的深度值进行比较。新像素深度值<原先像素深度值,则新像素值会取代原先的;反之,新像素值被遮挡,他颜色值和深度将被丢弃。

GPU渲染流水线

GPU的渲染流水线的主要任务是完成3D模型到图像的渲染(render)工作。常用的图形学API编程模型中的渲染过程被分为几个可以并行处理的阶段,分别由GPU中渲染流水线的不同单元进行处理。GPU输入的模型是数据结构(或语言)定义的对三维物体的描述,包括几何、方向、物体表面材质以及光源所在位置等;而GPU输出的图像则是从观察点对3D场景观测到的二维图像。在GPU渲染流水线的不同阶段,需要处理的对象分别是顶点(vertex)、几何图元(primitive)、片元(fragment)、像素(pixel)。

如图1-6所示,典型的渲染过程可以分为以下几个阶段:

1.顶点生成

图形学API用简单的图元(点、线、三角形)表示物体表面。每个顶点除了(x,y,z)三维坐标属性外还有应用程序自定义属性,例如位置、颜色、标准向量等。

2.顶点处理

图像处理常用边缘检测算子

边缘是图像中像素值发生剧烈变化而不连续的结果,它存在于目标与背景、目标与目标、区域与区域之间。边缘检测是图像基于边界分割的第一步。由图像灰度的特点,可将边缘类型分为阶梯状边缘(处于图像两个具有不同灰度值的相邻区域之间)、脉冲状边缘(它主要对应细条状灰度值突变区域,可以看做两个背景阶梯状的边缘构成)、屋顶状边缘(它的边缘上升、下降都比较平缓,可以看作是将脉冲状边缘拉伸而得到的)。

如何理解梯度下降

梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一。

在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。

一般情况下,我们把要最小化或最大化的函数称为目标函数。当我们队其进行最小化时,我们也把他称为代价函数,损失函数或误差函数。

我们说导数对于最小化一个函数很有用,因为它告诉我们如何更改x来略微地改善y。加入,我们知道对于足够小的\varepsilon来说,

f(x-\varepsilonsign(f'(x)))<f(x)。因为我们可以将x往导数的反方向移动一小步来减少f(x)。这种技术被称为梯度下降。

自动驾驶之测试验证技术盘点

自动驾驶在落地之前必须要经过测试和验证其技术的安全性,那么自动驾驶技术该如何测试和验证呢?本文就带大家探讨一下当前自动驾驶测试技术都有哪些?

此前,国外有机构通过研究提出,如果要证明自动驾驶能够比人类驾驶员更可靠,那么至少需要在真实或者模拟环境中行驶 110 亿英里。

但这种方法很难完成,因为行驶 110 亿英里需要花费的人力物力财力非常之大,并且完成这个测试耗时也足够长,就连路测里程数最多的Waymo利用了9年的时间才完成了真实路测里程1000万英里、模拟环境行驶里程50亿英里的测试。

并且,如此众多的企业要制造推出自动驾驶车,在企业的自我测试之外,政府还需要有一套标准的测试方式对其验证,如果这个标准测试方法也按照这个方式来进行,自动驾驶的到来就是遥遥无期。那么究竟该如何进行测试呢?本文给出了几个测试方法。

自动驾驶测试技术发展情况

Imagination:关于2019年的七项技术预测

新年伊始,Imagination再一次预测2019年将会发生哪些变化?自动驾驶汽车:机器人出租车在2019年将会变为现实,半自动卡车车队将出现在高速公路上——机器人出租车将在2019年面市,有很多投资方和合资企业瞄准了自动驾车汽车这个行业,比如沃尔沃(Volvo)、福特(Ford)、Lyft、滴滴(DiDi)、戴姆勒(Daimler)、通用(GM)和优步(Uber)等公司都在积极推动这一领域不断向前发展。