APP下载

基于FPGA硬件架构的实时高速图像特征检测系统

2015-01-13中北大学计算机与控制工程学院温建飞岳凤英

电子世界 2015年21期
关键词:中北大学边缘架构

中北大学计算机与控制工程学院 温建飞 岳凤英

中北大学仪器与电子学院 李永红

基于FPGA硬件架构的实时高速图像特征检测系统

中北大学计算机与控制工程学院 温建飞 岳凤英

中北大学仪器与电子学院 李永红

高速、高精度的图像特征检测的实现是计算机视觉的重大难题,它是高水平图像处理分析的基础。然而图像特征检测使用传统的软件方法或者普通的硬件架构很难实现,因为它们在高速处理和功耗优化上有诸多弊端。构建了一个基于Sobel算法边缘检测的从视频图像提取图像特征高速实时的图像特征检测系统,利用FPGA高速并行机制和流水线的处理方式,提高了图像特征提取的效率,该系统的实现对机器人视觉有很大的应用价值。

计算机视觉;Sobel;并行流水线;FPGA

1  引言

图像特征点检测有着广泛的应用如纹理检测、物体检测和图像分割等,甚至图像特征检测是图像还原、图像加密的基础[1]。面对高性能图像特征检测的需求,提出一种具有特定硬件架构并行实现的实时特征检测加速器。相对于嵌入式处理器在性能、功耗、体积上诸多限制,FPGA(field programmable gate array)的并行流水线运算方式和片上分布式存储器为图像特征检测提供较多便利[2]。图像特征检测在图像处理中的应用如图1所示:

图1  图像特征检测的应用

2  研究背景

2.1 FPGA简介

FPGA(Field Programmable Gate Array)是作为专用集成电路(ASIC)领域中的一种半定制电路出现的,既解决了订制电路的不足,又克服了原有可编程器件中逻辑门数有限的缺点FPGA基于LUT(查找表),片上资源丰富,有CLB(可配置逻辑单元)、IOB(输入输出单元)、Multipliers(硬线乘法器)、BRAM(片上RAM)、DSP(数字信号处理器)、PLL(锁相环)等,为设计中灵活的硬件架构提供必要的条件[3]。

2.2 基于硬件架构数据流处理技术

图像是人类认知客观世界的重要途径,而图像特征检测通过滤掉图像中的次要信息来提取图像特征(不变信息),图像特征检测技术成为了计算机视觉的一个重要的基础[4]。基于硬件架构的图像处理算法通过增加运算的并行性达到加速的目的,常用硬件复制和流水线设计方法。如图2所示,无须等到整个流水线处理结束后才开始下一帧数据的处理,从而保证数据充满所有的功能单元,提高了数据处理的速度[5]。

图2  数据流并行处理方式

3  系统概述

3.1 系统总体架构图

如图3所示为基于FPGA的灵活硬件架构的实时图像特征检测系统架构图,该系统主要包含图像采集、图像数据的转换和处理、图像特征提取后实时显示部分。

FPGA收到摄像头采集到的数据后进行数据格式转换,并实时写入DDR2中进行缓存,并进行图像特征检测处理,此时得到的数据为图像特征提取后的边缘数据,写入fifo进行缓存后,输入到VGA驱动模块,对所提取的图像特征信息进行实时的显示。

图3  图像特征检测系统架构图

3.2 系统软件流程

系统上电经电源稳定后(置位),在对摄像头、DDR2、显示器等外设和FPGA内部各个模块进行初始化,然后系统进入准备工作状态等待,上位机通过串口发送开始采集指令Sample_en、DDR2初始化完成、DDR2完成一帧图像数据的写入和读取完毕都会触发一次本地复位信号lreset_n对FPGA各个模块进行初始化,使得下次DDR2和各个缓冲器能够写入或者读取出有效的数据。

3.3 图像特征检测部分

图像特征检测的实质是采用某种算法来提取出图像中对象与背景间的交界线,图像特征即为图像汇总灰度发生急剧变化的区域边界,图像灰度变化可以用图像灰度分布的梯度来反映,因此我们可以用局部图像微分技术来获得边缘检测算子[6]。

(1)本设计中使用基于窗口的实现方式,从输入的图像中提取出k x k像素矩阵,经过窗口管理中心点提取和算法产生一个新的输出,通常一个像素点的输出由每一个窗口像素矩阵经过特征检测算法实现并且存储在这个窗口的中心点位置,如图4所示:

图4  基于窗口的操作

(2)基于FPGA硬件架构的窗口处理[7]。基于窗口的图像帧操作可以用公式(1)来表示,I为M x N的输入图像窗,Y为输出图像,K为像素k x k核心,kij代表像素核心K的系数,Ir+i,c+j代表输入图像(r, c)像素点周围k x k临近像素,fin代表一个标量函数。

输出值通过和一个门限阈值相比较,由一个标量函数产生最终的响应,得到我们想要的特征点,如公式(2):

(3)基于Sobel算子的并行计算[8]。图像特征检测模块从DDR2中读取出要进行边缘检测的像素数据,通过并行流水线结构,实时处理并送到缓冲区以便VGA驱动模块进行显示。Sobel边缘检测算子在3X3邻域内做亮度加权运算,与预先设定阈值比较,来确定该图像矩阵为黑色像素还是白色像素,Sobel梯度算子的卷积模板如公式(3)所示:

4  采取的关键技术及创新点

整个系统中实现控制流和数据流分割,控制部分由FPGA中Verilog编写逻辑,与数据流协作,保证数据帧按照时间顺序形成从输入、缓存、处理、输出的并行结构,使得系统时钟处于一个高速并行状态,增加了系统的稳定性,在对图像实时性较高的应用中(如计算机视觉)更有优势。

5  结语

基于FPGA硬件架构的高速实时图像特征检测系统集视频图像采集、数据流缓冲器、算法处理以及实时显示单元于一体,在FPGA的控制下实现整个系统的协调工作,实现了真正的高速实时处理摄像头采集到的原始图像到上位机显示的特征图像。

[1]Chris H,Mike S.A combined corner and edge detector[J].In proceedings of the 4th Alvey Vision Conference,pages,1988:147-151.

[2]Stphen B, Zvonko V Fundamentals of Digital Logic with Verilog Design[J].2th Edition McBraw-Hill 2008:10-12

[3]官鑫,王黎,高晓蓉,等.图像边缘检测Sobel算法的FPGA仿真与实现[J].现代电子技术2009,32(8) :56-58.

[4]李明,赵勋杰,毛伟民.Sobel边缘检测的FPGA实现[J].现代电子技术2009,35(4):13-14.

[5]李正明,刘春国,安明建.基于FPGA的Sobel图像边缘检测的设计[J].现代科学仪器2012(4):56-57.

[6]夏宇闻.复杂数字电路与系统的Verilog HDL设计技术[M].北京:北京航天航空大学出版社,1998.

[7]薛明星.基于FPGA器件的Sobel算法的实现[J].电子元器件应用,2008,10(11) :27-30.

[8]袁春兰,熊宗龙,周雪花,等.基于Sobel算子的图像边缘检测研究[J].激光与红外2009,39(1):18-20.

温建飞(1991—),男,中共党员,山西忻州人,中北大学硕士研究生,研究方向为动态测试与智能仪器。

岳凤英(1977—),女,副教授,研究生导师,研究方向为导航与制导。

李永红(1967—),男,教授,研究生导师,研究方向为仪器科学与技术。

猜你喜欢

中北大学边缘架构
基于FPGA的RNN硬件加速架构
柠檬酸辅助可控制备花状银粒子及其表面增强拉曼散射性能
功能架构在电子电气架构开发中的应用和实践
中北大学信创产业学院入选首批现代产业学院
《中北大学学报(自然科学版)》征稿简则
基于云服务的图书馆IT架构
有机相化学镀铝法制备Al/石墨烯复合材料粉末
WebGIS架构下的地理信息系统构建研究
一张图看懂边缘计算
在边缘寻找自我