DeepSORT(目标跟踪算法)中卡尔曼滤波器中的更新

DeepSORT(目标跟踪算法)中卡尔曼滤波器中的更新

flyfish

说协方差先说期望

在协方差的定义中,符号 E \mathbb{E} E 表示期望值(Expectation)。期望值是随机变量的平均值或均值,表示在大量试验中随机变量的平均结果。

期望值的详细解释

期望值 E [ X ] \mathbb{E}[X] E[X] 是指随机变量 X X X 在概率意义上的平均值。它可以看作是随机变量在无限次重复试验中的平均值。

离散型随机变量的期望值

对于离散型随机变量 X X X 取值 x 1 , x 2 , … , x n x_1, x_2, \ldots, x_n x1,x2,,xn,并且对应的概率为 p 1 , p 2 , … , p n p_1, p_2, \ldots, p_n p1,p2,,pn,其期望值定义为:

E [ X ] = ∑ i = 1 n x i ⋅ p i \mathbb{E}[X] = \sum_{i=1}^{n} x_i \cdot p_i E[X]=i=1nxipi

即每个取值 x i x_i xi 乘以其对应的概率 p i p_i pi,然后将这些乘积求和。

连续型随机变量的期望值

对于连续型随机变量 X X X 具有概率密度函数 f ( x ) f(x) f(x),其期望值定义为:

E [ X ] = ∫ − ∞ ∞ x ⋅ f ( x ) d x \mathbb{E}[X] = \int_{-\infty}^{\infty} x \cdot f(x) \, dx E[X]=xf(x)dx

即对 x x x 和其概率密度函数 f ( x ) f(x) f(x) 的乘积进行积分。

在协方差定义中的期望值

在协方差的定义中,期望值 E \mathbb{E} E 用于计算随机变量的均值,以及偏离均值的乘积的均值:

Cov ( X , Y ) = E [ ( X − E [ X ] ) ( Y − E [ Y ] ) ] \text{Cov}(X, Y) = \mathbb{E}[(X - \mathbb{E}[X])(Y - \mathbb{E}[Y])] Cov(X,Y)=E[(XE[X])(YE[Y])]

具体步骤如下:

  1. 计算均值(期望值)
  • 计算 X X X 的均值: E [ X ] \mathbb{E}[X] E[X]
  • 计算 Y Y Y 的均值: E [ Y ] \mathbb{E}[Y] E[Y]
  1. 中心化变量
  • X X X 做中心化: X − E [ X ] X - \mathbb{E}[X] XE[X]
  • Y Y Y 做中心化: Y − E [ Y ] Y - \mathbb{E}[Y] YE[Y]
  1. 计算中心化变量的乘积的期望值
  • 计算 ( X − E [ X ] ) ( Y − E [ Y ] ) (X - \mathbb{E}[X])(Y - \mathbb{E}[Y]) (XE[X])(YE[Y]) 的期望值,即平均值。
    这样得到的结果就是 X X X Y Y Y 的协方差,表示它们的共同变化程度。

举例说明期望值

假设我们有一个离散型随机变量 X X X,其取值和概率如下:

X X X12345
P ( X ) P(X) P(X)0.10.20.30.20.2

其期望值 E [ X ] \mathbb{E}[X] E[X] 计算如下:

E [ X ] = 1 ⋅ 0.1 + 2 ⋅ 0.2 + 3 ⋅ 0.3 + 4 ⋅ 0.2 + 5 ⋅ 0.2 = 0.1 + 0.4 + 0.9 + 0.8 + 1 = 3.2 \mathbb{E}[X] = 1 \cdot 0.1 + 2 \cdot 0.2 + 3 \cdot 0.3 + 4 \cdot 0.2 + 5 \cdot 0.2 = 0.1 + 0.4 + 0.9 + 0.8 + 1 = 3.2 E[X]=10.1+20.2+30.3+40.2+50.2=0.1+0.4+0.9+0.8+1=3.2

这表示,如果我们重复进行很多次试验,随机变量 X X X 的平均值会趋近于 3.2。

协方差的定义

协方差是统计学中用于度量两个随机变量共同变化程度的指标。给定两个随机变量 X X X Y Y Y,它们的协方差定义如下:

Cov ( X , Y ) = E [ ( X − E [ X ] ) ( Y − E [ Y ] ) ] \text{Cov}(X, Y) = \mathbb{E}[(X - \mathbb{E}[X])(Y - \mathbb{E}[Y])] Cov(X,Y)=E[(XE[X])(YE[Y])]

让我们逐步解释这个公式:

  1. 期望值 ( E \mathbb{E} E)
  • 期望值是随机变量的平均值或均值,表示在大量试验中随机变量的平均结果。
  • E [ X ] \mathbb{E}[X] E[X] 表示 X X X 的期望值(均值), E [ Y ] \mathbb{E}[Y] E[Y] 表示 Y Y Y 的期望值。
  1. 中心化
  • X − E [ X ] X - \mathbb{E}[X] XE[X] 表示 X X X 偏离其均值的程度,称为 X X X 的中心化。
  • Y − E [ Y ] Y - \mathbb{E}[Y] YE[Y] 表示 Y Y Y 偏离其均值的程度,称为 Y Y Y 的中心化。
  1. 乘积
  • ( X − E [ X ] ) ( Y − E [ Y ] ) (X - \mathbb{E}[X])(Y - \mathbb{E}[Y]) (XE[X])(YE[Y]) 表示 X X X Y Y Y 各自偏离均值的乘积。
  1. 期望值
  • E [ ( X − E [ X ] ) ( Y − E [ Y ] ) ] \mathbb{E}[(X - \mathbb{E}[X])(Y - \mathbb{E}[Y])] E[(XE[X])(YE[Y])] 表示这些偏离乘积的平均值,这就是协方差。

协方差的含义

协方差度量了两个变量如何一起变化:

  • 正协方差:如果协方差是正的,表示当 X X X 增大时 Y Y Y 也倾向于增大,反之亦然。这意味着 X X X Y Y Y 之间有正相关关系。
  • 负协方差:如果协方差是负的,表示当 X X X 增大时 Y Y Y 倾向于减小,反之亦然。这意味着 X X X Y Y Y 之间有负相关关系。
  • 零协方差:如果协方差是零,表示 X X X Y Y Y 之间没有线性关系。

简单例子

假设我们有两个变量 X X X Y Y Y,并且有几组观测值:

X X X Y Y Y
12
23
36
48
510
  1. 计算均值
  • E [ X ] = 1 + 2 + 3 + 4 + 5 5 = 3 \mathbb{E}[X] = \frac{1+2+3+4+5}{5} = 3 E[X]=51+2+3+4+5=3
  • E [ Y ] = 2 + 3 + 6 + 8 + 10 5 = 5.8 \mathbb{E}[Y] = \frac{2+3+6+8+10}{5} = 5.8 E[Y]=52+3+6+8+10=5.8
  1. 中心化并计算偏离乘积
  • 对于每个观测值,计算 ( X − E [ X ] ) ( Y − E [ Y ] ) (X - \mathbb{E}[X])(Y - \mathbb{E}[Y]) (XE[X])(YE[Y])
  • 第一组: ( 1 − 3 ) ( 2 − 5.8 ) = 2 × 3.8 = 7.6 (1-3)(2-5.8) = 2 \times 3.8 = 7.6 (13)(25.8)=2×3.8=7.6
  • 第二组: ( 2 − 3 ) ( 3 − 5.8 ) = 1 × 2.8 = 2.8 (2-3)(3-5.8) = 1 \times 2.8 = 2.8 (23)(35.8)=1×2.8=2.8
  • 第三组: ( 3 − 3 ) ( 6 − 5.8 ) = 0 × 0.2 = 0 (3-3)(6-5.8) = 0 \times 0.2 = 0 (33)(65.8)=0×0.2=0
  • 第四组: ( 4 − 3 ) ( 8 − 5.8 ) = 1 × 2.2 = 2.2 (4-3)(8-5.8) = 1 \times 2.2 = 2.2 (43)(85.8)=1×2.2=2.2
  • 第五组: ( 5 − 3 ) ( 10 − 5.8 ) = 2 × 4.2 = 8.4 (5-3)(10-5.8) = 2 \times 4.2 = 8.4 (53)(105.8)=2×4.2=8.4
  1. 计算协方差
  • 取这些乘积的平均值:
    Cov ( X , Y ) = 7.6 + 2.8 + 0 + 2.2 + 8.4 5 = 21 5 = 4.2 \text{Cov}(X, Y) = \frac{7.6 + 2.8 + 0 + 2.2 + 8.4}{5} = \frac{21}{5} = 4.2 Cov(X,Y)=57.6+2.8+0+2.2+8.4=521=4.2

综述

协方差通过衡量两个变量共同偏离均值的方式来表示它们之间的关系。正协方差表示正相关,负协方差表示负相关,零协方差表示没有线性关系。通过理解这些,可以更好地理解数据中不同变量之间的关系。

# 定义随机变量和对应的概率
X_values = [1, 2, 3, 4, 5]
P_X = [0.1, 0.2, 0.3, 0.2, 0.2]# 计算期望值
expected_value = sum(x * p for x, p in zip(X_values, P_X))
print("期望值 (均值) =", expected_value)

期望值 (均值) = 3.2

代码展示

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt# 生成随机数据
np.random.seed(42)
data = np.random.randn(100, 5)  # 生成100个样本,每个样本有5个特征
columns = ['Feature1', 'Feature2', 'Feature3', 'Feature4', 'Feature5']
df = pd.DataFrame(data, columns=columns)# 计算协方差矩阵
cov_matrix = df.cov()# 使用热图可视化协方差矩阵
plt.figure(figsize=(10, 8))
sns.heatmap(cov_matrix, annot=True, fmt='.2f', cmap='coolwarm', square=True, cbar_kws={"shrink": .8})
plt.title('Covariance Matrix Heatmap')
plt.show()

在这里插入图片描述
通过热图等可视化方法,可以直观地观察协方差矩阵,理解各变量间的相关性及其不确定性。
卡尔曼滤波器主要通过两个噪声协方差矩阵来表示系统中的不确定性:
过程噪声协方差矩阵( Q Q Q)和测量噪声协方差矩阵( R R R)。

1. 过程噪声协方差矩阵( Q Q Q

过程噪声协方差矩阵 Q Q Q 表示系统模型中的不确定性。具体来说:

  • 过程噪声:过程噪声(也称为模型噪声或系统噪声)是指系统的状态在每一步更新时所包含的随机误差。这种噪声可能来源于系统建模的不完善、外界扰动或者其他不可预测的变化。
  • 协方差矩阵 Q Q Q:矩阵 Q Q Q 的每个元素表示系统不同状态变量之间噪声的协方差。对角线元素表示各个状态变量自身的不确定性,非对角线元素表示不同状态变量之间的相关性。

2. 测量噪声协方差矩阵( R R R

测量噪声协方差矩阵 R R R 表示传感器测量中的不确定性。具体来说:

  • 测量噪声:测量噪声是指传感器在获取系统状态测量值时所包含的随机误差。它可能来源于传感器的精度限制、外部环境的干扰等。
  • 协方差矩阵 R R R:矩阵 R R R 的每个元素表示不同测量值之间噪声的协方差。对角线元素表示各个测量值自身的不确定性,非对角线元素表示不同测量值之间的相关性。

3. 不确定性的表达

通过 Q Q Q R R R 矩阵,卡尔曼滤波器在以下方面表达和处理不确定性:

  • 状态预测:在预测步骤中,卡尔曼滤波器使用过程噪声协方差矩阵 Q Q Q 来估计由于过程噪声引入的不确定性,从而更新预测状态的协方差。
  • 测量更新:在更新步骤中,卡尔曼滤波器使用测量噪声协方差矩阵 R R R 来衡量测量噪声的不确定性,从而更新状态估计和协方差矩阵。

卡尔曼增益 K K K 的计算公式中确实包含了过程噪声协方差矩阵 Q Q Q 和测量噪声协方差矩阵 R R R

卡尔曼增益 K K K 的计算公式

卡尔曼增益 K K K 是在更新步骤中计算的,公式如下:

K = P k − H k T ( H k P k − H k T + R ) − 1 K = P_k^- H_k^T (H_k P_k^- H_k^T + R)^{-1} K=PkHkT(HkPkHkT+R)1

其中:

  • P k − P_k^- Pk 是预测误差协方差矩阵。
  • H k H_k Hk 是观测矩阵。
  • R R R 是测量噪声协方差矩阵。

过程噪声协方差矩阵 Q Q Q 和测量噪声协方差矩阵 R R R

这两个矩阵在卡尔曼滤波器的预测和更新步骤中起到关键作用:

  1. 预测步骤:(DeepSORT(目标跟踪算法)中卡尔曼滤波器中的预测)
  • 状态预测
    x ^ k − = A x ^ k − 1 + B u k − 1 \hat{x}_k^- = A \hat{x}_{k-1} + B u_{k-1} x^k=Ax^k1+Buk1
  • 误差协方差预测
    P k − = A P k − 1 A T + Q P_k^- = A P_{k-1} A^T + Q Pk=APk1AT+Q在这里,过程噪声协方差矩阵 Q Q Q 用于更新预测误差协方差矩阵 P k − P_k^- Pk。它反映了系统内部的随机变化或不确定性。
  1. 更新步骤
  • 计算卡尔曼增益
    K k = P k − H k T ( H k P k − H k T + R ) − 1 K_k = P_k^- H_k^T (H_k P_k^- H_k^T + R)^{-1} Kk=PkHkT(HkPkHkT+R)1
  • 状态更新
    x ^ k = x ^ k − + K k ( z k − H k x ^ k − ) \hat{x}_k = \hat{x}_k^- + K_k (z_k - H_k \hat{x}_k^-) x^k=x^k+Kk(zkHkx^k)
  • 误差协方差更新
    P k = ( I − K k H k ) P k − P_k = (I - K_k H_k) P_k^- Pk=(IKkHk)Pk在这里,测量噪声协方差矩阵 R R R 直接出现在卡尔曼增益的计算公式中。它反映了观测数据中的噪声和不确定性。

从卡尔曼增益的计算公式中,我们可以看出:

  • 预测误差协方差矩阵 P k − P_k^- Pk 包含了过程噪声协方差矩阵 Q Q Q,因为 P k − P_k^- Pk 是通过前一个时间步的误差协方差矩阵 P k − 1 P_{k-1} Pk1 和过程噪声协方差矩阵 Q Q Q 进行更新的。具体地, P k − = A P k − 1 A T + Q P_k^- = A P_{k-1} A^T + Q Pk=APk1AT+Q

  • 测量噪声协方差矩阵 R R R 直接出现在卡尔曼增益的分母部分(即 H k P k − H k T + R H_k P_k^- H_k^T + R HkPkHkT+R 中),影响了卡尔曼增益的大小。

  • 过程噪声协方差矩阵 Q Q Q 影响预测误差协方差矩阵 P k − P_k^- Pk,从而间接影响卡尔曼增益 K K K

  • 测量噪声协方差矩阵 R R R 直接出现在卡尔曼增益的计算公式中,影响了卡尔曼增益 K K K 的值。
    卡尔曼增益 K K K 的计算公式通过组合预测误差协方差矩阵 P k − P_k^- Pk 和测量噪声协方差矩阵 R R R 来确定当前测量和预测在更新状态估计时的权重,从而实现对系统状态的最优估计。

状态估计

状态估计是指系统的当前状态向量的估计值。这通常是一个包含系统所有状态变量的向量。比如,假设我们在跟踪一个运动物体的状态,其状态向量可能包含位置和速度:

x ^ k = [ position x position y velocity x velocity y ] \hat{x}_k = \begin{bmatrix} \text{position}_x \\ \text{position}_y \\ \text{velocity}_x \\ \text{velocity}_y \end{bmatrix} x^k= positionxpositionyvelocityxvelocityy

在卡尔曼滤波器中,状态估计分为预测估计和更新估计:

  • 预测状态估计:通过系统动态模型从先前的状态估计得到当前时间步的预测状态。
    x ^ k − = A x ^ k − 1 + B u k − 1 \hat{x}_k^- = A \hat{x}_{k-1} + B u_{k-1} x^k=Ax^k1+Buk1
  • 更新状态估计:结合预测估计和当前的测量值来更新状态估计。
    x ^ k = x ^ k − + K k ( z k − H k x ^ k − ) \hat{x}_k = \hat{x}_k^- + K_k (z_k - H_k \hat{x}_k^-) x^k=x^k+Kk(zkHkx^k)

误差协方差矩阵

协方差矩阵用于描述状态估计的不确定性,它表示状态估计中的误差分布情况。误差协方差矩阵的对角元素表示各个状态变量估计的方差,非对角元素表示状态变量之间的协方差。

在卡尔曼滤波器中,协方差矩阵同样分为预测协方差矩阵和更新协方差矩阵:

  • 预测误差协方差矩阵:通过系统动态模型从先前的误差协方差矩阵得到当前时间步的预测误差协方差矩阵。
    P k − = A P k − 1 A T + Q P_k^- = A P_{k-1} A^T + Q Pk=APk1AT+Q
    这里, P k − P_k^- Pk 是预测误差协方差矩阵, Q Q Q 是过程噪声协方差矩阵。
  • 更新误差协方差矩阵:结合预测误差协方差矩阵和测量噪声协方差矩阵更新误差协方差矩阵。
    P k = ( I − K k H k ) P k − P_k = (I - K_k H_k) P_k^- Pk=(IKkHk)Pk

两者的比较

  • 状态估计:是一个向量,表示系统的状态变量的估计值。
  • 误差协方差矩阵:是一个矩阵,表示状态估计的误差及其不确定性。

project 方法

该方法将状态分布投影到测量空间,这是更新步骤的一部分,用于计算测量预测和测量预测的协方差。

def project(self, mean, covariance):"""将状态分布投影到测量空间。参数----------mean : ndarray状态的均值向量(8维数组)。covariance : ndarray状态的协方差矩阵(8x8维)。返回-------(ndarray, ndarray)返回给定状态估计的投影均值和协方差矩阵。"""# 计算测量噪声标准差std = [self._std_weight_position * mean[3],self._std_weight_position * mean[3],1e-1,self._std_weight_position * mean[3]]innovation_cov = np.diag(np.square(std))# 投影均值到测量空间mean = np.dot(self._update_mat, mean)# 计算投影后的协方差矩阵covariance = np.linalg.multi_dot((self._update_mat, covariance, self._update_mat.T))return mean, covariance + innovation_cov
  • 输入:状态均值向量 mean 和状态协方差矩阵 covariance。
  • 过程:计算测量噪声协方差 innovation_cov。使用 self._update_mat 将状态均值投影到测量空间。使用 self._update_mat 计算投影后的协方差矩阵。
  • 输出:投影后的均值和协方差矩阵。
    这对应于卡尔曼滤波的预测测量和预测测量的协方差:

z ^ k = H k x ^ k − \hat{z}_k = H_k \hat{x}_k^- z^k=Hkx^k
S k = H k P k − H k T + R S_k = H_k P_k^- H_k^T + R Sk=HkPkHkT+R

update 方法

该方法运行卡尔曼滤波器的更新步骤,使用新测量值来更新状态估计和协方差矩阵。

def update(self, mean, covariance, measurement):"""运行卡尔曼滤波器的校正步骤。参数----------mean : ndarray预测状态的均值向量(8维)。covariance : ndarray状态的协方差矩阵(8x8维)。measurement : ndarray4维测量向量(x, y, a, h),其中(x, y)是边界框的中心位置,a是长宽比,h是高度。返回-------(ndarray, ndarray)返回校正后的状态分布。"""# 计算投影的均值和协方差矩阵projected_mean, projected_cov = self.project(mean, covariance)# 计算卡尔曼增益chol_factor, lower = scipy.linalg.cho_factor(projected_cov, lower=True, check_finite=False)kalman_gain = scipy.linalg.cho_solve((chol_factor, lower), np.dot(covariance, self._update_mat.T).T,check_finite=False).Tinnovation = measurement - projected_mean# 更新状态均值和协方差矩阵new_mean = mean + np.dot(innovation, kalman_gain.T)new_covariance = covariance - np.linalg.multi_dot((kalman_gain, projected_cov, kalman_gain.T))return new_mean, new_covariance
  • 输入:预测状态均值向量 mean、状态协方差矩阵 covariance 和测量值 measurement。
  • 过程:调用 project 方法计算投影后的均值和协方差矩阵。使用 scipy.linalg.cho_factor 和 scipy.linalg.cho_solve 计算卡尔曼增益 kalman_gain。计算测量创新 innovation,即测量值与预测测量值的差异。更新状态均值 new_mean 和协方差矩阵 new_covariance。
  • 输出:更新后的状态均值和协方差矩阵。
    这对应于卡尔曼滤波的更新步骤:

K k = P k − H k T ( H k P k − H k T + R ) − 1 K_k = P_k^- H_k^T (H_k P_k^- H_k^T + R)^{-1} Kk=PkHkT(HkPkHkT+R)1
x ^ k = x ^ k − + K k ( z k − z ^ k ) \hat{x}_k = \hat{x}_k^- + K_k (z_k - \hat{z}_k) x^k=x^k+Kk(zkz^k)
P k = ( I − K k H k ) P k − P_k = (I - K_k H_k) P_k^- Pk=(IKkHk)Pk

卡尔曼增益

卡尔曼增益是卡尔曼滤波器中的一个关键参数,用简单易懂的方式来解释的话,可以把它看作是一个调节器,它用来平衡两个信息来源的权重:我们对当前状态的预测和从测量中得到的新信息。

解释

  1. 预测与测量
  • 假设你在猜测某个东西的当前状态(比如一个移动的物体的位置)。
  • 你有一个对这个位置的预测,这是基于你对这个物体运动规律的理解和之前的状态。
  • 同时,你也有一个新测量的数值,可能是通过某个传感器获得的,这个测量有一定的误差。
  1. 谁更可靠?
  • 卡尔曼增益就是一个“智能的调节器”,它会根据预测和测量的可靠性来决定给哪个更多的权重。
  • 如果你的预测非常可靠(比如你的模型非常准确),而测量的误差很大,那么卡尔曼增益会倾向于相信预测,给预测更多的权重。
  • 如果你的测量非常精确(误差很小),而预测的不确定性很高,那么卡尔曼增益会倾向于相信测量,给测量更多的权重。
  1. 动态调整
  • 卡尔曼增益不是固定的,它会随着每一步的预测和测量结果动态调整。每次新信息进来时,卡尔曼增益都会重新计算,以确保它在当前情况下做出最佳决策。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是 URL 过滤?是如何保障浏览体验的?

互联网是一个无边无际的空间,几乎包含了你能想象到的一切。不幸的是,这意味着也存在着从不合适到非常危险的网站。这就是 URL 过滤可以发挥作用的地方。 一、URL 过滤的含义 我们希望您已经熟悉 URL(统一资源定位器),…

Java MyBatis实战:QueryWrapper中的and和or拼接技巧

哈喽,大家好,我是木头左! 一、引言 在Java Web开发中,MyBatis是一个非常流行的持久层框架。它通过XML或注解的方式将Java对象与数据库表进行映射,从而实现数据的增删改查操作。在使用MyBatis的过程中,经常…

进程和内存管理

描述: 内存的使用和剩余情况当前cpu的负载情况找进程的id结束某个进程 检查内存: 方法一: /proc/meminfo 文件这是一个伪文件这个文件,纪录了内存的相关信息不用用vi打开,应该用cat查看 方法二: 命令…

Qt程序打包成单个exe文件

文章目录 0. 准备工作1. 使用 windeployqt 提取必要的动态链接库和资源文件1.1 操作步骤1.2 补充 2. 使用 Enigma Virtual Box将文件夹打包成单个exe2.1 操作步骤 0. 准备工作 Qt程序打包用到的工具有: windeployqt :安装Qt时自带Enigma Virtual Box 下…

重温共射放大电路

1、放大概念 小功率信号变成一个大功率信号,需要一个核心器件做这件事,核心器件的能量由电源提供,通过核心器件用小功率的信号去控制大电源,来实现能量的转换和控制,前提是不能失真,可以用一系列正弦波进行…

SpringBoot之静态资源

默认静态资源路径 classpath:/META-INF/resources/classpath:/resources/classpath:/static/classpath:/public/ 静态资源路径下的文件,可以通过根目录访问 resources 文件夹的文件如下图所示: 启动项目,分别访问以下路径: ht…

解锁 DevOps 精通:成功的综合指南

在动态的软件开发领域,要掌握 DevOps,需要对其核心原则有细致的了解,并采取战略性实施方法。DevOps 是一种协作方法,它将软件开发 (Dev) 和 IT 运营 (Ops) 结合起来,以自动化和简化软件交付流程。它旨在缩短开发周期、…

CleanMyMac X软件最新版下载【安装详细图文教程】

​CleanMyMac X是一款专业的Mac清理软件,可智能清理mac磁盘垃圾和多余语言安装包,快速释放电脑内存,轻松管理和升级Mac上的应用,同时CleanMyMac X可以强力卸载恶意软件,修复系统漏洞,一键扫描和优化Mac系统…

外星人Aurora R15 intel版 原厂Windows11oem系统

装后恢复到您开箱的体验界面,包括所有原机所有驱动AWCC、Mydell、office、mcafee等所有预装软件。 最适合您电脑的系统,经厂家手调试最佳状态,性能与功耗直接拉满,体验最原汁原味的系统。 原厂系统下载网址:http://w…

【机器学习】GANs网络在图像和视频技术中的应用前景

📝个人主页:哈__ 期待您的关注 目录 1. 🔥引言 背景介绍 研究意义 2. 🎈GANs的基本概念和工作原理 生成对抗网络简介 工作原理 3. 🤖GANs在图像生成中的应用 图像超分辨率 工作原理 图像去噪 工作原理 图…

目标检测6:采用yolov8, RK3568推理的性能

最近有个小伙伴,问我rk3568上推理图片,1秒能达到多少? 本次采用模型为yolov8s.rknn,作了一次验证。 解析一段视频文件,1280*720, fps 24。读取视频文件,然后进行推理。 通过性能优化,发现推理…

Apple ID已成历史,在ios18中正式更名为Apple Account

随着iOS18的首个开发者预览版成功推送,众多热衷于尝鲜的用户已纷纷升级并开启全新体验。在这个版本中,备受瞩目的Apple ID正式迎来了它的进化——更名为Apple Account,并且拥有了中文名称“Apple账户”或简称“苹果账户”。 不过目前官网还称…

【全开源】Workerman在线客服系统(ThinkPHP+FastAdmin+Workerman)

Workerman在线客服系统:高效沟通的新选择 基于ThinkPHPFastAdminWorkerman开发的一款实时在线客服系统,支持多客服(不限座席)、知识库、离线留言板、离线消息、历史会话、微信小程序接入、Uni-app接入(高级授权)、用户轨迹等功能。​ 📢 一…

AI大模型智慧政务解决方案

随着AI大模型技术的蓬勃发展和普及应用,我们的政务治理正迎来一场波澜壮阔的革新巨浪。这场革新,不仅是技术层面的飞跃,更是一场深刻改变治理理念的伟大变革。它彻底颠覆了传统政务治理中依赖人力、效率低下、响应迟缓的“人盯人”模式&#…

STM32的FreeRtos的学习

首先就是去官网下载一个源文件:FreeRtos官网 下载下来的是一个zip文件,解压缩了。 然后再工程文件夹中创建个文件夹: 在这个文件夹中创建3个文件夹: 然后开始把下载下来的文件夹中的文件挑选出来放到我们的工程文件夹中&#xff1…

第二届京津冀现代商贸物流金融创新发展百人大会将于6月16日在廊坊举行

物流是实体经济的“筋络”,联接生产和消费、内贸和外贸,必须有效降低全社会物流成本,增强产业核心竞争力,提高经济运行效率。《京津冀协同发展规划纲要》赋予河北“三区一基地”的功能定位,建设全国现代商贸物流重要基…

逻辑回归及python实现

概述 logistic回归是一种广义线性回归(generalized linear model),因此与多重线性回归分析有很多相同之处。它们的模型形式基本上相同,都具有 w‘xb,其中w和b是待求参数,其区别在于他们的因变量不同&#x…

刷题笔记2:用位运算找“只出现一次的一个数”

1. & 和 | 的基本操作 137. 只出现一次的数字 II - 力扣(LeetCode) 先对位运算的操作进行复习: 1、>> 右移操作符 移位规则:⾸先右移运算分两种: 1. 逻辑右移:左边⽤0填充,右边丢…

安装git bash

1、cmd下面输入git,直接报错 2、下载git,并安装 Git - Downloading Package 安装: 然后next,next,最好finish. 这样git就安装好了,可以直接用了。

Oracle最终会扼杀MySQL?(译)

原文网站:https://www.percona.com/blog/is-oracle-finally-killing-mysql/ 作者:Peter Zaitsev 自从Oracle收购了MySQL后,很多人怀疑Oracle对开源MySQL的善意,这篇percona的文章深入分析了Oracle已经和将要对MySQL采取的措施&a…