标准误和标准差及CV值

标准差

标准差(又称标准偏差、均方差,英语:Standard Deviation,缩写SD),数学符号σ(sigma),在概率统计中最常使用作为测量一组数值的离散程度之用。

标准差定义:

为方差开算术平方根,反映组内个体间的离散程度;标准差与期望值之比为标准离差率。测量到分布程度的结果,原则上具有两种性质:

1、为非负数值(因为开平方后再做平方根);
2、与测量资料具有相同单位(这样才能比对)。

计算公式

标准误

标准误差(英文:Standard Error),也称标准误,即样本统计量的标准差(英文:Standard Deviation),是描述对应的样本统计量抽样分布的离散程度及衡量对应样本统计量抽样误差大小的尺度。

如果已知数据来源的标准差(σ),那么抽取无限多份大小为 n 的样本,每个样本各有一个平均值,所有这个大小的样本之平均值的标准差可证明为:

Sx¯=σn S x ¯ = σ n

但由于通常σ为未知,此时可以用研究中取得样本的标准差 (s) 来估计 SDx¯ S D x ¯
这里写图片描述

CV值

在概率论和统计学中,变异系数,又称“离散系数”(英文:coefficient of variation),是概率分布离散程度的一个归一化量度,其定义为标准差 σ σ 与平均值 μ μ 之比:

Cv=σμ C v = σ μ

变异系数(coefficient of variation)只在平均值不为零时有定义,而且一般适用于平均值大于零的情况。变异系数也被称为标准离差率或单位风险。

变异系数只对由比率标量计算出来的数值有意义。举例来说,对于一个气温的分布,使用开尔文或摄氏度来计算的话并不会改变标准差的值,但是温度的平均值会改变,因此使用不同的温标的话得出的变异系数是不同的。也就是说,使用区间标量得到的变异系数是没有意义的。

import cv2 import numpy as np import matplotlib.pyplot as plt width, height = 288, 512 max_matches = 60 img_i = cv2.imread('f1_1.png', cv2.IMREAD_COLOR) img_j = cv2.imread('kf_1.png', cv2.IMREAD_COLOR) idx_i2j = np.loadtxt('idx_i2j.txt', dtype=np.float32) input_file = "valid_match_j.txt" output_file = "./logs/valid_matchs_j.txt" with open(input_file, "r") as f_in, open(output_file, "w") as f_out: for line in f_in: value = line.strip() if value == "True": f_out.write("1\n") elif value == "False": f_out.write("0\n") valid = np.loadtxt('./logs/valid_matchs_j.txt', dtype=bool) def index_to_coord(index): x = int(index) % width y = int(index) // width return (x, y) valid_indices = np.where(valid)[0] np.random.shuffle(valid_indices) selected = valid_indices[:min(max_matches, len(valid_indices))] kp1, kp2, matches = [], [], [] for i, k in enumerate(selected): x_i, y_i = index_to_coord(k) x_j, y_j = index_to_coord(idx_i2j[k]) kp1.append(cv2.KeyPoint(x_i, y_i, 1)) kp2.append(cv2.KeyPoint(x_j, y_j, 1)) matches.append(cv2.DMatch(i, i, 0)) out_img = np.empty((max(height, height), width*2, 3), dtype=np.uint8) cv2.drawMatches(img_i, kp1, img_j, kp2, matches, outImg=out_img, flags=cv2.DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS, matchColor=(0, 255, 0), singlePointColor=(255, 0, 0)) plt.figure(figsize=(20, 10)) plt.imshow(cv2.cvtColor(out_img, cv2.COLOR_BGR2RGB)) plt.axis('off') plt.title(f'({len(selected)}/{len(valid_indices)} valid matches)') save_path = './logs/mast3r_match.png' plt.savefig(save_path, bbox_inches='tight', dpi=150, pad_inches=0.1) plt.show() 分析以上代码,能否帮助在以上代码的基础上实现一个新的计算匹配对中存在的匹配数量模块?匹配的计算规则如下:首先对于每个匹配对,计算它们像素空间上的欧几里德距离,再统计所有匹配对欧几里德距离之来计算它们的平均标准差,之后对于每个匹配对,如果它们像素空间上的欧几里德距离与距离平均的差距大于两倍标准差,则将它们视为可能的匹配点。计算出匹配对后,用print函数输出匹配对数量。
最新发布
04-02
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值