English | 简体中文 | Tiếng việt
- OpenPose with Recurrent Neural Network
- Results
- Installation
- Quick Start Overview
- Structures
- Send Us Feedback!
- Thanks
- License
此项目提供了OpenPose + RNN的异常检测实现。为了简单起见,我们在此自述文件的其余部分中将此模型称为OpenPoseRNN。我们还要感谢Minh Chuan-Pham博士和Quoc Viet-Hoang博士对此项目的支持。这种基于深度学习的系统正在全球发达国家如英国、法国、美国以及日本、韩国、中国等亚洲国家中应用。一些大学如清华大学、北京大学、斯坦福大学等使用技术防止考试作弊。它正在与考试监考员合作实施,以达到最高的效果并确保考试的公平性。
使用12422TN类进行测试 on OpenPose
对于这部分,我们使用 YOLOv3 用于检测房间中的人。为了评估这个模型,我们使用从原始数据集分割出来的trainval35k集。 MS-COCO 2017 数据集. 结果显示在表1中。
表 1. 与其他3种模型的人体检测图像的比较结果
Models | Avg. | Precision | IoU |
---|---|---|---|
Faster-RCNN | 21.9 | 42.7 | - |
SSD300 | 25.2 | 43.1 | 26.1 |
YOLOv2 | 21.6 | 44 | 19.2 |
Ours | 25.3 | 44.5 | 25.9 |
用于骨架位置定位, 我们使用 OpenPose 为了检测人体骨骼,我们使用了这个模型进行评估 MS-COCO2015 数据集。结果显示在表2中。
表 2. 与其他两种模型相比,骨架位置定位的评估结果
Models | AP@0.5 | AP@0.75 | AP medium | Ap large |
---|---|---|---|---|
AlphaPose | 89.2 | 79.1 | 69 | 78.6 |
Detectron Mask-RCNN | 25.2 | 43.1 | 26.1 | 68.2 |
Ours | 88.0 | 73.1 | 62.2 | 78.6 |
此外,我们还使用 FPS 和 GPU 内存来评估这一点。结果显示在表 3 中,用于多人和表 4 中的单人.
表 3. 多人结果
Models | GPU Memory Usage | FPS(Frame Per second |
---|---|---|
AlphaPose | 73.4% | 1.15 |
Ours | 21.3% | 18.39 |
表 4. 单人结果
Models | GPU Memory Usage | FPS(Frame Per second |
---|---|---|
AlphaPose | 60.3% | 23.71 |
Ours | 21.3% | 18.77 |
我们用了 Recurrrent Neural Network 我们使用循环神经网络(RNN)来对考场中的行为进行分类。为了评估这部分,我们使用了两个指标,即混淆矩阵和接收者操作特征曲线(ROC)。结果如下所示 图 1 and 图 1
图 1. 所有标签的结果 Confusion Matrix
图 2. 所有标签的结果 ROC
要求 python >= 3.7
- 安装依赖库
pip install -r requirements.txt
- 安装依赖文件
- 切换目录到
OpenPose/graph_models/VGG_origin
, 你可以用这个命令切换目录cd OpenPose/graph_models/VGG_origin
- 然后你必须运行
file_requirements.py
或者
python file_requirements.py
- 用其他步骤安装依赖文件 ( 可选 )
- 如果你的第二步没有成功,你可以从 Google Drive下载权重.
- 把下载的
graph_models
文件夹移动到OpenPose\graph_models
-
安装依赖库
- 安装依赖库
openpose.yaml
文件加载依赖库。. - 你可以在
Environment
文件夹里找到openpose.yaml
文件
- 安装依赖库
-
安装依赖文件
- 切换目录到
OpenPose/graph_models/VGG_origin
, 你可以用这个命令切换目录cd OpenPose/graph_models/VGG_origin
- 然后你必须运行
file_requirements.py
或者
python file_requirements.py
- 用其他步骤安装依赖文件 ( 可选 )
- 如果你的第二步没有成功,你可以从 Google Drive下载权重.
- 把下载的
graph_models
文件夹移动到OpenPose\graph_models
- 快速运行
- 您可以运行此文件main.py来启动此项目。
- [可选] 要训练模型,您可以使用
create_data.py
导出数据点并移动到文件夹Action\trainning
,并使用 .ipnb文件train.ipnb
进行训练。 - [可选] 使用
VGG_origin
可能会很慢,如果您没有GPU,您可以将模型更改为mobilenet
以更快地预测。
- 要将模型更改为
mobilenet
,导航到主文件夹中的文件main.py
。 - 在第 14 行,将
estimator = load_pretrain_model('VGG_origin')
更改为estimator = load_pretrain_model('mobilenet_thin')
4..[可选] 要使用您的权重,您可以在 main.py
中更改它,在第 15 行将 action_classifier = load_action_premodel('open_pose2\Action\framewise_recognition_under_scene.h5')
更改为 action_classifier = load_action_premodel('path_to_your_weights')
所有模型的结构
我们的项目是为了研究目的而开源的,我们想要改进它!所以如果你…
- 发现/修复了任何 bug (在功能或速度方面) 或者知道如何加速或改进 OpenPoseRNN 的任何部分。
- 想要添加/展示一些基于学生跟踪的酷功能/演示/项目。我们可以把你的项目链接添加到你的 Issue
感谢Dr.Minh Chuan-Pham在创建这个项目的过程中的指导,以及由Dr.Quoc Viet-Hoang组成的评审委员会,他们帮助我们改进了结果,并为这个项目提供了反馈。
这是一个免费的非商业用途的项目。如果你觉得它有用,你可以给它一个星星。感谢您的使用。