APP下载

基于PowerPC图像检测系统的研究

2017-11-09桂玲王赜坤黄梅志

电子技术与软件工程 2017年19期

桂玲++王赜坤++黄梅志

摘 要图像检测在现实生活中应用很广泛,本项目设计一种基于PowerPC图像检测系统,研究基于PowerPC嵌入式系统的硬件电路,利用图像的算法和 OPENCV的开源代码,完成图像检测中目标图像数据的读取。项目开发意义在于检测图像中目标物体的大小,提供依据,广泛应用于医疗和公安等图像检测领域。

【关键词】FPGA PowerPC 图像检测

Xilinx公司FPGA具有功能强大设计灵活的特点,被广大设计人员开发和使用。随着FPGA嵌入式技术的发展,在很多领域得到广泛的应用,比如图像检测运用于医疗诊断,刑侦破案,海关货物图像检测等等。

1 理论

图像检测就是通过图像对感兴趣的特征区域(检测目标)进行提取的过程,检测目标需要事先进行图像特征提取、归纳,最终通过相应算法分离出来,可对图像中的背景和目标进行有效的分离,检测方法可分为单帧和多帧图像检测。单帧主要是利用图像的灰度信息对目标进行分割,多帧通过序列图像的变化特征实现对目标的提取,主要用于运动目标的检测,大体包括:基于像素分析的方法、特征检测的方法和基于变换的方法。以 m×m 像素图像分辨率的检测器为例,其内部存在的满足特定条件的所有矩形的总数,求出每个待检测子窗口中的特征个数。求出每个特征的特征值,利用积分图计算特征值。

Adaboost算法在图像检索和人脸表情识别以及流行的触屏手机上的手写输入识别等问题中都有普遍應用。是一种迭代算法,而且比较重要且通用的用于特征分类的算法,其主要思想是针对相同的训练集用不同的分类器(弱分类器)去学习,然后把这些弱分类器结合起来,以形成更强的最终分类器(强分类器)。

PowerPC具有运算速度快,设计灵活,功能强大的特点,PowerPC基本架构: PowerPC(PPC)硬核;PLB总线为高速片上总线;OPB总线为外围设备低速总线;PLB BRAM、UART接口、网络接口、外部存储器等为外围设备.

OPENCV是Intel 公司开发的计算机视觉库, 其中包含大量的函数用来处理计算机视觉领域中常见的问题,例如图像处理(去噪、边缘检测、角点检测、采样与插值、形态学处理),图像数据的内存分配与释放,矩阵/向量数据操作及线性代数运算(矩阵乘积、矩阵方程求解、特征值),目标识别(特征方法、HMM模型),图像标注,运动分析和跟踪、3D重建和指纹识别等等

2 实验

选用Xilinx Virtex-II 开发板。利用XILINX公司FPGA软件平台EDK。

2.1 先对硬件进行测试

对 PowerPC进行硬件配置,生成硬件网表,进入EDK,创建工程, PowerPC时钟选择 300MHz,参考时钟与总线时钟都设为 100MHz。Debug I/F设置 FPGA JTAG, On chip memory 中指令与数据部分各设置 16K,Cache setup 设置 Enable。Cache的大小为16K。外围接口配置:选择 RS232-Uart-1,波特率设置为115200、数据位为8、寄偶校验为0、停止位为1,并且设置中断,图像检测系统程序中使用串口进行调试,设置外围存储器扩展接口,为256M。点击Generate 生成硬件平台相关文件。进入硬件界面XPS,生成PowerPC的网表文件。把 Bitsream下载到开发板的过程中,系统会自动把外部存储器的测试程序下载到片内存储器中并执行,通过超级终端观察测试结果。

2.2 编写应用程序

启动应用程序EDK当中SDK,对工程进行配置,选择 ppc405_0。双击photo_Detect.c 文件,找到 main 函数.

……

#include “cv.h” //跟图像有关的库文件,核心函数库

#include “highgui.h” //中包含图像处理, 显示等方面的函数。GUI函数库

……

Cvhaarclassifiercascade* 用于对单幅图片的检测。在函数调用前首先利用 cvSetImagesForHaarClassifierCascade设定积分图和合适的比例系数 (=> 窗口尺寸)。当分析的矩形框全部通过级联分类器每一层的时返回正值(这是一个候选目标),否则返回0或负值。Detect_and_draw_objects()为核心函数,括号内的image为图片信息指针,需要提取待检测图片中的灰度信息与检测矩阵中的数据作比对,以确定图片中是否存在目标图像。

为了提高检测速度,先通过cvCreateImage对原始检测图象进行尺寸缩小,之后通过cvHaarDetectObjects函数对待检测图像进行检测窗口遍历,设置检测窗口放大系数。如果检测结束存在目标区域,则通过cvRectangle函数在检测图片中标注出目标图象的区域。应用程序设置完成后,被自动编译链接,如果正确无误,SDK已经生成photo. elf可执行文件。

2.3 系统调试

先打开开发板的电源,检查开发板的串口与电脑是否相连。在XPS界面下,点Debug 然后XMD, 下载待测图片、分类矩阵dat文件与执行文件elf至开发板,使用命令:

dow -data pic1.jpg.raw.big 0x0fe00000

dow -data standard.raw.big 0x0ff00000

dowphoto.elf

待检测图片大小350×300,超级终端上显示目标对象数据坐标、高度和宽度。

3 结论

数字图象在生活中的应用也越来越广泛,电子技术发展也不断迈向高科技, 该项目是基于FPGA 的嵌入式系统设计,通过Adaboost算法,理解OPENCV开源代码,完成了PowerPC嵌入式系统图像检测。

参考文献

[1]田耘,徐文波著.Xilinx FPGA开发实用教程[M].北京:清华大学出版社,2012.

[2]刘波文,张军.FPGA嵌入式项目开发[M].北京:航空航天大学出版社,2012.

作者单位

武汉华夏理工学院 湖北省武汉市 430223