使用openface训练自己的第一个模型

来源:互联网 发布:伤感的网络歌曲 编辑:程序博客网 时间:2024/06/04 19:21

今天实现了openface训练了自己第一个人脸识别的模型,实现过程中参照了这个博客帮了我大忙  http://www.vccoo.com/v/2ed520


实现的过程和结果如下:

前提:我的这台机子已经配置过了openface+dlib,所以我不用太为环境而担忧。环境在实现的过程中就出现了一个错 误:/home/zpj/torch/install/bin/luajit: /home/zpj/torch/install/share/lua/5.1/trepl/init.lua:384: module 'csvigo' not found:No LuaRocks module found for csvigo

经检查发现少了一个csvigo的模块,既然找到了问题,安装就行了,于是进行如下步骤

root@zpj-HP-xw4550-Workstation:~/openface/training-images# luarocks install csvigo


ok ,搞定!


搞定了问题,就是训练了



2、

第一步

在 openface 文件中建立一个名为./training-images/的文件夹

mkdir training-images

第二步

为你想识别的每个人建立一个子文件夹。例如:我找了四组训练图片,每组图片大约在15张左右,其实有点少了。一组我的Pengjunzhu/,一组我女朋友的Xinqi/、另两组分别是孙红雷Hongleisun/和黄磊Leihuang/的,这是在《男人帮》截的图。把这四组图片放在四个文件夹里面。


第三步

然后把这几个训练文件夹放到openface/tarin-images。图片的格式无所谓。确保每张图像上只出现一张脸。不需要裁剪脸部周围的区域。OpenFace 会自己裁剪。

第四步

从这个 OpenFace 的根目录中运行这个 OpenFace 脚本。

首先,进行姿势检测和校准:

./util/align-dlib.py ./training-images/ align outerEyesAndNose ./aligned-images/ --size 96

这将创建一个新./aligned-images/子文件夹,带有每一个测试图像的裁剪过的并且对齐的版本。

第二,从对齐的图像中生成表征:

./batch-represent/main.lua -outDir ./generated-embeddings/ -data ./aligned-images/

运行完后,这个./aligned-images/子文件夹会包含一个带有每张图像的嵌入的  csv 文件。

第三,训练自己的面部检测模型:

./demos/classifier.py train ./generated-embeddings/

这将产生名为./generated-embeddings/classifier.pkl的新文件名。这个文件有你将用来识别新面部的 SVM 模型。

到了这,你应该有一个可用的面部识别器。


第五步:识别面部!


获取一张未知脸的新照片。把它像这样传递给分类器脚本:

./demos/classifier.py infer ./generated-embeddings/classifier.pkl your_test_image.jpg

我们会得到一个看起来像这样的预测:

=== /test-images/will-ferrel-1.jpg ===

Predict will-ferrell with 0.73 confidence.

  注:我这里用的自己的照片进行测试结果,最好的结果达到了89%,最坏的结果66%  这是因为我的训练图片比较少。

从这里开始直到你适应这个 ./demos/classifier.py Python 脚本 做任何你想做的。


重要提示

  • 如果你得到了坏的结果,请尝试在第三步中为每个人添加更多一些照片(尤其是不同姿势的照片)。

  • 这个脚本总是会给出一个预测,即便是一张它不知道的脸。在真实的应用中,你会看到信度得分,并抛除低信度的预测,因为它们很可能是错误的。


到这里基本上实现了一个分类器了,但是我还有两点不是很明白但是特别想知道的,

1、加入我要增加某一组的训练数据,那么我能不能在现有训练模型的基础上进行训练,而不用在从新训练模型。

  我知道一定有的,但是我还不知怎么做。

2、如何调用摄像头,这样我就可以通过摄像头传过来的图片进行测试了,而不用这样在手动进行识别了。


这是我目前不知道但特别想知道的了两项技术。

2016.08.21 晚



今天又测试了下模型。这个模型是不能识别一张猫脸的。哈哈...

抛出的错误是 Exception: Unable to find a face: train-test/haha.jpeg

那能不能识别出一个陌生人的脸的呢?

这个结果很让我吃惊,我copy了一直刘德华的照片,拿去测试,竟然发现他和孙红雷的置信度是90%,我一下子就蒙逼。要知道我拿孙红雷自己的照片最高置信的度才89%.这一定是那里出了问题。训练量不够么?我下一步要去找几组比较多的训练集。看看效果怎么样。

就这个问题今天在群里请教了下,可能的原因是预处理没处理好 , 也许是裁剪的问题,裁剪和定位的问题。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 酷狗音乐停止运行怎么办 米6蓝牙声音小怎么办 手里酷狗id丢了怎么办 连麦声音不好听怎么办 微信语音声音很难听怎么办 微信聊天语音没有声音怎么办 微信发语音声音不好听怎么办 微信语音说话不好听怎么办 微信字体变粗怎么办 笔记本无法识别usb设备怎么办 手机qq音乐闪退怎么办 qq音乐总是闪退怎么办 手机qq音乐闪退怎么办修复 苹果7p耳机漏音怎么办 akgn25耳机盖掉了怎么办 外汇平台跑路了怎么办 微云资料没了怎么办 酷狗k歌有杂音怎么办 手机k歌音质不好怎么办 酷狗让升级内测取消之后怎么办 苹果5s声音太小怎么办 苹果6p调均衡卡怎么办 忘记密码怎么办登录云教育 登录微信收不到验证码怎么办 红米手机黑白屏怎么办 手机登录不上电子邮件怎么办 如果台湾发生骚乱大陆怎么办 80端口被占用了怎么办? qq邮箱服务器密码忘记了怎么办 对方身份异常请验证怎么办 qq附近人屏蔽了怎么办 快递地址填错了怎么办 快递填错地址已经发货怎么办 淘宝受到卖家威胁怎么办 消费者被外卖商家威胁怎么办 拼多多商家打电话威胁怎么办 退款被拒商家还威胁怎么办? 打错电话给领导怎么办 领导送礼物给我怎么办 南瓜饼和面很稀怎么办 包饺子剩的肉馅怎么办