如何创建自己的 Haar 级联分类器以进行自定义对象检测? [关闭]

2024-04-10

我想检测汽车,但可用的 xml 文件对于准确检测来说不太强大。如何创建自定义 xml 文件(我可以为任何对象创建)?

任何帮助,将不胜感激。


有一些关于如何创建自己的级联的步骤。

我的参考资料:

  • 第一个参考 https://pythonprogramming.net/haar-cascade-object-detection-python-opencv-tutorial/
  • 第二参考 https://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html

1- 数据收集

您需要正图像(这意味着包含要训练的对象)图像和负图像(图像中不存在您的对象)图像。根据人们的经验,正面图像的数量应该是负面图像的两倍

注意:根据我的经验和文档,800 张负片 - 1600 张正片图像通常会产生良好的结果。

2- 标签

对于每个正面图像,您应该创建标签文件,例如data.lst。该列表文件的每一行应包含:

  • 图片名称
  • 图像中物体的数量
  • 拟合图像中每个对象的矩形坐标

这一步是痛苦的一步。来处理它opencv_创建样本 https://docs.opencv.org/2.4/doc/user_guide/ug_traincascade.html#opencv-createsamples-utility为您创建该列表文件。与自己准备相比,这效率不高,但也很有效。它只是使用负图像作为背景,并将正图像随机复制到该背景。然后创建一个列表文件。

你可以运行opencv_createsample通过终端命令:

opencv_createsamples -img your_image.jpg -bg bg.txt -info info/info.lst -png输出信息 -maxxangle 0.5 -maxyangle 0.5 -maxzangle 0.5 -num 1800

在上面的命令中,您给出并得到:

  • 你的正面形象
  • bg.txt 文件,其中包含负片图像的目录和名称
  • info.lst 你想要获取的文件
  • 旋转限制
  • 您想要获取的图像数量

3-创建矢量文件

在此步骤中再次使用,opencv_createsample命令我们获取正图像的矢量文件。这是命令示例:

opencv_createsamples -info info/info.lst -num 1800 -w 50 -h 50 -vec 正值向量

您只需提供准备好的列表文件、宽度-高度和所需的矢量文件名。您可以从文档中了解有关宽度和高度部分的更多信息。

4- 培训

这一步是最后一步。opencv_traincascade https://docs.opencv.org/2.4/doc/user_guide/ug_traincascade.html#opencv-createsamples-utility最后使用命令。我们给出作为输入:

  • 正面图像的矢量文件
  • 负片图像
  • 负像和正像的数量
  • 宽度和高度(如 pos 向量部分)
  • 阶段数(迭代)

这是示例命令:

opencv_traincascade -data 数据 -vec Positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 50 -h 50

最后我们得到一个xml文件。

Note-1:OpenCV 3.4...版本有一个问题opencv_createsamples,当我搜索时,人们都说有一个错误。我建议您使用不同的版本。

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

如何创建自己的 Haar 级联分类器以进行自定义对象检测? [关闭] 的相关文章

  • XML 创建 - 错误:带有替代方案的重载方法构造函数 UnprefixedAttribute

    scala gt val count 7 count Int 7 将其放入 XML 属性中会出现错误 scala gt val x
  • 从包含带边框的表格的图像中提取表格结构

    我正在尝试提取下表中的单元格位置 应用自适应阈值处理后 我能够获得细胞位置周围的轮廓 并且 HoughLines 获得垂直和水平结构元素 这是我的代码 img cv2 imread os path join img path file im
  • XPath 中的 ., 有什么用?

    为什么在某些 XPath 表达式中句号后面使用逗号 这是一个例子 Set nlist doc selectNodes book author first name starts with M 我试图用谷歌搜索这个 但字面意思 运算符似乎不喜
  • 如何绘制更大的边界框和仅裁剪边界框文本 Python Opencv

    我正在使用 easyocr 来检测图像中的文本 该方法给出输出边界框 输入图像如下所示 Image 1 Image 2 使用下面的代码获得输出图像 But I want to draw a Single Bigger bounding bo
  • iOS 上的 OpenCV - VideoCapture 属性始终返回 1

    我一直在尝试构建一个简单的 OpenCV iOS 应用程序 该应用程序从捆绑包中加载视频并查询其帧数 持续时间等 然后它将尝试从中获取各个帧 不幸的是 当我使用VideoCapture类中 所有属性返回值 1 然后我尝试导航到frame 1
  • Android:默认 XML 编辑器不再打开 [不支持的内容类型错误]

    我使用 Eclipse 在 Android 中开发应用程序已经有一段时间了 我最近将Android SDK平台更新到3 0 API 11 现在 我无法通过双击打开 AndroidManifest xml 或 Layout 文件夹中的任何其他
  • 二值图像中骨架上两点之间的最短路径

    我有一个二进制图像 其中包含图像的一个像素宽度骨架 您可能基本上知道 在这个二值图像中 我在骨架上有 1 在其他地方有 0 如何找到骨架上两个非零元素之间的最短距离 路径也应该在骨架本身上 我想使用 A star 算法的 C 实现 我找到了
  • 使用 dpi 与 dp 缩放图像之间的差异

    我拥有所有由九个补丁位图组成的 dpi 可绘制目录 xxhdpi 和 xxxhdpi 是否必要 可绘制目录中的可绘制资源文件可检索所有缩放的位图 并且我使用可绘制资源文件 现在 我的问题是我还根据大小 小 正常等 创建了 缩放 布局目录 其
  • SpreadsheetML 文件扩展名被 IE 和 FF 更改 - 内容类型错误?

    我正在 PHP 中生成 SpreadsheetML 文件 当用户下载文件并保存时 默认情况下文件会另存为 Report xml 并在 Excel 中打开 但是 如果选择在 Excel 中打开文件而不是保存文件 则文件名将更改为 Report
  • 如何使用C#在asp.net中下载xml文件

    我正在使用网络应用程序ASP NET 与 MVC3 我是 mvc3 的新手 我的网页上有一个下载按钮 当我要单击下载按钮时 我希望能够打开该 XML 文件 我尝试过一些代码更改动作结果但我没有打开文件 通过使用下面提到的代码 我收到一个下载
  • XSL字符串多重替换功能

    如何让这个函数进行多重替换 经验 替换aaa with 111并替换bbb with 222 etc
  • 在 Android 中存储和访问 XML 的最佳方式是什么?

    虽然我意识到资源本身是在 XML 文件中定义的 但如果我有一个我希望使用的自己类型的 XML 文件 我是否应该将它们存储在 res xml 中 有没有更好的方法来做到这一点 例如使用资产 然后将它们加载为二进制文件以供另一个 XML 库解析
  • 自定义 XML 文件比较

    我看过很多关于 XML 比较的帖子 但我看过的没有一个能解决我的问题 我们有一些 XML 格式的文本文档 产品描述 带有标题和段落 正在更新 即版本化 我的任务是制作变更摘要 也就是说 我们想要获取两个连续的文件并生成第三个 标题结构 大纲
  • JAXB 不会解组接口列表

    看来 JAXB 无法读取它所写的内容 考虑以下代码 interface IFoo void jump XmlRootElement class Bar implements IFoo XmlElement public String y p
  • 使用 XProc 进行 XML 流处理

    我正在玩xproc http www w3 org TR xproc XML 管道语言和http xmlcalabash com http xmlcalabash com 我想找到一个流式传输大型 xml 文档的示例 例如 给定以下内容hu
  • “没有名为‘cv2’的模块”,但已安装

    我已经安装了包含 opencv 贡献的 whl 文件 因为我想使用 SIFT 算法 我在 conda 环境中使用 pip 安装了它 所以当我在 conda list 中提示时 它会向我显示 opencv python 3 4 5 contr
  • D3 将现有 SVG 字符串(或元素)追加(插入)到 DIV

    我到处寻找这个问题的答案 并找到了一些我认为可能有用的资源 但最终没有让我找到答案 这里有一些 外部SVG http bl ocks org mbostock 1014829 嵌入SVG https stackoverflow com qu
  • 如何从 MySQL 数据查询创建 XML 文件?

    我想知道一种仅使用 MySQL 查询创建 XML 文件的方法 根本不使用任何脚本语言 有关于这个主题的书籍 教程吗 UPDATE 我想澄清一下 我想使用 sql 查询将 XML 数据转发到 php 脚本 Here s 关于从 MySQL S
  • UML 的 XMI 有 XSD 吗?

    是否有 UML XMI 文件的 XSD 标头仅包含名称空间引用
  • 记录骆驼路线

    我的项目中有几个 Camel 上下文 如果可能的话 我想以逆向工程方式记录路线 因为我们希望保持与上下文相关的文档最新 最好的方法是什么 我们倾向于预先实际设计路线 并使用来自EIP book http www eaipatterns co

随机推荐