opencv - HOG检测方法
问题描述
我是计算机视觉和机器学习的新手,我搜索了很多但没有找到我的问题的完全答案。
第一:我想知道所有这些检测方法有什么区别。
1)HOG.detect()
2)HOG.detectMultiScale()
3)HOG.setSvmDetector()
第二:我读到HOG.setSvmDetector()
仅用于检测一个对象,因为 SVM 是一个二元分类,我想知道我们可以训练多类 SVM(One vs All)并且对于每一个 SVM 类我们应用一个新的实例HOG.setSvmDetector()
吗?
例如,如果我构造了 2 个 SVM,这意味着现在我有 2 个类的多类 SVM,我可以这样做:
HOGDescriptor hog1 = newHOGDescriptor()
HOGDescriptor hog2 = 新 HOGDescriptor()
hog1.setSvmDetector(第一类)
hog2.setSvmDetector(第二类)
解决方案
HOG.detect
它检测单个图像中的对象。
HOG.detectMultiScale
它以原始大小检测图像中的对象,然后使用某个因子对图像进行下采样,例如使用 1.2 作为因子。然后它检测下采样图像中的对象并进一步下采样图像。重复此过程,直到图像大小小于检测窗口大小。然后它结合在所有图像上找到的所有检测。
HOG.setSvmDetector()
用于设置训练好的分类器。OpenCV 为您提供了针对不同数据集的预训练分类器,例如 getDefaultPeopleDetector()(使用 INRIA 行人数据集训练)和 getDaimlerPeopleDetector()(使用戴姆勒行人数据集训练)。
您还可以训练自己的分类器,无论是二分类还是多分类,并在 setSvmDetector() 中使用它。
推荐阅读
- sequelize.js - 如何从 Sequelize 获取没有默认 ID 的另一个表中的数据?
- c# - 当 IDENTITY_INSERT 设置为 OFF 时,1:1 映射和无法在表“DivisionParticipant”中插入标识列的显式值
- html - IE 的 CSS 剪辑路径替换
- amazon-web-services - 带有 Appium 的 AWS Device Farm - 如何强制全屏打开应用程序?
- ruby-on-rails - Rails Memoization 有很多关系
- anylogic - AnyLogic:检测在形状的“单击时”事件中按下的键或单击了哪个鼠标按钮
- java - 制作盒装图元的深层副本
- java - Spring Boot不记名令牌身份验证给出401
- php - 增加按钮点击的拍卖次数
- git - 从合并中排除特定块