训练深度网络模型
OpenFace还不是运用faceNet的model作为训练模型,所以在准确性上比faceNet要低,如果你只是做一个简单的分类,建议你看看官网的demo3(http://cmusatyalab.github.io/openface/demo-3-classifier/),如果你想自己训练一个模型,建议提供一个大于500k的图片集作为训练集。(这里的500k应该是50w张图片来理解更合适)
Openface暂时还没提供该faceNet模型的支持。
注意:在K40Gpu的机器上训练数据估计要耗费很多的内存还有一整天的时间,所以务必准备相应的硬件支持。

1)创建原生图片目录data/mydataset/raw
Raw目录下再建立各个分类目录,这些分类目录的名字将是分类的标签名,在子目录下面就存放各个分类的图片。

2)预处理原生图片
如果你想比较你图片集跟LFW数据集的准确率,你可以使用项目中提供的脚本来清除你图片集中带有LFW特征的图片(data/casia-facescrub/remove-lfw-names.py)
我们启用8个线程来预处理图片:

for N in {..}; do ./util/align-dlib.py <path-to-raw-data> align outerEyesAndNose <path-to-aligned-data> --size  & done

注:<> 括号里是自己的目录,自己需要根据实际改写
然后修剪生成分类目录,在每个分类目录下存放3张精选的图片:

./util/prune-dataset.py <path-to-aligned-data> --numImagesThreshold 

注:3这个阈值,你可以根据情况自己设置

3)训练模型
执行 training/main.lua文件去训练模型(在 training/opts.lua文件里编辑选项或者通过命令行传参执行)然后会产生损失函数和处理模型到training/work这个目录里。对于GPU内存来说,大概需要耗费128G内存,需设置-peoplePerBatch和-imagesPerPerson(默认分别是15和20)来减少内存的消耗。(这些参数可限制每批次处理的上限)

注意:数据目录的metadata(元数据)存放在缓存里training/work/trainCache.t7;如果数据目录发生改变了,删除这些元数据,他会重新生成一个。

停止或者重启训练
每次训练迭代都会把模型存放在work里面,如果训练进程被kill掉,你可以通过-retain参数重启。你也可以设置不同人工种子-manualSeed来作为图片序列采样,-epochNumber设置迭代次数。

这里需要你懂点lua语言的应用的,不然真的一头雾水,主要的翻译就这样了

4)分析训练结果
验证损失函数: training/plot-loss.py.
需要装相应的依赖,相应依赖存放在 training/requirements.txt,可以执行以下命令安装:

pip2 install -r requirements.txt

模型的正确率:
Openface 官方有说明默认是使用nn4.small2,有3733968个参数,预计准确率为93左右
LFW数据集在国外训练model挺流行,可是在国内感觉不怎么行,毕竟采集的人物大都是外国人为准;关于模型的正确率,你可以参考这个链接:
http://cmusatyalab.github.io/openface/models-and-accuracies/

http://cmusatyalab.github.io/openface/training-new-models/

openface 训练数据集的更多相关文章

  1. darktrace 亮点是使用的无监督学习(贝叶斯网络、聚类、递归贝叶斯估计)发现未知威胁——使用无人监督 机器学习反而允许系统发现罕见的和以前看不见的威胁,这些威胁本身并不依赖 不完善的训练数据集。 学习正常数据,发现异常!

    先说说他们的产品:企业免疫系统(基于异常发现来识别威胁) 可以看到是面向企业内部安全的! 优点整个网络拓扑的三维可视化企业威胁级别的实时全局概述智能地聚类异常泛频谱观测 - 高阶网络拓扑;特定群集,子 ...

  2. yolo训练数据集

    最近了解了下yolov3的训练数据集部分,总结了以下操作步骤:(基于pytorch框架,请预先装好pytorch的相关组件) 1.下载ImageLabel软件对图片进行兴趣区域标记,每张图片对应一个x ...

  3. 莫烦scikit-learn学习自修第四天【内置训练数据集】

    1. 代码实战 #!/usr/bin/env python #!_*_ coding:UTF-8 _*_ from sklearn import datasets from sklearn.linea ...

  4. FasterRcnn训练数据集参数配置

    说明:本博文假设你已经做好了自己的数据集,该数据集格式和VOC2007相同.做好数据集后,我们开始训练,下面是训练前的一些修改.本文来自:http://www.lai18.com/content/25 ...

  5. python3 TensorFlow训练数据集准备 下载一些百度图片 入门级爬虫示例

    从百度图片下载一些图片当做训练集,好久没写爬虫,生疏了.没有任何反爬,随便抓. 网页: 动态加载,往下划会出现更多的图片,一次大概30个.先找到保存每一张图片的json,其对应的url: 打开调试,清 ...

  6. ctpn+crnn 训练数据集生成

    1. https://github.com/Belval/TextRecognitionDataGenerator 2. https://textrecognitiondatagenerator.re ...

  7. Fast RCNN 训练自己的数据集(3训练和检测)

    转载请注明出处,楼燚(yì)航的blog,http://www.cnblogs.com/louyihang-loves-baiyan/ https://github.com/YihangLou/fas ...

  8. Fast RCNN 训练自己数据集 (2修改数据读取接口)

    Fast RCNN训练自己的数据集 (2修改读写接口) 转载请注明出处,楼燚(yì)航的blog,http://www.cnblogs.com/louyihang-loves-baiyan/ http ...

  9. 【Tensorflow系列】使用Inception_resnet_v2训练自己的数据集并用Tensorboard监控

    [写在前面] 用Tensorflow(TF)已实现好的卷积神经网络(CNN)模型来训练自己的数据集,验证目前较成熟模型在不同数据集上的准确度,如Inception_V3, VGG16,Inceptio ...

随机推荐

  1. 【ASP.NET MVC 学习笔记】- 12 Filter

    本文参考:http://www.cnblogs.com/willick/p/3331520.html 1.Filter(过滤器)是基于AOP(Aspect-Oriented Programming 面 ...

  2. LeetCode 562. Longest Line of Consecutive One in Matrix(在矩阵中最长的连续1)$

    Given a 01 matrix M, find the longest line of consecutive one in the matrix. The line could be horiz ...

  3. [Bayesian] “我是bayesian我怕谁”系列 - Continuous Latent Variables

    打开prml and mlapp发现这部分目录编排有点小不同,但神奇的是章节序号竟然都为“十二”. prml:pca --> ppca --> fa mlapp:fa --> pca ...

  4. RabbitMQ-Windows单机集群搭建

    1.先安装Erlang http://www.erlang.org/downloads,安装完成后,设置环境变量: 变量名:ERLANG_HOME 变量值:D:\Program Files\erl9. ...

  5. kettle介绍

    Kettle也叫PDI,在2006年Kettle加入了开源的BI组织Pentaho,正式命名为PDI,英文全称为Pentaho Data Integeration.Kettle是"Kettl ...

  6. outline

    a标签 两种button按钮  默认带有一个虚线 outline  当他们被单击 和 激活以后   outline和border 很类似 ,但是有不同 1.outline 不能针对特定的边赋值 ,也就 ...

  7. 大家好,我是ZCDHJ

    大家好,我是ZCDHJ.CJ C2017级的一名Oier.

  8. GoldenGate 传统抽取进程随 DataGuard 主备快速切换的方案(ADG 模式)

    环境描述: 1.节点描述 节点 IP 节点描述 11.6.76.221 GG 抽取端 / DG 节点,数据库版本号为 Oracle-11.2.0.3,与 11.6.76.222 组成 DataGuar ...

  9. MS-SQL 错误: The offset specified in a OFFSET clause may not be negative

    Example 1 : (Fetch clause must be greater than zero) USE AdventureWorks2012 GO SELECT * FROM [HumanR ...

  10. 第一章 Linux系统介绍与环境搭建准备

    1.操作系统: Operating System,简称OS,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心. 操作系统就是处于用户与计算机系统硬件之间用于传递信息的系统程序软件. ...