计算机视觉库/人脸识别Face Recognition、CppMT、Embree介绍

以下为你介绍的计算机视觉库/人脸识别软件都可用在Linux系统上:Face Recognition(Python 的人脸识别库)、CppMT(物体跟踪算法)、Embree(英特尔高性能光线追踪内核)。

1、Face Recognition(Python 的人脸识别库)

Face Recognition 是一个基于 Python 的人脸识别库,它还提供了一个命令行工具,让你通过命令行对任意文件夹中的图像进行人脸识别操作。

该库使用 dlib 顶尖的深度学习人脸识别技术构建,在户外脸部检测数据库基准(Labeled Faces in the Wild benchmark)上的准确率高达 99.38%。

具有以下特性:

1]、查找出图片中所有的人脸:

计算机视觉库/人脸识别Face Recognition、CppMT、Embree介绍

2]、查找和操作图片中的脸部特征,并勾勒出每个人的眼睛、鼻子、嘴和下巴:

计算机视觉库/人脸识别Face Recognition、CppMT、Embree介绍

找出脸部特征对很多重要的事情都非常有用。不过你也可以用它来做一些恶搞的事,比如“数字化妆”(像美图那样):

计算机视觉库/人脸识别Face Recognition、CppMT、Embree介绍

3]、识别图片中的人脸,可识别出图片中的人物:

计算机视觉库/人脸识别Face Recognition、CppMT、Embree介绍

4]、还可以将这个库和其他库搭配使用以实现实时的人脸识别功能:

计算机视觉库/人脸识别Face Recognition、CppMT、Embree介绍

使用要求:

Python 3+ 或 Python 2.7。

macOS 或 Linux (Windows 未测试)。

还可以在 Raspberry Pi 2+ 上运行。

预配置的 VM 图像同样可用。

安装:

首先,确保已经安装了带有Python绑定的dlib,然后使用pip3(对于Python 2为pip2)从pypi安装此模块:

pip3 install face_recognition

注:或者,您可以在Docker上尝试该库。

下载地址:https://github.com/ageitgey/face_recognition

2、CppMT(物体跟踪算法)

CMT(Clustering of Static-Adaptive Correspondences for Deformable Object Tracking )是一个屡获殊荣的物体跟踪算法。

CppMT是一种用于视觉对象跟踪的方法,这是CMT的C++实现,最初由我本人用Python开发。该存储库中的实现与平台无关,并且可以在Linux、Windows和OS X上运行。

工作原理:

CMT 背后的主要思想是将所关注的对象分解成微小的部分,称为关键点。

在每个框架中,我们尝试再次找到在关注对象的初始选择中已经存在的关键点。我们通过采用两种不同的方法来实现。

首先,我们通过估计所谓的 “光流” 来跟踪从前一帧到当前帧的关键点。

其次,我们通过比较他们的描述符来全局匹配关键点。

由于这两种方法都容易出错,我们采用了一种新颖的方式,通过让对象中心的每个关键点投票来查找找到的关键点内的一致性,如下图所示:

计算机视觉库/人脸识别Face Recognition、CppMT、Embree介绍

投票然后被聚类,异常值被删除:

计算机视觉库/人脸识别Face Recognition、CppMT、Embree介绍

根据剩余的关键点,计算新的边界框,并且该过程会继续。

用法:

usage: ./cmt [--challenge] [--no-scale] [--with-rotation] [--bbox BBOX]

  [--skip N] [--skip-msecs N] [--output-file FILE]

  [--verbose] [inputpath]

下载地址:https://github.com/gnebehay/CppMT

3、Embree(英特尔高性能光线追踪内核)

Embree是在英特尔开发的高性能光线追踪内核的集合。Embree的目标用户是图形应用工程师,他们希望通过利用Embree的优化光线跟踪内核来提高应用程序的性能。内核针对支持SSE,AVX,AVX2和AVX512的英特尔处理器进行了逼真的渲染优化。Embree支持运行时代码选择,以选择与CPU的指令集最匹配的遍历和构建算法。我们建议使用Embree通过其API来从未来的改进中获得最大的好处。Embree根据Apache 2.0许可证发布为开源。

Embree还通过为核心光线追踪算法提供ISPC接口,支持使用Intel SPMD程序编译器(ISPC)编写的应用程序。这使得可以在ISPC中编写使用SSE,AVX,AVX2和AVX512的渲染器,而无需更改任何代码。ISPC还支持运行时代码选择,因此ISPC将为您的应用程序选择最佳代码路径,而Embree为光线跟踪算法选择最佳代码路径。

Embree包含针对非相干工作负载(例如蒙特卡罗射线追踪算法)和相干工作负载(例如主要可见性和硬阴影射线)优化的算法。对于标准CPU,Embree中的单射线遍历内核为非相干工作负载提供最佳性能,并且非常容易集成到现有渲染应用程序中。对于启用AVX512的计算机,使用默认混合光线/数据包遍历算法在ISPC中编写的渲染器显示性能最佳,但需要在ISPC中编写渲染器。一般来说,对于一致的工作负载,ISPC在每个平台上胜过单射线模式。Embree还通过实现高性能两级空间索引结构构建算法支持动态场景。

除了光线跟踪内核,Embree提供了一些教程来演示如何使用Embree API。最初包含在Embree内核包中的示例照片级渲染器现在在单独的GIT存储库中可用(请参阅Embree示例渲染器)。

计算机视觉库/人脸识别Face Recognition、CppMT、Embree介绍

计算机视觉库/人脸识别Face Recognition、CppMT、Embree介绍

支持平台:

Embree支持Windows(32位和64位)、Linux(64位)和macOS(64位),该代码可使用英特尔编译器,GCC,Clang和Microsoft编译器进行编译。

使用英特尔编译器可将性能提高大约10%。不同操作系统之间的性能也有所不同,Linux通常表现最佳,因为它支持透明地过渡到2MB页面。(Embree针对支持SSE,AVX,AVX2和AVX-512指令的Intel CPU进行了优化,并且至少需要一个支持SSE2的CPU。)

下载地址:https://github.com/embree/embree

注明

以上就是计算机视觉库/人脸识别Face Recognition、CppMT、Embree的介绍内容,这些计算机视觉库/人脸识别软件都能使用在Linux操作系统中。

栏目相关文章