毫米波雷达深度学习技术-1.6目标识别1

1.6 目标识别

        利用检测和跟踪在距离、多普勒和角度这两个维度中的任意一个进行精确的目标定位后,将检测到的目标分类到所需的类别中。与检测类似,提出了多种框架来同时使用图像和点云进行目标分类。使用图像进行目标分类的最常见方法是从检测到的目标特征中沿距离-角度和距离-多普勒维提取手工设计的特征[32-34]。最常见的特征是距离、多普勒、到达方向的平均值,以及从唯一目标簇中检测到的所有峰值的归一化反射功率。此外,在特征集中增加了距离、径向多普勒和目标尺寸在x、y维度上的方差和偏差,增加了目标特征的丰富度。对于固定的网格大小,可以在检测到的目标区域上使用加速鲁棒特征(SURF)或尺度不变特征变换(SIFT)等特征描述符来替代手工制作的特征。然后,这些特征集可以传递给线性或非线性分类器,如决策树、支持向量机(SVM)或K近邻(KNN)。这种方法对传感器测量非常特别,并且容易产生噪声,因此,通常很难在不同位置或不同增益模式下对传感器的不同测量进行归纳。替代的最先进的方法涉及深度学习算法。后续将介绍引人注目的深度学习架构。

1.6.1 前馈网络

        前馈神经网络或多层感知机(MLP)近似某个函数f,该函数f进行映射y = f(x;𝑤),并学习网络的权重𝑤,从而在给定特定目标的情况下得到函数逼近。这些模型被称为前馈,因为信息流从x开始流经被评估的函数,通过用于定义f的中间计算,最后到达输出y。没有反馈连接,其中模型的输出被反馈到自身。图1.10给出了一个具有一个隐藏层的前馈网络。

图1.10 有一个隐藏层的前馈神经网络示例

1.6.2 卷积神经网络(CNN)

        在深度学习文献中,使用最广泛的网络是CNN[35-37],用于目标检测、人脸识别、图像分割或超分辨等任务。在CNN中,图像分类是通过结合不同的层进行的,即卷积层、池化层和具有交叉熵(CE)损失的密集层。网络将图像视为维度为h ×𝑤× c (h =高度,𝑤=宽度,c =颜色通道)的多维像素数组。例如,尺寸为32 × 32 × 3的图像表示RGB图像(三色通道),而尺寸为32 × 32 × 1的图像表示灰度图像。

        CNN的初始空间特征提取是通过卷积层完成的。在卷积层中,滤波器或核(权矩阵)在整个图像中滑动。卷积层的输出被定义为滑动核与每个滑动步的底层输入图像的点积。必须注意的是,滤波器必须具有与输入图像相同数量的通道。

        卷积层的输出维数计算如下:

(1.35)

      其中,是输入图像的宽度和高度,是滤波器或内核的宽度和高度,p,s是为填充因子和跨步因子,设为≥1。网络通过反向传播来学习滤波器的权重。卷积层的组成描述如下:

      1.步进:当应用卷积时,移位是为了在整个图像上移动滤镜。步幅定义了移动的步长,例如,如果步幅是1,那么过滤器移动一个像素,如果步幅是2,那么它移动两个像素,以此类推。

      2.填充:当过滤器不能正确匹配输入图像时,有两个选项:

      ●零填充-用零填充图像,使滤镜完美匹配。

      ●有效填充-删除图像中不适合过滤器的部分

      3. 激活函数:在CNN中使用的一些标准激活函数如下:

      ●Sigmoid(逻辑激活):这个激活功能最初是受到“真实神经元”的启发。这个激活函数的输出在[0,1]之间。它的主要缺点是饱和的神经元无法学习,并且激活的计算成本很高。

(1.36)

      ●双曲正切激活:双曲正切激活的输出范围在[−1,1]之间,以零为中心。与乙状体激活类似,这种激活也不会训练饱和神经元

(1.37)

      ●整流线性单元(ReLu):在ReLu激活中,如果x > 0,则不存在饱和,并且计算效率更高,收敛速度更快。在这种激活中,输出总是正的,不活跃的神经元没有被优化:

(1.38)

      ●泄漏整流线性单元和参数ReLu:这些激活函数是对正常ReLu的改进,克服了神经元死亡的问题。对于泄漏的Relu, α是一个很小的常数,例如0.01。在参数化ReLu的情况下,α是通过反向传播学习的超参数。

(1.39)

      图1.11给出了上述常用的激活函数,即sigmoid函数、双曲函数、整流线性单元(ReLu)和泄漏整流线性单元。

图1.11 各种激活函数示意图:(a) sigmoid函数,(b)双曲函数,(c) ReLu函数,(d) 泄漏ReLu。

      用于分类问题的输出层中通常使用的另一个标准激活函数是softmax层。由于平方误差不适用于类相互排斥的情况,因此更好的方法是将输出之和为1的约束分配给每个类的概率。softmax函数强制输出表示可能类L之间的概率分布,其函数及其导数如下所示:

(1.40)

      通常与softmax层相关的代价函数是正确预测的负对数似然,称为CE或对数损失代价函数,定义如下:

(1.41)

      4.池化/子样本层:池化层或更具体的空间池化层在保留最相关信息的同时对输入图像执行子采样或下采样。当图像太大时,这个过程有助于减少参数。

      三种常用的池化层如下:

      ●最大池化-在定义的非参数过滤器大小中取最大的元素

      ●平均池化-在定义的非参数过滤器大小内取所有元素的平均值

      ●总和池化 -取定义的非参数过滤器大小内所有元素的和

      5.密集/完全连接层:在CNN的最后,使用单个或多个密集层,将先前卷积和池化层的扁平(1D数组)输出馈给这些层。在用于分类的CNN中,最后一个激活函数通常是sigmoid或softmax激活。

      图1.12展示了一个CNN架构的例子,它包括卷积层、池化层或子样本层,然后是后期的密集或全连接层。

图1.12 一个CNN架构的例子

1.6.3 循环神经网络(RNN)

      MLP和CNN不能直接解决信息随时间传播的问题。手势感应和跟踪等一些应用需要神经网络保存过去事件的历史来做出决定。RNN解决了这个问题,通过具有自循环结构,允许信息随时间持续存在。使用这些自循环,RNN能够将之前的信息与当前任务联系起来,并根据之前的事件做出决定。在20世纪90年代,阻碍RNN广泛应用的最大障碍之一是梯度消失的问题。不仅信息会随时间流动,而且误差也会随时间反向传播。为了做到这一点,自循环随着时间展开,这导致了一个非常深的网络,其中梯度必须通过许多层传播。但是,如果权重小于1,那么进一步乘以同样小于1的梯度,经过几次乘法后得到的结果将非常小。因此,随着时间的推移,通过RNN的梯度流很容易变为零,这意味着没有进一步的信息传播。结果,RNN无法保留信息或学习很久以前的信息。

      RNN可以描述如下:RNN将给定的时间输入序列映射到隐藏值序列,并通过迭代以下递归方程输出激活序列:

(1.42)

      其中σ是非线性激活函数,是隐藏层偏移向量,是输入隐藏权重是隐藏-隐藏权重矩阵。

      这些循环单元的激活定义如下:

 (1.43)

      其中表示隐藏激活权重矩阵,表示激活偏移向量。

      RNN存在梯度消失或爆炸的问题,这可以通过长短期记忆(LSTM)[38]或门控循环单元(GRU)[39]来解决。LSTM使用门控的概念扩展带有记忆单元的RNN:门控是一种基于输入的组件乘法的机制,它定义了每个单独记忆单元的行为。LSTM根据门的激活更新它的单元状态。提供给LSTM的输入被送入不同的门,这些门控制在单元存储器上执行的操作:写(输入门)、读(输出门)或复位(忘记门)。这些门根据它们接收到的信号,通过它们自己学习到的滤波器权重,根据信号的强度和重要性来阻止或传递信息。这些权重是在反向传播期间学习的,这意味着单元格的权重决定何时允许输入、保留或删除数据。

      LSTM层更新的向量表示(向量表示一层中的所有单元)如下:

(1.44)

      其中i,f,o和c分别为输入门,忘记门,输出门和单元激活向量,它们的大小都与定义隐藏值的向量h相同。项σ表示非线性激活函数。项{x(1), x(2),···,x(K)}是时刻K的存储单元层输入。Wai, Whi,Wci, Waf, Whf, Wcf, Wac, Whc, Wao, Who和Wco是权重矩阵,下标表示从属关系,bi, bf, bc和bo是偏置向量。

      图1.13展示了LSTM块的一个单元。根据应用程序的不同,有不同的配置来使用RNN模型。RNN不仅可以将一个输入映射到一个输出,还可以将一个输入映射到多个输出,多个输入映射到一个输出或多个输入映射到多个输出。

图1.13 一个LSTM单元例子

      这四种配置如图1.14所示。多对一配置用于雷达手势感知,多对多配置用于人体活动分类。

图1.14 不同类型的RNN模型:(a)一对一,(b)一对多,(c)多对一,(d)多对多。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/849401.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10款必备软件,每款都是神器,赶快用起来吧!

AI视频生成:小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://aitools.jurilu.com/最近有很多小伙伴在咨询,我也抓紧时间整理了一些不错的软件和我陆续收到的,希望对大家有所帮助。 1. 全球鼠标——MouseI…

vue2组件封装实战系列之space组件

组件之 GfSpace 多个同类型的内容比如 div/span/button/li 等,实现水平、垂直方向的均匀布局的功能 效果预览 属性 参数类型说明可选值默认值flexBoolean是否 flex 布局true/falsefalsegapNumber内容间距-10directionString内容排列方向row/columnrow 代码实现 这…

机器学习扩展包MLXtend绘制分类模型决策边界

公众号:尤而小屋编辑:Peter作者:Peter 大家好,我是Peter~ 继续更新机器学习扩展包MLxtend的文章。本文介绍如何使用MLxtend来绘制与分类模型相关的决策边界decision_regions。 导入库 导入相关用于数据处理和建模的库&#xff…

技术对比:eMMC、SD NAND与NOR Flash存储特性详解

在电子技术迅猛前进的今天,存储技术成为了整个行业发展的基石。SD NAND、eMMC和NOR Flash,这三种存储技术各自以其独特的架构和特性,满足了多样化的存储需求。让我们来看看它们之间的一些关键对比: 1. 存储单元架构: S…

Perfectly Clear WorkBench v4 解锁版安装教程 (图像修复增强工具)

前言 Perfectly Clear WorkBench 是一款图像修复工具,可以帮助用户对自己的图片素材进行修复,很多的照片因为拍摄问题,或者设备限制,会导致拍摄效果不好,使用这款软件可以进行一定程度的修复,当拍摄时亮度…

Ant Design+react 表单只读

表单禁用,样式不好看,不符合甲方标准,看了一下文档,select、radio等都不支持只读状态。 解决方法: 利用css3的point-events属性,设置为none 在查看弹窗时,传入一个变量,当变量为true…

了解光隔离器和光耦合器:主要区别和应用

光隔离器和光耦合器是现代电子电路中必不可少的组件,提供一项关键功能:电路不同部分之间的电气隔离。虽然它们在许多方面相似且经常互换使用,但两者之间存在明显差异,主要基于它们的工作电压能力。本文深入探讨了这些组件的基础知…

最新23道vue2+vue3面试题带答案汇总

文章目录 MVVM与MVC的区别Vue 2与Vue 3的主要区别Vue 3的优势Vue 2 是如何实现数据绑定的?Vue 2 中的 v-model 是如何工作的?Vue 2 的生命周期钩子有哪些?Vue 3 使用了什么技术来实现响应式系统?Vue 3 中的 Composition API 带来了…

windows系统内查看电脑SN号

cmd命令行模式下,输入代码wmic bios get serialnumber可以查看到当前计算机的SN号码

Python爬取与可视化-豆瓣电影数据

引言 在数据科学的学习过程中,数据获取与数据可视化是两项重要的技能。本文将展示如何通过Python爬取豆瓣电影Top250的电影数据,并将这些数据存储到数据库中,随后进行数据分析和可视化展示。这个项目涵盖了从数据抓取、存储到数据可视化的整个…

记一次Linux下Docker镜像服务器磁盘空间清理

我们开发环境Jenkins构建项目时报服务器磁盘空间不足,导致项目自动化构建部署失败, Docker镜像服务器磁盘空间清理我们做了多次了,之前在清理Docker镜像服务器时走了不少弯路,查了不少Docker镜像服务器空间清理,都大同…

JAVA网络编程,反射及注解知识总结

文章目录 网络编程软件架构三要素IP端口号协议UDP协议发送数据接收数据三种通信方式 TCP协议客户端服务器端三次握手四次挥手 反射获取字节码文件获取构造方法获取成员变量获取成员方法反射的作用 动态代理注解作用格式使用位置注解的原理常见注解元注解自定义注解解析注解 网络…

自然语言处理(NLP)—— 语言检测器

1. 文章概述 1.1 目的 在本篇文章中,我们将构建一个语言检测器,这是一个能够识别文本语言的简单分类器。这是一个能够识别文本是用哪种语言写的程序。想象一下,你给这个程序一段文字,它就能告诉你这是英语、法语还是其他语言。 …

Moonshot AI API使用(1)-获取MOONSHOT_API_KEY

Moonshot AI 开放平台 用户注册,使用微信扫码登录 把这个key复制下来

用你熟悉的语言就能开发智能合约,Vara Network 以 WASM 解锁未来应用创新

Vara Network 自推出以来,凭借其基于 Gear Protocol 的独特架构和强大的开发工具,为开发者提供了一个高效、安全的智能合约构建平台。Vara Network 通过采用先进的 Actor 模型、持久内存概念和 WebAssembly 技术,实现了异步消息处理、并行计算…

OpenFeign --学习笔记

什么是OpenFeign? OpenFeign可以想象成一座连接客户端(服务器)和服务器之间的桥梁。在微服务架构中,各个服务之间像小岛屿一样分布在网络上,它们需要相互通信才能协同工作。但是,这些岛屿之间并没有现成的…

SVNCloud 与 Navicat和IDEA的连接

文章目录 SVNCloud 配置Navicat访问云端数据库与IDEA Java jdbc 的连接 SVNCloud 配置 访问网址:SVN注册账号,进入mysql区域: 数据库管理->创建数据库,输入数据库名称和密码,注意,这里的数据库名称实际…

6、后端项目初始化

打开idea后, New Project ,用Maven构建 Spring Boot 项目 点击Next后:先勾选两个基本的依赖,后面再手动添加其它需要的依赖 Spring Web: 表示是一个web应用程序 Lombok:写实体类的时候添加Data注解后就会自动加上g…

Linux网络编程:网络层协议|IP

目录 前言: 1.IP协议 1.1.IP协议格式 1.2.网段划分 1.2.1.知识引入 1.2.2.IP地址划分和子网掩码 1.3.IP地址分类 1.3.1.特殊IP地址 ​编辑 1.3.2.私有IP和公网IP 1.3.3.浅谈NAT技术 1.4.路由 1.4.1.什么是路由 1.4.2.路由表 1.5.网络层数据切片和组装…

MYSQL基础_01_数据库概述

第01章_数据库概述 1. 为什么要使用数据库 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多…