Journal of Image and Signal Processing
Vol.05 No.03(2016), Article ID:18002,10 pages
10.12677/JISP.2016.53013

People Counting System Combined with Multi-Feature Fusion Algorithm

Hongguang Li, Hong Fan*, Wujun Xu

Engineering Research Center of Digitized Textile & Fashion Technology, Ministry of Education, College of Information Science and Technology, Donghua University, Shanghai

Received: Jun. 25th, 2016; accepted: Jul. 12th, 2016; published: Jul. 18th, 2016

Copyright © 2016 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

ABSTRACT

In order to achieve high accuracy people counting, the embedded platform is designed in this paper. The system realizes real-time target detection and tracking using the cross compiler, to achieve the number of people within the designated area. The system uses the AdaBoost classifier image/video target recognition and feature extraction based on Haar for target tracking. The combination of multi-feature fusion algorithm and face recognition parameters adaptive algorithms is proposed in Xilinx’s Zynq-7000 development board to achieve the goal of real-time and fast statistics and analysis. The results show that: The system saves resources of embedded platforms and simplifies the entire system development process, improving the whole compatibility and portability. It can realize people counting and analysis in the image/video with accuracy rate of more than 97%. Basically it meets the requirements of human counting in traffic statistics: Parallel processing, high accuracy, stable and reliable, etc.

Keywords:Cross-Compiling, ZYNQ FPGA SOC, AdaBoost, Multi-Feature Fusion Algorithm

结合多特征融合算法的人数统计与分析系统

李宏广,范红*,许武军

东华大学信息科学与技术学院,数字化纺织服装技术教育部工程研究中心,上海

收稿日期:2016年6月25日;录用日期:2016年7月12日;发布日期:2016年7月18日

摘 要

为了实现高准确率的实时人数统计,设计了嵌入式片上系统平台。该系统采用交叉编译的方式,对人体目标进行实时检测与跟踪,实现了对指定区域内的人数统计与分析。本系统利用了AdaBoost分类器对图像/视频中目标进行人脸识别,基于Haar特征提取进行目标跟踪。提出结合多特征融合算法以及人脸识别参数自适应算法,在Xilinx公司的Zynq-7000开发板上实现了目标实时性和快速性的统计与分析。结果表明:该系统充分节省了嵌入式平台的资源,简化了整个系统的开发流程,并提高了系统的兼容性和可移植性。结合多特征的融合算法使人数统计的准确率高达97%以上。该系统具有安装位置灵活,实时性好、准确率高、稳定性好等特点。

关键词 :交叉编译,ZYNQ FPGA SOC,AdaBoost,多特征融合算法

1. 引言

随着软硬件技术的不断发展 [1] ,利用计算机技术实现计算机视觉功能即由计算机来代替人脑对视频中的信息进行处理和解释,开始逐渐流行起来。基于图像/视频的人数统计与分析系统就是计算机视觉的一个应用。智能视频是指以计算机视觉技术为平台,对图像/视频进行信息处理和信息分析,通过对图像自动分析得到人脸特征 [2] ,对目标进行检测、跟踪及计数,并在此结果上分析判断所关注目标的行为。基于智能化的人数统计与分析算法就是基于计算机视频处理技术的一个智能视频系统,在无人干预的情形中,对图像/视频进行一定时间内的检测与分析,从而进行精确的人数统计与分析。

钱鹤庆 [3] 采用AdaBoost分类器较好的实现了教师实验场景的人脸识别及人数统计与分析工作,主要利用了人脸区域的相关特征实现。吴冰 [4] 较好是实现侧脸识别,将整个应用提升到公共场所,其人数统计与分析的准确度也是很高的。但处理时间上,基于Harr特征和采用级联分类器结构Adaboost [5] 人脸识别算法却远远超越了其他方法,对于图像/视频的处理在保证准确度的基础上需要一个良好的人脸识别算法,而基于Adaboost分类器的人脸识别算法在准确度与实时性这两者中间有一个很好的平衡性,因此本文选取这种方法进行人脸识别 [6] 。

2. 系统方案设计及软硬件平台介绍

2.1. 系统方案设计

本设计人数统计与分析系统总体框图如图1图2所示,主要是ZYNQ-7000平台连接一台VGA接口显示器,以C170罗技网络摄像头采集图像,并连接上鼠标和键盘等外部设备。

2.2. 硬件开发平台ZYNQ-7000

本研究设计的人数统计与分析系统采用德致伦公司的Zynq-7000开发板作为主要硬件开发平台。Zynq-7000实物图如图3

Figure 1. Framework of people counting and analysis system

图1. 人数统计与分析系统总体框图

Figure 2. People counting and analysis system

图2. 人数统计与分析系统实物图

Figure 3. Zynq-7000 development board

图3. Zynq-7000实物图

ZYNQ AP SOC分为两个不同的子系统:处理器系统(Processing System, PS)和可编程逻辑(Programmable Logic, PL)。处理器系统(PS)包含了许多组成部分,包括应用处理单元(Application Processing Unit, APU) (包含两Cortex-A9处理器),连接微控制器总线(AMBA),DDR3记忆控制器与外围控制器,这些外围控制器连接54个输入输出口。外围控制器通过AMBA走线作为从属器件连接到处理器,包含可读可写的控制寄存器,可以在处理器的存储空间读取。可编程逻辑模块也作为从属器件连接到内部。

2.3. 交叉编译

交叉编译是指在一个平台编译出可在另一个平台运行的可执行代码,这个平台包含两个概念:体系结构(Architecture)和操作系统(Operating System)。这是因为嵌入式系统的资源往往是有限的,处理能力和存储空间通常都不富余。所以一般做法是主机端(X86体系结构)安装交叉编译器,以此编译出能够在目标平台运行的代码,当然这个可执行文件是不能在主机上运行的。

本研究采用基于ZYNQ的Linux交叉编译平台,首先建立交叉编译平台需要有个Linux的PC机,笔者在PC机安装了Ubuntu12.04,以下则以Ubuntu12.04为平台介绍建立交叉编译平台。首先需要进行Ubuntu-Linux系统与OpenCV交叉编译环境的搭建。图4是交叉编译所需OpenCV链接库。

3. Haar特征提取及AdaBoost算法原理

3.1. Haar特征提取

Haar特征是一种邻域矩形灰度差特征 [7] ,是黑色区域和白色区域的灰度值总和之差,有三类特征:4-矩形特征、3-矩形特征、2-矩形特征。基本模板如图5所示。

模板A的特征值计算公式为:

模板B的特征只计算公:

模板C的特征只计算公式为

模板D的特征只计算公式为:

模板C中像素的数目相等,

Figure 4. OpenCV link library

图4. OpenCV链接库

Figure 5. Haar features

图5. Haar基本特征

3.2. AdaBoost算法原理

AdaBoost算法就是对大量正样本进行训练,得到很多弱分类器,再串联弱分类器即可得到准确率很高的强分类器。

1) 对于训练集合指第个图像的第个特征,分别表示正、负样本。

2) 初始化权重,其中是正样本和负样本的总数。

3) 查找个弱分类器

① 对于样本中第个特征,可以训练出一个弱分类器,阈值和方向便可得到,错误率将会减小

(1)

而弱分类器

(2)

其中,决定不等式方向,只有±1两种情况。

② 在所有弱分类器中,存在具有最小误差的弱分类器

③ 对所有的样本权重值进行更新:

(3)

轮训练后可以得到个最优的弱分类器,级联即可得到一个强分类器

(4)

若存在样本特征集合如图6表示正样本,表示负样本,样本数是10,是错误率,是分类器权重。

做第一轮分类,如图7所示A,B,C是我们分类错的样本,并且更新

做第二轮分类,如图8所示D,E,F是我们分类错的样本,并且更新

做第三轮分类,如图9所示。G,H,I是我们分类错的样本,并且更新

级联后最优弱分类器即可得到最终强分类器:

4. 关键算法分析

4.1. 多特征融合算法

基于学习的方法首先需要准备大量的正负训练样本进行有效的前期训练,得到不同的分类器。将目标的不同特征集成特征库,形成基于特征库的特征模型后即可实现对待测目标的检测。

Figure 6. Sample features

图6. 样本特征集合

Figure 7. The 1st classification

图7. 第一轮分类

Figure 8. The 2nd classification

图8. 第二轮分类

Figure 9. The 3rd classification

图9. 第三轮分类

整个特征包括整个人脸识别的特征,人眼识别的特征,人嘴识别的特征等一系列脸部特征融合的集合。在实际检测过程中,根据检测目标的复杂程度可以自由选择可不同种类的特征库进行多特征融合,后的检测。

但由于多特征融合的局限性,实践中当人脸过小时,发现还是存在一定的错误标记和丢失标记的现象,要解决这个问题,只有不断更新特征库,提取多特征值,实现更好的多特征融合,才能有效地避免这类问题。

4.2. 人脸识别参数自适应算法

目前检测的目标对象主要是人脸识别,也可以加上人眼识别或者人嘴识别。这样可以较好地实现整体脸部的识别。在处理图像中,对不同复杂度的图像/视频,需要采取不同的人脸识别扫描速度:对于人数较少的情况下,可以采取快速人脸识别扫描;当人较多时,则采取适时降低人脸识别扫描速度已达到准确率的保证。因此系统采取人脸识别参数自适应算法:即系统根据处理前一帧图像中人数统计与分析的结果,确定人数后,及时更新系统与之对应的人脸识别参数,在后一帧图像中,人脸识别时则采取匹配度较高的人脸识别扫描参数。这样可以保证系统目标检测的快速性和准确性。

人脸识别参数自适应算法,可以很好的解决系统实时性的要求,在人数较多时也保证了系统对人数统计与分析的高准确率的要求。但前期人脸识别扫描参数的设定和实现会比较复杂,需要大量样本实验。

5. 实验与结果

实验首先从图像中开始验证该系统人脸识别的准确率并进行相应的算法改进。之后将改进的系统应用于实时视频的人数统计与分析。

5.1. 图像中人数统计与分析结果

1) 侧脸识别:初次人脸识别中会发现当人脸区域属于侧脸,基本无法实现人脸识别,接着通过多特征融合算法中引入人眼识别特征,可以很好的实现所有目标的人脸识别,如图10所示。

2) 错误标记:在人脸识别中,出现类似人脸的标识或者目标人脸区域过小,会出现错误标记的现象,可以根据多特征融合算法中引入人嘴识别特征和人脸识别参数自适应算法实时更新人脸识别扫描速度,可以较好处理错误标记的情况,如图11所示。

3) 密集人数:在出现密集人数时,根据人脸识别参数自适应算法,可以很好的实现密集人数的人脸识别。图12是密集人数人脸识别结果。

5.2. 视频中人数统计与分析结果

视频中实现了人脸识别的实时性功能。实时跟踪目标进行人脸识别与跟踪。本视频一共有79帧图像,所以视频处理中对每帧图像都实现了人脸识别与跟踪。图13为部分人脸识别与追踪帧图像集合。图(a)是第14帧图像;图(b)是第22帧图像;图(c)是第36帧图像;图(d)是第47帧图像;图(d)是第55帧图像;图(e)是第63帧图像;图(f)是第74帧图像。

根据表1测试结果,该系统进行不同人数情况下的实验,计数精度达到97%以上。但当人步行速度过快时,会出现漏检的现象。或者人数过于密集时,以致人脸区域非常小,这对于整个人脸识别难度太大,就会出现丢失人脸的现象。另外若出现人脸遮挡的现象,也是无法进行准确人脸识别的。这些问题将在以后工作中继续研究。

Figure 10. Side-face detection

图10. 侧脸识别图

Figure 11. Right detection for objects

图11. 错误标记修正图

Figure 12. Detection for intensive people

图12. 密集人数识别图

(a) The 14th frame image (b) The 22nd frame image(a) 第14帧图像 (b) 第22帧图像 (c) The 36th frame image (d) The 47th frame image (c) 第36帧图像 (d) 第47帧图像 (e) The 55th frame image (f) The 63th frame image(e) 第55帧图像 (f) 第63帧图像

Figure 13. Frame images of videos

图13. 部分帧图像集合

Table 1. Result of people counting

表1. 人数统计与分析结果

6. 结论

为了能够在嵌入式平台上进行人数统计与分析,本文采用调用AdaBoost分类器进行人脸识别从而实现人数统计的方法。提出并实现了结合多特征融合算法和人脸识别参数自适应算法进行多目标的人脸识别与跟踪,进而统计出实时人数。由于该系统安装位置灵活,可最大限度地减少由于遮挡等问题造成的统计误差。实验结果证明:本嵌入式系统平台能在获取地指定区域的图像/视频中实现人数统计与分析,且准确率高达97%以上,有效地降低了误判和漏判。未来研究的方向可以在自主训练分类器和实时性方面做进一步的完善。

基金项目

国家自然科学基金(No.61301029)。

文章引用

李宏广,范 红,许武军. 结合多特征融合算法的人数统计与分析系统
People Counting System Combined with Multi-Feature Fusion Algorithm[J]. 图像与信号处理, 2016, 05(03): 95-104. http://dx.doi.org/10.12677/JISP.2016.53013

参考文献 (References)

  1. 1. 苏娟. 基于视频监控的教室人数统计[D]: [硕士学位论文]. 合肥: 安徽大学, 2014.

  2. 2. 张英. 基于视频的实时人数统计关键技术的研究[D]: [硕士学位论文]. 杭州: 杭州电子科技大学, 2014.

  3. 3. 钱鹤庆, 陈刚, 申瑞民. 基于人脸检测的人数统计系统[J]. 计算机工程, 2012(7): 188-191.

  4. 4. 吴冰. 基于人脸检测的客流量统计研究[D]: [硕士学位论文]. 武汉: 武汉科技大学, 2013.

  5. 5. 文嘉俊, 徐勇, 战萌伟. 基于AdaBoost和帧间特征的人数统计[J]. 中国图象图形学报, 2011(9): 1729-1735.

  6. 6. 张丙坤. 基于人头检测的人数统计算法研究[D]: [硕士学位论文]. 西安: 西安科技大学, 2013.

  7. 7. 孙统义. 实时视频监控人数统计关键技术研究[D]: [硕士学位论文]. 长沙: 国防科学技术大学, 2011.

*通讯作者。

期刊菜单