Skip to content

huyz97/Emognition

 
 

Repository files navigation

多场景表情识别平台——Emognition

利用迁移学习实现只需要极少的数据样本,即可让用户根据自己的需求训练出各异的表情识别模型

目前本项目已部署到服务器,可以通过访问 http://prp1.work:8090/ 进行使用

系统环境

  • 操作系统:Ubuntu 16.04
  • python版本: python3.5
  • Mongodb版本: Mongo 3.2.22
  • python第三方库引用见 requirement.txt

代码目录

├── static                              # Web需要的资源目录
│       └── TmpModels           # web服务过程中的临时文件夹
│       └── TmpResult              # web服务过程中的临时文件夹
│       └── TmpUploadDir        # web服务过程中的临时文件夹
│       └── css
│       └── fonts
│       └── img
│       └── js
│       └── scss
│       └── vendors
├── templates                           # Web前端页面设计
│       └── sierra                        # boostrap模板
│       ├── login.html
│       ├── navigateTest.html
│       ├── navigateTrain.html
│       ├── progress.html
│       ├── register.html
│       ├── setTrainLabel.html
│       ├── testResult.html
│       ├── testSuccess.html
│       ├── upload.html
│       ├── uploadSuccess.html
├── transfer_learning_source          # 迁移学习代码
│       ├── convert_csv_to_48_48.py
│       ├── convert_current.py
│       ├── convert_fer2013.py
│       ├── emotion_classifier.py
│       ├── emotion_classifier_trans.py
│       ├── emotion_train_self.py
│       ├── image_preprocessing.py
│       ├── transfer_VGG.py
│       ├── transfer_continue.py
│       ├── transfer_learning.py
│       ├── transfer_sleep.py
├── test_cases          # 自动测试脚本代码及测试输入
│       ├── mongodb_test.py
│       ├── recognize_test.py
│       ├── test1.jpg
│       ├── test2.jpg
│       ├── test3.jpg
│       ├── test4.jpg
├── GFS.py                                           # 使用GridFs格式存储照片到mongo所封装的类
├── app.py                                           # Flask的运行文件,Web服务的核心
├── check_and_train_models.py          # 轮询检查数据集是否已满足迁移学习要求
├── requirement.txt                             # python第三方库引用列表

项目部署指南

  1. 下载项目源码
git clone https://github.com/Yangzhengtang/Emognition
  1. 安装python虚拟环境virtualenv
pip3 install virtualenv
  1. 创建虚拟环境
virtualenv --no-site-packages venv
  1. 进入虚拟环境
source venv/bin/activate
  1. 安装python第三方库依赖
pip install -r requirement.txt
  1. 后台启动Mongodb
nohup mongod --dbpath=/var/lib/mongodb &
  1. 后台运行Web服务程序
nohup python3 app.py &
  1. 后台运行轮询检查程序,判断预约模型是否达到可以迁移学习的阈值
nohup python3 check_and_train_models.py &

用户使用指南

  • 访问 http://prp1.work:8090/ 并注册登录,登录后可以上传照片

  • 上传照片后可以选择train或是test,train是定制特定分类的表情识别模型,test是利用已有的模型进行表情识别的测试

  • 选择train后进入标签选择的页面,用户可以选择已有的标签或是自己上传自定义的表情标签,设计新模型

  • 选择完自定义的模型后,需要对刚才上传的照片打标签

  • 打完标签后等待后台使用迁移学习对该模型进行快速的训练,只有当数据库中该模型所有标签的照片都达到迁移学习所需要的阈值(目前为1000张)时,后台的迁移学习训练才会开始,页面右下角显示当前各个标签的已有数量与阈值的比值

  • 上传完照片后也可以选择test,直接使用已有的模型进行测试,用户只能使用自己贡献过带有标签的训练照片的模型

  • 选择完模型后可以看到模型识别的结果

开发人员

杨正瑭 胡煜宗 江智昊 尹广浩 施纬
[email protected]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 38.6%
  • HTML 32.4%
  • JavaScript 17.7%
  • Python 11.1%
  • PHP 0.2%