基于神经网络判定人眼注视方向摘要人眼追踪在人机交互领域非常重要,现有的方案大多依靠需要携带的设备。本文提出并实现了一种利用神经网络来判断目标人物是否在注视观察者(摄像头)的方案。首先,收集照片数据,然后进行阈值化、聚类等预处理以获得基本参数。其次,构建了以获得的基本参数为输入、分类结果为输出的单隐层神经网络,并将数据分成多个集合以训练和验证神经网络。最后使用收集到的839份脸部照片来评估,测试结果表明这是一种快速准确的算法。关键词神经网络;聚类;人眼注视方向TP183文献标识码A1674-6708(2013)83-0098-021介绍本文提出了一个轻量级的利用人工神经网络(ANN)来判断目光注视方向的方案。通过使用一个放置于测试对象面前的具有普通解析度的摄像头就足以获得需要的数据。在对数据进行必要的预处理并得到参数之后,笔者在Matlab中建立并训练神经网络,从而验证该方法可以快速准确地判定目标是否正在注视摄像头。2相关研究人眼追踪是很早就被提出的课题。它的应用非常广泛,比如在人机交互领域通过人眼追踪可以了解用户感兴趣的区域和顺序。然而,目前的使用可见光的人眼追踪方案多依靠固定于用户头部的摄像头来完成,这会对用户的意识产生影响,进而影响人机交互实验的准确性。此外,目前对于如何从面部照片中获取脸部细节(如五官位置)的研究已经比较成熟[3],比如可变框架方法[2,4]。但如何使用这些数据来快速准备地判定注视方向的研究比较少[5]。3获取数据4)测试对象是否在注视摄像头因为原始数据库不包含这部分数据,故进行了人工标定(是,否)。5构建和训练神经网络1)在预处理阶段得出的数据中选择神经网络的输入参数。(1)左瞳孔在左眼中的相对坐标;(2)右瞳孔在右眼中的相对坐标;(3)从两眼到鼻子的距离;(4)测试对象是否在注视摄像头。由于照片大小可能有差别,所以在提供给神经网络之间,这些数据都要经过正规化处理。2)选择转移函数、训练方法都以建立神经网络。3)用数据集的一部分来训练神经网络,并用另两部分来进行测试和作为停止训练的参照物。最后为了避免过度训练神经网络,将839份数据分为了训练(60%),测试(20%)和停止参照(20%)三个部分。在使用训练数据训练神经网络的同时用停止参照数据验证它,当发现评估函数的值随周期数增加而增加时,停止训练(见图4)。6系统验证在完成对神经网络的训练之后,使用不同的数据集来进行验证。7结论正像评估里看到的那样,本系统的分类结果的成功率在70%+/-2%左右。其次,本系统在30秒之内对800张照片进行了分类,能够满足实时的需要。本系统的局限性有以下几点:首先,对于如何选择神经网络隐节点数目缺乏较完善的理论指导;其次,样本照片都处于相似光照条件下(单光源,位置、亮度都类似),但真实环境中的光照更为复杂,对图像处理会有更高的要求。在训练神经网络方面,为了得到更好的结果,笔者尝试了多种方法,如将测试集中的样本数从400张调整至500张之后,笔者注意到了2%的成功率提升。如果用更多的样本来进行训练,应该能得到更好的结果,但显然成功率不会随样本数持续线性增长。参考文献[1]A.Kasinski,A.Florek,A.Schmidt,”THEPUTFACEDATABASE",ImageProcessingCommunicationsVolume13,Number3-4,2008:59-64.[2]N.Funabikietal."Aneye-contourextractionalgorithmfromfaceimageusingdeformabletemplatematching,"Mem.oftheFac.ofEng40,2006:78-87.[3]V.VezhnevetsandA.Degtiareva,"Robustandaccurateeyecontourextraction,Proc.Graphicon,2003:81-84.[4]A.LYuille,P.WHallinan,andD.SCohen,"Featureextractionfromfacesusingdeformabletemplates,”Internationaljournalofcomputervision8,1992(2):99-111.[5]王勇,袁景和,常胜江,张延所,“基于参数提取的人眼注视方向的判别",光电子.微光,2001:1284-1287.