Super Resolve Dynamic Scene from Continuous Spike Streams论文笔记
摘要
近期,脉冲相机在记录高动态场景中展示了其优越的潜力。不像传统相机将一个曝光时间内的视觉信息进行压缩成像,脉冲相机连续地输出二的脉冲流来记录动态场景,因此拥有极高的时间分辨率。而现有的脉冲相机重建方法主要集中在重建和脉冲相机相同分辨率的图像上。然而,作为高时间分辨率的权衡,脉冲相机的空间分辨率是有限的。为了处理这一问题,我们设计了一种脉冲相机超分辨率框架,旨在从低分辨率的二值脉冲流中得到超分辨率的光强图像。由于相机和捕捉物体之间的相对运动,传感器同一像素上激发的脉冲无法形容外在场景中的相同点。本文利用相对运动,推导出光强与每个脉冲之间的关系,以恢复高时间分辨率和高空间分辨率的外部场景。实验结果表明,该方法可以从低分辨率的脉冲流中重建出良好的高分辨率图像。
介绍
随着实时计算机视觉应用的发展,传统数码相机的缺点逐渐暴露。传统相机通常在一个曝光窗口内积累光电信息来形成快照帧。这样的的成像原理可以为静态场景产出富含细节的清晰图片。然而,对于拥有高速移动的动态场景,移动物体上的某一点会被投影到传感器的不同像素点上,导致运动模糊。
为了解决这一问题,脉冲相机被提出。脉冲相机可以持续地监控到达的光子并且激发连续的脉冲流,从而记录高分辨率的动态场景。相比于事件相机,脉冲相机可以记录绝对的光照强度而不是相对光强变化。
在本文中,我们针对脉冲相机设计了一种全新的图像重建框架。通过利用相对运动,我们可以恢复场景的分辨率远远高于由脉冲流直接提供的分辨率。我们仔细分析了脉冲相机的成像原理,基于脉冲相机成像原理,构建了图像光强和每个脉冲之间的关系,从而可以从脉冲流中得到超像素的光强信息。文章的主要贡献如下:
1、我们为脉冲相机提出了一种超分辨率框架。
2、我们不是简单地将图像超分辨率算法应用于脉冲相机的LR(低分辨率,low resolution)重建,而是推导出光强与每个脉冲之间的关系,从而从买从流中估计像素级的超分辨率光强。
3、实验结果显示所提出的方法可以从二值LR脉冲流中重建出不错的HR光强图像,这是现有方法做不到的。
背景知识
脉冲相机的工作机制
脉冲相机包含了一系列的像素点,每一个像素点独立地记录光照强度。每一个像素包含三个主要的部分:感光器、积分器和比较器。感光器从外部场景捕获入射光,并将光强转换为积分器可以识别的电压。积分器对转化而来的电荷做累加,比较器持续地检测积累的信号。一旦达到阈值 θ \theta θ,脉冲则会被激发,积分器重置,开始新一轮的“积累与发射”循环。
由于每一个像素独立工作,我们可以将我们的讨论限定在一个像素 p = ( r , c ) p=(r,c) p=(r,c)上。 p p p在 t t t时刻的电荷量可以表示为:
A ( t ) = ∫ Ω p ∫ 0 t α ⋅ I ( z , x ) d x d z m o d θ (1) A(t)=\int_{\Omega_p}\int_0^t\alpha\cdot I(z,x)dxdz\mod\theta\tag{1} A(t)=∫Ωp∫0tα⋅I(z,x)dxdzmodθ(1)
这里, Ω p \Omega_p Ωp表示像素 p p p包含的空间区域, I ( z , t ) I(z,t) I(z,t)表示 t t t时刻 z = ( x , y ) z=(x,y) z=(x,y)位置上的光照强度, α \alpha α表示光电转化效率。脉冲可以在任意的时间 t t t被激发,但是相机只能以离散时间二值信号 S ( n ) S(n) S(n)的形式读出脉冲(如图二所示)。具体来说,相机以一个固定的短时间间隙 T T T来检查flag,如果 t t t时刻(其中 ( ( n − 1 ) T < t ≤ n T ) ((n-1)T<t≤nT) ((n−1)T<t≤nT))有flag,则 S ( n ) = 1 S(n)=1 S(n)=1。否则, S ( n ) = 0 S(n)=0 S(n)=0。当光子连续到达时,传感器上的像素会同时独立地进行工作,激发出脉冲来表示特定数量光子的到达。随着时间的推进,相机会产生一些列的二值脉冲 S ∈ { 0 , 1 } H × W × N S\in \{0,1\}^{H\times W\times N } S∈{0,1}H×W×N(如图一(a)所示)。


问题描述
脉冲相机的目的是记录高速运动场景的动态光强变化过程。一旦脉冲阵列被捕捉到,我们旨在恢复出任何时刻的瞬时光强。特别是当考虑到脉冲相机有限的空间分辨率,我们的目标是超分辨高质量的光强图像与细节。我们没有采用简单结合脉冲重建算法和现有图像超分辨率算法的方法,而是直接估计每一个像素对应的超分辨率强度。这是一个病态的逆问题,可以表示为如下的形式。给定脉冲阵列 S ∈ { 0 , 1 } H × W × N S\in\{0,1\}^{H\times W\times N } S∈{0,1}H×W×N,我们的目标是从低分辨率的脉冲阵列中恢复高质量的高分辨率强度图像 I H D ∈ [ 0 , 255 ] c H × c W × c N I^{HD}\in[0,255]^{cH\times cW\times cN } IHD∈[0,255]cH×cW×cN,其中 c c c是放大因子。
方法
如图三所示,由于相机和物体之间的相对运动,传感器同一像素所激发的脉冲不再能描述物体上的相同点,而是记录了不同位置的光强。也就是说每一个脉冲会被映射到场景中的不同位置。通过合理地探索相机和场景之间的相对运动,恢复更高分辨率的场景是可能的。为此,我们开发了一个运动引导的脉冲相机超分辨率(MGSR, motion-guided spike camera super-resolution)框架,以从低分辨率的脉冲流中得到超分辨率图像。

强度脉冲关系
每一个脉冲对应了一定量的光子 s : ( p , t s , t e ) s:(p,t_s,t_e) s:(p,ts,te),其中 p = ( r , c ) p=(r,c) p=(r,c)表示像素的位置, t s t_s ts和 t e t_e te分别表示当前脉冲循环的开始和结束时间。基于公式(1),脉冲 s s s和强度 I I I之间的关系可以表示为:
θ = ∫ Ω p ∫ t s t e α ⋅ I ( z , t ) d t d z (2) \theta=\int_{\Omega_p}\int_{t_s}^{t_e}\alpha\cdot I(z,t)dtdz\tag{2} θ=∫Ωp∫tsteα⋅I(z,t)dtdz(2)
假设我们打算重建 k k k时刻的场景。基于灰度一致性假设,给定任意时刻某一点的光强 I ( z , t ) I(z,t) I(z,t),都可以将其转换为 k k k时刻对应物体点的光强 I ( z + u t → k ( z ) , k ) I(z+u_{t\rightarrow k}(z),k) I(z+ut→k(z),k)。其中 u t → k ( z ) u_{t\rightarrow k}(z) ut→k(z)表示将 t t t时刻上 z z z位置映射到 k k k时刻对应位置的偏移量。因此,我们可以构建场景强度和任意脉冲 s : ( p , t s , t e ) s:(p,t_s,t_e) s:(p,ts,te)之间的模型:
θ = ∫ Ω p ∫ t s t e α ⋅ I ( z , k ) M s ( z , t ) d t d z (3) \theta=\int_{\Omega_p}\int_{t_s}^{t_e}\alpha\cdot I(z,k)\mathcal{M}_s(z,t)dtdz\tag{3} θ=∫Ωp∫tsteα⋅I(z,k)Ms(z,t)dtdz(3)
这里, Ω \Omega Ω表示相机传感器的感受野, I ( z , k ) I(z,k) I(z,k)表示 k k k时刻 z z z位置的光强, M s ( z , t ) \mathcal{M}_s(z,t) Ms(z,t)是二值mask,表示强度 I ( z , k ) I(z,k) I(z,k)是否对 t t t时刻的脉冲 s s s有贡献。也就是说,如果 z z z的对应点 z + u k → t ( z ) z+u_{k\rightarrow t}(z) z+uk→t(z)处在像素 p p p包含的空间区域,则 I ( z , k ) I(z,k) I(z,k)对像素有贡献,将 M s ( z , t ) \mathcal{M}_s(z,t) Ms(z,t)设置为1。否则 M s ( z , t ) \mathcal{M}_s(z,t) Ms(z,t)被设为0。从而可以得到 M s ( z , t ) \mathcal{M}_s(z,t) Ms(z,t)的表达式:
M s ( z , t ) = { 1 , z + u k → t ( z ) ∈ Ω p 0 , o t h e r w i s e (4) \mathcal{M}_s(z,t)=\begin{cases} 1, \quad z+u_{k\rightarrow t}(z)\in \Omega_{p}\\ 0, \quad otherwise\\ \end{cases}\tag{4} Ms(z,t)={1,z+uk→t(z)∈Ωp0,otherwise(4)
其中 Ω p \Omega_p Ωp表示 p p p覆盖的空间区域。为了简单起见,我们使用 I k I_k Ik来表示 k k k时刻场景的光照强度。考虑到 I k ( z ) I_k(z) Ik(z)在时间上的连续性,公式(3)可以改写成:
θ = ∫ Ω ∫ t s t e α ⋅ I k ( z ) ⋅ M s ( z , t ) d t d z = ∫ Ω α ⋅ I k ( z ) ( ∫ t s t e M s ( z , t ) d t ) d z = ∫ Ω α ⋅ I k ( z ) ⋅ W s ( z ) d z (5) \theta=\int_{\Omega}\int_{t_s}^{t_e}\alpha\cdot I_k(z)\cdot \mathcal{M}_s(z,t)dtdz=\int_{\Omega}\alpha\cdot I_k(z)(\int_{t_s}^{t_e}\mathcal{M}_s(z,t)dt)dz=\int_{\Omega}\alpha\cdot I_k(z)\cdot \mathcal{W}_s(z)dz\tag{5} θ=∫Ω∫tsteα⋅Ik(z)⋅Ms(z,t)dtdz=∫Ωα⋅Ik(z)(∫tsteMs(z,t)dt)dz=∫Ωα⋅Ik(z)⋅Ws(z)dz(5)
其中 W s ( z ) = ∫ t s t e M s ( z , t ) d t \mathcal{W}_s(z)=\int_{t_s}^{t_e}\mathcal{M}_s(z,t)dt Ws(z)=∫tsteMs(z,t)dt代表 I k ( z ) I_k(z) Ik(z)对脉冲 s : ( p , t s , t e ) s:(p,t_s,t_e) s:(p,ts,te)的贡献程度。
脉冲相机超像素
基于以上的分析,任意的 I k ( z ) I_k(z) Ik(z)和脉冲 s : ( p , t s , t e ) s:(p,t_s,t_e) s:(p,ts,te)之间的关系可以被建模。为了超像素化光强图像,我们可以对重建平面进行重采样,建立如下的关系:
θ = ∑ q α ⋅ I k H R ( q ) ⋅ W s ( q ) (6) \theta=\sum_q\alpha\cdot I_k^{HR}(q)\cdot\mathcal{W}_s(q)\tag{6} θ=q∑α⋅IkHR(q)⋅Ws(q)(6)
这里 q = ( m , n ) q=(m,n) q=(m,n)表示 I k H R I_k^{HR} IkHR的坐标位置, W s ( q ) \mathcal{W}_s(q) Ws(q)表示 I k H R ( q ) I_k^{HR}(q) IkHR(q)对脉冲 s : ( p , t s , t e ) s:(p,t_s,t_e) s:(p,ts,te)的贡献程度。一旦在 k k k时刻附近有足够的脉冲被积累,我们可以通过最小化下面的损失函数 J ( I K h r ) J(I_K^{hr}) J(IKhr)来超分辨率化 I k H R I_k^{HR} IkHR:
J ( I K H R ) = ∑ s = 1 N ∣ ∣ α ⋅ W s I k H R − θ ∣ ∣ 2 2 (7) J(I_K^{HR})=\sum_{s=1}^N||\alpha\cdot\mathcal{W}_sI_k^{HR}-\theta||_2^2\tag{7} J(IKHR)=s=1∑N∣∣α⋅WsIkHR−θ∣∣22(7)
其中 N N N表示选定时间框内的脉冲数量。 W s ∈ R 1 × M \mathcal{W}_s\in\mathbb{R}^{1\times M} Ws∈R1×M, M = c H × c W M=cH\times cW M=cH×cW表示待重建的高分辨率图像中的像素个数。
为了解决这一问题,我们设计了一种运动辅助的脉冲相机超分辨率(MGSR, motion-guided spike camera super resolution)框架,如图四所示。

首先,一个基础的亮度推测算法被运用在脉冲流 S S S中,生成一系列基础的亮度图像 { I t L R } , t ∈ ϕ k \{I_t^{LR}\},t\in\phi_k {ItLR},t∈ϕk。 ϕ k \phi_k ϕk的一个典型选择是 { k , k ± 1 , k ± 2 , ⋅ ⋅ ⋅ } \{k,k±1,k±2,\cdot\cdot\cdot\} {k,k±1,k±2,⋅⋅⋅}。有了基础的重建,我们可以估计出不同帧的位移量并且将 I k H R I_k^{HR} IkHR上的点映射到其他帧中。然后我们可以进一步计算出每个亮度图像像素 I k H R ( q ) I_k^{HR}(q) IkHR(q)对每个脉冲 s : ( p , t s , t e ) s:(p,t_s,t_e) s:(p,ts,te)的贡献程度(这里 q q q指的是图像上的像素点, p p p指的是传感器上的像素点,可以通过图5或者更加直观的理解),构建出一系列的贡献图 { W s } \{\mathcal{W}_s\} {Ws}。基于贡献图 { W s } \{\mathcal{W}_s\} {Ws},高分辨率图像 I H R I^{HR} IHR可以通过求解公式(7)得到。

光强推测
假设一个短脉冲间隔内的光照强度是稳定的,我们粗略地推测出瞬时光强:
I t L R ( p ) = θ α ⋅ ( t e − t s ) (8) I_t^{LR}(p)=\frac{\theta}{\alpha\cdot(t_e-t_s)}\tag{8} ItLR(p)=α⋅(te−ts)θ(8)
其中, t e < t < t s t_e<t<t_s te<t<ts。值得注意的是,这些基本的重建只是用来估计相对运动。
运动估计
我们使用光流法来进行粗略估计,从而得到关键帧 I k L R I_k^{LR} IkLR到参考帧 I t L R I_t^{LR} ItLR的运动场信息:
u k → t = F ( I k L R , I t L R ) (9) u_{k\rightarrow t}=\mathcal{F}(I_k^{LR},I_t^{LR})\tag{9} uk→t=F(IkLR,ItLR)(9)
其中 F ( ⋅ ) \mathcal{F}(\cdot) F(⋅)表示光流法。 u k → t = ( u k → t h , u k → t v ) u_{k\rightarrow t}=(u_{k\rightarrow t}^h,u_{k\rightarrow t}^v) uk→t=(uk→th,uk→tv)表示 I k L R I_k^{LR} IkLR到 I t L R I_t^{LR} ItLR的运动场信息,可以将 I k L R I_k^{LR} IkLR映射到 I t L R I_t^{LR} ItLR。
权重计算
给定运动场信息 u k → t u_{k\rightarrow t} uk→t,给定任意点 z z z,我们都可以轻松地根据公式(4)推断出是否 I k H R ( z ) I_k^{HR}(z) IkHR(z)对脉冲 s : ( p , t s , t e ) s:(p,t_s,t_e) s:(p,ts,te)有贡献。然后可以计算出每个图像像素 I k H R ( q ) I_k^{HR}(q) IkHR(q)对脉冲 s : ( p , t s , t e ) s:(p,t_s,t_e) s:(p,ts,te)的权重(贡献程度):
W s ( q ) = ∫ z ∈ Ω q ∫ t s t e M s ( z , t ) d t d z (10) \mathcal{W}_s(q)=\int_{z\in \Omega_q}\int_{t_s}^{t_e}\mathcal{M}_s(z,t)dtdz\tag{10} Ws(q)=∫z∈Ωq∫tsteMs(z,t)dtdz(10)
其中 Ω q \Omega_q Ωq表示像素 q q q在 I k H R I_k^{HR} IkHR中覆盖的范围。由于相机和场景的相对运动,一个脉冲通常通常和和 I k H R I_k^{HR} IkHR中的多个像素有关。相关像素的数量也会随着运动速度和脉冲生命周期 t e − t s t_e-t_s te−ts的增加而增加。图5展示了权重的计算,图6真实了不同相对运动对应的权重图。

超像素成像
一旦足够的脉冲被积累,我们可以通过解公式(7)来得到 c H × c W cH\times cW cH×cW的超像素图像。在本文中,我们使用了梯度下降法来求解这个问题,可以被表示为:
I k H R : = I K H R − γ ⋅ ∇ I k H R J ( I k H R ; W s ) (11) I_k^{HR}:=I_K^{HR}-\gamma\cdot\nabla_{I_k^{HR}}J(I_k^{HR};\mathcal{W}_s)\tag{11} IkHR:=IKHR−γ⋅∇IkHRJ(IkHR;Ws)(11)
其中 γ \gamma γ是更新梯度。特别地,我们也可以使用这个算法作为一个一般的重建算法,此时我们可以将 c c c设置为1,以重建与脉冲流相同空间分辨率的图像。在算法1中总结了所提出的MGSR方法。

实验结果





相关文章:
Super Resolve Dynamic Scene from Continuous Spike Streams论文笔记
摘要 近期,脉冲相机在记录高动态场景中展示了其优越的潜力。不像传统相机将一个曝光时间内的视觉信息进行压缩成像,脉冲相机连续地输出二的脉冲流来记录动态场景,因此拥有极高的时间分辨率。而现有的脉冲相机重建方法主要集中在重建和脉冲相…...
操作视频的开始与暂停
调用 ref.current.play() 方法来播放视频; 如果视频需要暂停,我们调用 ref.current.pause() 方法来暂停视频。 通过 useRef 创建的 ref 操作视频的开始与暂停 当用户点击按钮时,根据当前视频的状态,我们会开始或暂停视频&…...
使用Docker配置深度学习的运行环境
文章目录 推荐实验环境前言docker安装docker操作docker配置常见方法(安装包、联网、程序管理器)安装驱动的前提要求传统方法安装驱动程序程序管理器安装联网安装deb包安装 安装完成后的设置非传统方法安装-通过容器安装驱动的前提要求安装NVIDIA-Contain…...
三相PMSM的坐标变换
三相PMSM的坐标变换 三相PMSM的数学模型具有复杂性和耦合性的多变量系统。因此需要对其进行降阶和解耦变换。 Vα,Vb,Vc是自然坐标系。 Vα,Vβ是静止坐标系。 Vd,Vq是同步旋转坐标系。 自然坐标系 三相永磁同步电机的驱动电路…...
8.(Python数模)(预测模型一)马尔科夫链预测
Python实现马尔科夫链预测 马尔科夫链原理 马尔科夫链是一种进行预测的方法,常用于系统未来时刻情况只和现在有关,而与过去无关。 用下面这个例子来讲述马尔科夫链。 如何预测下一时刻计算机发生故障的概率? 当前状态只存在0(故…...
Leetcode1006笨阶乘
思路:以4为一个分组分别进行处理 class Solution:def clumsy(self, n: int) -> int:answer_dict {0:0,1: 1, 2: 2, 3: 6, 4: 7}if n > 4:answer n * (n - 1) // (n - 2) n - 3n - 4else:print(answer_dict[n])return answer_dict[n]print(answer)while n …...
阻塞非阻塞IO(BIO和NIO),IO多路复用
1.概念 NIO(New Input/Output)和BIO(Blocking Input/Output)是Java中用于处理输入输出的两种不同的模型。 BIO 会阻塞,等有了消息,立刻返回,一个线程处理一个recv(需要很多线程&…...
HTTP协议初识·中篇
加上目录,会出现导向不正确的情况,可能是bug,目录一长就容易出错? 本篇主要讲解了: 网页分离(网页代码和.c文件分离) html链接跳转 网页添加图片 确认并返回资源类型 填写正文长度属性 添加表单 临时重定向 补充知识&a…...
数学建模:拟合算法
🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 数学建模:拟合算法 文章目录 数学建模:拟合算法拟合算法多项式拟合非线性拟合cftool工具箱的使用 拟合算法 根据1到12点间的温度数据求出温度与时间之间的近似函数关系 F ( t ) F(…...
计算机网络-笔记-汇总
目录 📚 前言 🌸章节汇总 🚀 学习心得 ⌛2023年8月31日 星期四 📚 前言 在学习了【操作系统】、【计算机组成原理】之后 再来学习【计算机网络】,对计算机之间如何通信,有了一个大致的认识。 可以想象…...
STM32定时器定时及其应用
STM32定时器定时及其应用 定时器概述☆定时器相关配置CubeMX工程配置及程序实现固件库程序设计及实现 定时器概述 1. 工作原理 使用精准的时基,通过硬件的方式,实现定时功能。定时器核心就是计数器 2. 定时器分类 基本定时器(TIM6~TIM7…...
(牛客) 游游的字符重排(next_permutation的使用)
题目描述 游游定义一个字符串是“好串”,当且仅当该字符串相邻的字符不相等。例如"arcaea"是好串,而"food"不是好串。 游游拿到了一个字符串,她可以将该字符串的各个字符顺序随意打乱。她想知道一共可以生产多少种不同的…...
RTPEngine 通过 HTTP 获取指标的方式
文章目录 1.背景介绍2.RTPEngine 支持的 HTTP 请求3.通过 HTTP 请求获取指标的方法3.1 脚本配置3.2 请求方式 1.背景介绍 RTPEngine 是常用的媒体代理服务器,通常被集成到 SIP 代理服务器中以减小代理服务器媒体传输的压力,其架构如下图所示。这种使用方…...
聚鑫数藏平台——引领数字资产管理新风向
随着数字经济的飞速发展,新金融生态应运而生。区块链技术的崭新突破,使数字资产的重要性日益凸显,为投资者带来了前所未有的机遇和挑战。在此背景下,聚鑫数藏平台横空出世,引领着数字资产管理的新风向。 聚鑫数藏平台&…...
web3j solidity 转java
需要使用的环境 web3j,nodejs 安装编译sol工具 1 $ npm install -g solc 保存为hello.sol文件到本地 1 2 3 4 5 6 7 8 pragma solidity 0.4.19; contract hello { function main(uint a) constant returns (uint b) { uint result a * 8; …...
uniapp项目实战系列(3):底部导航栏与头部导航栏的配置
目录 系列往期文章(点击跳转)uniapp项目实战系列(1):导入数据库,启动后端服务,开启代码托管(点击跳转)uniapp项目实战系列(2):新建项目,项目搭建,微信开发工具…...
Jwt工具类
导入依赖 <dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version> </dependency> <dependency><groupId>javax.xml.bind</groupId><artifactId>jax…...
计算机网络-笔记-第五章-运输层
🌸章节汇总 一、第一章——计算机网络概述 二、第二章——物理层 三、第三章——数据链路层 四、第四章——网络层 五、第五章——运输层 六、第六章——应用层 目录 五、第五章——运输层 1、运输层概述 2、运输层端口号、复用、分用 (1࿰…...
java-参数传递机制
java参数传递机制都是值传递。 基本类型参数传输都是数据值。 传递到方法中的值是拷贝后的值。 引用类型参数传输的都是地址值。 如果是数组的参数传递,那么是引用传递(本质上还是值传递,但是由于数组的值传递是传递数组的内存地址…...
Python编程练习与解答 练习96:字符串是否表示整数
本练习将编写一个名为isInteger的函数,用于确定字符串中的字符是否代表有效整数,确定字符串是否表示整数时,则应忽略开通要或者结尾的任何空白。一旦这个空白被忽略,如果字符串的长度至少是1,且只包含数字,…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合
作者:来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布,Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明,Elastic 作为 …...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
TJCTF 2025
还以为是天津的。这个比较容易,虽然绕了点弯,可还是把CP AK了,不过我会的别人也会,还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...
深入浅出WebGL:在浏览器中解锁3D世界的魔法钥匙
WebGL:在浏览器中解锁3D世界的魔法钥匙 引言:网页的边界正在消失 在数字化浪潮的推动下,网页早已不再是静态信息的展示窗口。如今,我们可以在浏览器中体验逼真的3D游戏、交互式数据可视化、虚拟实验室,甚至沉浸式的V…...
