Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >tensorflow对象检测API的置信度

我正在通过tensorflow执行对象检测,并且我面临着目标检测不太准确的问题。我使用的架构是faster_rcnn_resnet_101

具体来说,我想提出的问题如下:

我正在尝试检测框,但我所附的图像检测到平板电脑为盒子,但有一个非常高的置信度水平(99%)。我想知道信心水平是在哪里定义和打印的,因为我真的很好奇为什么平板电脑有如此高的置信度,就像一个盒子一样。我输入的所有训练数据都是像我发现的那样的盒子。

有人能帮我找出Tensorflow对象检测API中定义的置信度在哪里吗?还是带我去解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-24 00:55:39

首先,我将解释分数是如何产生的。显示在框边的置信度分数是model faster_rcnn_resnet_101的输出。下面是它的生成方式。

上面的数字是从Faster借来的,但是对于盒子预测部分,更快的R有相同的结构。我们从ROI池层开始,所有区域提案(在特征图上)都经过池层,并将被表示为固定的形状特征向量,然后通过完全连接的层,将成为如图所示的ROI特征向量。现在,相同的ROI特征向量将提供给用于类预测的softmax分类器和用于包围盒回归的bbox回归器。这是它们在tensorflow图中的样子。

在图中,平坦节点和Flatten_1节点都接收相同的特征张量,并执行平坦运算(在平坦op之后,它们实际上是第一个图形中的ROI特征向量),它们仍然是相同的。现在我们关注ClassPredictor,因为这实际上会给出最终的类预测。

上图是ClassPredictor内部的情况。实际上是一个完全连接的层,如第一个图所示。输出张量在图中是形状为64*24的,它代表了64个预测对象,每个都是24个类中的一个(23个类,1个背景类)。因此,对于每个物体,输出是一个1x24向量,99%和100%的置信度分数是向量中最大的值。

所以对于你的问题,置信度不是定义的,而是模型的输出,有一个可以在可视化函数中定义的置信度门限,所有大于这个阈值的分数都会显示在图像上。因此,除非您重新培训模型和/或提供更多的培训数据,否则无法更改信心分数。在您的数字,99%的检测平板将被归类为假阳性时,计算的精密度。

解决这一问题的办法是增加更多的培训数据和/或为更多的步骤(但不过分适合)进行培训。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55820012

复制
相关文章
使用HSB而不是RGB来定义颜色
有多种方法可以在代码中定义颜色。最常用的方法是指定三种基色的值 - 红色、绿色和蓝色 (RGB)。本文通过指定色调、饱和度和亮度 (HSB) 的值来探索替代机制的使用。可以以更直观的方式使用 HSB 属性来创建颜色搭配良好的调色板。
韦弦zhy
2023/01/06
2.8K0
使用HSB而不是RGB来定义颜色
什么是图像分类的Top-5和Top-1错误率
第一次听到top-5错误率,是在CV课上老师讲的,今天又在ImageNet论文上看到了,所以小记一下。
种花家的奋斗兔
2020/11/13
2.8K0
为什么 wait/notify/notifyAll 在 Object 类定义而不是 Thread 类?
作者:Yujiaao 来源:segmentfault.com/a/1190000019962661
Java技术栈
2020/06/16
1.5K0
为什么建议使用你 LocalDateTime ,而不是 Date?
多线程并发如何保证线程安全 - 避免线程之间共享一个SimpleDateFormat对象,每个线程使用时都创建一次SimpleDateFormat对象 => 创建和销毁对象的开销大 - 对使用format和parse方法的地方进行加锁 => 线程阻塞性能差 - 使用ThreadLocal保证每个线程最多只创建一次SimpleDateFormat对象 => 较好的方法
芋道源码
2019/10/23
1.6K0
JDBC为什么要使用PreparedStatement而不是Statement
前言 这篇博客不是我写的,是由刘志军大大翻译的,真心觉得很棒,而且是必学要掌握的东西,所以就转载过来了,我个人的第一篇转载文章。 开始 PreparedStatement是用来执行SQL查询语句的API之一,Java提供了 Statement、PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedStatement 用于执行参数化查询,而 CallableStatement则是用于存储过程。同时Prepar
roobtyan
2018/06/04
1.5K0
JDBC为什么要使用PreparedStatement而不是Statement
PreparedStatement是java.sql包下面的一个接口,用来执行SQL语句查询,通过调用connection.preparedStatement(sql)方法可以获得PreparedStatment对象。数据库系统会对sql语句进行预编译处理(如果JDBC驱动支持的话),预处理语句将被预先编译好,这条预编译的sql查询语句能在将来的查询中重用,这样一来,它比Statement对象生成的查询速度更快。下面是一个例子:
哲洛不闹
2018/09/19
1.1K0
JDBC为什么要使用PreparedStatement而不是Statement
JDBC为什么要使用PreparedStatement而不是Statement
PreparedStatement是java.sql包下面的一个接口,用来执行SQL语句查询,通过调用connection.preparedStatement(sql)方法可以获得PreparedStatment对象。数据库系统会对sql语句进行预编译处理(如果JDBC驱动支持的话),预处理语句将被预先编译好,这条预编译的sql查询语句能在将来的查询中重用,这样一来,它比Statement对象生成的查询速度更快。下面是一个例子:
哲洛不闹
2018/09/19
9780
JDBC为什么要使用PreparedStatement而不是Statement
为什么建议使用你LocalDateTime,而不是Date?
在项目开发过程中经常遇到时间处理,但是你真的用对了吗,理解阿里巴巴开发手册中禁用static修饰SimpleDateFormat吗?
良月柒
2019/10/28
1.5K0
为什么建议使用你LocalDateTime,而不是Date?
JDBC为什么要使用PreparedStatement而不是Statement
PreparedStatement是用来执行SQL查询语句的API之一,Java提供了 Statement、PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedStatement 用于执行参数化查询,而 CallableStatement则是用于存储过程。同时PreparedStatement还经常会在Java面试被提及,譬如:Statement与PreparedStatement的区别以及如何避免SQL
java达人
2018/01/31
3.8K0
为什么建议使用你 LocalDateTime ,而不是 Date?
来源:juejin.im/post/5d7787625188252388753eae
JAVA葵花宝典
2019/10/29
1.1K0
为什么建议使用你 LocalDateTime ,而不是 Date?
来源:juejin.im/post/5d7787625188252388753eae
用户1516716
2019/10/24
1.1K0
为什么建议你使用LocalDateTime而不是Date?
calendar是共享变量,并且这个共享变量没有做线程安全控制。当多个线程同时使用相同的SimpleDateFormat对象【如用static修饰的SimpleDateFormat】调用format方法时,多个线程会同时调用calendar.setTime方法,可能一个线程刚设置好time值另外的一个线程马上把设置的time值给修改了导致返回的格式化时间可能是错误的。在多并发情况下使用SimpleDateFormat需格外注意SimpleDateFormat除了format是线程不安全以外,parse方法也是线程不安全的。parse方法实际调用alb.establish(calendar).getTime()方法来解析,alb.establish(calendar)方法里主要完成了
Bug开发工程师
2020/03/12
2.1K0
为什么 url 通常使用域名而不是 IP 地址?
大家好,我是前端西瓜哥。今天来谈谈为什么我们的网址,通常是使用域名,而不是 IP 地址。
前端西瓜哥
2022/12/21
1.8K0
为什么我应该使用指针而不是对象本身
对于现代 C++ (尤其是 C++ 11 之后),大量使用 new 动态分配是不明智的选择。
ClearSeve
2022/02/10
1.5K0
我为什么推荐大家使用 Nginx 而不是 Apache?
最后Nginx和Apache的差异总结成一句话就是:“Nginx适合处理静态请求和反向代理,Apache适合处理动态请求”。但这个差异化只有在请求量达到一定的阈值时表现差异才能表现出来,对于 WordPress 、 Typecho 等等这里动态站点来说某一天流量达到这个阈值的时候,还可以部署LNMPA这样的生产环境来应对和解决。所以流量阈值需求不到的时候,选择Nginx是性价比最好的选择了。
明月登楼的博客
2019/05/15
2.5K0
我为什么推荐大家使用 Nginx 而不是 Apache?
为什么很多 ISP 仍然使用 IS-IS 而不是 OSPF?
来源:网络技术联盟站 链接:https://www.wljslmz.cn/18802.html
网络技术联盟站
2023/03/05
1.3K0
为什么很多 ISP 仍然使用 IS-IS 而不是 OSPF?
谷歌最新翻译系统使错误率减少85%
已参加或正在参加外语课程并使用过谷歌翻译的学生,可能对其语言转换工具的不太完美翻译表现很熟悉。谷歌推出了一个新的系统,利用最先进的技术将翻译错误减少了约55%到85%。 新推出的谷歌神经机器翻译(GNMT)系统提供“端到端的自动翻译方法,有可能克服许多传统的基于短语的翻译系统的弱点”。总体上讲,神经机器翻译(NMT)系统的工作模式是将整个输入句子看做一个单位进行翻译,不像其他的NMT系统会遇到生僻字的麻烦,因此GMNT能够提供更准确和更快速的翻译。该技术得到了Google人工智能系统TensorFlow的支
人工智能快报
2018/03/14
9430
为什么使用OPA而不是原生的Pod安全策略?
https://www.magalix.com/blog/enforce-pod-security-policies-in-kubernetes-using-opa
CNCF
2020/09/04
1.2K0
为什么我在 Linux 上使用 exa 而不是 ls?
我们生活在一个繁忙的世界里,当我们需要查找文件和数据时,使用 ls 命令可以节省时间和精力。但如果不经过大量调整,默认的 ls 输出并不十分舒心。当有一个 exa 替代方案时,为什么要花时间眯着眼睛看黑白文字呢?
用户1880875
2021/09/06
2.1K0
【说站】为什么推荐大家使用 Nginx 而不是 Apache?
无论是 Nginx 还是 Apache 都是 Web 服务器应用,通俗点说我们的网站都是需要 Web 服务器应用来展现给客户的,而服务器是供 Web 服务器应用正常稳定的运行的基础。所以说选择好 Web 服务器应用是会影响到网站性能表现的,甚至会影响到用户的浏览体验。而目前比较主流的 Web 服务器应用也就是 Nginx 和 Apache 了,今天就给大家说明一下为什么我一直都推荐大家使用 Nginx 而不是 Apache?
很酷的站长
2022/11/24
5550
【说站】为什么推荐大家使用 Nginx 而不是 Apache?

相似问题

当选择多个文件时,$@是如何表现的?

23

码头工组成多个码头文件

16

当码头组合运行成功时,码头组合失败。

10

码头码头-组成多个网络

10

码头包和码头组合有什么不同?

35
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档