OpenCV 正样本尺寸?

2023-11-27

所以我看到了很多关于 OpenCV 的 haartraining 和级联训练工具的教程。我特别有兴趣使用 createsamples 工具训练汽车分类器,但关于 -w 和 -h 参数似乎到处都有冲突的陈述,所以我很困惑。 我指的是命令:

$ createsamples -info samples.dat -vec samples.vec -w 20 -h 20

我有以下三个问题:

  • 据我了解,正样本的长宽比应该与从上面的 -w 和 -h 参数获得的长宽比相同。但是所有正样本的-w和-h参数必须相同吗size,还有?例如。我有近 1000 张图像。裁剪后所有的尺寸都必须相同吗?

  • 如果重要的不是大小而是长宽比,那么与 OpenCV 工具中提到的 -w 和 -h 参数相比,正样本的长宽比必须有多精确匹配?我的意思是,分类器是否非常敏感,即使这里或那里有几个像素的偏差也会影响其性能?或者您会说,只要图像的肉眼观察比例大致相同,处理图像就是安全的。

  • 我已经将几张图像裁剪为相同的尺寸。但在尝试使它们全部具有相同大小时,其中一些的边界框中包含的背景比其他的多一些,有些的边距略有不同。 (例如,参见下面的两张图片。较大的汽车占据了更多的图像,但较小的汽车周围有更宽的边距)。我只是想知道拥有这样的图像集合是否可以,或者它是否会降低分类器的准确性,因此我应该确保所有感兴趣的对象(在本例中为汽车)周围有更紧密的边界框?

big car small car


第一个问题:是的,所有用于训练的图像必须具有相同的大小。 (至少我上次做人脸检测样本训练,这里应该是一样的。如果我没记错的话,如果图像大小不一样的话,就会出现错误。但是你可以尝试一下,看看时间是否正确)允许。)

第二个问题:不太确定你在这里问什么。但分类器并不像你想象的那么敏感。距离感兴趣的对象有几个像素,例如手,如果小指缺少几个像素(由于裁剪)并且其他图像缺少拇指的几个像素,等等......分类器仍然会能够检测到手。因此,各处缺少一些像素或添加一些背景像素,最终不会对分类器产生太大影响。

第三个问题:您应该将图像裁剪为仅包含汽车以获得最佳效果。尝试消除尽可能多的背景。我基于噪声背景、黑色背景和最小背景的裁剪样本进行了一项研究。据我所知,具有最小背景的裁剪样本在假阳性和假阴性方面显示了最佳结果。

你可以使用对象标记来做到这一点:http://achuwilson.wordpress.com/2011/02/13/object-detection-using-opencv-using-haartraining/

乏味的方法是在裁剪后使用 Paint 将所有图像的大小调整为相同的像素值。

此链接还应该回答您的问题:http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html

我也同意 GilLevi 的观点,即与 Haar、HoG、LBP 级联相比,有更好的检测方法。图像的训练可能需要几天的时间(取决于训练的图像数量)。如果您确实必须使用级联方法并且希望最大限度地减少训练时间, 使用类似 Haar 的特征进行训练比使用 HoG 或 LBP 需要更长的时间。但就结果而言,我不太确定哪种方法可以确保更好的性能和稳健性。

希望我的回答对你有帮助。如果还有更多问题,请评论。

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

OpenCV 正样本尺寸? 的相关文章

  • Weka - 探索者和实验者结果之间的差异

    我只是想知道为什么正确分类的百分比与 Weka 的探索者和实验者方面不同 我已检查以确保使用 10 交叉折叠验证以及所有其他参数 有人有主意吗 Thanks 当我在 Weka 邮件列表上给马克 霍尔 Mark Hall 发送电子邮件时 我已
  • 我的 Opencv 应用程序处理速度非常慢

    我正在构建一个 OpenCV 应用程序 它从相机捕获视频 并在删除背景后将其覆盖在另一个视频上 我无法达到合理的速度 因为它以大约 1 fps 的速度播放输出 而我的背景去除以 3 fps 的速度工作 有没有办法以正常速度显示背景视频并以
  • 估计 libGD 操作所需的内存

    在尝试使用 libGD 在 PHP 中调整图像大小之前 我想检查是否有足够的内存可用于执行该操作 因为 内存不足 会完全终止 PHP 进程并且无法捕获 我的想法是 原始图像和新图像中的每个像素 RGBA 需要 4 字节内存 check av
  • OpenCV Python 和 SIFT 功能

    我知道有很多关于Python and OpenCV但我没有找到有关这个特殊主题的帮助 我想提取SIFT关键点来自 python OpenCV 中的图像 我最近安装了 OpenCV 2 3 可以访问 SURF 和 MSER 但不能访问 SIF
  • Opencv 对象检测:ORB GPU 检测器和 SURF GPU 描述符提取器

    我只是做了一个小实验来尝试不同的检测器 描述符组合 我的代码使用 ORB GPU 检测器来检测特征 并使用 SURF GPU 描述符来计算描述符 我使用 BruteForceMatcher GPU 来匹配描述符 并使用 knnMatch 方
  • 如何用OpenCV解决图像处理相机IO延迟

    我有一个 OpenCV 程序 其工作原理如下 VideoCapture cap 0 Mat frame while true cap gt gt frame myprocess frame 问题是如果myprocess耗时较长 超过相机的I
  • 如何选择图像插值方法? (Emgu/OpenCV)

    Emgu OpenCV的 net包装器 提供的图像调整大小功能可以使用四种插值方法中的任意一种 http www emgu com wiki files 1 4 0 0 html 596dd03d 301e d3c6 4c53 c42855
  • 在matlab中融合2个以上的图像

    在 MATLAB 中 如何融合两个以上的图像 例如 我想要做什么imfuse但对于超过 2 个图像 使用两张图像 这是我的代码 A imread file1 jpg B imread file2 jpg C imfuse A B blend
  • Pytorch TypeError:eq() 收到无效的参数组合

    num samples 10 def predict x sampled models guide None None for in range num samples yhats model x data for model in sam
  • 如何使用最小生成树方法将边缘连接到图像中的节点

    我正在做我的手写图像图形匹配项目 我想在图形中表示给定的单词图像 我使用下面的算法 Algorithm input Binary image B Grid width w Grid height h Output Graph g V E w
  • 将 CvSeq 保存到数组

    我对 OpenCV 文档有点迷失 我想将 cvFindContours 返回的 CvSeq 保存到一个数组中 据我了解它将返回 CvContour 的 seq 但我找不到它包含的内容 我应该保存其中的哪些部分 稍后我可以迭代它并说调用 cv
  • OpenCV功能类似于matlab的“查找”

    我正在寻找 openCV 中的一个函数来帮助我制作图像蒙版 例如在 MATLAB 中 B A or B 零 大小 A B A 10 c 有些功能可以让你通过mask向他们提出论据 按照您描述的方式创建面具 我认为您正在追求Cmp 或 Cmp
  • 为什么在 OpenCV 中访问该矩阵时出现内存错误?

    我只是想写入给定大小的矩阵 当我在 Valgrind 中运行该程序时 出现内存错误 如下所示 主要 cpp include
  • Python:处理图像并保存到文件流

    我需要使用 python 处理图像 应用过滤器和其他转换 然后使用 HTTP 将其提供给用户 现在 我正在使用 BaseHTTPServer 和 PIL 问题是 PIL 无法直接写入文件流 因此我必须写入临时文件 然后读取该文件 以便将其发
  • 运行时错误:大小不匹配,m1:[4 x 3136],m2:[64 x 5]位于c:\ a \ w \ 1 \ s \ tmp_conda_3.7_1

    我使用 python 3 当我插入变换随机裁剪大小 224 时 它会给出未匹配错误 这是我的代码 https github com kajasumanie medical plant classification blob master i
  • 如何在 MATLAB 的 for 循环中读取多个图像?

    我已将结果分段放在一个文件夹中 这些需要在 for 循环中读取并在循环中进一步处理 我尝试阅读如下 for i 1 10 file name dir strcat C Users adminp Desktop dinosaurs im im
  • OpenCV findContours() 仅返回一个外部轮廓

    我试图隔离验证码中的字母 我设法过滤验证码 结果是这个黑白图像 但是当我尝试使用 OpenCV 的 findContours 方法分离字母时 它只是发现了一个包裹整个图像的外部轮廓 从而产生了该图像 图像外部的黑色轮廓 我将此代码与 Pyt
  • Scalar(0,255,0) 在 opencv 中没有给出绿色线

    我正在尝试在图像上绘制渐变线 我希望我的线条是绿色的 并且我使用标量 0 255 0 不过 我只得到黑色 对于 Scalar 0 0 0 我也变黑了 对于 Scalar 255 255 255 我得到白色 但任何组合都没有其他颜色 部分代码
  • cv2.imdecode 始终返回 None

    我正在从存储 JPEG 图像的 sqlite BLOB 读取二进制数据 sqlite3 Binary 图像被写入数据库 img cv2 imread images image jpg c execute INSERT INTO pictur
  • ID3和C4.5:“增益比”如何标准化“增益”?

    ID3算法使用 信息增益 度量 C4 5 使用 增益比 度量 即信息增益除以SplitInfo 然而SplitInfo对于记录在不同结果之间平均分配的分割 该值较高 否则较低 我的问题是 这如何帮助解决信息增益偏向于具有多种结果的分裂的问题

随机推荐

  • 如何在 yii2 模态窗口中使用 pjax 更新小部件

    我的模态窗口中有两个 ActiveForm 提交第一个表单后 我需要更新第二个表单并保持模态 据我了解 pjax 可以处理这个问题 但无法让它正常工作 在 form php 中 我有 ActiveForm 和应该更新的小部件 need to
  • 使用 PdfMiner 和 PyPDF2 合并列提取文本

    我正在尝试使用 pdfMiner 解析 pdf 文件文本 但提取的文本被合并 我正在使用以下链接中的 pdf 文件 编辑 链接已损坏 指向潜在的恶意软件 我擅长任何类型的输出 文件 字符串 这是为我返回提取的文本作为字符串的代码 但由于某种
  • 合并两个 jQuery 对象

    我喜欢有一个或多个 jQuery 对象的返回值 以将它们添加到 var f function var a div class a div do someting awesome return a 带有两个 s 的正确示例 var f fun
  • Rails:有没有办法告诉请求的来源?

    谷歌分析告诉我流量的来源是什么 搜索引擎 Facebook 等 有没有办法从每个请求获取此信息request对象或其他 我将不胜感激任何帮助 request referrer会给你HTTP 引荐来源网址 value
  • Azure Web应用程序:堆栈设置

    I can set my stack for a webapp through the portal 我通过 ARM 模板部署基础设施 apiVersion 2015 08 01 type Microsoft Web sites name
  • 如何清除表单中所有文本框的文本?

    private void CleanForm foreach var c in this Controls if c is TextBox TextBox c Text String Empty 上面这个方法不起作用 控件没有被清除 它编译
  • .Net WebDAV 服务器

    我正在寻找在 ASP Net 中实现 WebDAV 服务器 该应用程序将部署到 IIS 6 我见过一些提供此功能的框架 但我似乎无法确定它们如何在不 显然 修改 IIS 设置的情况下完成此功能 我的具体问题是如何配置 IIS 和 ASP N
  • 设置土耳其语文本转语音[重复]

    这个问题在这里已经有答案了 我正在开发文本到语音应用程序 我想将土耳其语设置为这样 tts setLanguage Locale TR 但这在android中不可用 这种添加方式是错误的还是有不同的方法将土耳其语添加到文本到语音中 任何帮助
  • 如何在多项目 Android 构建中排除重复的 C 共享库 (.so)?

    当使用两个库模块构建父项目时 我遇到 重复文件 冲突 这两个模块使用相同的库模块libc shared so共享库 NOTE 请不要认为这是一个 重复的问题 我读过几篇相关的文章 它们帮助我走到了这一步 但是 没有帖子提供适用于我的案例的答
  • 多处理写入 pandas 数据框

    所以我试图用下面的代码做的是读取列表列表并将它们放入名为的函数中checker然后有log result处理函数的结果checker 我尝试使用多线程来执行此操作 因为变量名称rows to parse实际上有数百万行 因此使用多个内核应该
  • 为自定义类实现 hashcode 和 equals

    所以我有许多自定义类 其中也有使用组合的自定义类 我的自定义类具有经常更改的变量 我将它们添加到 HashSets 中 所以我的问题是当我实现 hashCode 时 对于只有不断变化的私有字段的类 我该怎么办 以下是一个自定义类的示例 pu
  • Html Agility Pack - 删除元素,但不删除innerHtml

    我可以通过 note Remove 轻松删除该元素 如下所示 HtmlDocument html new HtmlDocument html Load Server MapPath Site themes default index csh
  • Laravel 急切加载有限制

    我有两个表 即 users 和 users actions 其中 users actions 与用户有 hasMany 关系 users id name surname email actions id id action id user
  • 等待页面加载 - Cypress

    我遇到问题 因为页面未完全加载 我尝试过cy wait 1000 方法 我确实认为这不是一个好的解决方案 但仍然不起作用 页面未完全加载 这是我要测试的网站https www 24mx ie 这 代码在文件中homePage js clas
  • 如何关闭 gcc 编译器优化以启用缓冲区溢出

    我正在研究一个作业问题这需要禁用编译器优化保护才能工作 我在 ubuntu linux 上使用 gcc 4 4 1 但无法弄清楚哪些标志是正确的 我意识到它依赖于架构 我的机器运行 32 位 Intel 处理器 Thanks 这是个好问题
  • 如何使用 SQL 计算树中值的总和

    我需要对用户树所获得的每个级别的积分进行求和 1级是该用户以下1级的用户积分总和 2级是低于用户2级的用户的1级积分 以此类推 计算在非生产服务器上每月进行一次 无需担心性能 执行此操作的 SQL 会是什么样子 如果你感到困惑 别担心 我也
  • 为什么我不能使用 std::remove_if 从 std::set 中删除字符串? [复制]

    这个问题在这里已经有答案了 可能的重复 remove if 相当于 std map 我有一组字符串 set
  • 如何检查字符串是否包含单词的所有字符

    我想检查一个字符串是否包含给定单词的所有字符 例如 var inputString this is just a simple text string 并说我有一句话 var word ts Now it should pick out t
  • 如何将DataFrame直接保存到Hive中?

    是否可以保存DataFrame在 Spark 中直接连接到 Hive 我尝试过转换DataFrame to Rdd然后保存为文本文件 然后加载到配置单元中 但我想知道是否可以直接保存dataframe to hive 您可以使用 sqlCo
  • OpenCV 正样本尺寸?

    所以我看到了很多关于 OpenCV 的 haartraining 和级联训练工具的教程 我特别有兴趣使用 createsamples 工具训练汽车分类器 但关于 w 和 h 参数似乎到处都有冲突的陈述 所以我很困惑 我指的是命令 creat