dlib 人脸 识别函数

2024-03-23 10:48
文章标签 函数 识别 人脸 dlib

本文主要是介绍dlib 人脸 识别函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

详细操作,见dlib 官网提供示例.

std::vector<matrix<rgb_pixel>> faces;
for (auto face : detector(img))
{auto shape = sp(img, face);matrix<rgb_pixel> face_chip;extract_image_chip(img, get_face_chip_details(shape,150,0.25), face_chip);faces.push_back(move(face_chip));// Also put some boxes on the faces so we can see that the detector is finding// them.win.add_overlay(face);
}if (faces.size() == 0)
{cout << "No faces found in image!" << endl;return 1;
}

在这 提供 dlib 示例地址。想必大家都可以找到...

dnn sample

在人脸对齐后,我们将图像 送往  网络..   

std::vector<matrix<float,0,1>> face_descriptors = net(faces);

接下来 ,来解释参数:

1.  net  ( 这就是  定义的  网络结构),至于怎么定义的。这就不贴了。

2. face_descriptos[0]   这个其实就是  128D 的向量          [0,1]

3.注意  get_face_chip_details()  里面,后面 的两个参数...

4.有点疑问就是 ,在 对齐的 函数那里, 图像用的是array2d   结构,   而这里  是 matrix ,

不过没有 关系,可以转换。  <---  mat (arrary2d) 就可以了..

 

要知道,得到 128D 的向量值,在 硬件Rk 3368 上,花了 将近    6 s ..  我的天,,  无法想象...

后面要 优化??  不会来真的吧??   那就让 她来吧...  

 

后面 来点 真的:

if (length(face_descriptors[i]-face_descriptors[j]) < 0.6)

在这里判断 小于 0.6 ,(这是什么意思??欧式距离 ?  能不能理解 这个0.6 ? 越相似,这个值越小 )

 

写到这里,越来越无感了,还要继续嘛。come on... 

 

后期建议:

1.为什么 在 人脸的时候,没有 名字输入??(可以这么理解吧。我们输入一张图,在图中 搜索到 一张人脸,  要是没搜索到人脸 还好,要是有人脸的话,我要注册,  注册的名字,是不是 要上层  给,也就是传进来 我  来  处理??  或许 我 ....)

 

2.    为什么   要    把  所有 人脸框   ,( 一张图中   all    face_rect   , 来存入一个 数据结构)。

这样  只对   判断(一张图)  有 几个人 有 便利。其他 ??

暂时 还没  想到 ....

3 .    还是  关于 人脸 与 名字的  关联 问题,  人脸的 存取。 后期 再 考虑。。

我 想 dlib  后期如果  更新的话。应该这些。我 刚刚  提到的。这些...

还有  速度 当然会 更快...模型,内存会更少...  这是 趋势... 

 

 

---->

好了,今天的   更新  就到这里了,有机会下次  在见~~ 

 

这篇关于dlib 人脸 识别函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/838074

相关文章

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

python中的高阶函数示例详解

《python中的高阶函数示例详解》在Python中,高阶函数是指接受函数作为参数或返回函数作为结果的函数,下面:本文主要介绍python中高阶函数的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录1.定义2.map函数3.filter函数4.reduce函数5.sorted函数6.自定义高阶函数

Python中的sort方法、sorted函数与lambda表达式及用法详解

《Python中的sort方法、sorted函数与lambda表达式及用法详解》文章对比了Python中list.sort()与sorted()函数的区别,指出sort()原地排序返回None,sor... 目录1. sort()方法1.1 sort()方法1.2 基本语法和参数A. reverse参数B.

如何正确识别一台POE交换机的好坏? 选购可靠的POE交换机注意事项

《如何正确识别一台POE交换机的好坏?选购可靠的POE交换机注意事项》POE技术已经历多年发展,广泛应用于安防监控和无线覆盖等领域,需求量大,但质量参差不齐,市场上POE交换机的品牌繁多,如何正确识... 目录生产标识1. 必须包含的信息2. 劣质设备的常见问题供电标准1. 正规的 POE 标准2. 劣质设

Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧

《Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧》本文将通过实际代码示例,深入讲解Python函数的基本用法、返回值特性、全局变量修改以及异常处理技巧,感兴趣的朋友跟随小编一起看看... 目录一、python函数定义与调用1.1 基本函数定义1.2 函数调用二、函数返回值详解2.1 有返

Python Excel 通用筛选函数的实现

《PythonExcel通用筛选函数的实现》本文主要介绍了PythonExcel通用筛选函数的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录案例目的示例数据假定数据来源是字典优化:通用CSV数据处理函数使用说明使用示例注意事项案例目的第一

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Python Counter 函数使用案例

《PythonCounter函数使用案例》Counter是collections模块中的一个类,专门用于对可迭代对象中的元素进行计数,接下来通过本文给大家介绍PythonCounter函数使用案例... 目录一、Counter函数概述二、基本使用案例(一)列表元素计数(二)字符串字符计数(三)元组计数三、C