dlib

C++ 写机器学习,人脸检测和训练模型一把梭

dlib 是一个用 C++ 编写的现代机器学习工具包,旨在帮助开发者构建真实世界的机器学习和数据分析应用。它解决了从算法原型到产品部署过程中的工程化难题,提供了丰富的算法模块,包括支持向量机、决策树、深度学习(特别是卷积神经网络)、聚类、图模型等。其核心能力包括:高性能的计算机视觉组件(如人脸检测、人脸关键点标定、目标跟踪)、优化的数值计算库(矩阵运算、随机数生成)、以及线程和网络通信等实用工具。dlib 强调代码的简洁性和可移植性,支持跨平台运行,并提供 Python 接口,方便快速集成。它拥有详尽的文档和示例,适合学术研究和工业应用。

开源 free 计算机视觉
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 14445
维护状态 维护中
是否开源 是
定价模式 free

项目数据

分类计算机视觉
开发团队davisking
所属国家
官网地址http://dlib.net
定价模式free
价格说明开源库,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议BSL-1.0
主要语言C++
技术栈/模型c-plus-plus,computer-vision,deep-learning,dlib,machine-learning,machine-learning-library,python
GitHub 星标★ 14445
30天Star增速
HF 下载量
上线时间2014-01-29 00:00:00
最近更新2026-09-20 00:00:00
维护状态维护中
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-10
浏览次数5

使用教程

难度:进阶 约 20 分钟 部署方式:库/依赖 6 步

环境要求

  • CMake 构建工具(用于配置和编译)
  • 支持 C++ 的编译器(如 GCC、Clang 或 Visual Studio)
  • Git(用于获取仓库源码)
  • Windows 用户建议使用 Visual Studio 并在 64 位模式下编译

安装与启动步骤

  1. 1克隆 dlib 仓库

    从 GitHub 拉取源码,README 未给出安装包,统一通过源码编译。网络慢时可先配置代理。

    git clone https://github.com/davisking/dlib.git
  2. 2配置示例工程

    进入 examples 目录,新建 build 子目录并执行 cmake .. 生成构建文件。构建文件必须生成在 build 目录内。

    cd dlib/examples
    mkdir build
    cd build
    cmake ..
  3. 3编译全部示例

    在 build 目录中执行 cmake --build .,会把 examples 下的所有示例程序编译成可执行文件。

    cmake --build .
  4. 4开启 AVX 加速

    若 CPU 支持 AVX 指令,重新配置并编译可让部分功能跑得更快。需在 build 目录内重新执行一次 cmake。

    cmake .. -DUSE_AVX_INSTRUCTIONS=1
    cmake --build .
  5. 5Windows 64 位配置

    Visual Studio 默认 32 位,需显式指定 Win64 生成器与 host=x64,否则可能出现链接或性能问题。

    cmake .. -G "Visual Studio 14 2015 Win64" -T host=x64
  6. 6运行单元测试

    进入 dlib/test 目录编译测试套件并执行 --runall 跑全部测试。Windows 下测试程序可能在 Release 子目录。

    cd dlib/test
    mkdir build
    cd build
    cmake ..
    cmake --build . --config Release
    ./dtest --runall

关键配置

配置项必填说明示例
USE_AVX_INSTRUCTIONS否开启 AVX 指令优化,让部分计算更快1
-G "Visual Studio 14 2015 Win64"否Windows 下指定 64 位 Visual Studio 生成器Visual Studio 14 2015 Win64
-T host=x64否指定使用 64 位编译工具链host=x64
--config Release否Windows 多配置生成器下指定 Release 构建类型Release

如何确认成功

示例目录 build 下生成可执行文件即编译成功;运行 dtest --runall 全部用例通过则单元测试成功。

常见问题

Q:怎么让自己写的 C++ 程序使用 dlib?

A:README 指出 examples 文件夹中提供了 CMake 教程,可参考它把 dlib 集成进自己的 CMake 工程。

Q:编译出来的示例程序找不到?

A:Windows 上编译器可能把可执行文件放进名为 Release 的子文件夹,需要先进入该文件夹再运行。

Q:为什么 Visual Studio 下要特别配置?

A:Visual Studio 默认是 32 位的,包括输出和自身运行,需通过 Win64 生成器和 -T host=x64 显式切到 64 位。

Q:怎么让 dlib 跑得更快?

A:如果 CPU 支持 AVX 指令,用 -DUSE_AVX_INSTRUCTIONS=1 重新配置并编译,部分功能会更快。

Q:可以商用吗?

A:可以。dlib 采用 Boost Software License,可自由使用,包括闭源商业软件,详见 LICENSE.txt。

注意事项

  • README 节选只包含 C++ 编译说明,未给出 Python 绑定的安装命令,需要 Python 接口请查阅官网 dlib.net。
  • 示例编译耗时较长,建议在 build 子目录内构建,避免污染源码目录。
  • 运行单元测试前必须按 README 步骤先用 --config Release 完成编译。
  • 许可证为 Boost Software License,允许闭源商用,保留许可证文件即可。

核心亮点

  • 人脸检测和关键点标定精度高,且提供预训练模型,开箱即用
  • C++ 实现性能优异,同时提供 Python API,兼顾效率与易用性
  • 文档和示例非常详尽,上手门槛低,社区活跃

不足之处

  • 构建和安装依赖较多,编译时间较长
  • 深度学习功能相比 PyTorch/TensorFlow 生态,灵活性和社区资源较少

适用场景

  • 人脸识别与表情分析等计算机视觉应用开发
  • 嵌入式或移动端部署机器学习模型
  • 需要高性能 SVM 或决策树等传统机器学习算法的场景

替代项目

OpenCV、scikit-learn、PyTorch

项目介绍

dlib 是计算机视觉领域的开源项目,由 davisking 开发,2014 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(14,445)位列前 4%,在计算机视觉分类的 446 个项目里位列前 4%。

项目仍在小幅维护中,最近一次代码更新于 2026-09-20。开源库,完全免费,可自行部署使用。

它主要面向的使用场景是:人脸识别与表情分析等计算机视觉应用开发。同类可对比的替代方案包括 OpenCV、scikit-learn、PyTorch。

上一篇:vision

下一篇:Meshroom

同类项目推荐

modlens 开源

给纯文本编码代理装上眼睛,粘贴图片即刻获得结构化视觉证据。

The first vision plugin for DeepSeek Harness, and the vision bridge for every text-o···

★ 4019 2026-08-19
opencv 开源

开箱即用的视觉算法库,搞定图像视频处理与识别

Open Source Computer Vision Library

★ 90930 2026-08-10
OpenCVTutorials 开源

中文 OpenCV 教程,从入门到实战,边看边跑代码

OpenCV-Python4.1 中文文档

★ 1430 2026-08-20
DEIMv2 开源

用DINOv3做实时检测,又快又准,直接落地。

[DEIMv2] Real Time Object Detection Meets DINOv3

★ 2046 2026-08-14