在图像上查找未知大小的对象

Finding object of unknown size on image

我在写人脸识别程序。所以我的目标是在一定尺寸的图像上找到一张脸。目前我做了HOG算法和SVM分类器。对于提供的图像,我可以判断它是否是一张脸,但仅适用于脸部位于中间的固定大小的图像。那么我如何找到比 SVM 所训练的或图像上未知位置更大或更小的面孔呢?

你需要的是"multi scale detection".

基本的想法是 运行 你的检测器在图像的几个不同比例上。 因此,您需要创建图像的金字塔,并且对于图像的每个级别 运行 您使用图像扫描进行检测。

如果图像中的对象比您训练的分类器大,那么在您将图像作为金字塔的一部分进行下采样后,对象的大小将会变小,当您 运行 您的检测器位于降低比例你会找到对象。

对于小于原始分类器的对象,您需要: 对图像和 运行 检测器进行上采样,或者在您希望检测到的最小尺寸上训练您的分类器。

查看 https://www.mpi-inf.mpg.de/fileadmin/inf/d2/HLCV/cv-ss13-0605-sliding-window.pdf 了解一些基本的解释。

也可以尝试使用内置多尺度检测的opencv。 opencv HOG multicale detector