【问题标题】:dlib vs opencv which one to use whendlib vs opencv 什么时候使用
【发布时间】:2016-09-09 22:44:51
【问题描述】:

我目前正在使用 Python 学习 OpenCV API,一切都很好。我正在取得不错的进展。它的一部分来自 Python 语法的简单性,而不是与我尚未尝试过的 C++ 一起使用它。我开始意识到,如果我打算做任何生产质量的事情,我必须在某些时候对 OpenCV 的 C++ 绑定有所了解。

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

【问题讨论】:

  • 我已经广泛使用 opencv 进行图像处理,但没有听说过 dlib。 dlib 看起来不仅仅是图像处理(您可能想要也可能不想要),而且看起来也不像 opencv 那样功能齐全。此外,opencv 对许多 dlib 中似乎不存在的算法进行了许多优化
  • OpenCV - 图像处理库。 Dlib - 机器学习库。他们是不同的,解决不同的任务。有些项目需要它们两个
  • 请注意:如果您从源代码编译 OpenCV,则可以向其中添加大量机器学习内容。
  • 在识别人脸方面,我确实测试了OpenCV 从分辨率不错的图像中识别人脸,我似乎在小样本图像中得到误报(使用所有 4 个可用的人脸识别 Haar Cascade xmls)。我接下来要测试dlib,因为它在通过机器学习识别人脸方面应该会更好。
  • 你没有说你在做什么样的项目,你的目标是什么,你面临什么样的限制。因为这两个库有不同的预期用途,所以没有办法向您推荐任何东西。

标签: c++ opencv dlib


【解决方案1】:

我已将 OpenCV 和 dlib 广泛用于人脸检测和人脸识别,与基于 OpenCV Haar 的人脸检测器相比,dlib 准确得多。 (请注意,OpenCV 现在有一个 DNN 模块,我们可以在其中获得基于深度学习的人脸检测器和人脸识别器模型。)

我正在比较 OpenCV-DNN 与 Dlib 的人脸检测/识别。完成后会发布结果。

dlib 中有许多有用的功能,但我更喜欢 OpenCV 用于任何其他 CV 任务。

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

这是我的结论:

一般情况

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

适用于大中型图片

Dlib HoG 是 CPU 上最快的方法。但它不会检测到小尺寸的人脸(

更多详情可以关注this blog

【讨论】:

  • 浏览您的博客。那是非常详细且清晰的博客! .. 这篇文章主要讲人脸检测,我比较感兴趣的是人脸识别的比较……你有没有关于它的数据/意见或任何类似的文章?
猜你喜欢
  • 1970-01-01
  • 2015-05-14
  • 2018-10-28
  • 2021-02-01
  • 1970-01-01
  • 2015-10-27
  • 2019-08-05
  • 2011-08-17
  • 2013-09-14
相关资源
最近更新 更多