Page 205 - 数码世界6月整本
P. 205
技术交流
端硬件处理。将采集的 Bayer R GB 格式的视频转化成 CamShift 人脸跟踪算法实现嵌入式人脸智能跟踪,
YUV422 格式的视频数据,如果在人机界面选择需要视 Adaboost 算法的人脸检测算法是由 Viola 等人于 2001
频图像处理,如图像增强,人脸跟踪等,则系统将前期 年提出的,该方法首先采用一种新的图像表示方法“积
处理后的数据送到 DSP 核,由该 DSP 核对视频数据做 分图”的方法快速地把大量的简单特征从人脸中抽取出
算法处理,并将处理的结果送到 A R M 核,由该处理单 来,再用 Adaboost 学习算法挑选出少量对检测有用的
元将处理后的数据通过 HDMI 接口输出显示或者压缩后 重要特征,产生一系列弱检测器,为了达到提升检测器
通过网络输出。为了保证处理器能正常工作,采用 TI 性能的目的,再把这些弱检测器组合在一起,生成一个
公司的 TPS65930 系统电源管理芯片,该芯片面向 OMAP 强检测器,最后再把强检测器组合为级联检测器完成对
和其他移动设备,集成了电源管理,USB 高速收发器 (USB 人脸的检测。CamShift 算法计算量小,跟踪速度快,并
OTG),LED 驱动,键盘矩阵。该电源管理芯片中还包含 且抗干扰能力强,能够满足本文人脸检测与跟踪系统的
了一个USB 高速收发器,可以给系统扩展USB OTG 功能。 实时性与鲁棒性。
2 系统的软件设计 5 结语
本文中设计的软件是在嵌入式 Linux 操作系统实现 本文设计的具有智能图像处理功能的嵌入式高清视
的,Linux 在进程管理,内存管理,网络支持等方面功 频采集与处理系统,能够满足系统设计的低功耗、高分
能强大,可以满足嵌入式系统中绝大多数应用的复杂性 辨率、高速度传输等要求,同时本系统也可以很好地实
要求。系统从上到下分为硬件层、内核层、shell 层、 现人机交互。
应用层和用户层,内核层的开发主要集中在视频驱动设 系统现在采集的视频数据能够达到 720 p /30 f 的
计的开发,应用层是在视频采集程序,视频处理算法程 要求,理论上可以达到 720 p /60 f。在系统应用方面,
序以及 OSD 界面方面的设计开发。在视频算法处理方面, 该系统可以用于安防监控领域和医疗领域,在安防监控
主要有边缘检测、图像增强、人脸跟踪、底片视频等方面。 领域,由于传统的监控设备分辨率低,即图像清晰度不
本文重点介绍人脸跟踪的算法设计与实现。 高,一旦出现特殊情况,在回放录像中就无法识别众多
细节信息,如“面部特征”,“车牌号”等 ; 在医疗领域,
3 CMOS 视频驱动与采集程序设计
如果视频图像不够清晰,那么就无法正确指导医师确诊
设备驱动程序是操作系统内核与机器硬件之间的接 病人病情,而本系统输出为 720 p 高清视频,图像细节
口,在应用程序看来,硬件设备只是一个设备文件, 清楚,上述问题可以得到很好解决。
应用程序可以像操作普通文件一样对硬件设备进行操 且在安防领域,可能需要对在监测区域内的人脸进
作。对设备文件的操作不外乎一些系统调用,如 open、 行实时跟踪,以便更好地保护该区域内的财产安全,在
close、write、read。把这些系统调用和驱动程序关 医疗领域则可能需要对医学视频图像进行增强,边缘检
联 起 来 需 要 靠 file_operations 这 个 关 键 的 数 据 结 测,底片效果等方面的视频处理,以便能尽快地从视频
构,此结构定义了对设备操作的接口。在用户自己的 图片中观察出病因的所在,而本系统完全支持上述功能,
驱动程序中,首先要根据驱动程序的功能,实 file_ 所以该系统有很好的应用前景。但是由于高清视频数据
operations 结构中的函数。不需要的函数接口可以直 量巨大,在视频实时处理程序方面还有待进一步的设计
接在 file_operations 结构中初始化为 NULL,file_ 研究。
operations 变量会在驱动程序初始化时注册到系统内
部。当操作系统对设备操作时,会调用驱动程序注册
file_operations 结构中的函数指针。
驱动设计基于 V4L2(video 4 Linux 2) 架构设计,
它为 Linux 下开发视频设备程序提供了一套接口规范。
这套规范给视频设备驱动程序开发提供了清晰的模型和
接口,应用程序处于最上层,硬件设备处于最下层,这
套规范就处于中间层。当设备注册成功后,将会产生 /
dev /video0 设备节点,应用程序可以通过该节点,实
现对驱动程序的调用。
4 人脸跟踪算法实现
本系统采用的是 Adaboost 人脸检测算法和
104... ...105