我正在尝试评估我的面部检测代码的准确性。但是数据集是一个视频剪辑,图像中的人物从一侧转到另一侧,所以这个剪辑包含正面和侧面。
我在OpenCV中使用Viola-Jones面部探测器,它会在某些轮廓面上失效,并且有时即使在某些正面也可能会变得非常小或很大。
我的问题是,是否存在面部边界框大小和位置的标准?
当试图手动注释面部的基本事实时,我不确定边界框是否应该比面部大一点,或者它应该与面部一样大。此外,当将检测结果与地面实况进行比较时,即使结果位置与地面实况一致,结果大小也可能太小或太大。所以我想看看是否有任何检测到面部大小的标准。
非常感谢!
答案 0 :(得分:1)
在OpenCV中,检测到的面的输出始终为正方形(高度=宽度)。正如我提到的here,您可以使用CascadeClassifier::detectMultiScale()
的 minSize / maxSize
参数来控制您想要检测的大小(例如,检测任何大于如果minSize=cv::Size(30,30), maxSize=cv::Size(200,200)
),则为30x30且小于200x200。
要注释基本事实,在我看来,你可以先在视频上运行OpenCV人脸检测器,以粗略地感觉结果矩形是如何围绕人脸的,然后尝试按照模式进行注释。