基于OMAP3530的嵌入式人流关注方向检测系统

2011-03-15 01:22李科煌杨宇红孟祥鹏
电视技术 2011年11期
关键词:解码人脸摄像头

李科煌 ,杨宇红,孟祥鹏

(1.上海交通大学 图像通信与信息处理研究所,上海 200240;2.上海市数字媒体处理与传输重点实验室,上海 200240)

0 引言

近些年来,全国各大城市商业楼宇的电视广告业务飞速发展,但是伴随着低层次的规模扩张,楼宇广告公司一直缺少具有高附加值的广告服务,无法向客户准确反馈广告的投放效果,不能就投放内容作出合理调整。本文尝试应用目标检测技术,判别在一定场景内的人员数量以及每个个体的面部方向,从而可以统计出每个广告投放设备在单位时间内通过的人流数量与实际关注人数,这一数据是广告投放效果的重要指标,对广告服务提供商以及客户的市场营销决策具有至关重要的意义。

目标检测与跟踪技术是模式识别与人工智能领域研究的一个热点问题,其在人机交互、自动监控、视频检索以及交通监测等领域有着广泛的应用[1-2]。人脸检测与方向推定算法的难点主要在于:1)人脸面部特征的差异;2)人脸姿态的变化;3)光照及阴影等环境因素的影响;4)眼镜、头发、口罩等物体对人脸的遮挡。

本文中的系统,在进行人脸检测与方向推定,从而得到人流数量与实际关注人数的同时,还实时播放标清格式的音视频和图片内容,对系统的体积和功耗也有一定的要求,这对系统硬件平台的选择提出了很大的挑战。

本文系统较好地解决了如上所述的各种难题,针对各种难点及系统需求,设计并完成了系统设计。系统采用普通USB网络摄像头,通过嵌入式系统进行数据采集、人脸检测及方向推定算法处理,并通过网络将数据上传至远程计算机。该系统设计灵活,可以根据需求对系统进行扩展和裁减,并可方便地进行系统的升级与维护,具有一定的价值。

1 系统架构设计

嵌入式系统使用的是瑞尔泰科技有限公司(ICETEK)的OMAP3530 MiniBoard(后简称MiniBoard)。Mini-Board具有较为完备的通用硬件接口,可以连接市场上通用的计算机设备,且支持Linux操作系统。该MiniBoard使用OMAP3530芯片,包含一个ARM核,一个图形加速协处理器以及一个DSP核,功能强大,非常适合对图形及运算有一定需求的嵌入式系统。

本系统使用经过裁减的Linux操作系统,全面支持图形界面,支持更丰富的外设种类及多媒体功能。

系统的构成如图1所示,系统分为本地与远程2个部分。本地系统是本文主要讨论的部分,远程计算机负责收集来自各地的数据,并对各本地系统进行统一的管理维护,该部分技术不在本文内容之列。

本地系统有2个重要功能组成:视频播放和观众检测。加上主控单元,本地系统共分为3个模块,即视频解码播放模块、人脸采集检测模块和控制模块。

1)视频解码播放模块

该模块根据控制模块相应指令,从SD,CF,Flash等存储介质中读取标清音视频以及图片文件,经过OMAP3530上的C64x+DSP核解码后实时显示在LCD等显示设备上。核心板的外部接口中有DVI输出和S-Video输出,为了充分表现解码后视频的效果,采用19~21 in的DVI液晶显示器。

2)人脸采集检测模块

该模块根据摄像头采集的图像信息,在ARM处理器上经过预处理、Adaboost、SVR等算法,得到现场的人流及关注方向的信息,交送到控制模块。MiniBoard上没有摄像头输入接口,同时考虑到USB摄像头的便捷性,采用具有640×480分辨力的USB摄像头进行图像采集。然后使用目前高效准确的Adaboost算法进行人脸检测,并对检测到的人脸使用SVR算法进行人脸朝向推定。这两种方法通过一定的优化,使用资源小,便于嵌入式实现。

3)控制模块

该模块负责系统的初始化以及总体控制工作,它根据系统的预设工作模式,控制人脸采集检测与方向推定模块和视频解码模块进行相应的工作。同时控制模块可以将人脸检测和推定结果上传给远程计算机,接受远程计算机的指令。

2 系统软件设计

2.1 软件总体框架

本嵌入式系统的软件需要完成几项功能:在显示器上播放存储于本地的视频内容;摄像头采集观看视频的用户图像,进行人脸检测获得数据;将拍摄到的数据以及计算结果上传到上位控制机去。控制人员和上位机可以通过交互接口观察系统运行情况。

进行本地存储视频解码及播放的功能交由OMAP3上的DSP完成,该部分软件使用TI提供的H.264解码播放程序处理。该程序占用部分ARM资源,并占用系统一半的内存资源。但由于主要解码工作由DSP完成,ARM核可以有足够的资源完成其他工作。

ARM端在Linux系统启动并完成各模块驱动的加载之后,其核心的工作是进行人脸的检测及其朝向的推定,与此相关的是由摄像头采集与处理,以及处理后的数据存储与上传。这也是本系统的核心算法部分,其具体流程图见图2。

人脸检测使用近年提出的Adaboost算法进行,该方法准确率高,且效率大大优于之前的其他算法,可以接近实时检测。使用支持向量回归(SVR)对检测到的人脸进行姿态推定,通过主分量分析(PCA)和支持向量,非常有效地减少了运算量。

2.2 运用Adaboost的人脸检测算法

大多数Adaboost算法[3]采用Haar函数作为特征提取算法。由于Haar函数为矩阵形式,可以利用积分图快速求取,从而能够很大程度地提高算法的效率,这也是Adaboost相对于其他人脸识别算法的一个主要优势。基本Haar特征及积分图计算示意图见图3。

如计算图3所示的基本Haar特征中的第1个,并规定该特征为上半部分减下半部分,则该特征的计算为S=A-B-2C+2D+E-F。再进行零均值处理,用到被检测区块的像素和,可以从积分图计算一次得到并存储。之后,进行归一化处理,用到被检测区块的平方和,可以从原图的平方积分图计算得到并存储。最后得到特征值为

式中:M为特征块的有效面积,xij为被检测块的像素值。

为了减轻运算的复杂度,同时又保证较好的效果,需要一个级联的分类器进行逐步淘汰。每个像素特征有其权重α,若其特征值s通过判定,则被检测块的累计特征值增加α,每一级分类的像素特征检测结束后,累计特征值与阈值比较,不到阈值的被检测块被丢弃。即对第k级分类器

式中:Tk为累计特征值,θi为特征值si的判定条件。

在嵌入式实现中,这种级联有效地减少每次淘汰非人脸位置时的运算开销。由于每次增加的特征数量有限,计算新特征的时间和内存使用较少。新特征的计算结果被累计到前一次的结果上,用于当前这一级分类器的分类。本系统还通过追踪搜索,进一步减少资源开销。改进后的Adaboost人脸识别算法如图4所示。

追踪搜索将前3级分类器合并,如果1个人脸位置能够通过第1级判定,就直接进行下一级判定,3次都通过的被保留。使用原始的逐级筛选就需要存储第1级分类后所有未被过滤掉的人脸位置的信息(包括被检测区块的位置、均值、方差和当前累计特征值)。而追踪搜索则存储3级分类后的结果。实际使用1/3降采样并考虑一定的冗余,存储的检测块为8 000个。对于不同大小的检测块,Haar特征是线性缩放的,经缩放的Haar特征被提前计算并存储。如表1所示,相比于基本算法,本系统内存使用减少为42%。

表1 各部分数据内存需求比较 byte

2.3 SVR人脸方向推定算法

给定一幅场景图像,通过前面的Adaboost算法提取出包含人脸区域的部分。基于SVR的人脸姿态推定算法[4]则根据人脸的图像,判断出人脸的姿态,得出人脸朝向。

先通过主分量分析(PCA),将人脸图像(40×40)进行预处理,为SVR做准备。经过PCA后,原始40×40=1 600维的向量降为50维。SVR利用支持向量机(SVM)对输入的数据进行回归。其输入为经过PCA处理后的多维向量,而函数值为该人脸在某一个维度上的角度。SVR最终拟合出一条曲线,用于分类。

在SVR的训练过程中,采用了5种分类,即左脸、半左脸、正脸、半右脸、右脸,从而提高了对于半侧脸的检测率。训练后得到的支持向量是201个。在进行方向推定时,5种分类被合并成3种,即左脸、正脸、右脸,其中左脸、半左脸合并为左脸,右脸、半右脸合并为右脸。这样在不增加计算的情况下提高了侧脸的检测率。

3 系统实验与测试结果

3.1 Linux系统搭建

为了满足系统需求,要对Linux系统进行裁剪和驱动调试。在内核中支持各类USB设备,包括USB摄像头和网卡,网络支持DHCP,支持Linux下通用视频接口V4L2,并为系统安装网络文件服务(NFS),以及JPEG图片解压缩程序(DJPEG)。

3.2 系统与远程计算机的通信

系统与远程计算机通信如图5所示。系统向远程计算机传输的数据是USB设备采集的图像、经过Adaboost检测出人脸的位置,以及经过SVR得到的各人脸的方向推定结果。图像采用JPEG格式节省带宽。

本系统的升级是通过远程Linux服务机实现的,而远程控制界面则是在Windows操作系统下的,从而获得较大灵活性和实用性。

3.3 系统测试结果

首先使用一些测试图片对人脸检测和方向推定算法进行了测试,如表2所示。Adaboost算法的训练样本数为300,测试样本30;SVM训练样本为3 000,测试样本为300。样本来源包括MIT人脸数据库,也包括自己拍摄的图像。在PC端利用Matlab和OpenCV分别进行训练及仿真测试。仿真时可以做到对640×480的监控画面进行实时搜索和方向推定。

表2 Adaboost及SVM测试准确率%

而后,需要在完整搭建的系统上进行功能测试,先对摄像头图像采集、图像预处理、人脸算法处理以及对结果信息上传进行分块测试。测试通过后,进行了系统整体测试。为此在实验室内使用两台PC机作为升级服务器和远程结果查看端,将MiniBoard和PC通过路由器连接在一个局域网内。MiniBoard外接21 in DVI液晶显示器,使用USB-HUB扩展连接USB网络摄像头(640×480分辨力)、USB网卡、USB鼠标键盘。先为H.264视频解码播放程序分配资源后,启动程序,进行主控、图像采集、人脸检测与方向推定、数据上传。测试结果显示,系统完成从采集到数据上传的一次循环需要2~6 s,可以同时保证视频播放的实时性。实验环境下,人脸检测的正确率超过80%,方向推定的准确率超过90%。

4 小结

目前,该系统在实验室环境下检测及方向推定准确率较高,但是系统对于摄像头设备和环境光线较敏感。考虑到在实际应用环境中往往会因人员密度过大而出现人脸的遮挡现象,下一步的提升目标就是在进一步优化算法、提升运算速度与稳健性的同时,解决在部分遮蔽情况下的人脸识别与方向推定问题。

本系统可以作为一种智能视觉的广告机原形,进一步的开发可以使其应用于诸如商务写字楼等处,为广告播放结果进行数据统计和上传。布置广告机的地方不一定有以太网,可以考虑诸如U盘数据拷贝、蓝牙数据传输,或者利用GPRS将最为关键的统计数据进行周报或者日报,从而进一步提升系统实用价值。

[1]刘晓克,孙燮华,周永霞.基于新Haar-like特征的多角度人脸检测[J].计算机工程,2009,35(19):195-197.

[2]徐显日,戴在平,蔡灿辉.新型人脸检测算法在视频监控系统中的应用[J].电视技术,2008,32(4):89-90.

[3]SHAKHNAROVICH G,VIOLA P A,MOGHADDAM B.A unified learning framework for real time face detection and classification[C]//Proc.Fourth IEEE International Conference on Automatic Face and Gesture Recognition.Washington,DC:IEEE Press,2002:14-21.

[4]LI Yongmin,GONG Shaogang,LIDDELL H.Support vector regression and classification based multi-view face detection and recognition[C]//Proc.Fourth IEEE International Conference on Automatic Face and Gesture Recognition.Grenoble:IEEE Press,2000:300-305.

猜你喜欢
解码人脸摄像头
浙江首试公路非现场执法新型摄像头
《解码万吨站》
摄像头连接器可提供360°视角图像
有特点的人脸
一起学画人脸
解码eUCP2.0
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
三国漫——人脸解锁
奔驰360°摄像头系统介绍