【笔记】自动驾驶预测与决策规划_Part6_不确定性感知的决策过程
文章目录
- 0. 前言
- 1. 部分观测的马尔可夫决策过程
- 1.1 POMDP的思想以及与MDP的联系
- 1.1.1 MDP的过程回顾
- 1.1.2 POMDP定义
- 1.1.3 与MDP的联系及区别
- POMDP 视角
- MDP 视角
- 决策次数对最优解的影响
- 1.2 POMDP的3种常规解法
- 1.2.1 连续状态的“Belief MDP”方法
- 1. 信念状态的定义
- 2. Belief MDP 的过程
- 3. 问题的求解
- 4. 值迭代的递推公式
- 5. 维度爆炸问题
- 1.2.2 有限前瞻深度策略
- 1.方法概述
- 2.求解步骤
- 3.优化技巧
- 1.2.3 在MDP中规划
- 1.主要步骤
- 2.优缺点
- 2. EPSILON 系统解析
- 2.1 自动驾驶决策规划现存问题
- 2.2 系统概述
- 2.3 问题描述
- 2.4 整体流程
- 3. MARC 解读—— Multipolicy and Risk-aware Contingency Planning for Autonomous Driving
- 4. 参考链接
0. 前言
本文主要记录课程《自动驾驶预测与决策技术》的学习过程,难免会有很多纰漏,感谢指正。
课程链接:https://www.shenlanxueyuan.com/my/course/700
相关笔记链接:
Part1_自动驾驶决策规划简介
Part2_基于模型的预测方法
Part3_路径与轨迹规划
Part4_时空联合规划
Part5_决策过程
1. 部分观测的马尔可夫决策过程
1.1 POMDP的思想以及与MDP的联系
1.1.1 MDP的过程回顾
1.1.2 POMDP定义
1.1.3 与MDP的联系及区别
在这个“开门与老虎”例子中,解释了 POMDP 和 MDP 的区别与联系。
POMDP 视角
在这个图中,智能体面对两扇门,一扇门后有老虎,另一扇门是逃生的出口。问题在于,智能体无法直接观察门后是什么,必须通过“listen”(听老虎的声音)来推测老虎的位置。
- 状态(S0 和 S1):老虎可能在左边(S0),或者在右边(S1)。状态的变化依赖于智能体的行为。
- 动作集(A):智能体可以选择听(listen)或直接开左边门(open left)或右边门(open right)。
- 观察集:智能体不能直接知道老虎在哪里,但可以通过听老虎的声音获取部分信息。听到左边的声音意味着老虎可能在左边,听到右边的声音则相反。
- 观察概率(Pr):当老虎在左边(S0)时,听到左边的声音的概率是 0.85,而听到右边声音的概率是 0.15(有一定的不确定性)。同样,老虎在右边时的观察概率是对称的。
- 奖励:开错门导致 -100 分的惩罚,开对门获得 +10 分的奖励,而“听”的行为有一个代价 -1。
在 POMDP 模型中,智能体只能通过“听”这种部分观察行为来推测当前的状态,它无法直接看到老虎的位置。这种不确定性体现了 POMDP 的核心特点——智能体不能完全观察到环境的真实状态,只能基于观察推测。
MDP 视角
如果我们假设智能体可以直接看到老虎的位置,那么这个问题就变成了一个 MDP 问题:
- 状态:智能体知道老虎的位置。
- 动作:智能体可以直接选择开哪扇门。
- 奖励与惩罚:仍然是开错门得到 -100 分,开对门 +10 分。
在 MDP 中,智能体能完全观察到当前状态,因此它可以立即根据观察作出正确的决策,比如看到老虎在左边时就开右边的门,没有不确定性。
决策次数对最优解的影响
在“开门与老虎”的 POMDP 问题中,决策次数的不同会影响如何寻找最优解。通过不同的决策时间范围(1次、2次、100次决策)来探索最优策略。
- 只能做一次决策:
如果只能做一次决策,最优解比较简单,因为你没有时间去“听”并获得更多信息。在这种情况下,你无法改善对状态的认知,只能基于当前的信念状态做出决策。假设初始状态下老虎可能在左边或右边的概率是 50%。
- 最优策略:此时直接选择开门,因为“听”的行为会消耗 -1 的代价,且你没有足够的回合来平衡这个损失。由于没有任何信息提示,选择任意一扇门的期望是一样的:直接开门会带来 -45 的期望收益(50%概率开对门得到 +10,50%概率开错门得到 -100)。
- 可以做两次决策:
如果有两次决策机会,策略会更加复杂,因为你可以选择“听”一次,然后根据听到的信息来做更明智的选择。
-
策略 1:首先执行“listen”行动,通过听到的老虎位置的信息更新你的信念状态。
- 听到老虎在左边时,你推测老虎确实在左边的概率是 85%,在右边的概率是 15%。
- 听到老虎在右边时,你推测老虎在右边的概率是 85%,在左边的概率是 15%。
-
最优策略:通过“listen”获得信息后,你的下一步决策(开左门还是开右门)基于更新后的信念状态。如果听到左边的老虎声音,你应开右门(85%的概率成功),听到右边的声音则开左门。
期望收益:
- 听到老虎在左边:85%概率开对门,期望为 ( 0.85 × 10 + 0.15 × ( − 100 ) = − 4 (0.85 \times 10 + 0.15 \times (-100) = -4 (0.85×10+0.15×(−100)=−4)。
- 听到老虎在右边:同理,期望为 -4。
- 听的代价是 -1,所以最终期望收益为 ( − 4 − 1 = − 5 ) ( -4 - 1 = -5) (−4−1=−5)。
相比于不听直接开门(期望收益 -45),听一次然后做决策的期望收益更好。
- 可以做 100 次决策:
如果有 100 次决策机会,这就变成了长期规划的问题。你可以通过反复“听”来更新信念,并最大化未来决策的累积奖励。在这种情况下,你可以多次选择“listen”来降低不确定性,但每次“听”都有代价,因此需要平衡“听”的次数和总期望奖励。
-
策略:
- 开始时先进行几次“listen”来逐渐提高对老虎位置的把握,直到信念状态足够明确(比如 95% 的信心)。
- 然后再根据当前的信念选择开门。
-
最优策略:
- 在较早阶段可以多听几次,但不宜过多,因为每次“listen”都会有 -1 的代价。
- 在信念足够明确时,停止“listen”,选择开门。如果老虎位置的概率已经非常确定(例如 >95%),继续“听”的收益就不如直接开门的收益高。
在这种长期决策中,POMDP 的策略可以通过动态规划或贝尔曼方程来求解,这样可以在多次决策过程中找到最优的策略。
总结:
- 1次决策:直接开门,期望收益是 -45。
- 2次决策:先听一次再开门,期望收益是 -5。
- 100次决策:先听几次(逐渐增加对老虎位置的确定性),然后开门,期望收益可以更高,具体取决于使用的策略优化算法。
在多次决策问题中,通过不断获取信息来更新信念状态可以大幅提升期望收益,这也是 POMDP 的强大之处。
1.2 POMDP的3种常规解法
1.2.1 连续状态的“Belief MDP”方法
使用Belief MDP 方法在连续状态空间中的基本思路及求解过程:
1. 信念状态的定义
信念状态是对系统当前状态的概率分布。由于在 POMDP 问题中,状态不是完全可观测的,智能体需要根据历史信息(包括过去的动作和观测)推测当前系统的状态,这种推测即信念状态 ( b ) ( b ) (b)。
在经典 POMDP 问题中,由于状态是部分可观测的,智能体需要根据所做的观测推断出系统可能处于的状态分布,这个推断称为信念状态(Belief State)。
-
信念状态 ( b ( s ) ) ( b(s) ) (b(s)) 是一个概率分布,表示智能体对系统实际状态的估计。具体来说,信念状态是根据历史的观测、动作、奖励等信息,对当前状态的条件概率分布。对于每一个状态 ( s ) ( s ) (s),信念状态 ( b ( s ) ) ( b(s) ) (b(s)) 表示智能体认为系统处于状态 ( s ) ( s ) (s) 的概率。
-
将 POMDP 问题转化为信念 MDP 时,我们不再直接处理原始的部分可观测的状态,而是在信念空间上处理这个问题。因此,信念 MDP 具有完全可观测性。
2. Belief MDP 的过程
为了处理部分可观测性问题,POMDP 转化为Belief MDP 问题。Belief MDP的目标是找到在信念空间中的最优策略,即在当前的信念状态下采取什么动作能够最大化期望奖励。
-
动态模型:系统从信念状态 ( b t ) ( b_t ) (bt) 转移到新的信念状态 ( b t + 1 ) ( b_{t+1} ) (bt+1),通过执行动作 ( a t ) ( a_t ) (at) 并观测到新的观测 ( o ) ( o ) (o) 后,更新信念状态。
-
奖励函数:对于每一个信念状态,奖励 ( r ( b t , a t ) ) ( r(b_t, a_t) ) (r(bt,at)) 是在信念 ( b t ) ( b_t ) (bt) 下采取动作 ( a t ) ( a_t ) (at) 所带来的即时奖励。
3. 问题的求解
利用值迭代的方法求解信念 Belief MDP 的过程:
-
期望奖励函数 ( V π ( b 0 ) ) ( V^\pi(b_0)) (Vπ(b0)):给定初始信念 ( b 0 ) ( b_0) (b0) 和策略 ( π ) ( \pi) (π),期望的回报是未来每一个时刻 ( t ) ( t ) (t) 的奖励的加权和,即:
V π ( b 0 ) = ∑ t = 0 ∞ γ t E [ R ( s t , a t ) ∣ b 0 , π ] V^\pi(b_0) = \sum_{t=0}^{\infty} \gamma^t E[R(s_t, a_t) | b_0, \pi] Vπ(b0)=t=0∑∞γtE[R(st,at)∣b0,π]
其中 ( γ ) ( \gamma ) (γ)是折扣因子。 -
最优策略:通过优化该期望回报 ( V π ( b 0 ) ) ( V^\pi(b_0) ) (Vπ(b0)),可以找到一个最优策略 ( π ∗ ) ( \pi^*) (π∗),即:
π ∗ = arg max π V π ( b 0 ) \pi^* = \arg\max_\pi V^\pi(b_0) π∗=argπmaxVπ(b0)
4. 值迭代的递推公式
为了计算Belief MDP 中每个信念状态的值,可以使用值迭代算法,其递推公式为:
V ∗ ( b ) = max a ∈ A [ r ( b , a ) + γ ∑ o ∈ O P ( o ∣ b , a ) V ∗ ( τ ( b , a , o ) ) ] V^*(b) = \max_{a \in A} \left[ r(b, a) + \gamma \sum_{o \in O} P(o | b, a) V^*(\tau(b, a, o)) \right] V∗(b)=a∈Amax[r(b,a)+γo∈O∑P(o∣b,a)V∗(τ(b,a,o))]
这个公式表示,在信念状态 ( b ) ( b) (b) 下,采取动作 ( a ) ( a ) (a) 能带来的最大化的预期回报。这里包括:
- 即时奖励 ( r ( b , a ) ) ( r(b, a) ) (r(b,a))
- 未来奖励的加权和,未来的信念状态由信念更新公式 ( τ ( b , a , o ) ) ( \tau(b, a, o) ) (τ(b,a,o)) 计算得到。
5. 维度爆炸问题
Belief MDP 的核心问题是维度爆炸,因为信念状态空间是连续的,而每个信念状态都需要计算其值函数。这在处理高维度的信念空间时,计算量会变得极为庞大,因此通常需要采用近似算法进行求解。
1.2.2 有限前瞻深度策略
这种方法的核心思想是对未来的状态和动作进行有限深度的前瞻,并基于此进行优化,类似于模型预测控制 (MPC) 的思路。
1.方法概述
-
有限前瞻:
- 由于 POMDP 的状态空间通常非常大,完全求解的计算量巨大,因此该方法通过对动作序列和观测进行有限步的前瞻来简化问题。
- 图中展示了一个状态-动作-观测的搜索树,在树中,智能体从根节点(当前状态)出发,通过一系列动作和观测进行扩展,每次前瞻 ( H ) ( H ) (H)步。
-
剪枝策略:
- 为了减少计算量,常常会对某些不太可能的观测进行剪枝,保留更有可能出现的观测结果。这使得状态空间不会呈指数增长,优化计算资源。
-
树结构中的节点数:
- 图右侧给出了有限前瞻过程中的节点数计算公式,节点数量随着动作 ( A ) ( A) (A) 和观测 ( O ) (O) (O) 的种类,以及前瞻步数 ( H ) ( H ) (H) 指数级增加。因此,通过剪枝和合理的搜索策略来减少需要评估的节点非常重要。
2.求解步骤
- 前瞻搜索:从当前状态出发,模拟未来可能的动作和观测序列。每个动作序列对应未来一系列的状态和奖励。
- 评估策略:在每个前瞻步长结束时,对不同的动作序列进行评估,根据预期回报选择最佳的动作序列。
- 执行最优动作:基于评估的结果,执行当前最优的第一个动作,并将该动作的观测结果作为下一步的输入,重复上述过程。
3.优化技巧
- ( α \alpha α)-向量技巧:用于加速计算值函数,使得每一个信念状态可以用一个超平面表示。
- 蒙特卡洛树搜索(MCTS):该方法可以从当前状态出发,逐步扩展状态和观测序列,通过模拟未来可能的动作结果,减少计算复杂度。
1.2.3 在MDP中规划
其核心思想是将概率最大的置信状态作为实际状态来处理,类似于假设系统的状态总是最有可能的那一个。
1.主要步骤
-
置信状态假设:
- 假设当前最可能的置信状态代表系统的真实状态,即我们并不处理所有可能的状态,而是聚焦在当前置信度最高的那个状态。
-
通过滤波跟踪状态:
- 使用类似于滤波的技术来不断更新和跟踪这个置信状态的概率分布。滤波器会根据新观测来调整系统对当前状态的估计,确保我们使用的状态是最可能的。
-
选择最优动作:
- 在每个时刻,根据当前估计的最可能状态,选择该状态下的最优动作(通常是基于预先定义的策略或价值函数)。
2.优缺点
- 优点:该方法在计算上较为高效,因为它简化了问题,将复杂的概率分布问题转化为一个确定性问题。
- 缺点:当系统不确定性较高时(即多种状态可能同时存在),这种方法可能会失败。因为它无法主动收集更多信息来提高置信度,只依赖于被动更新的置信状态。
这类方法适用于那些不确定性较小的场景,但在高度动态且不确定性较大的环境下,可能效果不佳。
2. EPSILON 系统解析
该部分只做general的介绍,详细的流程可以参考论文及以下链接:
-
https://github.com/HKUST-Aerial-Robotics/EPSILON
-
EPSILON: An Efficient Planning System for Automated Vehicles in Highly Interactive Environments
-
EPSILON论文解读、代码ROS2-Carla重构、实车部署全记录
2.1 自动驾驶决策规划现存问题
2.2 系统概述
2.3 问题描述
2.4 整体流程
Efficient Behavior Planning – Motivating Example
Efficient Behavior Planning – Guided Action Branching
Efficient Behavior Planning – Multi-agent Forward Simulation
Efficient Behavior Planning – Safety Mechanism
Efficient Behavior Planning – Policy Selection
基于时空语义走廊的轨迹生成
3. MARC 解读—— Multipolicy and Risk-aware Contingency Planning for Autonomous Driving
该部分没有听太懂,还是要结合论文去看。可参考以下链接:
- MARC: Multipolicy and Risk-Aware Contingency Planning for Autonomous
Driving - MARC: Multipolicy and Risk-aware Contingency Planning for Autonomous
Driving - 论文推土机的文章 - MARC:一种安全又高效的时空联合规划的方法
4. 参考链接
-
《自动驾驶预测与决策技术》
-
Part1_自动驾驶决策规划简介
-
Part2_基于模型的预测方法
-
Part3_路径与轨迹规划
-
Part4_时空联合规划
-
Part5_决策过程
-
https://github.com/HKUST-Aerial-Robotics/EPSILON
-
EPSILON: An Efficient Planning System for Automated Vehicles in Highly Interactive Environments
-
EPSILON论文解读、代码ROS2-Carla重构、实车部署全记录
-
MARC: Multipolicy and Risk-Aware Contingency Planning for Autonomous
Driving -
MARC: Multipolicy and Risk-aware Contingency Planning for Autonomous
Driving - 论文推土机的文章 -
MARC:一种安全又高效的时空联合规划的方法
相关文章:
【笔记】自动驾驶预测与决策规划_Part6_不确定性感知的决策过程
文章目录 0. 前言1. 部分观测的马尔可夫决策过程1.1 POMDP的思想以及与MDP的联系1.1.1 MDP的过程回顾1.1.2 POMDP定义1.1.3 与MDP的联系及区别POMDP 视角MDP 视角决策次数对最优解的影响 1.2 POMDP的3种常规解法1.2.1 连续状态的“Belief MDP”方法1. 信念状态的定义2. Belief …...
openresty入门教程:access_by_lua_block
在OpenResty中,access_by_lua_block 是一个功能强大的指令,它允许你在Nginx的访问控制阶段执行Lua脚本。这个阶段发生在Nginx处理请求的过程中,紧接在rewrite阶段之后,但在请求被传递到后端服务器(如PHP、Node.js等&am…...
Caused by: org.apache.flink.api.common.io.ParseException: Row too short:
Flink版本 1.17.2 错误描述 Caused by: org.apache.flink.api.common.io.ParseException: Row too short: 通过flink中的flinkSql直接使用对应的connector去获取csv文件内容,报获取的数据太短了 可能原因 1.创建的表字段多于csv文件当中的表头 定位 在获取csv…...
hbase的安装与简单操作
好的,这里是关于 HBase 的安装和基本操作的详细步骤,分成几个更清晰的阶段: 第一部分:安装和配置 HBase 1. 环境准备 HBase 依赖于 Hadoop,因此首先确保 Hadoop 已经正确安装和配置。如果没有安装,请先下…...
PySpark本地开发环境搭建
一.前置事项 请注意,需要先实现Windows的本地JDK和Hadoop的安装。 二.windows安装Anaconda 资源:Miniconda3-py38-4.11.0-Windows-x86-64,在window使用的Anaconda资源-CSDN文库 右键以管理员身份运行,选择你的安装路径&#x…...
【进阶】Stable Diffusion 插件 Controlnet 安装使用教程(图像精准控制)
Stable Diffusion WebUI 的绘画插件 Controlnet 最近更新了 V1.1 版本,发布了 14 个优化模型,并新增了多个预处理器,让它的功能比之前更加好用了,最近几天又连续更新了 3 个新 Reference 预处理器,可以直接根据图像生产…...
调试、发布自己的 npm 包
查看 npm 的配置 npm config ls登录 whoami 查看当前登录的用户 npm whoamiaduser 登录 adduser 有以下参数: –scope 作用域–registry 注册地址 默认地址:https://registry.npmjs.org/,也可通过.npmrc文件配置 npm login 是 …...
拓扑学与DNA双螺旋结构的奇妙连接:从算法到分子模拟
拓扑的形变指的是通过连续地拉伸、弯曲或扭曲物体而不进行撕裂或粘合来改变其形状的一种数学变换。拓扑形变属于拓扑学的一个分支,研究在这些操作下保持不变的性质。简单来说,它关注的是物体“形状的本质”,而不是具体的几何形状。 拓扑形变…...
mysql数据库(四)单表查询
单表查询 文章目录 单表查询一、单表查询1.1 简单查询1.2where1.3group by1.4having1.5order by1.6limit 一、单表查询 记录的查询语法如下: SELECT DISTINCT(去重) 字段1,字段2… FROM 表名 WHERE 筛选条件 GROUP BY 分组 HAVING 分组筛选 ORDER BY 排序 LIMIT 限…...
JavaEE初阶---properties类+反射+注解
文章目录 1.配置文件properities2.快速上手3.常见方法3.1读取配置文件3.2获取k-v值3.3修改k-v值3.4unicode的说明 4.反射的引入4.1传统写法4.2反射的写法(初识)4.3反射的介绍4.4获得class类的方法4.5所有类型的class对象4.6类加载过程4.7类初始化的过程4…...
HarmonyOS一次开发多端部署三巨头之功能级一多开发和工程级一多开发
功能级一多开发与工程级一多开发 引言功能级一多开发SysCaps机制介绍能力集canlUse接口 工程级一多开发三层架构规范 引言 一次开发多端部署 定义:一套代码工程,一次开发上架,多端按需部署 目标:支撑开发者快速高效的开发多终端设…...
STL常用遍历算法
概述: 算法主要是由头文件<algorithm> <functional> <numeric>组成。 <algorithm>是所有STL头文件中最大的一个,范围涉及到比较、 交换、查找、遍历操作、复制、修改等等 <numeric>体积很小,只包括几个在序列上面进行简…...
前端开发中常见的ES6技术细节分享一
var、let、const之间有什么区别? var: 在ES5中,顶层对象的属性和全局变量是等价的,用var声明的变量既是全局变量,也是顶层变量 注意:顶层对象,在浏览器环境指的是window对象,在 Node 指的是g…...
行业类别-智慧城市-子类别智能交通-细分类别自动驾驶技术-应用场景城市公共交通优化
1.大纲分析 针对题目“8.0 行业类别-智慧城市-子类别智能交通-细分类别自动驾驶技术-应用场景城市公共交通优化”的大纲分析,可以从以下几个方面进行展开: 一、引言 简述智慧城市的概念及其重要性。强调智能交通在智慧城市中的核心地位。引出自动驾驶…...
[High Speed Serial ] Xilinx
Xilinx 高速串行数据接口 收发器产品涵盖了当今高速协议的方方面面。GTH 和 GTY 收发器提供要求苛刻的光互连所需的低抖动,并具有世界一流的自适应均衡功能,具有困难的背板操作所需的 PCS 功能。 Versal™ GTY (32.75Gb/s)&…...
Unity学习笔记(3):场景绘制和叠层设置 Tilemap
文章目录 前言开发环境规则瓦片绘制拐角 动态瓦片总结 前言 这里学一下后面的场景绘制和叠层技巧。 开发环境 Unity 6windows 11vs studio 2022Unity2022.2 最新教程《勇士传说》入门到进阶|4K:https://www.bilibili.com/video/BV1mL411o77x/?spm_id_from333.10…...
不吹不黑,客观理性深入讨论中国信创现状
1. 题记: 随着美国大选尘埃落定,特朗普当选美国新一任总统,参考他之前对中国政策的风格,个人预计他将进一步限制中国半导体产业和信创产业的发展。本篇博文不吹不黑,客观理性深入探讨中国信创现状。文中数据来自权威媒…...
NoSQL大数据存储技术测试(2)NoSQL数据库的基本原理
写在前面:未完成测试的同学,请先完成测试,此博文供大家复习使用,(我的答案)均为正确答案,大家可以放心复习 单项选择题 第1题 NoSQL的主要存储模式不包括 键值对存储模式 列存储模式 文件…...
「QT」几何数据类 之 QPoint 整型点类
✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid…...
植物明星大乱斗5
能帮到你的话,就给个赞吧 😘 文章目录 timer.htimer.cppcamera.hcamera.cppmenuScene.cpp timer.h #pragma once #include <functional>class Timer {public:void reStart();void setTimer(int timerMs);void setIsOneShot(bool isOneShot);void …...
每日算法练习
各位小伙伴们大家好,今天给大家带来几道算法题。 题目一 算法分析 首先,我们应该知道什么是完全二叉树:若一颗二叉树深度为n,那么前n-1层是满二叉树,只有最后一层不确定。 给定我们一棵完全二叉树,我们查看…...
把握鸿蒙生态崛起机遇:开发者如何在全场景操作系统中脱颖而出
把握鸿蒙生态崛起机遇:开发者如何在全场景操作系统中脱颖而出 随着鸿蒙系统的逐步成熟和生态体系的扩展,其与安卓、iOS 形成了全新竞争格局,为智能手机、穿戴设备、车载系统和智能家居等领域带来了广阔的应用前景。作为开发者,如…...
字符串类型排序,通过枚举进行单个维度多个维度排序
字符串类型进行排序通过定义枚举值实现 1.首先创建一个测试类,并实现main方法 2.如果是单个维度的排序,则按照顺序定义一个枚举 public enum Risk {高风险,中风险,一般风险,低风险 } public static void main(String[] args) { }3.main方法里实现如下…...
figma的drop shadow x:0 y:4 blur:6 spread:0 如何写成css样式
figma的drop shadow x:0 y:4 blur:6 spread:0 如何写成css样式 在CSS中,我们可以使用box-shadow属性来模拟Figma中的Drop Shadow效果。box-shadow属性接受的值分别是:横向偏移、纵向偏移、模糊半径、扩展半径和颜色。 但是,Figma的Drop Sha…...
基于Matlab 疲劳驾驶检测
Matlab 疲劳驾驶检测 课题介绍 该课题为基于眼部和嘴部的疲劳驾驶检测。带有一个人机交互界面GUI,通过输入视频,分帧,定位眼睛和嘴巴,通过眼睛和嘴巴的张合度,来判别是否疲劳。 二、操作步骤 第一步:最…...
Linux内核.之 init文件,/init/main.c
想要熟悉内核,看下源码,就非常清晰 Linux内核,head.s,汇编启动cpu相关设置后,启动init文件里的,文件在内核的/init/main.c,看下main函数,做了哪些工作 // SPDX-License-Identifier: …...
CentOS系统中查看内网端口映射的多种方法
在网络管理中,了解和控制内网端口映射是至关重要的。本文将为您详细介绍在CentOS系统中查看内网端口映射的多种方法,助您提升网络管理效率。 使用netstat命令查看端口映射 netstat是一个强大的网络诊断工具。要查看当前的端口映射情况,可以在…...
Mac中禁用系统更新
Mac中禁用系统更新 文章目录 Mac中禁用系统更新1. 修改hosts,屏蔽系统更新检测联网1. 去除系统偏好设置--系统更新已有的小红点标记 1. 修改hosts,屏蔽系统更新检测联网 打开终端,执行命令: sudo vim /etc/hosts127.0.0.1 swdis…...
GoogLeNet-水果分类
GoogLeNet-水果分类 1.数据集 官方下载地址:https://www.kaggle.com/datasets/karimabdulnabi/fruit-classification10-class?resourcedownload 备用下载地址:https://www.123684.com/s/xhlWjv-pRAPh 介绍: 十个类别:苹果、…...
深度学习入门指南:一篇文章全解
目录 0.前言 1.深度学习的背景历史 2.深度学习主要研究的内容 3.深度学习的分支 3.1.卷积神经网络(CNN) 3.2 递归神经网络(RNN) 3. 3长短期记忆网络(LSTM) 4.深度学习的主要应用 4.1计算机视觉 4…...
营销网站开发系统/南宁百度关键词排名公司
FTP 与 HTTP 一样缺省状态都是基于明文传输,希望 FTP 服务器端与客户端传输保证安全,可以为 FTP 配置 SSL TLS 安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。 该协议由两层组成: TLS 记录…...
杭州百度网站建设/域名历史查询工具
查看原文:http://www.hellonet8.com/1358.html 网上有很多的文章教怎么配置mysql服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考。我们需要根据自己的情况进行mysql优化,好的…...
网页游戏排行版/陕西网络营销优化公司
前台JSON对象传给springmvc,解析为map对象 javascript: $.ajax({url : url,method : post,contentType : application/json, // 这句不加出现415错误:Unsupported Media Typedata : JSON.stringify(obj), // 以json字符串方式传递success : function(data) {console…...
技术交流网站开发例子/推广平台
本文主要为大家详细介绍了python如何为被装饰的函数保留元数据,希望能帮助到大家。案例:在函数对象中保存着一些函数的元数据,如:f.__name__ 函数名f.__doc__ 函数文档f.__moudle__ 函数所属模块名f.__dict__ 属性字典f.__default…...
网站信息安全建设方案/网络营销平台的主要功能
计算机视觉的研究领域 图像分类 语义分割 分类和定位 目标检测 实例分割 人脸识别 生成模型 风格迁移 物体跟踪 图像问答 转载于:https://www.cnblogs.com/kexinxin/p/9858556.html...
wordpress 数据库合并/太原seo推广外包
本来是个很简单的问题,既然有人问,就写在这里吧! 已经实现的函数,可以直接使用! //在指定矩形中输出文字 void DrawTextInRect( IDisplay *m_pIDisplay, AEEFont font, RGBVAL…...