毫米波雷达深度学习技术-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)多对多。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

k8s:优雅关闭pod的简单例子

先通过Dockerfile创建一个image vim Dockerfie <<<< 内容如下&#xff1a; FROM centosRUN sed -i -e "s|mirrorlist|#mirrorlist|g" /etc/yum.repos.d/CentOS-* RUN sed -i -e "s|#baseurlhttp://mirror.centos.org|baseurlhttp://vault.centos.o…

不要当网管,网管得会静态路由和路由表

1、路由表 路由表的组成 路由表由多个路由条目组成&#xff0c;每个条目通常包含以下信息&#xff1a; 目的地网络&#xff08;Destination Network&#xff09;&#xff1a; 这是数据包要到达的目标网络地址&#xff0c;通常以CIDR&#xff08;无类别域间路由&#xff09;格…

centos系统清理docker日志文件

centos系统清理docker日志文件 1.查看docker根目录位置2.清理日志 1.查看docker根目录位置 命令&#xff1a;docker info ,将Docker Root Dir 的值复制下来。如果目录中包含 等特殊符号的目录&#xff0c;需要转义 2.清理日志 创建文件&#xff1a;vim docker_logs_clean.…

Nvidia/算能 +FPGA+AI大算力边缘计算盒子:自动清理机器

总部位于硅谷的 ViaBot 正在为用于企业的机器人进行试行测试。 2016 年&#xff0c;Gregg Ratanaphanyarat 和 Dawei Ding从宾州州立大学辍学后&#xff0c;创办了一家户外清洁机器人初创公司。 如今&#xff0c;这场赌博似乎正在取得回报。二人的初创公司 ViaBot 正在与一家…

python免安装版本使用方法(win环境下)

文章目录 需求背景python下载下载免安装版本下载pip安装 参考文章&#xff1a;https://blog.csdn.net/u010835747/article/details/123731542 需求背景 在同一业务多种不同的单机需求中&#xff0c;存在业务地单一电脑运行多个不同开发人员制作的python脚本&#xff0c;但是由…

Vue07-MVVM模型

一、MVVM模型的定义 M&#xff1a;模型&#xff08;model&#xff09;&#xff1a;对应data中的数据&#xff1b;V&#xff1a;视图&#xff08;view&#xff09;&#xff1a;模版&#xff1b;VM&#xff1a;视图模型&#xff08;ViewModel&#xff09;Vue的实例对象。 Vue.js…

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

组件之 GfSide 侧边栏组件一般有固定宽度用于导航菜单,布局 效果预览 属性 参数类型说明可选值默认值widthString侧边栏的宽度30% 代码实现 这里我们使用了 function 组件来实现 space 组件&#xff0c;比较简洁灵活 <template><aside class"el-aside" …

2种方法!一键批量下载1688主图、sku图、视频和详情页

最近关于如何一键下载1688主图、sku图、视频和详情页相关的问题被商友们问爆了。店雷达直接上实操教程&#xff0c;建议收藏&#xff0c;不迷路&#xff01; 方法一&#xff1a;通过选品中心下载 1、在店雷达选品中心&#xff08;如果想在1688进货的就在1688选品库中选品&…

如何选择Unity的4种批处理方式

1&#xff09;如何选择Unity的4种批处理方式 2&#xff09;Unity编辑器卡顿 3&#xff09;如何解决横屏APP在鸿蒙悬浮窗错误的变为竖屏了 4&#xff09;Hindi问题 这是第388篇UWA技术知识分享的推送&#xff0c;精选了UWA社区的热门话题&#xff0c;涵盖了UWA问答、社区帖子等技…

Ambari集成Apache Kyuubi实践

目前还有很多公司基于HDP来构建自己的大数据平台&#xff0c;随着Apache Kyuubi的持续热度&#xff0c;如何基于原有的HDP产品来集成Apache Kyuubi&#xff0c;很多人都迫切的需求。集成Apache Kyuubi到HDP中&#xff0c;主要涉及Ambari的二次开发。本文详细叙述了集成Apache K…

视频监控管理平台LntonCVS视频汇聚平台充电桩视频监控应用方案

随着新能源汽车的广泛使用&#xff0c;公众对充电设施的安全性和可靠性日益重视。为了提高充电桩的安全管理和站点运营效率&#xff0c;LntonCVS公司推出了一套全面的新能源汽车充电桩视频监控与管理解决方案。 该方案通过安装高分辨率摄像头&#xff0c;对充电桩及其周边区域进…

【C++ | this指针】一文了解C++的this指针

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a; 本文未经允许…

【C语言】详解static和extern关键字

文章目录 1. 前言2. 作用域和生命周期2.1 作用域2.1.1 全局变量和局部变量 2.2 生命周期 3. static关键字3.1 static修饰的局部变量 4. extern关键字5. extern和static关键字的相互作用5.1 static修饰函数 6.总结 1. 前言 可能在你遇到这篇文章之前&#xff0c;你可能并未听过…

IDEA2023.1.4配置springboot项目

新建“Spring Initializr”项目 勾选以下三个依赖项即可。 springboot分为代码层、资源层和测试层。 代码层 根目录&#xff1a;src/main/java 入口启动类及程序的开发目录。在这个目录下进行业务开发、创建实体层、控制器层、数据连接层等。 资源层 根目录&#xff1a;src…

奇迹MU最强法师介绍

1、黑龙波 释放出深渊中的黑龙之魂&#xff0c;对一定范围内的目标造成中等程度伤害。 奥义&#xff1a; 怒哮——法师释放出深渊龙魂的怨怒之力&#xff0c;在电闪雷鸣中中咆哮的龙魂将对敌人额外造成少量伤害。 魂阵——法师利用法阵控制黑龙之魂进行更大范围的攻击&…

史上最强 AI 翻译诞生了!拳打谷歌,脚踢 DeepL

CoT 推理范式 默认情况下&#xff0c;大语言模型通常是直接给出问题的最终答案&#xff0c;中间推理过程是隐含的、不透明的&#xff0c;无法发挥出大模型最极致的理解能力。如果你用它来充当翻译&#xff0c;可能效果和传统的机器翻译也差不了太多。 如果我们给大模型设计一…

天行健咨询 | 谢宁DOE培训的课程内容有哪些?

谢宁DOE培训的课程内容丰富而深入&#xff0c;旨在帮助学员掌握谢宁问题解决方法在质量管理中的重要作用&#xff0c;并学会如何运用这一方法工具&#xff0c;在不中断生产过程的前提下&#xff0c;找出并解决生产中遇到的复杂而顽固的问题。 首先&#xff0c;课程会详细介绍谢…

SpringCloud Hystrix服务熔断实例总结

SpringCloud Hystrix断路器-服务熔断与降级和HystrixDashboard SpringCloud Hystrix服务降级实例总结 本文采用版本为Hoxton.SR1系列&#xff0c;SpringBoot为2.2.2.RELEASE <dependency><groupId>org.springframework.cloud</groupId><artifactId>s…

Kafka之Producer原理

1. 生产者发送消息源码分析 public class SimpleProducer {public static void main(String[] args) {Properties prosnew Properties();pros.put("bootstrap.servers","192.168.8.144:9092,192.168.8.145:9092,192.168.8.146:9092"); // pros.pu…

【必会面试题】ThreadLocal的底层原理及其使用场景

目录 原理应用场景优势1. 避免线程安全问题2. 提高性能3. 简化代码 注意事项权衡决策 ThreadLocal是Java中用于创建线程局部变量的一个类&#xff0c;它提供了一种将变量绑定到当前线程的技术&#xff0c;使得每个线程都拥有该变量的独立副本&#xff0c;即使是在多线程环境下也…