新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式实时面部检测应用设计指南

嵌入式实时面部检测应用设计指南

作者:时间:2013-01-15来源:网络收藏

计算机视觉系统与人类的视觉系统非常相似,对来自范围广泛的各种产品的视频信息进行分析和提取,执行与人类视觉系统相同的视觉功能。

本文引用地址:http://www.eepw.com.cn/article/148138.htm

  在智能手机、数码相机和便携式摄像机等便携产品中,必须在有限的尺寸、成本和功耗条件下提供较高的性能。新兴的大容量视觉产品市场包括汽车安全、监控和游戏。计算机视觉算法识别场景中的物体,然后产生一个比其它图像区域更重要的图像区。例如,物体和可用于增强视频会议体验、公共安全档案管理,以及基于内容的检索和其它许多方面。

  可以进行剪裁和尺寸调整,以便适当地将图像放在中心。在本文中,我们提出了一种数码图像中的、剪裁选定的主面部,并将调整尺寸到固定尺寸输出图像的(参见图1)。这种可在单一图像或在视频流上使用,并且用于运行。只要人们关注移动产品上的面部,为了实现吞吐量,就必须采取合适的执行步骤。

  本文提出了在可编程向量处理器上执行实时面部检测的部署步骤,这些步骤可用于在任何移动产品上执行类似的计算机视觉算法,从这一点上说,它们是通用的。

CEVA面部检测应用

  图1:CEVA面部检测应用

  虽然静态图像处理消耗少量的带宽和分配内存,但是,视频对于目前的存储器系统的要求却相当严苛。

  另一方面,由于检测和区分物体需要更多的处理步骤,计算机视觉算法的存储器系统极具挑战性。考虑19x19像素大小的面部图形缩略图。对于这种小图,可能的灰度值组合就有256361种,需要极高的三维空间。由于面部图像的复杂性,明确描述面部特征具有一定的难度;因此,建立了以统计模型为基础的其它方法。这些方法将人脸区域视为一个图形,通过瞄准许多“面部”和“非面部”样品构建区分器,然后通过分析检测区域的图形来确定图像是否包含人脸。

  面部检测算法必须克服的其它挑战是:姿态(正面,45度,侧面,倒置)、存在或缺乏结构部分(胡须、眼镜)、面部表情、遮挡(部分面部可能被其它物体遮住)、图像取向(在相机光轴不同的旋转方向,面部外表直接变化)及成像条件(照明、相机特点、分辨率)。

  虽然文献中已经介绍了许多面部检测算法,但是,只有少量算法能够满足移动产品的实时限制性。虽然据报道,许多面部检测算法能够产生高的检测率,但是,由于手机等移动产品的计算和存储器限制,很少有算法适合实时部署在这些移动产品上。

  通常,面部检测算法的实时执行在具有相对强大的CPU和较大存储器尺寸的PC电脑上进行。针对现有面部检测产品的考察显示,Viola和Jones在2001年推出的算法已经被广泛采纳。这是一项突破性的工作,允许采用基于外表的方法来实时运行,同时保持相同或更高的准确度。

  这种算法利用简单特征的增强级联,并且可以分为三个主要部分:(1)积分图 - 用于快速特征评估的高效卷积;(2)使用用于特征选择的Adaboost,并按照重要性顺序对它们进行筛选。每个特征可作为一个简单的(弱)区分器使用;(3)使用Adaboost来了解将最不可能包含面部的区域滤出的级联区分器(弱区分器的集合)。图2是区分器级联的示意图。在图像中,大多数子图像并不是面部实例。

  根据这种假设,我们可以利用更小的高效区分器在早期排除许多否定例,同时检测出差不多所有的肯定例。在后期采用更复杂的区分器来审查疑难情况。

  例:24级级联区分器

  一级2特征区分器=> 排除60%非面部,同时检测100%面部

  二级5特征区分器=> 排除80%非面部,同时检测100%面部

  3级、4级和5级20特征区分器

  6级和7级50特征区分器

  8级至12级100特征区分器

  13级至24级200特征区分器

区分器的级联

  图2:区分器的级联

在面部检测算法的第一级,利用被称为积分图像的中间表示,可以快速计算矩形特征。如图3所示,点(x,y)的积分图像值是上部和左部所有像素的总和。D内像素的总和可以计算为4+1-(2+3)。

采用积分图像对矩形特征进行快速评估

  图3:采用积分图像对矩形特征进行快速评估

  为了在嵌入式产品上执行实时面部检测应用,需要将指令级并行性和和数据级并行性相结合的高级并行性。超长指令字(VLIW)架构能够实现高级并行指令处理,提供扩展的并行性及低功耗。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)
光电开关相关文章:光电开关原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭