基于DSP/BIOS的门禁系统设计与实现
系统将模拟PAL视频信号转换为BT.656格式的YCbCr(4:2:2)模式的数字视频信号,选用SAA7121视频编码芯片,将BT.656格式的数字视频信号转换为PAL格式的视频输出。选用TL16C752B实现二路异步串口,每路异步串口占用8个8位存储单元。本系统可通过网络接口实现功能扩展。门禁系统的硬件结构如图2所示。
图 2 门禁系统的硬件结构
加电后,系统完成初始化,存储在FLASH中的程序和数据被加载到SDRAM中。在无人进门时,系统进行视频的采集和回放。当有人要进门时,系统通过串口给DSP一个中断信号,TVP5150视频解码芯片将对摄像头采集的视频数据进行解码,实现A/D转换,并给出LLC2(采集时钟)、VREF(场同步参考信号)、HREF(行同步参考信号)等采集参考控制信号,并将解码得到的YCbCr(4:2:2)模式的人脸图像存储在SDRAM中。之后,DSP对存储在SDRAM中的图像进行人脸检测和特征提取,将提取的特征与存储在FLASH中的模板数据作对比,最后将识别结果显示在液晶屏上,并通过多通道缓冲串口给门锁控制器发送开门信号或报警信号。
3 基于DSP/B10S的软件程序设计实现
本系统基于DSP/BIOS架构开发实现,系统结构分为三部分:输入控制部分、视频处理部分和输出部分。输入控制部分通过串口中断来响应外部的输入;视频处理部分主要完成视频流中图像的人脸检测、特征提取和人脸识别并将结果输出;输出部分主要是完成识别结果的显示并通过串口向门锁控制器发送信号。整个DSP上的软件由二个任务线程组成:tskvideo-capture线程从视频输入端口读取数据;tskloopback线程完成视频流中图像的处理并将结果输出。二者之间靠SCOM消息队列进行同步和消息传递 。系统流程如图3所示。
当系统上电启动后,首先对系统进行初始化。初始化完成后,系统进行视频图像的采集和回放,GIO/FVID(项层类驱动)控制TVP5150通过EDMA将视频数据YCbCr(4:2:2)传递到视频输入任务请求的缓冲I~capFrameBuf中。当系统接收到串El中断信号后,视频处理任务通过SCOM通讯从capFrameBuf中将数据取走,进行人脸检测、特征提取和人脸识别等一系列操作,并将结果输出。
本系统软件通过在YCbCr色彩空间中建立人脸肤色模型对人脸进行粗检测。实验发现当Cb取值范围为[90,135],Cr取值范围为[120,168]时,系统对肤色检测效果最好。人脸粗检测后再通过数学形态学中的开运算去除孤立的小点、毛刺和小桥(即连通两块区域的小点),最后通过对肤色中连通域的标记和统计去除非人脸区域,得到人脸图像 。在提取人脸特征之前对人脸图像进行灰度拉伸和归一化,使用离散余弦变换提取人脸特征,提取的人脸特征可以进行两种操作:作为模板存入人脸特征库或进行人脸识别。系统通过计算人脸特征,再与模板库中的人脸特征进行相似度比对和识别。
4 结束语
本文将DM642芯片结合视频编解码芯片和实时嵌入式操作系统DSP/BIOS应用于门禁系统,实现了完全脱离PC机的图像采集、处理和结果显示系统。算法运算速度快,实时性高。系统可以通过串口或网络接口实现人机交互,并具有良好的可扩展性和独立性。
- 基于嵌入式Linux平台的指纹门禁系统(01-20)
- 基于FM1702的非接触式读写模块设计(08-29)
- 浅谈门禁系统的485总线结构的布线规范及调试方法(12-14)
- 门禁系统项目驱动程序(11-30)
- 自己做的门禁系统3(11-29)
- 自己做的门禁系统1(11-29)