装备了一个更大的数据集以及我初学的深入学习技巧,我修改了两个TensorFlow MNIST的网络样本去训练他们用35K的照片并且用TFWM设置测试。代码运行的时候,我很激动并且充满期待,在所有最简单的代码之后(简单的MNIST),适度Softmax回归,取得了91%的准确率,而更深层次的代码(深MNIST),一二层卷积网络对MNIST数据集达到99.2%左右的精度。当最高的准确率为14.7%和27.9%时,我感到非常失望。然后我试图改变一些参数,如学习率、迭代次数,在最后一层softmax去 热鲁转变,但是事情并没有发生太大的变化。不知怎地,我觉得被骗了,所以在花更多时间去探索,深入学习去建立一个更复杂的网络之前,我决定尝试一个小实验。
曾经与情感工作室工作过一段时间,我已经逐渐熟悉心理学家艾克曼保罗的研究。事实上,大多数的情绪检测系统都是或多或少基于他提出的6个基本情绪。这个工作启发了我的实验是面部动作编码系统(FACS),系统地将情感的物理表达进行分类的一个共同标准。本质上,面部动作编码系统通过解构具体行为的单位产生的表达,描述各种情感表达(个别肌肉或肌肉群的基本动作)。面部动作编码系统已经被证明对心理学家和师都有用,我相信大多数的情感检测系统也适应它。面部动作编码系统是复杂的,并且开发了一个系统,使它从零开始可能需要很长的时间。在简单的实验中,我确定了2个行动单位比较容易检测图片:拉嘴角,引起口角上方和后方(微笑),降嘴角与皱着眉头(和悲伤的脸)。
一个算法可以告诉你,你的脸是否被容易遗忘
如何拍出和明星一样美爆的自拍照?斯坦福大学用卷积神经网络建模告诉你
基于卷积神经网络LeNet-5的车牌字符识别研究
心情识别技术:你不说,它也知道
人脸识别技术大总结——Face Detection & Alignment
图1:一个微笑或喜悦,所代表的嘴角的高度。
图2,悲伤,代表嘴角凹陷
为了完成我的实验,我只考虑了两种情绪,即喜悦和悲伤。与改编MNIST网络相比,我创建了一个单一的规则。使用数字图书馆,一个功能强大的工具包,包含机器学习算法,我用人脸检测器检测了图像中的人脸。对于任何可以检测到的人脸,我使用了形状检测器,以确定68个面部标记。我确定了12个对应的外唇。
图3:脸上检测到了68个地标。白点点代表外唇
一旦有了建造一个包围盒。
图4:最高和最低的白色地标,黑色的嘴角
然后简单的规则如下。我设定一个嘴巴的高度(MH)作为最高的和最低的地标间的Y坐标差。我设定一个阀值(TH)为嘴巴高度的一半(TH=MH/2)。这个阀值可以被认为是一个水平的坐标,将包围盒分为上下区域和下区域。
图5:由4个特殊标志和一个阀值线将其定义为2个区域的边界框。
然后我计算两”唇角高度”作为最高的地标和地标之间的嘴角Y坐标差。我采取的最大的”唇角高度”,将其对比。如果最大值小于阀值,则意味着嘴角在包围盒的顶部区域,它代表一个微笑(由嘴角拉出)。如果没有,那么我们在唇角存在降低作用,这代表一个悲伤的脸。
图6:唇角只在阀值线,但不是微笑
有了这个简单算法,我然后进行实验。为了NMIST网络,从Kaggle提取相关的面孔并且我结束了8989个快乐的和6077个悲伤的脸的训练。从TFWM集我分别有224个和212个面孔作为测试。训练和测试后,简单的NMIST网络获得51.4%和深度NMIST55%的准确率,在7-classes版本有很大的改进,但是依然是个很糟糕的表现。然后,我使用了测试集并运行单一规则算法。令人惊讶的是,这一规则获得了76%的准确度,在深NMIST网络提高了21%。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-22609-14.html
早就和日本美国干起来了
我们还应建造更多更好的军舰才符合我国的实际