IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> mtcnn_pytorch完美复现 -> 正文阅读

[人工智能]mtcnn_pytorch完美复现

一、算法介绍

MTCNN,Multi-task convolutional neural network(多任务卷积神经网络),将人脸区域检测与人脸关键点检测放在了一起,它的主题框架类似于cascade。总体可分为P-Net、R-Net、和O-Net三层网络结构。

二、实现结果(完美复现,不是接近!)

2.1. 准确率

2.2. 速度

mtcnnhardwaresoftwareimage_sizemin_sizespeed
zhang'si7-9700K

vs2017-opencv-dnn

640x4802035ms
samyleei7-9700K

vs2017-opencv-dnn

640x4802032ms

2.3. 优势
2.3.1. 大多数复现mtcnn代码并不能完美复现mtcnn的速度,因为他们pnet网络产生了大量负样本,导致整体算法速度减慢,虽然能获得更大的recall,但摒弃了mtcnn算法设计初衷。
2.3.2. 大多数复现mtcnn代码并不能完美复现mtcnn的精度,其ROC曲线并不能重合或稍高。
2.3.3. 大多数复现mtcnn代码编写复杂,逻辑冗长,无法一目了然。
2.3.4. 提供pytorch转caffe工具和c++实现工程,工程部署不在话下。

2.4. 效果展示

三、实现要求

3.1. 系统及硬件要求
ubuntu16.04, nvidia-1080 或者更高,
3.2. 软件要求
anaconda(强烈建议),pycharm(强烈建议)
3.3. 算法依赖
python==3.6
pytorch-gpu==1.4
opencv-python==4.5.4
pickle

四、实现步骤

4.1. pnet实现
4.1.1. 进入'prepare_data/12net_data'下依次运行'gen_12net_data.py'和'gen_12net_imdb.py',用以生成pnet数据结构。
4.1.2. 进入'train', 新建'pnet'文件夹,运行'train_pnet.py'
4.2. rnet实现
4.2.1. 进入'prepare_data/24net_data'下依次运行'gen_24net_data.py', 'gen_24net_data_append.py', 'gen_24net_landmark_data.py'和'gen_24net_imdb.py',用以生成rnet数据结构。
4.2.2. 进入'train', 新建'rnet'文件夹, 运行'train_rnet.py'
4.3. onet实现
4.3.1. 进入'prepare_data/48net_data'下依次运行'gen_48net_data.py', 'gen_48net_data_append.py', 'gen_48net_landmark_data.py'和'gen_48net_imdb.py',用以生成rnet数据结构。
4.2.2. 进入'train', 新建'onet'文件夹, 运行'train_onet.py'

五、测试步骤

5.1. pnet测试
进入'test'文件夹,运行'test_pnet.py'
5.2. rnet测试
进入'test'文件夹,运行'test_rnet.py'
5.3. onet测试
进入'test'文件夹,运行'test_onet.py'

六、验证步骤

6.1. 进入'validate'文件夹下,新建'output'文件夹,运行'gen_fddb_results.py'即可。
6.2. 获得ROC曲线方式网上博客很多,这里就不介绍了。

七. 实现细节

7.1. 关于pnet
7.2. 关于rnet
7.3. 关于onet
7.4. imdb数据格式
7.5. 数据增强
7.6. loss设计
7.7. wider数据调整
7.8. celebA数据调整

八. 模型转换和部署

8.1. caffe-python3
新建anaconda环境工程,强烈建议使用python3.5,因为libboost-python3.5直接可以通过apt-get安装,并不需要重新编译boost库
8.2. pnet转换
运行pnet2caffe.py
8.3. rnet转换
运行rnet2caffe.py
8.4. onet转换
运行onet2caffe.py
8.5. 部署
将caffemodel放入工程目录下,使用vs2015/vs2017编译c++测试工程即可

九、代码发现(499RMB,非诚勿扰

请加唯一QQ2258205918(名称samylee)!

唯一VX:samylee_csdn

GITHUBicon-default.png?t=M0H8https://github.com/samylee/mtcnn_pytorch点亮右上角的小星星,立减100RMB

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-02-04 11:02:36  更:2022-02-04 11:02:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 2:26:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码