8

我试图训练用于卡片套件检测的haar级联分类器(没有旋转并且图像没有失真)

例如,我有文件 Clubs.png,其中包含白色背景 20x20 像素的俱乐部图像

这个教程太纠结了 http://note.sonots.com/SciSoftware/haartraining.html

我的图像仅在大小上有所不同,没有变形或倾斜。

我必须输入哪些命令才能获取 Clubs.xml 文件?

4

4 回答 4

6

正如@Neon22 提到的,很棒的教程。根据我的经验,这是一个相当漫长的过程(收集正样本和负样本、训练、生成 haar 级联),但也许我做错了。

对于检测卡片,查看OpenCV SURF可能也很有用。

OpenCV 冲浪

查看toxi视频

有趣的是,你提到了卡片,Eugene Zatepyakin做了一个名为ASSURF的 actionscript 端口:

ASSURF 卡

于 2010-11-19T10:45:44.797 回答
4

如果您有兴趣制作您的 xml 文件,那么这可能会有所帮助 http://nayakamitarup.blogspot.in/2011/07/how-to-make-your-own-haar-trained-xml.html

但是,如果您有兴趣使其旋转不变,那么 surf 似乎是一个更好的选择。 http://nayakamitarup.blogspot.in/2011/06/2d-ar-using-surf-based-application-of.html

于 2012-04-07T05:26:25.543 回答
1

请尝试本教程。http://cgi.cse.unsw.edu.au/~cs4411/wiki/index.php?title=OpenCV_Guide

但是您确定的教程非常好。我用它来整理我的 haar 分类器。opencv 2.1 发行版中包含的 facedetect 示例代码是检查生成的 xml 文件的一个很好的示例。(我用蟒蛇)

我发现提供的帮助应用程序存在几个问题。1. createsamples 不会从同一图像中读取超过 8 个样本的描述文件 - 手动将您的关系文件分成几行,每个图像不超过 8 个矩形。

如果我的 .vec 文件是使用宽度和高度 > 24 像素的图像制作的,那么 haar 训练将不会继续

haar 的主要问题似乎是它不是一成不变的,并且您需要数千个测试图像 - createsamples 程序将帮助您处理单个图像,但如果您有单个示例图像的描述文件,则不会。因此,教程的额外代码允许多次调用 createsamples 并将生成的 vec 文件合并到单个超级 vec 文件中。

于 2010-11-19T10:06:13.973 回答
-1

您可以参考: http:
//opencv-hub.blogspot.in/2016/03/how-to-train-your-own-opencv-haar-classifier-haar-training-train-cascade.html
制作自己的haar -级联xml文件。
这个 OpenCV 教程是关于 C++ 的,他们在其中详细提到了 Haar 训练的方法。另外请注意,Haar 不是旋转不变的。
因此,一旦您旋转图像,它就不会被检测到。
为此,您需要使用 SURF。
但是通过 Haar 进行对象检测比 SURF 快得多。如果您想学习如何使用经过训练的 Haar Cascade File,可以参考: http:
//opencv-hub.blogspot.in/2016/03/how-to-do-real-time-face-detection-using-haar -cascade.html
实时人脸检测的代码类似于实时对象检测的代码。

于 2016-04-20T16:30:29.063 回答