嵌入式人脸检测系统的软硬件协同设计
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
人脸检测是机器视觉的重要组成部分,广泛应用于人机交互,视频监控等领域,而这些应用领域都有嵌入式化的需求,因此如何在嵌入式平台实现实时人脸检测是非常有价值的研究课题。本文使用的AdaBoost人脸检测算法计算复杂,数据访问量大,很难用纯软件方案在嵌入式平台上实时实现。本文提出了一种人脸检测的SoC方案,通过人脸检测加速器提高检测速度。加速器使用阵列单元架构,通过并行和流水等技术大大加速了检测过程。此外优化的窗口扫描策略,可以大大减少加速器对外部数据的访问次数,减轻系统的访存压力。
     本文在设计嵌入式人脸检测方案的同时,还给出了一整套基于ESL的嵌入式系统软硬件协同设计的流程。随着SoC设计的复杂度越来越高,设计初期的系统架构设计对最终SoC各方面性能的影响日益增加。SoC系统中软件和硬件结合得更为紧密,需要进行软硬件协同设计和验证。传统的RTL级软硬件协同设计和验证只能在设计的中后期才能进行,不利于尽早发现系统的瓶颈。本文使用先进的电子系统级设计方法,贯穿整个系统的开发过程。首先利用ESL平台分析算法的瓶颈,继而设计合适的软硬件划分方案和软硬件接口。在深入研究系统瓶颈和算法数据流特点后,设计硬件加速器的结构,并利用ESL工具编写硬件加速器的周期级精确模型。在开发过程中,硬件模型逐渐被细化,任何阶段都可将硬件模型集成到ESL平台中,进行系统的软硬件协同设计和验证。
     ESL平台的仿真结果显示,带有加速器的嵌入式人脸检测系统与纯软件方案相比有很大的性能提升,可以达到实时检测的速度。本文的工作对人脸检测SoC芯片的研究和设计有很大的参考价值。
Face detection is an important part of computer vision. It is widely used in many fields such as man-machine interaction, video monitoring and etc. However, these fields have more and more requirements of embedded solution. So how to implement real-time face detection on embedded platform is a very valuable research subject. The AdaBoost face detection algorithm in this paper is difficult to implement on embedded platform by software solution due to its high computation load and data throughput. This paper presents a SoC solution for face detection which uses a face detection accelerator to accelerate the detection process. By using the array architecture in the accelerator as well as some pipeline and parallel technologies, face detection is greatly speeded up. Besides, the solution optimizes the strategy of window scanning and decreases the accelerator’s memory accessing for external data. Thus the cost of memory bandwidth is greatly cut down.
     While designing an embedded face detection solution, this paper also gives a complete process of SW/HW co-design for embedded system. As the complexity of SoC design increases, system-level design in early development stage is imposing ever more influence on the final SoC’s performance. Software and hardware are so tightly coupled that SW/HW co-simulation is a must in SoC design process. It is difficult to find the performance bottleneck of the system at RTL levels, since co-design and co-verification can only be carried out in later stages of the whole design flow. This paper uses an advanced SW/HW co-design method, Electronic System Level (ESL) design methodology, during the whole development. First use ESL platform to find bottleneck of the algorithm, then design suitable SW/HW partition and interface between software and hardware. After an in-depth study of the system’s bottleneck and the algorithm’s data flow, it designs the structure of the hardware accelerator and develops a cycle-accurate model for the accelerator. The hardware model is gradually refined during the whole develop procedure. And it can be integrated to ESL platform and do SW/HW co-design or co-verification at any stage.
     Simulation result on ESL platform shows that embedded face detection with hardware accelerator can get much greater performance than software solution and real-time detection can be achieved. Works in this paper have great value for the research and design of face detection SoCs.
引文
[1] 邓刚、闫胜业、张洪明,人脸检测技术报告
    [2] 李月敏、陈杰、高文等,快速人脸检测技术综述,全国第 16 届计算机科学与技术应用学术会议,中国合肥,2004 年 08 月
    [3] Ming-Hsuan Yang, David J. Kriegman, Narendra Ahuja, “Detecting Faces in Images: A Survey”, IEEE Transaction on Pattern Analysis and Machine Intelligence, January 2002, vol. 24, No. 1, pp. 34-58.
    [4] Paul Viola and Michael Jones, “Rapid Object Detection using a Boosted Cascade of Simple Features”, CVPR, 2001.
    [5] Rainer Lienhart and Jochen Maydt, “An Extended Set of Haar-Like Features for Rapid Object Detection”, Proc. of the IEEE International Conference on Image Processing, 2002, vol. 1, pp. 900-903.
    [6] Seong-Whan Lee, Sang-Woong Lee, Ho-Choul Jung, “Real-Time Implementation of Face Recognition Algorithms on DSP Chip”, AVBPA, 2003.
    [7] 陈健、钱芸芸,用 DSP 实现实时人脸检测,《仪器仪表学报》,2004 年 z1 期
    [8] 杨吴冰、陆徐平、徐晋华,基于 DSP 和人脸识别技术的门禁系统设计,《安防科技》,2007 年 06 期
    [9] Vincent Jeanne, Francois-Xavier Jegaden, Richard Kleihorst, et al, “Real-Time Face Detection on a ‘Dual-Sensor’ Smart Camera Using Smoothedges technique”, DCS 2006, Boulder, CO, USA, Oct. 2006.
    [10] V. Kianzad, S. Saha, J. Schlessman, et al, “An Architectural Level Design Methodology for Embedded Face Detection”, Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis, Jersey City, NJ, USA, 2005, pp. 136-141.
    [11] Rob McCready, “Real-Time Face Detection on a Configurable Hardware Platform”, 2000.
    [12] 孙莹涛、李玉山,人脸检测系统的 SoPC 设计,《电子设计应用》,2006 年 11期
    [13] 王少平、王京谦、钱玮,嵌入式系统的软硬件协同设计,《现代电子技术》,2005 年 28 卷 2 期,pp. 83-84
    [14] 郭炜、郭筝、谢憬,《SoC 设计方法与实现》,pp. 43-48
    [15] Open SystemC Initiative (OSCI), http://www.systemc.org/
    [16] Jon Connell and Bruce Johnson, “Early Hardware/Software Integration Using SystemC 2.0”, Embedded Systems Conference, 2002.
    [17] 陈曦、徐宁仪,《SystemC 片上系统设计》,2004 年
    [18] Open Source Computer Vision Library, http://www.intel.com/technology/computing/opencv/
    [19] IA-32 Intel Architecture Optimization Reference Manual, June 2005.
    [20] James Ulery, “Computing Integer Square Roots”.
    [21] T. Theocharides, N. Vijaykrishnan, M. J. Irwin, “A Parallel Architecture for Hardware Face Detection”, ISVLSI, 2006.
    [22] ARM SoC Designer’s guide, ARM Limited.
    [23] ARM AMBA Specification, VER 2.0, ARM Limited.
    [24] ARM926EJ-S (r0p4/r0p5) Technical Reference Manual, ARM Limited.
    [25] 郭鹏飞,SOC 设计中的软硬件协同设计,《今日电子》,2004 年
    [26] Seyul Choe,在 SoC 设计中采用 ESL 设计和验证方法,CoWare Limited
    [27] 张力航、林涛、周开伦,软硬件协同设计技术在 H.264 解码器设计中的应用
    [28] 冯鑫、郭炜,基于 ESL 的 MPEG-4 解码 SoC 软硬件协同设计,《计算机仿真》
    [29] 刘强,基于 SystemC 的系统级芯片设计方法研究,《现代电子技术》,2005年 09 期
    [30] 甘孝松,SOC 设计需从 ESL 开始
    [31] 设计正进入系统级时代,ARM 中国,I.Q.,2006 春,第 4 期,pp. 31-33
    [32] 事务级建模标准讲开启 ESL 设计之门,电子工程专辑,2005 年 10 月 08 日