基于人脸识别的快速成像系统 文档

本文档介绍了基于人脸识别的快速成像系统,包括OpenCV、AForge、dlib和stasm等第三方库的使用,以及FaceScoreEvalLib和FaceScoreEvalDll等核心组件。系统提供了图形化界面,并依赖于特定的静态库和动态库文件,运行时需要摄像头支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

结构

  包括下述三个部分:

  • 本体的源码
  • 第三方库源码
  • 训练用文件(FSE_Picture.7z),包括训练用图片等
  • 运行用文件(FAP_Dll_data.7z),包括OpenCV动态库,训练好的数据包等

  git仓库里仅包含了本体的源码和第三方库源码。训练用文件,运行用文件因为体积较大,而且更新频率较低,所以不加入git仓库管理。获取这些文件请跟项目相关人员联系。

简介

  下面是解决方案中所有的VC项目、已生成好的静态库动态库及其简易说明。

OpenCV (第三方库)

  计算机视觉库。库本体包括以下文件(带d的是Debug模式生成的,否则则是Release模式生成的):

  • opencv_world320(d).lib

  提供OpenCV库各函数的签名,方便其他静态库动态库项目链接。

  • opencv_world320(d).dll

  若要使用OpenCV的程序可运行,则文件路径下还需要有该文件以调用。该文件因体积过大暂不加入git仓库管理范围内。

  宏$(OpenCVIncludePath)指定库头文件路径,宏$(OpenCVLibraryPath)指定静态库opencv_world320(d).lib的路径。

AForge (第三方动态库)

  基于.NETC#开发的开源图像处理类库。

  注:FacialAttractivenessPrediction目前只使用其利用了摄像头的部分。

dlib (第三方)

  一个包含机器学习算法的C++开源第三方工具包。生成后得到一个dlib.lib静态库文件。静态库的头文件目录由宏$(dlibThirdpartyIncludePath)指定。

stasm (第三方)

  一个人脸检测开源库。生成后得到一个stasm.lib静态库文件。静态库的头文件路径由宏$(StasmThirdpartyIncludePath)指定。

FaceScoreEvalLib

  存放了这个项目的核心代码。生成后得到一个FaceScoreEval.lib静态库文件。静态库的头文件路径由宏$(FaceScoreEvalLibIncludePath)指定。

FaceScoreEvalDll

  提供几个方便快速使用核心代码的函数。主要函数使用__declspec(dllexport)修饰以方便外部调用。生成后得到一个FaceScoreEvalDll.dll动态库文件。

FaceScoreEvalTest

TODO: 待补充

FacialAttractivenessPrediction

  实例一个图形化界面,提供一个简单结合使用摄像头和FaceScoreEvalDllDemo。项目生成FacialAttractivenessPrediction.exe程序。

生成

  下面是项目的解决方案中所有的VC项目,同时展示了这些项目间的依赖关系。

  • dlib: 无依赖
  • stasm: 无依赖
  • FaceScoreEvalLib: dlib stasm OpenCV静态库文件
  • FaceScoreEvalDll: dlib stasm FaceScoreEvalLib OpenCV静态库文件
  • FaceScoreEvalTest: dlib stasm FaceScoreEvalLib OpenCV静态库文件
  • FacialAttractivenessPrediction: FaceScoreEvalDll OpenCV动态库文件 AForge动态库文件

  一些项目在生成上并不需要完全依赖其在逻辑上实际依赖的项目,下面是这些项目在生成上的依赖关系。生成上无依赖的项目可以并行生成。

  • dlib: 无依赖
  • stasm: 无依赖
  • FaceScoreEvalLib: 无依赖
  • FaceScoreEvalDll: dlib stasm FaceScoreEvalLib
  • FaceScoreEvalTest: dlib stasm FaceScoreEvalLib
  • FacialAttractivenessPrediction: 无依赖

  下面列出了所有的属性文件及其定义的宏,设置的属性等。

Projects\Global.props
定义宏:
    ProjectDefaultPath: 指定所有VC项目的默认存放位置
    ThirdpartyPath: 指定所有第三方项目,库文件的默认存放位置
    dlibProjectPath: 指定dlib项目的位置
    StasmProjectPath: 指定stasm项目的位置
    OpenCVIncludePath: 指定链接OpenCV静态库时需要的头文件的位置
    OpenCVLibraryPath: 指定链接OpenCV静态库时的静态库的位置
    FaceScoreEvalLibIncludePath: 指定使用核心库函数需要的头文件的位置
设置生成位置:
    目标文件位置为: Programs\build.$(Platform).$(Configuration)\
    中间文件位置为: Programs\build.$(Platform).$(Configuration)\$(ProjectName).dir\

$(dlibProjectPath)\dlib.props
定义宏:
    dlibSourcePath: 指定dlib的源码的路径
    dlibThirdpartyIncludePath: 指定链接目标文件时需要使用的头文件的路径
忽略警告:
    4819(Unicode文字在代码页936中会丢失信息)

$(StasmProjectPath)\Stasm.props
定义宏:
    StasmSourcePath: 指定Stasm源码路径
    StasmIncludePath: 指定Stams内部头文件路径
    StasmThirdpartyIncludePath: 指定链接目标文件时需要使用的头文件的路径

  注: 由于属性表常常随着项目更新而更新,因而以上内容极易因疏忽而过期,因此以上内容仅供参考。

使用

Demo FacialAttractivenessPrediction

  运行需要动态库及一些运行用的文件,如下:

├── FacialAttractivenessPrediction.exe --程序入口
├── AForge.Controls.dll
├── AForge.Imaging.dll
├── AForge.Math.dll
├── AForge.Video.DirectShow.dll
├── AForge.Video.dll
├── AForge.dll
├── FaceScoreEvalDll.dll --FaceScoreEvalDll生成的动态库
├── data --训练好的数据
│   ├── 1875186294946684049.jpg
│   ├── 71JHP3$0~PKKPX7K1)42XYT.jpg
│   ├── haarcascade_frontalface_alt2.xml
│   ├── haarcascade_mcs_lefteye.xml
│   ├── haarcascade_mcs_righteye.xml
│   ├── shape_predictor_68_face_landmarks.dat
│   └── testface.jpg
├── opencv_world320.dll --OpenCV动态库依赖 Release模式
└── opencv_world320d.dll --OpenCV动态库依赖 Debug模式

  运行还需要电脑配备有摄像头,若无摄像头则程序运行会抛出数组溢出异常。

在自己的项目中

TODO: 待补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值