【问题标题】:Creating training set from multiple images in Haar Cascade在 Haar Cascade 中从多个图像创建训练集
【发布时间】:2018-02-04 17:09:29
【问题描述】:

我目前正在检测给定图像中的多个水果。例如,给定的图像可以有香蕉(如黄色、红色和绿色)、芒果、橙子等水果。我能够使用opencv_createsamples 一次只创建一张图片的训练集。

示例代码:

C:\opencv\build\x64\vc14\bin\opencv_createsamples.exe -img redbanana.jpg -bg bg.txt -info info/info.lst -pngoutput info -maxxangle 0.5 -maxyangle 0.5 -maxzangle 0.5 -num 100

类似地,我已经为大约 5 个水果创建了单独的 vec 文件。很难为每种水果创造。是否有可能使用单个 vec 文件作为输出从多个图像创建训练集?

还有其他方法可以检测给定图像中的多个水果吗?

【问题讨论】:

    标签: python-2.7 python-3.x haar-classifier cascade-classifier


    【解决方案1】:

    haar 分类器非常适合快速检测一类外观相似的对象,如 opencv 文档 http://docs.opencv.org/2.4/modules/objdetect/doc/cascade_classification.html 中所述。例如,opencv 存储库(https://github.com/opencv/opencv)有一个分类器列表(https://github.com/opencv/opencv/tree/master/data/haarcascades)为特定类训练对象。

    除非要检测的对象是相似的(例如具有不同特征的人脸或不同品牌和型号的汽车),使用每个水果(例如香蕉、橙子、芒果等)分类器进行训练会更有效。

    要创建基于多个正样本图像的训练向量(以及对于 haar 分类器训练的任何其他方面,我建议使用步骤 here - 步骤 5 和 6 - 以及 http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html 中介绍的详细信息。在您的情况,正面图像应包括所有类型的香蕉、橙子、芒果等,包括颜色变化等。

    【讨论】:

    • @Madhuri 谢谢你
    【解决方案2】:

    如果您想用同一水果的不同变体训练分类器,您可以按照here 的描述从多张图像中生成训练样本。

    但是,请注意,Haar 分类器以灰度工作,很难保证区分红色和黄色香蕉等对象。

    如果您想在一个分类器中包含多个类,我推荐YOLO(You Only Look Once)或SSD(Single Shot multibox Detector)。

    【讨论】:

      猜你喜欢
      • 2017-12-13
      • 1970-01-01
      • 1970-01-01
      • 2020-03-02
      • 2017-12-02
      • 2019-01-10
      • 2011-05-06
      • 2016-02-05
      • 1970-01-01
      相关资源
      最近更新 更多