当前位置: 首页 > news >正文

论文阅读-Event-based Visible and Infrared Fusion via Multi-task Collaboration

一、前言

可见光图像与红外图像融合(VIF)通过结合热红外图像与可见光图像的丰富纹理,提供了一个全面可靠的场景描述。然而,传统的VIF系统可能在极端光照和高动态运动场景中捕获过曝或欠曝的图像,进而导致融合结果下降。如下图的左侧图像所示。
在这里插入图片描述
为解决上述提到的问题,在本文中提出事件驱动的可见光和红外融合系统,在该系统中采用了可见光事件相机代替传统的基于帧的相机。可见光事件相机具有低延迟和高动态范围的特点,在极端光照和高速运动的场景下,事件相机都具有较高的鲁棒性。为了提高多模态数据融合质量,作者开发了一个多任务协作框架,该框架会同时执行基于事件的可见光纹理重建、事件引导的红外图像去模糊和红外图像-可见光图像融合。利用任务间的协同作用,增强融合效果,并设计最小-最大互信息优化来实现更高的融合质量。

二、方法

2.1 问题定义

假设有一个连续的事件流 ε \varepsilon ε,它的时间范围在区间 [ t 0 , t 1 ] [t_0,t_1] [t0,t1]内,在这段事件流中存在一组运动模糊帧段 I i r = { I i ∣ i = 1 , 2 , . . . , M } I_{ir}=\{I_i|i=1,2,...,M\} Iir={Iii=1,2,...,M}。每个 I i I_i Ii都有一个曝光时间窗口 [ t i , t i + δ ] ∈ [ t 0 , t 1 ] [t_i,t_i+\delta]\in[t_0,t_1] [ti,ti+δ][t0,t1],其中 δ \delta δ是红外相机的曝光时间长度。 E V I F EVIF EVIF的目标是为每个红外帧 I i r i I_{ir}^i Iiri产生清晰的红外-可见光融合图像 I f i I^i_f Ifi。这项任务涉及事件流 ε \varepsilon ε中提取同步的可见光纹理和运动线索,并将其与 I i r I_{ir} Iir集成,以创建对场景的清晰、全面的描述。

2.2 框架描述

图2展示本文提出的EVIF系统的整体框架。该框架联合完成三个任务(纹理重建、红外图像去模糊以及红外-可见光图像融合),每个任务都是通过特定的网络来实现。基于事件的纹理重建和图像去模糊在其他工作中已经进行了很好的研究。本篇工作采用E2VID 和EFNet作为任务相关的网络,重点放在如何协调他们之间的协同作用。首先,作者设计了一种跨任务事件增强的方法,旨在有效利用重建任务中提取到的有用的纹理特征。然后使用这些特征来辅助红外图像去模糊。最后从前两个任务中编码的特征被发送到融合网络,该网络采用双层最小-组大互信息优化机制来实现稳健的融合

对于每个输入的模糊的红外图像 I i r i I_{ir}^i Iiri,在曝光时间窗口内捕获的事件片段 ϵ t i t I + δ \epsilon_{t_i}^{t_I+\delta} ϵtitI+δ被视为输入事件输入。在去模糊网络中,直接将 ϵ t i t I + δ \epsilon_{t_i}^{t_I+\delta} ϵtitI+δ作为输入,而纹理重建网络则将 ϵ t i t I + δ \epsilon_{t_i}^{t_I+\delta} ϵtitI+δ按事件分成 K K K个片段处理,从而得到一组K个事件特征和重建的可见光图像。在融合过程中,仅使用中间第 K + 1 2 \frac{K+1}{2} 2K+1个可见光图像。
在这里插入图片描述

2.3 跨任务事件增强

由于事件的去模糊网络的主要目的是从事件中揭示潜在的运动线索,因此事件中固有的纹理特征可能无法在去模糊网络中得到充分利用。考虑到这一点,作者提出了一个跨任务的事件增强方法。它旨在增强基于事件的红外图像去模糊网络中的事件纹理特征,主要方法是利用可见光纹理重建模型中学习到纹理特征。

跨任务事件增强模块的结构如图3所示,给定来自事件重建网络的 K K K个事件特征 { F r e c i ∣ i = 1 , 2 , . . . , K } \{F_{rec}^i|i=1,2,...,K\} {Frecii=1,2,...,K},。为总结每个 F r e c i F_{rec}^i Freci内的空间纹理,并同时考虑它们之间的相关性,使用了两个ConvGRU以双向递归的方式从 F r e c i F_{rec}^i Freci中提取空间-时间特征:
S f i + 1 , F f i + 1 = C o n v G R U 1 ( S f i , F r e c i ) S b i − 1 , F b i − 1 = C o n v G R U 2 ( S b i , F r e c i ) S_f^{i+1},F_f^{i+1}=ConvGRU_1(S_f^i,F_{rec}^i) \\ S_b^{i-1},F_b^{i-1}=ConvGRU_2(S_b^i,F_{rec}^i) Sfi+1,Ffi+1=ConvGRU1(Sfi,Freci)Sbi1,Fbi1=ConvGRU2(Sbi,Freci)
其中 S f i S_f^i Sfi S b i S_b^i Sbi是前向和后向隐藏状态, F f i F_f^i Ffi F b i F_b^i Fbi是GRUs的输出特征。然后沿着通道维度堆叠端点特征 F f K F_f^K FfK F b 1 F_b^1 Fb1,形成一个统一的特征 F r e c ′ F_{rec}' Frec,它包含了丰富的纹理信息。

在得到 F r e c ′ F_{rec}' Frec之后,下一步是将 F r e c ′ F_{rec}' Frec中的纹理信息合并到去模糊网络的事件特征 F d e F_{de} Fde中。考虑到直接将 F r e c ′ F_{rec}' Frec F d e F_{de} Fde直接相加或相乘或concat可能会破坏原始 F d e F_{de} Fde中的运动线索,因为这两个特征对应着不同的任务,它们关注的重点也不同。为解决这个问题,作者设计了一个跨任务通道注意力(CTCA)来合并 F r e c ′ F_{rec}' Frec F d e F_{de} Fde。与从单一输入生成Q、K、V不同,CTCA从 F d e F_{de} Fde计算查询特征 F d e Q F_{de}^Q FdeQ, 而键特征 F r e c K F^K_{rec} FrecK和值特征 F r e c V F^V_{rec} FrecV都是从 F r e c ′ F_{rec}' Frec中获得。所有三个特征都被重塑成大小 ( h w ) × c (hw)\times c (hw)×c。然后沿通道维度执行注意力计算:
F a t t n = F r e c V S o f t m a x ( ( F d e Q ) T F r e c K h w ) F_{attn}=F_{rec}^V \ Softmax(\frac{(F^Q_{de})^TF_{rec}^K}{\sqrt{hw}}) Fattn=FrecV Softmax(hw (FdeQ)TFrecK)
最终, F a t t n F_{attn} Fattn F d e F_{de} Fde被添加以获得增强的事件特征 F e n F_{en} Fen, 用于去模糊网络中的进一步处理。
在这里插入图片描述
创新点1:使用了一个双向ConvGRU操作,GRU的特点是具有记忆,也即在 F f K F_f^K FfK中保留最新输入信息 F r e c K F_{rec}^K FrecK的同时也融入了前K-1个特征。可以同时考虑过去和未来的时间信息,增强空间特征提取能力,优化特征融合。
创新点2:设计了一个CTCA的跨任务通道注意力。它通过生成查询、键和值特征进行注意力计算,避免了不同任务特征分布差异导致的原始信息丢失问题,进而更有效的融合特征。

2.4 通过互信息优化的融合

可见光和红外图像融合的目标是保留红外模态中捕获的显著目标的同时,获取包含丰富可见光纹理场景细节的图像。因此有效利用两种模态中包含的互补信息是确定融合过程性能的关键因素。必须使用合适的策略来平衡特征的独特性和完整性。

  • 一方面。理想的特征融合应该是在每种模态中突出不同的信息,同时减少跨模态共有的冗余信息。
  • 另一方面,融合结果中必须保留原始的模态信息,以避免潜在的信息丢失。

在本文中,作者采用最小最大互信息的方式来优化两种模态特征之间的互信息。
在这里插入图片描述
如图2所示,在获得重建的可见光图像和去模糊的清晰的红外图像后,分别将这两个图像输入卷积层,并将卷积层输出的特征与之前任务网络的解码器输出连接起来。连接后的结果包括浅层的特征表示和深层表示,分别产生可见光和红外的可靠特征 F v i s F_{vis} Fvis F i r F_{ir} Fir。然后对i这两个模态特征施加互信息优化,以鼓励它们进行互补学习。

具体来说,将得到的特征 F v i s F_{vis} Fvis F i r F_{ir} Fir传进Trans Block,构建具有长距离空间依赖的特征 F v i s ′ F_{vis}' Fvis F i r ′ F_{ir}' Fir。然后,对这两个模态的特征施加互信息最小化,以减少冗余并突出模态的不同信息。如图4所示, F v i s ′ F_{vis}' Fvis F i r ′ F_{ir}' Fir通过Apaptive pool将其拉成以为向量,通过MLP层获得 z v i s ′ z_{vis}' zvis z i r ′ z_{ir}' zir。它们之间的互信息表示为:
M I ( z v i s ′ , z i r ′ ) = H ( z v i s ′ ) + H ( z i r ′ ) − H ( z v i s ′ , z i r ′ ) , MI(z_{vis}',z_{ir}')=H(z'_{vis})+H(z_{ir}')-H(z_{vis}',z_{ir}'), MI(zvis,zir)=H(zvis)+H(zir)H(zvis,zir),
其中 H ( z v i s ) H(z_{vis}) H(zvis) H ( z i r ′ ) H(z_{ir}') H(zir)表示 z v ′ i s z'_vis zvis z i r ′ z_{ir}' zir的边缘熵 , H ^ ( z i r ′ , z v i s ′ ) \hat{H}(z'_{ir},z'_{vis}) H^(zir,zvis)是从 z v i s ′ z'_{vis} zvis z i r ′ z_{ir}' zir的联合熵。为了计算 M I ( z v i s ′ , z i r ′ ) MI(z_{vis}',z_{ir}') MI(zvis,zir),作者使用KL散度来计算边缘熵,并通过互信息最小化损失:
L M I ( z v i s ′ , z i r ′ ) = H ^ ( z v i s ′ , z i r ′ ) + H ^ ( z i r ′ , z v i s ′ ) − ( K L ( z v i s ′ ∣ ∣ z i r ′ ) + K L ( z i r ′ ∣ ∣ z v i s ′ ) ) L_{MI}(z_{vis}',z_{ir}')=\hat{H}(z_{vis}',z_{ir}')+\hat{H}(z_{ir}',z_{vis}')-(KL(z_{vis}'||z_{ir}')+KL(z_{ir}'||z_{vis}')) LMI(zvis,zir)=H^(zvis,zir)+H^(zir,zvis)(KL(zvis∣∣zir)+KL(zir∣∣zvis))
其中 H ^ ( z i r ′ , z v i s ′ ) \hat{H}(z_{ir}',z_{vis}') H^(zir,zvis)是从 z v i s ′ z_{vis}' zvis z i r ′ z_{ir}' zir的交叉熵。

通过最小化 F v i s ′ F_{vis}' Fvis F i r ′ F_{ir}' Fir之间的互信息,可以突出不同的模态特征。然后我们将 F v i s ′ F_{vis}' Fvis F i r ′ F_{ir}' Fir连接起来,并使用另一个转换器块融合它们以获得 F f F_f Ff。然后,仅最小化互信息可能会导致潜在的信息丢失,因为网络会为达到较低的 L M I L_{MI} LMI丢弃一些重要的特征。为缓解该问题,需要在 F f F_f Ff和原始模态特征 F v i s F_{vis} Fvis F i r F_{ir} Fir之间施加互信息最大化。如图4所示,分别从 F f , F v i s 和 F i r F_f, F_{vis}和F_{ir} Ff,FvisFir获得三个潜向量 z f , z v i s 和 z i r z_f, z_{vis}和z_{ir} zf,zviszir。为实现最大互信息,将每个 { z v i s , z f } \{z_{vis},z_f\} {zvis,zf}视为正样本,而将同一批次中的其他样本视为负样本:
L N C E v i s = − ∑ i = 1 N l o g e x p ( z f i T z v i s i ) ∑ j = 1 , j ≠ i N e x p ( z f i T z v i s j ) L_{NCE}^{vis}=-\sum_{i=1}^N log\frac{exp(z_{f_i}^Tz_{vis_i})}{\sum_{j=1, j\neq i}^Nexp(z^T_{f_i}z_{vis_j})} LNCEvis=i=1Nlogj=1,j=iNexp(zfiTzvisj)exp(zfiTzvisi)
其中N表示批量大小, z v i s i z_{vis_i} zvisi z f i z_{f_i} zfi表示批次中第i个对应嵌入。
(那么我们该怎么理解这个公式呢?具体来说,对于每个样本 i i i, 计算其正样本(也就是自身样本)的相似度得分,即 e x p ( z f i T z v i s i ) exp(z_{f_i}^Tz_{vis_i}) exp(zfiTzvisi), 与负样本(即批次中除自身外的其他所有样本)的相似度得分, 也即 ∑ j = 1 , j ≠ i N e x p ( z f i T z v i s j ) \sum_{j=1, j\neq i}^Nexp(z^T_{f_i}z_{vis_j}) j=1,j=iNexp(zfiTzvisj)。 这个方程的目标是实现最小化,这相当于增加正样本间的相似度,同时减少负样本的相似度,从而达到最大化互信息的目的。)
红外模态的 L N C E i r L_{NCE}^{ir} LNCEir的定义类似。值得注意的是,最小化损失 L M I L_{MI} LMI和最大化损失 L N C E L_{NCE} LNCE是不同的,因为最小化损失通常是通过调整最小化界限而不是最小化本身来完成的,因此不能用 − L M I -L_{MI} LMI来代替 L N C E L_{NCE} LNCE

这种通过优化最小最大互信息的方式确保了融合特征捕获两种模态的基本特征,并能够平衡它们的唯一性和完整性。

2.5 进度式训练

总的来说,EVIF的训练遵循三阶段方法,三个任务依次逐步学习。在每个阶段,保持前几个阶段的训练任务与新任务一起进行。对于可见光纹理重建和去模糊任务,使用L2损失训练损失。在纹理细节网络重建完成后,进一步去训练去模糊网络,并进行夸任务事件增强。最后,训练融合网络,训练网络的损失函数如下所示:
L f u s e = γ 1 L S S I M + γ 2 L M I + γ ( L N C E v i s + L N C E i r ) L_{fuse}=\gamma_1L_{SSIM}+\gamma_2L_{MI}+\gamma(L_{NCE}^{vis}+L_{NCE}^{ir}) Lfuse=γ1LSSIM+γ2LMI+γ(LNCEvis+LNCEir)
L S S I M L_{SSIM} LSSIM是融合图像与重建任务和去模糊任务之间的SSIM损失。

三 实验

3.1数据集和硬件系统

为了彻底验证本文所提方法的有效性,作者分别在合成数据集和真实数据集上进行了仿真实验。
合成数据:在多光谱数据集KAIST上模拟高速动态场景,平均每7帧形成一张模糊的红外帧和可见光帧。事件是由ESIM模拟器生成。
在这里插入图片描述
真实数据:构建了一个由DAVIS346事件相机和一个红外相机组成的混合相机系统。然后在各种复杂场景(如深夜低光环境和高速车辆上的机载捕获)下捕获数据。

3.2 实验结果

为验证模型的性能,作者将模型与传统的VIF方法做了对比,与近期研究表现良好的深度学习的方法进行了对比。还做了消融实验,验证跨任务事件增强效果和最小最大互信息优化的效果。

3.2.1 对比实验结果

图5是不同方法在合成数据集上的实验结果,表1是对应的定量结果。图7是对比方法在真实数据集上的实验结果。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2.2 消融实验

跨任务事件增强:目的是验证跨任务事件增强对红外图像去模糊性能的影响。图8是定性结果,表二是定量结果。首先可以看到从事件中提取的运动线索确实可以促进去模糊任务的性能。其次,从细节重建网络中引入的运动线索确实能够促进红外图像的去模糊效果,证明了跨任务互补特征能够促进模型的鲁棒性。
在这里插入图片描述
在这里插入图片描述
最小最大互信息优化:目的验证该优化在突出双光的互补信息,同时减少信息损失的合理性。如图9所示,在不使用MI优化时。融合后的图像仅是两种图像的均值;如果仅仅MI最小化则会导致信息的丢失,仅仅使用最大化时,网络则会引入多余的冗余信息。
在这里插入图片描述

四 结论

在这篇文章中,作者提出了一个新的基于事件驱动的可见光和红外融合系统。

  • 事件相机具有低延迟和高动态范围的特点,能够处理极端光照环境和高动态运动场景下图像模糊和过曝问题。
  • 开发了一个多任务协同框架,包括可见光纹理细节重建、红外图像去模糊以及红外-可见光图像融合这三个任务。其中设计了跨任务事件增强模块用于将纹理细节重建任务中的特征辅助红外图像去模糊任务;在融合过程中设计了最小-最大互信息优化旨在突出双光的互补信息,同时减少信息损失。

相关文章:

论文阅读-Event-based Visible and Infrared Fusion via Multi-task Collaboration

一、前言 可见光图像与红外图像融合(VIF)通过结合热红外图像与可见光图像的丰富纹理,提供了一个全面可靠的场景描述。然而,传统的VIF系统可能在极端光照和高动态运动场景中捕获过曝或欠曝的图像,进而导致融合结果下降…...

Spring Boot2(Spring Boot 的Web开发 springMVC 请求处理 参数绑定 常用注解 数据传递 文件上传)

SpringBoot的web开发 静态资源映射规则 总结:只要静态资源放在类路径下: called /static (or /public or /resources or //METAINF/resources 一启动服务器就能访问到静态资源文件 springboot只需要将图片放在 static 下 就可以被访问到了 总结&…...

nginx中location模块中的root指令和alias指令区别

在 Nginx 配置中,location 模块用于定义如何处理特定请求路径。root 和 alias 是两个常用的指令,用于指定请求文件的位置,但它们有不同的行为。 root 指令 root 指令用于设置请求的根目录。当请求到来时,Nginx 会将请求的 URI 附…...

C++ 线程常见的实际场景解决方案

文章目录 一、主线程阻塞等待子线程返回1、代码示例2、代码改进 一、主线程阻塞等待子线程返回 主线程等待一个线程,此线程会开始连接一个服务器并循环读取服务器存储的值,主线程会阻塞直到连接服务器成功。因为如果不阻塞,可能上层业务刚开…...

Node.js——fs模块-文件删除

1、在Node.js中,我们可以使用unlink或unlinkSync来删除文件。 2、语法: fs.unlink(path,callback) fs.unlinkSync(path) 参数说明: path 文件路径 callback 操作后的回调函数 本文的分享到此结束,欢迎大家评论区一同讨论学…...

发布一个npm组件库包

Webpack 配置 (webpack.config.js) const path require(path); const MiniCssExtractPlugin require(mini-css-extract-plugin); const CssMinimizerPlugin require(css-minimizer-webpack-plugin); const TerserPlugin require(terser-webpack-plugin);module.exports {…...

处理PhotoShopCS5和CS6界面字体太小

处理PhotoShop CS6界面字体太小 背景:安装PhotoShop CS6后发现无法调大字体大小,特别是我的笔记本14寸的,显示的字体小到离谱。 百度好多什么降低该电脑分辨率,更改电脑的显示图标大小,或者PS里的首选项中的界面设置。…...

srs http-flv处理过程

目录 处理tcp请求,创建HttpConn 解析 http request创建consumer 读取consumer数据转封装为flv 处理tcp请求,创建HttpConn 调用堆栈如下: srs!SrsHttpConn::SrsHttpConn(ISrsHttpConnOwner*, ISrsProtocolReadWriter*, ISrsHttpServeMux*, std::__1::basic_string<ch…...

若Git子模块的远端地址发生了变化本地应该怎么调整

文章目录 前言git submodule 相关命令解决方案怎么保存子模块的版本呢总结 前言 这个问题复杂在既有Git又有子模块&#xff0c;本身Git的门槛就稍微高一点&#xff0c;再加上子模块的运用&#xff0c;一旦出现这种远端地址发生修改的情况会让人有些懵&#xff0c;不知道怎么处…...

docker运行code-servre并配置https通信

code-server 可以在浏览器中运行&#xff0c;使得开发者可以随时随地通过网络访问自己的开发环境&#xff0c;无需局限于某一台设备。只要有浏览器和网络连接&#xff0c;就可以继续编写代码和调试项目&#xff0c;非常适合远程办公和移动办公的需求。 由于每次启动code-serve…...

Linux 外设驱动 应用 4 触摸屏实验

触摸屏实验 1 触摸屏介绍1.1 基本应用介绍1.2 触摸屏工作原理介绍1.3 硬件介绍 2 应用代码编写2.1 找到输入设备2.2 打开驱动2.3 驱动查询应用2.4 应用结果 1 触摸屏介绍 1.1 基本应用介绍 LCD 显示屏包括显示屏和触摸屏&#xff0c;上层的是触摸屏&#xff0c;下层是显示屏。…...

Python-利用Pyinstaller,os库编写一个无限弹窗整蛊文件(上)

前言&#xff1a;本篇文章我们将学习一下如何利用你室友的这个习惯整蛊一下Ta,同时更重要的是借此提醒Ta要注意要做好个人信息的防泄露措施......&#xff08;声明&#xff1a;本次教学无任何不良引导&#xff09; 编程思路&#xff1a;本次编程中无限弹窗的实现我们需要调用Py…...

后台管理系统窗体程序:文章管理 > 文章列表

目录 文章列表的的功能介绍&#xff1a; 1、进入页面 2、页面内的各种功能设计 &#xff08;1&#xff09;文章表格 &#xff08;2&#xff09;删除按钮 &#xff08;3&#xff09;编辑按钮 &#xff08;4&#xff09;发表文章按钮 &#xff08;5&#xff09;所有分类下拉框 &a…...

图神经网络(GNN)入门笔记(2)——从谱域理解图卷积,ChebNet和GCN实现

一、谱域图卷积&#xff08;Spectral Domain Graph Convolution&#xff09; 与谱域图卷积&#xff08;Spectral Domain Graph Convolution&#xff09;对应的是空间域&#xff08;Spatial Domain&#xff09;图卷积。本节学习的谱域图卷积指的是通过频率来理解卷积的方法。 …...

接口类和抽象类在设计模式中的一些应用

C设计模式中&#xff0c;有些模式需要使用接口类&#xff08;Interface Class&#xff09;和抽象类&#xff08;Abstract Class&#xff09;来实现特定的设计目标。以下是一些常见的设计模式及其需要的原因&#xff0c;并附上相应的代码片段。 1. 策略模式&#xff08;Strateg…...

【系统架构】如何演变系统架构:从单体到微服务

引言 随着企业的发展&#xff0c;网站架构必须不断演变以应对日益增长的用户流量和复杂性需求。本文将详细探讨从单体架构到微服务架构的演变过程&#xff0c;尤其关注订单和支付服务的实现方式&#xff0c;帮助您打造一个高效、可扩展的在线平台。 步骤1&#xff1a;分离应用…...

Neo4j入门:详解Cypher查询语言中的MATCH语句

Neo4j入门&#xff1a;详解Cypher查询语言中的MATCH语句 引言什么是MATCH语句&#xff1f;示例数据1. 基础节点查询查询所有节点按标签查询节点 2. 关系查询基础关系查询指定关系方向指定关系类型 3. 使用WHERE子句4. 使用参数5. 多重MATCH和WITH子句实用技巧总结 引言 大家好…...

CPP贪心算法示例

设有n个正整数&#xff08;n ≤ 20&#xff09;&#xff0c;将它们联接成一排&#xff0c;组成一个最大的多位整数。 例如&#xff1a;n3时&#xff0c;3个整数13&#xff0c;312&#xff0c;343联接成的最大整数为&#xff1a;34331213 又如&#xff1a;n4时&#xff0c;4个整…...

GPT对NLP的冲击

让我来详细解释张俊林对GPT冲击NLP领域的分析&#xff1a; 中间任务(脚手架)的消失&#xff1a; 传统NLP中间任务&#xff1a; - 分词 - 词性标注 - 命名实体识别 - 句法分析 - 词向量学习为什么会消失&#xff1a; - GPT直接进行端到端学习 - 不需要人工定义的中间步骤 - 模…...

中值定理类证明题中对‘牛顿插值法’的应用

牛顿插值法是一种使用多项式插值的方法&#xff0c;它通过构造一个多项式来近似一组数据点。这种方法是由艾萨克牛顿提出的。牛顿插值法的一个优点是&#xff0c;当需要添加更多的数据点时&#xff0c;它不需要重新计算整个多项式&#xff0c;只需要对现有的多项式进行修改。...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

MySQL的pymysql操作

本章是MySQL的最后一章&#xff0c;MySQL到此完结&#xff0c;下一站Hadoop&#xff01;&#xff01;&#xff01; 这章很简单&#xff0c;完整代码在最后&#xff0c;详细讲解之前python课程里面也有&#xff0c;感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...