svo2论文
论文题目
SVO: Semidirect Visual Odometry for Monocular and Multicamera Systems
内容
1) 具有最小特征漂移的长特征轨迹;
2) 图像平面中的大量均匀分布的特征;
3)新特征与旧地标的可靠关联(即环路闭合)。
算法不限于使用局部点特征(例如,角或斑点),而是可以跟踪边缘[14],或者更一般地,跟踪图像中具有梯度的所有像素时,例如,在具有少量或高频纹理的场景(例如,沙子[12]或沥青[13])中,许多像素被可靠跟踪的概率会增加,例如在密集[15]或半密集方法[16]中。
效率的提高是由于以下三个原因:首先,SVO只提取平行线程中选定关键帧的特征,因此与硬实时约束解耦。其次,所提出的直接跟踪算法消除了鲁棒数据关联的必要性。最后,与以前的直接方法相反,SVO只需要对环境进行稀疏重建
与svo1的提升:1本文的新颖之处在于推广到宽视场(FoV)透镜(见第VII节)、多摄像机系统(见第VIII节)、包含运动先验(见第IX节)和边缘特征的使用。
图4。拐角和小边的不同对齐策略。边缘特征的对齐被限制在边缘的法线方向n上。(a) 边缘对齐。(b) 拐角对齐。
Relaxation and Refinement
随着对准中帧之间距离的增加,不能保证对准的鲁棒性(见第XI-A节中的实验)。因此,我们建议放宽由三维点的重投影给出的几何约束,并对相应的特征块执行单独的二维对齐。相对于来自第一次提取特征的帧的参考补丁来执行新帧中的每个补丁的对准;因此,最老的帧是可能的,这应该最大限度地减少特征漂移。然而,二维对齐会产生重投影误差,即投影的三维点和对齐的特征之间的差异。因此,在最后一步中,我们执行束调整,以优化三维点的位置和相机姿态,从而将重新投影误差降至最低。我们特别注意位于强度梯度边缘上的特征。
对齐
对于点的
u ′ ∗ = u ′ + δ u ⋆ , with u ′ = π ( T C B T k r T B C π ρ − 1 ( u ) ) δ u ⋆ = arg min δ u ∑ Δ u ∈ P 1 2 ∥ I k C ( u ′ + δ u + Δ u ) − I r C ( u + A Δ u ) ∥ 2 \begin{array}{l} \mathbf{u}^{\prime *}=\mathbf{u}^{\prime}+\delta \mathbf{u}^{\star}, \quad \text { with } \quad \mathbf{u}^{\prime}=\pi\left(\mathrm{T}_{\mathrm{CB}} \mathrm{T}_{k r} \mathrm{~T}_{\mathrm{BC}} \pi_\rho^{-1}(\mathbf{u})\right) \\ \delta \mathbf{u}^{\star}=\arg \min _{\delta \mathbf{u}} \sum_{\Delta \mathbf{u} \in \mathcal{P}} \frac{1}{2}\left\|\mathrm{I}_k^{\mathrm{C}}\left(\mathbf{u}^{\prime}+\delta \mathbf{u}+\Delta \mathbf{u}\right)-\mathrm{I}_r^{\mathrm{C}}(\mathbf{u}+\mathbf{A} \Delta \mathbf{u})\right\|^2 \end{array} u′∗=u′+δu⋆, with u′=π(TCBTkr TBCπρ−1(u))δu⋆=argminδu∑Δu∈P21 IkC(u′+δu+Δu)−IrC(u+AΔu) 2
对于边缘点的(这里的n是梯度方向)
u ′ ⋆ = u ′ + δ u ⋆ ⋅ n , with δ u ⋆ = arg min δ u ∑ Δ u ∈ P 1 2 ∥ I k C ( u ′ + δ u ⋅ n + Δ u ) − I r C ( u + A Δ u ) ∥ 2 \begin{array}{l} \mathbf{u}^{\prime \star}=\mathbf{u}^{\prime}+\delta u^{\star} \cdot \mathbf{n}, \quad \text { with } \\ \delta u^{\star}=\arg \min _{\delta u} \sum_{\Delta \mathbf{u} \in \mathcal{P}} \frac{1}{2}\left\|\mathrm{I}_k^{\mathrm{C}}\left(\mathbf{u}^{\prime}+\delta u \cdot \mathbf{n}+\Delta \mathbf{u}\right)-\mathrm{I}_r^{\mathrm{C}}(\mathbf{u}+\mathbf{A} \Delta \mathbf{u})\right\|^2 \end{array} u′⋆=u′+δu⋆⋅n, with δu⋆=argminδu∑Δu∈P21 IkC(u′+δu⋅n+Δu)−IrC(u+AΔu) 2
优化位姿
在特征对齐之后,我们建立了具有亚像素精度的特征对应关系。然而,特征对齐违反了对极约束,并引入了重投影误差δu,该误差通常远低于0.5像素。因此,在运动估计的最后一步中,我们通过最小化重投影误差的平方和来细化相机姿态和地标位置 X = T k W , ρ i X={T_{kW},ρi} X=TkW,ρi
X ⋆ = arg min X ∑ k ∈ K ∑ i ∈ L k C 1 2 ∥ u i ′ ∗ − π ( T C B T k W ρ i ) ∥ 2 + ∑ k ∈ K ∑ i ∈ L k E 1 2 ∥ n i ⊤ ( u i ′ ∗ − π ( T C B T k W ρ i ) ) ∥ 2 \begin{aligned} \mathcal{X}^{\star}= & \arg \min _{\mathcal{X}} \sum_{k \in \mathcal{K}} \sum_{i \in \mathcal{L}_k^C} \frac{1}{2}\left\|\mathbf{u}_i^{\prime *}-\pi\left(\mathrm{T}_{\mathrm{CB}} \mathrm{T}_{k \mathrm{~W}} \boldsymbol{\rho}_i\right)\right\|^2 \\ & +\sum_{k \in \mathcal{K}} \sum_{i \in \mathcal{L}_k^E} \frac{1}{2}\left\|\mathbf{n}_i^{\top}\left(\mathbf{u}_i^{\prime *}-\pi\left(\mathrm{T}_{\mathrm{CB}} \mathrm{T}_{k \mathrm{~W}} \boldsymbol{\rho}_i\right)\right)\right\|^2 \end{aligned} X⋆=argXmink∈K∑i∈LkC∑21∥ui′∗−π(TCBTk Wρi)∥2+k∈K∑i∈LkE∑21 ni⊤(ui′∗−π(TCBTk Wρi)) 2
大fov相机
为了估计新特征的深度(参见第六节),我们需要沿着核线对像素进行采样。对于失真的图像,极线是弯曲的(见图7)。因此,我们定期对大圆进行采样,大圆是对极平面与以感兴趣的相机姿态为中心的单位球体的交点。采样的角度分辨率大约对应于图像平面中的一个像素。对于每个样本,我们应用相机投影模型π(·)来获得弯曲核线上对应的像素坐标。
用于估计左图像中参考补丁中心像素深度的极线搜索示意图。给定两个图像的外在和内在校准,计算对应于参考像素的核线。由于自相似的纹理,沿着极线的错误匹配是经常发生的。
多相机系统
所提出的运动估计算法从相对姿态Tk k−1的优化开始。由于在第V-A节中,我们已经介绍了一个固定在相机上的机身框架B,因此现在可以直接将稀疏图像对齐推广到多个相机。给定具有M个相机的相机装备(见图9),我们假设单个相机c∈c相对于机身 T C B T_{CB} TCB的相对姿态是从外部校准中已知的。3为了将稀疏图像对准推广到多个相机,我们只需要在(1)的成本函数中添加一个额外的代价函数
T k k − 1 ⋆ = arg min T k − 1 ∑ C ∈ C ∑ u ∈ R ‾ k − 1 C 1 2 ∥ r I u C ( T k k − 1 ) ∥ Σ I 2 . \mathrm{T}_{k k-1}^{\star}=\arg \min _{\mathrm{T}_{k-1}} \sum_{\mathrm{C} \in \mathrm{C}} \sum_{\mathbf{u} \in \overline{\mathcal{R}}_{k-1}^{\mathrm{C}}} \frac{1}{2}\left\|\mathbf{r}_{\mathrm{I}_{\mathrm{u}}^{\mathrm{C}}}\left(\mathrm{T}_{k k-1}\right)\right\|_{\Sigma_{\mathrm{I}}}^2 . Tkk−1⋆=argTk−1minC∈C∑u∈Rk−1C∑21 rIuC(Tkk−1) ΣI2.
运动先验
在特征较差的环境中,在快速运动过程中,或在动态障碍物的情况下,使用运动先验可能非常有帮助。运动先验是在(11)中添加到成本函数的附加项,它惩罚与先验估计不一致的运动。因此,可以抑制由于无约束DoF或异常值引起的运动估计中的“跳跃”。例如,在汽车场景中,可以假设等速运动模型,因为汽车的惯性阻止了从一帧到下一帧的突然变化。其他先验可能来自额外的传感器,如陀螺仪,这使我们能够测量两帧之间的增量旋转。
假设我们在 p k , k − 1 p_{k,k−1} pk,k−1之前得到了相对平移(例如,来自恒定速度假设),在 R k , k − 1 R_{k,k−1} Rk,k−1之后得到了相对旋转(例如,源自积分陀螺仪)。在这种情况下,我们可以通过向稀疏图像对齐步骤的成本添加附加项来使用运动先验
T k k − 1 ⋆ = arg min T k k − 1 ∑ c ∈ C ∑ u ∈ R ‾ k − 1 c 1 2 ∥ r I u C ( T k k − 1 ) ∥ Σ I 2 + 1 2 ∥ p k k − 1 − p ~ k k − 1 ∥ Σ p 2 + 1 2 ∥ log ( R ~ k k − 1 ⊤ R k k − 1 ) ∨ ∥ Σ R 2 \begin{aligned} \mathrm{T}_{k k-1}^{\star}= & \arg \min _{\mathrm{T}_{k k-1}} \sum_{\mathbf{c} \in \mathrm{C}} \sum_{\mathbf{u} \in \overline{\mathcal{R}}_{k-1}^{\mathrm{c}}} \frac{1}{2}\left\|\mathbf{r}_{\mathrm{I}_{\mathbf{u}}^{\mathrm{C}}}\left(\mathrm{T}_{k k-1}\right)\right\|_{\Sigma_{\mathrm{I}}}^2 \\ & +\frac{1}{2}\left\|\mathbf{p}_{k k-1}-\tilde{\mathbf{p}}_{k k-1}\right\|_{\Sigma_{\mathbf{p}}}^2 \\ & +\frac{1}{2}\left\|\log \left(\tilde{\mathrm{R}}_{k k-1}^{\top} \mathrm{R}_{k k-1}\right)^{\vee}\right\|_{\Sigma_{\mathrm{R}}}^2 \end{aligned} Tkk−1⋆=argTkk−1minc∈C∑u∈Rk−1c∑21 rIuC(Tkk−1) ΣI2+21∥pkk−1−p~kk−1∥Σp2+21 log(R~kk−1⊤Rkk−1)∨ ΣR2
实现细节
在本节中,我们将提供有关我们实施的各个方面的更多详细信息。
Initialization
该算法使用[58]中的五点相对姿态算法进行自举,以获得前两个关键帧的姿态和初始贴图。在多摄像机配置中,通过立体匹配来获得初始映射。
Sparse Image Alignment
对于稀疏图像对齐,我们使用4×4像素的补丁大小。在实验部分,我们证明了具有如此小的补丁大小的稀疏方法实现了可比性当帧间距离很小时,在鲁棒性方面优于半密集和密集方法,这对于帧到帧的运动估计来说通常是正确的。为了处理大的运动,我们以粗到细的方案应用稀疏图像对齐算法。因此,对图像进行半采样以创建五个级别的图像金字塔。然后,从初始条件 T k , k − 1 = I 4 × 4 T_{k ,k−1}=I_{4×4} Tk,k−1=I4×4开始,在最粗略的水平上优化光度成本,直到收敛。随后,在下一个更精细的级别上继续优化,以提高结果的精度。为了节省处理时间,我们在第三级收敛后停止,在这个阶段,估计足够准确,可以初始化特征对齐。为了提高对动态障碍、遮挡和反射的鲁棒性,我们还采用了鲁棒成本函数[24],[34]。
Feature Alignment
对于特征对齐,我们使用8×8像素的补丁大小。由于参考补丁可能是多帧旧的,我们使用仿射照明模型来应对照明变化[59]。对于所有实验,我们将匹配特征的数量限制为180,以保证每帧的成本不变。
Mapping
在映射线程中,我们将图像划分为固定大小的单元(例如,32×32像素)。对于每个关键帧,在单元中得分最高的FAST角[60]处初始化一个新的深度过滤器,除非已经存在2-D到3-D的对应关系。在没有发现角的单元中,我们检测具有最高梯度大小的像素,并初始化边缘特征。这将在图像中产生均匀分布的特征。为了加快深度估计,我们只对沿极线的短距离进行采样;在我们的情况下,该范围对应于当前深度估计的标准偏差的两倍。我们使用8×8像素的补丁大小进行核极搜索。
总结
在本文中,我们提出了半直接VO算法“SVO”,它比当前最先进的VO算法快得多,同时实现了极具竞争力的精度。速度的提高是由于只为并行线程中选定的关键帧提取特征,并且使用新的稀疏图像对齐算法可以非常快速和稳健地建立特征匹配。稀疏图像对齐在极线约束下联合跟踪一组特征,当特征位置的场景深度已知时,可以使用稀疏图像对齐来代替KLT跟踪[69]。我们进一步建议使用明确建模异常值测量的鲁棒滤波器来估计场景深度。稳健的深度估计和直接跟踪使我们能够跟踪非常弱的拐角特征和边缘。SVO的另一个好处是,它直接从优化开始,这使我们能够轻松地集成来自多个相机的测量以及运动先验。公式可进一步在配有鱼眼和折反射透镜的大型FoV相机使用。SVO算法已被进一步证明在现实世界的应用中是成功的,例如基于视觉的四旋翼飞行[54]或智能手机的三维扫描应用。
相关文章:
![](https://img-blog.csdnimg.cn/8c7914a43ed1475daeb5487c0785ca05.png)
svo2论文
论文题目 SVO: Semidirect Visual Odometry for Monocular and Multicamera Systems 内容 1) 具有最小特征漂移的长特征轨迹; 2) 图像平面中的大量均匀分布的特征; 3)新特征与旧地标的可靠关联(即环路闭…...
![](https://img-blog.csdnimg.cn/c369e561e39d40d59b69500b13850d58.png)
【GoLang】MAC安装Go语言环境
小试牛刀 首先安装VScode软件 或者pycharmmac安装brew软件 brew install go 报了一个错误 不提供这个支持 重新brew install go 之后又重新brew reinstall go 使用go version 可以看到go 的版本 使用go env 可以看到go安装后的配置 配置一个环境变量 vim ~/.zshrc, # bre…...
![](https://www.ngui.cc/images/no-images.jpg)
epoll服务器创建
驱动 #include <linux/init.h> #include <linux/module.h> #include <linux/fs.h> #include <linux/io.h> #include <linux/device.h> #include <linux/uaccess.h> #include <linux/poll.h> unsigned int major; char kbuf[128]{0}…...
![](https://www.ngui.cc/images/no-images.jpg)
jdk11环境 提示“因为 accessExternalDTD 属性设置的限制导致不允许 ‘http‘ 访问“bug
在运行mybatis源码的时候,提示一下错误: Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession. ### Cause: org.apache.ibatis.builder.BuilderException: Error creating docum…...
![](https://img-blog.csdnimg.cn/aaba74bd18e741a98869270d9743c8bc.png)
Android Studio 的版本控制Git
Android Studio 的版本控制Git。 Git 是最流行的版本控制工具,本文介绍其在安卓开发环境Android Studio下的使用。 本文参考链接是:https://learntodroid.com/how-to-use-git-and-github-in-android-studio/ 一:Android Studio 中设置Git …...
![](https://img-blog.csdnimg.cn/c87eab4d146449be90bc23a84c3c76df.png)
一个 SpringBoot 项目能处理多少请求
首先,这个问题有坑,因为 spring boot 不处理请求,只是把现有的开源组件打包后进行了版本适配、预定义了一些开源组件的配置通过代码的方式进行自动装配进行简化开发。这是 spring boot 的价值。 使用 spring boot 进行开发相对于之前写配置文…...
![](https://www.ngui.cc/images/no-images.jpg)
Python中的r字符串前缀及其用法详解
Python中的r字符串前缀及其用法详解 1. 介绍 1.1 什么是r字符串前缀 在Python中,r字符串前缀是一种特殊的字符串前缀,用于表示原始字符串。当一个字符串以r前缀开始时,它将被视为原始字符串,其中的转义字符将被忽略。 1.2 r字…...
![](https://img-blog.csdnimg.cn/img_convert/c350b27b70e4edf9fc645e214a47dbfc.png)
LabVIEW实现三相异步电机磁通模型
LabVIEW实现三相异步电机磁通模型 三相异步电动机由于经济和出色的机电坚固性而广泛用于工业化应用。这台机器的设计和驱动非常简单,但在控制扭矩和速度方面,它隐藏了相当大的功能复杂性。通过数学建模,可以理解机器动力学。 基于微分方程的…...
![](https://www.ngui.cc/images/no-images.jpg)
读书会-《影响力》
《影响力》这本书的作者罗伯特西奥迪尼时全球知名说服力研究权威。因其在影响力研究领域的开创性,人们将其称为“影响力研究领域的本杰明富兰克林”。这本书从人们的心理状态,进行了很多实验研究,总结出了7大规律。如果从事营销,需…...
![](https://img-blog.csdnimg.cn/img_convert/7e2b42b4996b1f6fd64e304db8af8a74.png)
141. 环形链表
简单 1.9K 相关企业 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链…...
![](https://img-blog.csdnimg.cn/b4ecef4514a54360a9bd5e1626a10ae0.png#pic_center)
学习笔记|大模型优质Prompt开发与应用课(二)|第一节:大模型应用密码—Prompt的一千种打开方式
文章目录 第一节:大模型应用密码—Prompt的一千种打开方式01你可能听过一个小故事1910华盛顿纺织厂罢工事件 02 小问题:哪些场景会被提效类目一︰减少重复性工作的成本(降本)例如∶做策划初稿、写JD、润色文案prompt生成结果prompt生成结果prompt生成结果promptprom…...
![](https://www.ngui.cc/images/no-images.jpg)
QT chart进行画图
说明 QT Chart 是一个用于在 Qt 应用程序中绘制图表的开源库。它提供了多种类型的图表,如线图、柱状图、饼图等,可以用于可视化数据和统计信息。QT Chart 是一个基于 Qt 绘图框架的扩展,可以轻松集成到现有的 Qt 应用程序中。 使用 QT Chart,你可以通过简单的代码来创建和…...
![](https://img-blog.csdnimg.cn/a7a0f1b73ced434690b47ebfa2c29618.png)
Web3将自己写在合约中的代币添加到MetaMask中管理
上文 Web3带着大家根据ERC-20文档编写自己的第一个代币solidity智能合约 带着大家在智能合约中创建了一个自己的代币系统 我们可以在MetaMask中去导入 ganache环境下模拟出来的第一和第二个账号 我们这里 可以看到他们的 ETH 但看不到自己的代币符号 没关系 我们点击这下面的…...
![](https://www.ngui.cc/images/no-images.jpg)
【微信小程序】显示自带的弹窗,包括加载中,成功,错误,提示,警告
在微信小程序中,可以使用以下方法来显示自带的弹窗: 显示加载中的弹窗: wx.showLoading({title: 加载中,mask: true });显示成功的弹窗: wx.showToast({title: 成功,icon: success,duration: 2000 });显示错误的弹窗࿱…...
![](https://www.ngui.cc/images/no-images.jpg)
vue-element-plus-admin框架的tag上下文切换bug
问题 首先贴上该框架的链接:https://github.com/kailong321200875/vue-element-plus-admin 在对路由进行部分修改后,网站多次切换tag时,控制台会出现报错:Cannot read properties of undefined (reading offsetLeft)。 我在框架…...
![](https://www.ngui.cc/images/no-images.jpg)
vue中,父子组件传递参数 props 实现方式
通过 Prop 向子组件传递数据 001:父组件》子组件通信 <template><div><h1>这里是父元素</h1>//******<childComponent :detailMes"detailMes"/></div> </template><script>import childComponent from…...
![](https://www.ngui.cc/images/no-images.jpg)
Unity如何快速接入iOS和GooglePlay的成就排行榜等GameCenter功能
一般在游戏开发中,经常有成就排行榜的需求,按照我们的理解,通常是要自己导入谷歌的sdk,或者苹果的sdk,然后封装后通过桥接来调用。 不用这么复杂,本鱼蛋(egostudio 防爬)告诉大家一个方法,其实…...
![](https://img-blog.csdnimg.cn/c8c0bd39a4cc415992d9a752457035ab.jpeg)
Unity下如何实现低延迟的全景RTMP|RTSP流渲染
技术背景 Unity3D可以用于创建各种类型的的应用程序,包括虚拟现实、培训模拟器等。以下是一些可以使用Unity3D全景播放的场景: 虚拟现实体验:全景视频可以用来创建逼真的虚拟环境,使用户能够感受到身临其境的感觉;培…...
![](https://img-blog.csdnimg.cn/b5ad29f4fa744038801085837069a5a9.png#pic_center)
STM32 USB使用记录:HID类设备(后篇)
文章目录 目的基础说明项目构建与代码调整接收发送代码与测试示例链接报告描述符总结 目的 接上篇: 《STM32 USB使用记录:HID类设备(前篇)》 USB HID 类的设备有个比较大的好处是大部分时候接入主机中都是可以免驱使用的。这篇文…...
![](https://img-blog.csdnimg.cn/035a3552597241539ba771283853fe4e.png)
C# 快速写入日志 不卡线程 生产者 消费者模式
有这样一种场景需求,就是某个方法,对耗时要求很高,但是又要记录日志到数据库便于分析,由于访问数据库基本都要几十毫秒,可在方法里写入BlockingCollection,由另外的线程写入数据库。 可以看到,在…...
![](https://www.ngui.cc/images/no-images.jpg)
Pandas将对角线元素设为1
Pandas将对角线元素设为1 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 入门之pandas的使用 提示:np.fill_diagonal(df.values, 1)的用法 Pandas将对角线元素设为1 Pandas将对角线元素设为…...
![](https://www.ngui.cc/images/no-images.jpg)
WPF实战学习笔记28-登录界面
添加登录界面UI 添加文件loginview.xaml。注意本界面使用的是md内的图标。没有登录界面的图片 <UserControlx:Class"Mytodo.Views.LoginView"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsof…...
![](https://www.ngui.cc/images/no-images.jpg)
01背包
动态规划解题步骤: 动态规划问题,一般从三个步骤进行考虑。 步骤一:集合及集合的状态。 所谓的集合,就是一些方案的集合。 用 g[i][j] 表示从前 i 种物品中进行选择,且总体积不大于 j 的各个选法获得的价值的集合。注意&#…...
![](https://img-blog.csdnimg.cn/b6855f1a7f214d0b868f306a92968e78.png)
064、故障处理之OMM_TiDB
oom 内存溢出,内存泄漏,相当于TiDB不能用了 TiDB Server OOM对业务的影响 TiDB Server上的业务SQL会失败业务响应时间升高前端体验变差 诊断方法 客户端应用 ERROR 2013(HY000): Lost connection to MySQL Server during query日志 dmesg -T | gr…...
![](https://img-blog.csdnimg.cn/0f2b61617c5346dabdeb841127d064da.webp#pic_center)
网络设备中的配置文件管理
建立强大网络的第一步是为灾难和网络中断做好准备,许多企业在中断期间遭受损失,因为他们缺乏备份计划并且配置管理不达标,使用配置文件管理工具进行适当的配置文件管理不仅有助于处理网络中断,还有助于优化网络性能。 使用配置文…...
![](https://img-blog.csdnimg.cn/7923e5cc84e34e6cbbf08ca3d649e81f.png)
HCIP BGP综合实验
题目 1、AS1存在两个环回,一个地址为192.168.1.0/24该地址不能在任何协议中宣告; 2、AS3中存在两个环回,一个地址为192.168.2.0/24该地址不能在任何协议中宣告,最终要求这两个环回可以互相通讯; 3、AS间的骨干链路I…...
![](https://img-blog.csdnimg.cn/100b16c013f64baa92651481e419627d.png)
【mysql学习篇】Order by与Group by优化以及排序算法详解
一、Order by与Group by优化 Case1: 分析: 利用最左前缀法则:中间字段不能断,因此查询用到了name索引,从key_len74也能看出,age索引列用在排序过程中,因为Extra字段里没有using filesort 注意…...
![](https://img-blog.csdnimg.cn/img_convert/34806a09900d79a4c6a7a27904c6a113.png)
【业务功能篇60】Springboot + Spring Security 权限管理 【终篇】
4.4.7 权限校验扩展 4.4.7.1 PreAuthorize注解中的其他方法 hasAuthority:检查调用者是否具有指定的权限; RequestMapping("/hello")PreAuthorize("hasAuthority(system:user:list)")public String hello(){return "hello Sp…...
![](https://img-blog.csdnimg.cn/f406baafb95549899e914e5a2860c0e8.png)
文章详情页 - 评论功能的实现
目录 1. 准备工作 1.1 创建评论表 1.2 创建评论实体类 1.3 创建 mapper 层评论接口和对应的 xml 实现 1.4 准备评论的 service 层 1.5 准备评论的 controller 层 2. 总的初始化详情页 2.1 加载评论列表 2.1.1 实现前端代码 2.1.2 实现后端代码 2.2 查询当前登录用户的…...
![](https://img-blog.csdnimg.cn/015e0530b1ba4208a46a3eaaf6a9b0ce.png)
使用贝叶斯滤波器通过运动模型和嘈杂的墙壁传感器定位机器人研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
![](/images/no-images.jpg)
安徽专业做网站的公司/今日搜索排行榜
Oracle函数多种多样,系统变量函数就是其中之一,介绍三种最常见的系统变量函数。Oracle系统变量函数:1)SYSDATE该函数返回当前的日期和时间。返回的是Oracle服务器的当前日期和时间。H_502_7sql;">select sysdate from dual;insert in…...
![](http://www.gec-edu.org/Uploads/201811/5bf8eb1d358ae.jpg)
c 可以做网站嘛/链接搜索
我们为什么要学习Python编程语言?原因很简单,Python有很多吸引程序员的功能,它易学,面向对象,字节码编译,免费且开源。现在信息更新的非常快速,又迎来了大数据的时代,各行各业如果不…...
![](/images/no-images.jpg)
湛江专业网站建设公司/济南网络推广网络营销
开发环境分为三个部份 osgi_provider: bundle开发环境,对外提供服务 osgi_consumer: 引用其他bundle osgi_main: 执行測试 项目主要内容 : common.xml: <?xml version"1.0" encoding"UTF-8"?> <project name"common"> …...
![](https://www.oschina.net/img/hot3.png)
类似猪八戒的网站建设/建网站平台
百度智能云 云生态狂欢季 热门云产品1折起>>> Netrunner 2019.04 Rolling 版本发布了,Netrunner 是基于 Ubuntu 的发行,它着眼于桌面计算。该发行引以为豪的是一份精心修改的 KDE 4 桌面,它带有很多集成进来的 GNOME 应用程序&…...
![](https://img-blog.csdnimg.cn/201907271822176.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxNTY5NzMy,size_16,color_FFFFFF,t_70)
如何选择邯郸网站制作/邯郸今日头条最新消息
最常用的 Sublime快捷键:...
![](https://images2018.cnblogs.com/blog/1186474/201807/1186474-20180723144535931-170892776.jpg)
网站建设标新立异/小红书推广怎么做
1、亚马逊商品页面链接地址(本次要爬取的页面url) https://www.amazon.cn/dp/B07BSLQ65P/ 2、代码部分 import requestsurl "https://www.amazon.cn/dp/B07BSLQ65P/"try: kv {user-agent: Mozilla/5.0} # 修改了发起请求的请求头中的user-agent的值ÿ…...