问题标签 [cascade-classifier]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
numpy - 如何处理 HOG 特征数组以用于 scikit-learn 中的分类?
我想从图像中提取 HOG 特征,以便我可以将它们放入分类器(AdaBoost.SAMME
特别是使用 scikit-learn: multiclass Adaboost in scikit-learn ensemble)。
为此,我需要将图像转换为类似数组的shape = [n_samples, n_features]
但是从图像中提取 HOG 特征的输出是一维数组。这是我的代码的相关部分:
当我检查fd
时,它是一个像这样的数组:
让我们取前 9 行并假设这是hog
函数的完整输出,并且我从中获得 HOG 特征的这张图像是我的训练数据集中的第一张图像。
那么鉴于我有一千张训练图像,这个 HOG 信息将如何表示为X = [n_samples, n_features]
?
下面的行X
是我可以用作分类器输入的第一行吗?
这整行 HOG 值是否会被视为单个特征?或者这是错的?据我了解,训练样本应符合以下格式:
python - “ValueError:x 和 y 必须具有相同的第一维”,在 pylab 中绘制图形时出错
我正在使用本教程使用 HoG 功能构建用于对象识别的 Adaboost.SAMME 分类器。这是我下面的代码,大部分只是根据我的问题定制了最上面的部分,其他大部分都和教程中的一样。这是我正在做的一个非常小的测试,总共只有 17 个图像,10 个用于训练,7 个用于测试。一旦我启动并运行它,我将添加更多图像以进行适当的训练。
但我收到以下错误:
所以我在代码教程部分之前添加了这些行,以便查看 X 和 Y 数组的维度:
输出是:
但我不确定错误中的 x 和 y 是否指的是我的 X 和 y……因为训练和测试数据集具有不同大小肯定是正常的。我究竟做错了什么?
opencv - 如何测试训练有素的分类器以进行识别
我已经使用 OpenCV train_cascade 进行了一些培训。它成功了。但我想知道如何在不从头开始构建新应用程序的情况下对其进行测试。1. 是否有任何其他应用程序可以放置我的分类器并使用它测试实时对象识别?2、是否可以同时使用更多的分类器来识别更多的物体?
非常感谢您的帮助。
python-2.7 - 在 scikit-learn 中使用级联提升进行图像分类 - 为什么分类会提前终止?
我已经在这里粘贴了我的所有代码,以防您需要它来理解我的问题:Plotting a graph on axes but getting no results while trying to classification image based on HoG features
我的问题是:给定大约 500 张图像(加州理工学院“ Cars 2001 ”数据集),每张图像有 48 个 HoG 特征,提早终止的可能原因是什么?什么可能导致完美拟合,或者增加样本权重的问题,以及如何解决这些问题?我使用的具体算法是 SAMME,一个多类 Adaboost 分类器。我在 Anaconda 上使用 Python 2.7。
当我在数据集分类期间检查某些变量时,将n_estimators
参数设置为 600,我发现:
- 离散测试错误:由 1 个项目组成,而不是由 600 个值组成的数组
- Discrete_estimator_errors:再次是一个单一的值,而不是一个包含 600 个值的数组
- real_test_errors 再次只是一项,而不是 600
- 离散估计权重:数组([1.])“
- n_trees_discrete 和 n_trees_real:1 而不是 600
opencv - OpenCV:提高级联检测的速度
我需要使用 OpenCV Cascades 实时检测人。目前我正在使用 OpenCV 附带的经过训练的级联文件,但稍后我将训练自己的 LBP 级联以实现更快的速度。我确实有一个问题。
有哪些方法可以加快级联检测?例如,看看这个视频。它非常快,使用 Haar 级联并且很好。我可以做些什么来达到这个速度,特别是对于实时应用程序?有什么技巧和窍门吗?
python-2.7 - OpenCV 中的 CascadeClassifier 生成错误
我正在尝试开发一个简单的应用程序来检测给定图像中的人脸和眼睛:
(注:旋转是必须的,因为使用该cvtColor
功能后,输出图像是逆时针旋转90度生成的。)
我收到以下错误:
回溯(最近一次通话最后):文件“/home/namit/Codes/wow.py”,第 10 行,在 faces = face_cascade.detectMultiScale(gray, 1.3, 5, 0) 错误:/home/namit/OpenCV/opencv -2.4.9/modules/objdetect/src/cascadedetect.cpp:1081: 错误: (-215) scaleFactor > 1 && image.depth() == CV_8U in function detectMultiScale
opencv - OpenCV:这两个 haar 级联数据集有什么区别?
我已经看到 OpenCV 中有 2 个不同的 Haar Cascade 数据集。例如,看一下haarcascade_upperbody.xml
and haarcascade_mcs_upperbody.xml
。这是什么新mcs
东西?我可以监控的唯一区别haarcascade_mcs_upperbody.xml
是提供了一种比另一种更好的结果。
那么,有人可以解释一下这两种类型之间的区别吗?在训练我自己的数据集时,如何在这两者之间进行选择?
opencv - 如何在 OpenCV 中训练阶段分类器树而不是级联来进行人脸检测?
我在haarcascade_frontalface_alt_tree
xml 中发现,因为 xml 文件是用阶段分类器的训练树而不是级联训练的。我想知道如何训练阶段树分类器OpenCV
,使用哪个 api 以及任何可用的示例。我搜索了,目前没有找到合适的信息。谢谢
matlab - 使用 Haar 特征进行级联目标检测器 MATLAB
我正在尝试使用vision.cascadeObjectDetector
(MATLAB)从闭路电视录像中检测头部(而不是面部)。到目前为止,我已经尝试了以下方法:
- 用于
vision.cascadeObjectDetector
检测人脸。 - 训练它检测标志(自述文件中显示的示例)
- 创建了一个包含正面和负面训练 HEAD 图像的文件夹,以及用于测试的相同文件夹
- 尝试使用创建一个 .mat 文件
trainingImageLabeler
(尽管在尝试将其作为参数传递给对象检测器时它给了我一个错误)。
有人可以尝试让我走上正轨,开始使用 Viola-Jones Haar 功能检测头部吗?
machine-learning - 调用opencv的cv::integral()函数时如何禁用sqsum的需要?
我想调用位于 sumpixels.cpp 的 cv::integral() 函数。我没有使用为平方和 (3d 参数 - OutputArray _sqsum) 计算的积分图像,并且想禁用它的计算以节省运行时间。
我对opencv环境不太熟悉。
尝试cv::integral()
使用 3d 参数调用函数NULL
- 没有用。我输入了函数(在 sumpixels.cpp),我看到有这一行:
所以我想我可以手动修改它以跳过那个 if 条件,但那会是什么后果呢?我稍后在调用 IntegralFunc func 方法时看到参数 sqsum 的使用,那么我应该向它发送什么而不是那个 sqsum?
非常感谢!埃亚尔