我知道完成这项任务所需的步骤:
我已经完成了上述所有步骤。我只是搞不懂,HOGDescriptor.DetectMultiScale检测的是哪个类?它是否只检测到阳性类标签(1)?
发布于 2016-01-25 09:13:44
在计算机视觉中,视觉描述符或图像描述符( HoG)是对图像中内容的视觉特征的描述。它们描述了基本特征,如形状、颜色、纹理或运动等。因此,HoG描述符只描述图像中显示的场景,即在街道上行走的行人,您可以在下面看到一个示例HoG描述符(HoG只计算图像局部区域中出现的渐变方向):

支持向量机是一种用于分类、回归和孤立点检测的监督学习方法。但是,支持向量机最初是一种构建最优二进制(2类)分类器的技术,因此支持向量机就可以决定描述符的含义。也就是说,HoG的输出是SVMs的输入,后者的输出是+1或-1。
OpenCV提供了一个隐藏此操作的接口,整个对象检测可以通过函数调用来完成。这就是HOGDescriptor::detectMultiScale()所做的,它使用多尺度窗口执行对象检测.一旦一个cv::HOGDescriptor hog实例被声明,那么支持向量机分类器的系数也应该由以下方法来完成:
hog.setSVMDetector(cv::HOGDescriptor::getDefaultPeopleDetector());然后detectMultiScale()执行完整的对象检测(描述符提取和二进制分类一起),并返回每个候选对象的边框:
std::vector<cv::Rect> found;
hog.detectMultiScale(frame, found, 0, cv::Size(8,8), cv::Size(32,32), 1.05, 2);https://stackoverflow.com/questions/34985196
复制相似问题