机器视觉中应用正态分布

笔记来源——

【工程数学基础】9_阈值如何选取??在机器视觉中应用正态分布和6-Sigma【这是一期不需要记笔记的轻松视频,简单的知识,重要的运用】

 

比如我们要识别我们的产品上面是否有保护膜,我们可以通过白色像素点的数量去判断

我们可以发现有膜的跟没膜的白色像素点的数量差距很大

这个时候我们的阈值应该选多少?应该怎么去判断它有多少个像素点的时候有无塑料膜包裹呢?

这时候我们就需要用到概率论的知识了,因为我们的膜覆盖在零件上是随机的,而相机本身的误差也是随机的,对于这些随机变量来讲,他的概率分布是符合正态分布的

在正态分布下,在一个标准差之间,涵盖了68.27%的样本

在三个标准差之间有99.73%的样本

比如我们的A城男子身高为例子 ,我们就可以做出大胆的预测了

99.73%的超高准确率,然而在工业上这个数据是远远不够的

这里引入我们六西格玛的概念,我们这里3西格玛的概率是93.3%,然而上面我们的是

99.73%,这是因为我们工业生产中发现,实际的数据跟我们前面数学的正态分布的概率有1.5\sigma的偏差,上面的这个表格所表现出来的是包含了经验的修正后的工业的数据的一个结果

为什么要到这么高呢?我们可以看两个例子

现在来看看我们如何把这个例子应用到我们前面机器视觉的例子当中

我们可以通过统计的数据求出来合格品的期望方差,以及不合格品的期望和方差,把他们表达出来,找到6\sigma的位置,这里面会有两种情况,如果这里面这两个中心曲线不重合的话,我们的阈值选在他们的中间就可以了 。大于它的就是合格品,小于它的就是不合格品

如果他们是重合的话那就有不同的选择了,比如我们把阈值设置在紫色线这里,设置在合格品的6\sigma以外,这样的话,系统就不会把任何一个好的零件认为是有瑕疵的,但是阴影部分不好的零件可能会被漏放过来,这被称之为FalseDismissal。 

如果我们把阈值设在蓝线这里,我们就不会放过有瑕疵的零件了,但是在阴影部分合格的零件就会被误杀了,这种情况被称之为False Alarm(假警报)。

我们可以看到,合格产品的左边减去六个标准差,得出来的是539。不合格产品的右边加上六个标准差得到的是 1002,可以知道他们是重叠的。所以我们就知道我们宁愿错杀合格品也不能把不合格品放在用户那里。所以我们可以将阈值设置为1050,在不合格品的6\sigma之外。就可以保证不漏检了。

然后我又知道合格产品虽然在6\sigma以内,但却在5\sigma以外,因为5\sigma计算就等于1080,也就是说我们选了1050这个阈值,就有0.023% 的概率报假警

在实际生产中我们的数据会越来越多,方差跟期望值就会越来越准确,我们的阈值也会不断进行变化

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

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

相关文章

c# combox 行间距调整

初始化combox comboBox1.DropDownStyle ComboBoxStyle.DropDownList;comboBox1.ItemHeight 25; // 设置 combox 的行高comboBox1.DrawMode DrawMode.OwnerDrawVariable; 添加 DrawItem 事件 private void comboBox1_DrawItem(object sender, DrawItemEventArgs e){if (…

二次封装 element-plus的Table 表格组件,减少代码臃肿

为什么要二次封装element-plus的Table 表格组件,言简意赅:以后难免会在表格里面加一些统一的逻辑,可以在表格里面书写重复的方法或样式 封装后的使用方式 props 参数类型可选值默认值说明tableDataArray——表格数据tableConfigArray——表…

OpenStack安装步骤

一、准备OpenStack安装环境 1、创建实验用的虚拟机实例。 内存建议16GB(8GB也能运行)CPU(处理器)双核且支持虚拟化硬盘容量不低于200GB(!)网络用net桥接模式 运行虚拟机 2、禁用防火墙与SELin…

迷宫可行路径数

题目描述 现有一个n∗m大小的迷宫,其中1表示不可通过的墙壁,0表示平地。每次移动只能向上下左右移动一格(不允许移动到曾经经过的位置),且只能移动到平地上。求从迷宫左上角到右下角的所有可行路径的条数。 输入描述…

【CSP】2022-03-3 计算资源调度器 stl大模拟使用map优化索引 完整思路+完整的写代码过程(遇到的问题)+完整代码

2022-03-3 计算资源调度器 stl大模拟使用map优化索引 2022-03-3 计算资源调度器 stl大模拟使用map优化索引思路写代码的过程(遇到的问题)完整代码 2022-03-3 计算资源调度器 stl大模拟使用map优化索引 在联系了之前那么多道stl大模拟题后,终…

LCR 101. 分割等和子集【leetcode】/动态规划01背包优化

LCR 101. 分割等和子集 给定一个非空的正整数数组 nums ,请判断能否将这些数字分成元素和相等的两部分。 示例 1: 输入:nums [1,5,11,5] 输出:true 解释:nums 可以分割成 [1, 5, 5] 和 [11] 。 示例 2:…

揭秘PostgreSQL:超越传统数据库的无限可能!

介绍:PostgreSQL是一个功能强大的开源对象关系数据库系统。以下是对PostgreSQL的详细介绍: 开源性:PostgreSQL是完全开源的,这意味着任何人都可以自由地获取、使用和修改它的源代码。 可定制性:它具有高度可定制性&…

问题解决:NPM 安装 TypeScript出现“sill IdealTree buildDeps”

一、原因: 使用了其他镜像(例如我使用了淘宝镜像 npm config set registry https://registry.npm.taobao.org/ ) 二、解决方法: 1.切换为原镜像 npm config set registry https://registry.npmjs.org 安装typescript npm i …

在jupyternotebook中,如何解决作图时负号无法显示的问题?

输入以下代码即可。 import matplotlib as mpl mpl.rcParams[axes.unicode_minus] False 原文链接:在jupyternotebook中,如何解决作图时负号无法显示的问题?

前端开发的发展史:框架与技术栈的演变

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

告别“死记硬背”,坐席助手让客服新手秒变大咖

在客服行业,新手客服人员常常面临着两大难题:一是需要死记硬背大量的标准答案,二是培训时间长,上岗速度慢。然而,随着科技的发展,这些问题正逐渐得到。今天,我们要为大家介绍一款革命性的客服工…

C# MG.CamCtrl 工业相机库(开源) 海康 大恒

C# MG.CamCtrl 相机库(开源) 海康 大恒 介绍工厂模式创建实例选取对应SN号的相机,初始化启动相机取图注销相机参数设置/获取接口 介绍 c# 相机库,含海康、大恒品牌2D相机的常用功能。 底层采用回调信号量模式封装 ,最…

计算机网络 基础知识 套接字 编程

在网络中通过IP地址来标识和区别不同的主机,通过端口号来标识和区分一台主机中的不同应用进程,端口号拼接到IP地址,即构成了套接字(Socket)。在网络中采用发送方和接收方的套接字来识别断电。套接字,实际上…

STM32CubeIDE基础学习-STM32CubeIDE软件新增工程文件夹

STM32CubeIDE基础学习-STM32CubeIDE软件新增工程文件夹 文章目录 STM32CubeIDE基础学习-STM32CubeIDE软件新增工程文件夹前言第1章 添加文件夹第2章 添加文件路径2.1 相对路径方法2.2 绝对路径方法 总结 前言 在编程的过程中,如果需要在原有的工程基础上新增其它的…

SQLite表添加主键

CREATE TABLE [user]([user_name] VARCHAR(128) NOT NULL, [address] VARCHAR(128) NOT NULL, [mobile] VARCHAR(15) NOT NULL, [user_id] INTEGER NOT NULL,CONSTRAINT pk PRIMARY KEY (user_id));CONSTRAINT pk PRIMARY KEY (user_id) pk是键名(添入你想填的名称&…

哈希表|202.快乐数

力扣题目链接 int getSum(int n) {int sum 0;while (n) {sum (n % 10) * (n % 10);n / 10;}return sum; }bool isHappy(int n){int sum getSum(n);int hash[820] {0};while (sum ! 1) {if (hash[sum] 1) {return false;} else {hash[sum];}sum getSum(sum);}return true…

关于做副业、做自媒体:说几句扎心的话

今天在某乎看到一个问题:想尝试自媒体,想了一个月了,都没想好怎么起步,咋整呀? 恰好昨天陪退休老妈去探店,有感而发,就来唠一唠。 一、退休老妈的副业经历 老妈去年年初开始,在某…

探索未来:2024年人工智慧驱动的 AI + 研发趋势

#2024 AI 辅助研发趋势# 当我们站在2024年的风口浪尖时,人工智慧辅助研发的格局即将发生翻天覆地的变化。2023年人工智慧的快速发展为各行业的突破性进步铺平了道路。从研发流程的数位转型,到 AI 开发工具2.0 的出现,未来充满了超越 Copilot…

C++中的内部类

一、内部类的概念 如果一个类定义在另一个类的内部,那么这个类就叫做内部类。(内部类其实和一个独立的类没有区别,只是它会受到外部类访问限定符以及类域的限制,且是外部类的友元) 如果B类是A类的内部类,…

基于数组的顺序表删除操作

删除算法需要注意&#xff1a; 1. 列表长度为0时不能再删除 2.每次删除后长度减一 3.输入删除的数据在原来列表中不存在&#xff0c;不需要改变原列表 #include <iostream> #define MAX 100; using namespace std;int search(int arr[],int len,int n) {for(int i0; i…