TF 对象检测 API - 并非所有类都被检测到且行为异常

2023-12-02

Setup:

  1. ubuntu 16.04 LTS,4 个 vCPU + 30GB 内存
  2. nvidia K80 GPU 带 12GB 内存
  3. CUDNN 8.0 x64
  4. TF版本1.3

目标:使用TF对象检测API检测人脸、人物、手枪、步枪、automatic_rifle

采取的步骤:

1)准备图像和边界框- 人脸:使用 WIDER 人脸数据集 - person:使用COCO数据集 - 枪:使用过 Image-Net

枪支数量远不及面部和人物的数据集大小,因此我通过限制面部/人物图像的数量来确保每个类别的图像数量相似。

90% 用于训练,10% 用于测试

所以每个类的图像数量看起来像这样

train - see csv

  • 步枪401
  • 左轮手枪389
  • 突击步枪 532
  • 面对407
  • 389 人

test - see csv

  • 步枪45
  • 左轮手枪44
  • 突击步枪 60
  • 脸 126
  • 44号人

2)生成TF记录 (see code)

# see pastebin
  • 使用的模型:faster_rcnn_resnet101_coco
  • 配置:与宠物自定义检测器配置非常相似,see code
  • .pbtxt 文件:see code

==> 小提示:最后一行有“nb_epoch”。我注意到这个值不存在于使用 TF 对象检测 API 提供的其他模型配置文件中(即在文件夹中)

3) Train跑了超过 20 万步。

Problem

我训练的 5 个类并不总是出现,即使是在训练过的图像上也是如此。似乎是人或脸正在检测,很少两者都检测到。

作为参考框架,这是随 TF 对象检测 API 附带的 faster_rcnn_inception_resnet_v2_atrous_coco 模型的结果。我知道这不是同类比较,但至少你可以看到人员检测:

看图片

以下是自定义数据集训练模型的做法:

看图片

1)我有什么想法出错了吗?

这位 SO 用户也遇到了同样的问题(TensorFlow 对象检测 API 奇怪的行为),但声称他通过裁剪/调整输入图像大小解决了这个问题。

训练数据是否需要调整大小?我不记得在其中看到过任何大小调整定制宠物探测器教程但我确实问过 b/c 我确实在配置文件中看到了 min_ 和 max_dimension


在您的配置文件中,您设置 num_examples: 8000 是 8000,将该数字设置为您要跟踪的测试图像数量。例如,您要在测试文件夹中拍摄 200 张图像,然后“num_examples:200:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TF 对象检测 API - 并非所有类都被检测到且行为异常 的相关文章

随机推荐

  • Angular-UI 路由器无法在 Ionic 应用程序中工作

    我正在开发一个使用 Ionic Framework 的应用程序 但在尝试使用 Angular ui 路由器时遇到问题 下面的第一段代码运行完美 然而 一旦我删除ng controller LoginController as login 并
  • 为什么 try {...} finally {...} 好;尝试{...}抓住{}不好?

    我见过有人说使用不带参数的 catch 是一种不好的形式 特别是如果该 catch 不执行任何操作 StreamReader reader new StreamReader myfile txt try int i 5 0 catch No
  • OpenCV 匹配模板得分不佳

    我正在尝试使用 OpenCV 进行一些图像匹配 并使用 cvMatchTemplate 函数 我拍摄了一张样本图像 然后将其一部分剪下来作为模板 然后尝试匹配它 当我这样做时 cvMatchTemplate 函数正确找到子图像并给它最好的分
  • 无法跨库项目使用 .aidl 文件吗?

    本着重用代码的精神 我正在尝试创建一些库项目 但是 我似乎在定义跨库的 aidl 文件时遇到了问题 问题是这样的 在库 A 中 我有 Foo java 和 Foo aidl Foo java 是 Parcelable 所以 aidl 声明是
  • 在 Windows XP 中安装 Xcode

    我想知道我是否可以在 Windows XP 上安装 Xcode 如果可能 还请提供文档链接 非常感谢您提前提供的帮助 这当然是可能的 有两条路线 在第二个分区 磁盘上安装 OSx86 又名 iATKOS Kalyway 并进行双引导 在 V
  • Python urllib2 进度挂钩

    我正在尝试使用 urllib2 http 客户端在 python 中创建下载进度条 我查看了 API 以及谷歌 似乎 urllib2 不允许您注册进度挂钩 然而 较旧的已弃用的 urllib 确实具有此功能 有谁知道如何使用 urllib2
  • Python 3,从 gzip 文件读取/写入压缩的 json 对象

    对于Python3 我遵循 Martijn Pieters 的代码有了这个 import gzip import json writing with gzip GzipFile jsonfilename w as fout for i in
  • 如何使用正则表达式在字符串中查找美国邮政编码?

    填写代码以检查传递的文本是否包含可能的美国邮政编码 格式如下 正好 5 位数字 有时 但并非总是 后跟带有 4 位数字的破折号 邮政编码前面至少需要一个空格 并且不能位于文本的开头 无法产生所需的输出 import re def check
  • CUDA cudaMalloc

    我已经开始编写一个新的 CUDA 应用程序 然而 我一路上遇到了一个有趣的弯路 对变量 x 调用第一个 cudaMalloc 第一次失败 但是 当我第二次调用它时 它返回 cudaSuccess 最近升级到CUDA 4 0 SDK 这是一个
  • 使用 Amazon-Lex 进行评分/意图置信度

    我尝试使用 amazon lex PostText 获取评分值或意图置信度值 但 json 文件中根本没有响应元素 https docs aws amazon com de de lex latest dg API runtime Post
  • IE 在使用 NTLM 身份验证时随机发送空 POST 正文(使用 Angular 到 Spring)

    我们发现 IE 11 中看似随机的调用缺少 POST 经过进一步检查 来自浏览器的请求包含 NTLM 协商令牌 我们有时也会在 GET 上看到此令牌 但它们不受主体问题的影响 因为它们没有主体问题 Chrome和FF没有这个问题 进一步的调
  • 选择包含 R 中每日最大值的行

    因此 我想对数据框进行子集化以选择具有每日最大值的行 Site Year Day Time Cover Size TempChange ST1 2011 97 0 0 Closed small 0 97 ST1 2011 97 0 5 Cl
  • TFS 2013 获取所有 TFS 组,包括 Windows 组

    我正在做这个TFS 2013 以获得所有TFS组的项目级别许可 但我无法获取 Windows 组 我使用以下代码列出组 var applicationGroups identityManagementService ListApplicat
  • jvisualvm:卡在“正在加载堆转储”屏幕上

    我使用以下命令使用 hprof 创建了一个堆转储文件 java agentlib hprof cp jars trove jar bin com mysite MyApp 这样就成功创建了大约 5MB 的文件 java hprof txt
  • 以声明方式描述自定义控件属性时缺少智能感知

    因此 我已经在这个项目上工作了几天 但一直无法解决为用户控件 ascx 请注意 的自定义内部属性获取智能感知支持的问题 我已经多次看到这个问题的解决方案 使用服务器控件 cs 请注意 在此写出article很好 使用 ascx 控件时 除了
  • 如何消除带括号的表达式中的子选择的歧义?

    我有以下表达式符号 expr OpenParen expr Comma expr Comma CloseParen parenExpr OpenParen simpleSelect CloseParen subSelectExpr 不幸的是
  • 无法使用 TestFlight 安装 xCode 4.3 beta 应用程序

    我刚刚升级到 xCode 4 3 并用它生成了一个 iPad 应用程序的新版本 大约 50 名 Beta 测试人员已经使用了几个月 我像往常一样通过 TestFlight 分发了测试版应用程序 大多数测试人员升级没有问题 但一些测试人员在尝
  • 如何附加和分离 Docker 的进程?

    I can attach to a docker process but Ctrl C doesn t work to detach from it exit basically halts the process 建议的工作流程是什么 让
  • WebSphere MQ 连接调整

    我有一个应用程序 它使用 MDB 激活规范和队列连接工厂从 WMQ 获取 放置消息 该应用程序预计最大负载为 80 tps Websphere Application Server 和 WMQ 都是集群式的 每个应用程序服务器都连接到单独的
  • TF 对象检测 API - 并非所有类都被检测到且行为异常

    Setup ubuntu 16 04 LTS 4 个 vCPU 30GB 内存 nvidia K80 GPU 带 12GB 内存 CUDNN 8 0 x64 TF版本1 3 目标 使用TF对象检测API检测人脸 人物 手枪 步枪 autom