首页
/ AUNets 的项目扩展与二次开发

AUNets 的项目扩展与二次开发

2025-05-31 06:58:49作者:咎竹峻Karen

1. 项目的基础介绍

AUNets 是一个基于 PyTorch 的多视角动态面部动作单元检测的开源项目。该项目由哥伦比亚安第斯大学的计算机视觉生物医学团队开发,旨在通过独立和二进制卷积神经网络(CNNs)对每种面部表情进行识别,无需关键点或面部对齐即可工作。AUNets 适用于多种应用场景,如情感识别、表情识别和人脸分析等。

2. 项目的核心功能

AUNets 的核心功能包括:

  • 多视角动态面部动作单元检测。
  • 无需面部关键点或对齐即可进行面部表情识别。
  • 支持多种光学流选项,如 None、Alone、Horizontal 等。
  • 支持不同的微调选项,包括 emotionnet、imagenet 和 random。
  • 提供了三种不同的数据模式,包括 normal 和 aligned。

3. 项目使用了哪些框架或库?

该项目主要使用了以下框架和库:

  • PyTorch: 用于构建和训练深度学习模型。
  • TensorFlow(可选):用于 tensorboard 可视化。
  • Python 2.7:项目的主要开发语言。

此外,项目还依赖于一些其他模块,具体可以在 requirements.txt 文件中查看。

4. 项目的代码目录及介绍

项目的代码目录结构如下:

  • Demo: 包含示例数据和脚本。
  • Demo_OF: 包含与光学流相关的示例数据和脚本。
  • generate_data: 数据生成相关脚本。
  • misc: 包含一些杂项文件,如网络架构图、VGG16 架构等。
  • models: 包含模型定义和训练脚本。
  • .gitignore: 指定 Git 忽略的文件和目录。
  • LICENSE: 项目许可证文件。
  • README.md: 项目说明文件。
  • azure-pipelines.yml: Azure DevOps 的配置文件。
  • bp4d_3splits.pkl: 数据集划分文件。
  • config.py: 配置文件。
  • data_loader.py: 数据加载器。
  • logger.py: 日志记录器。
  • main.py: 主脚本文件。
  • main.sh: shell 脚本文件。
  • requirements.txt: 项目依赖文件。
  • solver.py: 优化器相关脚本。
  • split_train_val_test.py: 数据集划分脚本。
  • utils.py: 工具函数。

5. 对项目进行扩展或者二次开发的方向

  • 模型优化: 对现有的 CNN 模型进行优化,提高面部动作单元检测的准确性和效率。
  • 多模态融合: 结合其他模态的数据,如音频、视频等,进行多模态面部表情识别。
  • 跨数据集训练: 将模型训练和测试扩展到其他数据集,提高模型的泛化能力。
  • 实时检测: 优化模型和数据处理流程,实现实时面部动作单元检测。
  • 用户交互: 开发用户界面,提供友好的用户交互体验。
  • 移动端部署: 将模型部署到移动设备,实现移动端的面部表情识别应用。
登录后查看全文