dlib vs opencv当使用哪一个

ult*_*der 14 c++ opencv dlib

我目前正在学习使用Python的OpenCV API,这一切都很好.我正在取得不错的进展.部分内容来自Python语法的简单性,而不是将其与C++一起使用,我还没有尝试过.我已经意识到,如果我打算做任何生产质量,我必须在某些时候弄脏OpenCV的C++绑定.

就在最近,我遇到了dlib,它也声称可以完成OpenCV所做的所有事情.它用C++编写,也提供Python API(惊喜).任何人都可以根据自己的实施经验担保dlib吗?

Vik*_*pta 17

我广泛使用OpenCV和dlib进行人脸检测和人脸识别,与基于OpenCV Haar的人脸检测器相比,dlib非常准确.(请注意,OpenCV现在有一个DNN模块,我们可以在这里获得基于深度学习的面部检测器和面部识别器模型.)

我正在比较OpenCV-DNN和Dlib进行面部检测/识别.一旦我完成它就会发布结果.

dlib中有许多有用的函数,但我更喜欢OpenCV用于任何其他CV任务.

编辑:正如所承诺的,我已经对OpenCV与Dlib人脸检测方法进行了详细的比较.

这是我的结论:

一般情况

在大多数应用程序中,我们不会在前面的图像中知道面部的大小.因此,最好使用OpenCV-DNN方法,因为它非常快速且非常准确,即使对于小尺寸的面孔也是如此.它还可以检测各种角度的面部.我们建议大多数人使用OpenCV-DNN

适用于中到大图像尺寸

Dlib HoG是CPU上最快的方法.但它没有检测到小脸(<70x70).因此,如果您知道您的应用程序不会处理非常小的面部(例如自拍应用程序),那么基于HoG的面部检测器是更好的选择.此外,如果您可以使用GPU,那么MMOD人脸检测器是最佳选择,因为它在GPU上非常快,并且还提供各种角度的检测.

有关更多详细信息,您可以查看此博客