0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA图像识别与目标跟踪系统的实现

电子工程师 ? 来源:微型机与应用第18期 ? 作者:范志铭 苏成悦 郑 ? 2021-04-06 14:07 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

摘 要: 采用FPGA搭建图像处理系统,通过硬件算法实现图像的流水线及并行处理,实现了对具有特定颜色的物体的识别与跟踪。整个系统工作于像素频率,避免了算法的程序跑飞现象,使系统的可靠性大为提高,较好地保持了系统的低功耗特性,且优于DSP等串行处理器结合软件算法来实现的方法。

0 引言

近年基于FPGA硬件技术的视频图像处理系统被广泛地应用于视频智能监控、智能交通系统、视频采集和跟踪系统等[1]。作为机器视觉的一个重要研究方向,动态目标检测在视频智能监控、智能交通系统等方面得到了越来越多的应用[2]。通常图像识别与跟踪算法可以通过软件或者硬件来实现,但出于成本及开发难度的考虑,图像识别与跟踪一般由软件来实现。

在高速、高分辨率的情况下,传统软件的串行处理算法不足以应对大量的运算以及严格的时间要求,而采用硬件算法则可以实现并行或者流水的运算结构,大大地加快了运算速度[3]。目前可采用硬件实现的主要方案包括:DSP数字信号处理器、专用的集成图像处理芯片、FPGA和配合的相关电路。与其他方案相比,使用FPGA芯片丰富的硬件资源以及硬件可重构性,可大大提高图像识别跟踪系统的灵活性和通用性。

本设计通过使用可编程逻辑器件和硬件算法进行图像处理以实现对图像中特定目标进行识别和跟踪,并通过并行和流水线结构算法大大加快图像处理的速度,使得处理速率与输入时钟同步,真正地做到了无延时处理。

1 系统整体功能概述

本设计中采用Altera公司的EP2C8系列FPGA作为系统核心。图像从30万像素CMOS摄像头输入,FPGA负责图像处理以及接口管理,因摄像头与VGA接口的帧率不同,所以使用SDRAM作为帧缓冲。高速视频DAC芯片ADV7123负责把RGB图像数据转换成模拟量,以实现VGA输出。系统的框架图如图1所示,整个系统采用5 V直流供电,可以通过AS或者JTAG接口进行调试以及程序的下载。通过键盘可以切换系统的工作状态,改变图像的处理效果。

6357008205591294322821819.jpg

2 硬件设计

要实现图像处理,首先要搭建好图像的采集系统,实现对输入图像正确的显示。由于系统处理的数据量大,速度快,对硬件电路的设计以及器件布局布线都有较高的要求。

2.1 FPGA外围电路设计

FPGA的外围电路包括时钟电路、复位电路、JTAG以及AS调试接口。本设计提供40 MHz和50 MHz时钟输入,50 MHz时钟可通过PLL倍频到100 MHz作为SDRAM时钟,也可分频到25 MHz作为CMOS摄像头时钟;而40 MHz作为后备时钟。JTAG接口可把配置数据下载到FPGA的内部RAM上,并可以通过SignalTap嵌入式逻辑分析仪对FPGA时序进行分析。AS接口则可以把配置数据之间固化到串行EPROM上,使FPGA上电后自动配置。

2.2 VGA接口设计

VGA接口芯片本质上是三路独立的高速DA,负责把数字化的图像数据转换成模拟量,以供显示器显示。为了阻抗匹配,模拟输出端需并联75 Ω电阻,DAC输出电流的最大值由偏置电位器决定,通过调节电位器,可以调节输出图像的最大亮度。

2.3 SDRAM外围电路设计

SRAM在存储器中速度最快、最稳定、操作最方便,但是由于其成本高,一般静态存储器只适用于存储容量小、存储速度要求高的场合。而SDRAM相对于SRAM制造成本低很多,随着技术的进步,SDRAM的速度越来越快,容量越来越大,稳定性也越来越好。在视频图像处理中SDRAM主要用作数据缓存,也就是FPGA对SDRAM操作最频繁的为读命令、写命令,在这两个命令中间插接激活、预充电、猝发终止、刷新等命令[4]。

SDRAM的主要作用是把经过处理后的图像数据以30 S/s的速率进行缓存,然后再以60 S/s的速率读取到VGA接口输出。采用16 bit字宽的SDRAM,读写时钟为100 MHz。SDRAM总带宽为100 MHz,其中摄像头写入占用12.5 MHz带宽,VGA读取占用25 MHz带宽,剩余的62.5 MHz带宽可留作图像处理使用。

3 算法设计

采用基于颜色的目标识别算法从背景中分割目标并动态标记,该算法实现简单,但对图像的质量要求较高。由于CMOS摄像头输出的图像噪点较多,尤其在光照不足的情况下,因此图像的预处理工作显得尤为重要[5]。系统总体算法结构如图2所示。

6357008208940594323843080.jpg

预处理采用3×3的平滑滤波器对图像进行滤波。将处理后的图像与样品颜色进行比较,当图像与样品颜色的R、G、B分量的差值在一定范围内时,图像像素被标记为白色,否则标记为黑色,最终实现图像的二值化。包围盒对噪点非常敏感,在进行包围操作前,再对图像进行一次滤波处理。包围盒的作用是找出目标图像像素的最小坐标以及最大坐标,通过这两个坐标即可计算出目标的中心位置。

3.1 图像平滑滤波器设计

传统的软件算法在实现滤波操作时,需要先把输入和输出图像都缓冲到帧缓存中去,对于每个输出像素,算法获取输入图像对应窗口的像素并用滤波函数计算来取得输出值。由于每个输出都需要读取对应窗口的输入像素,势必占用极大的内存带宽,并且处理性能会受到内存带宽的限制。由于每个输入像素都会被多个窗口所利用,故可以先对输入图像进行缓存,以便在后续的窗口中被重新利用[6]。本设计使用流水处理的方法,实现滤波算法的加速计算,算法结构如图3所示。

6357008210037194323087038.jpg

3.2 图像二值化

在第一个时钟的上升沿,摄像头输入的16 bit图像数据先分割为R、G、B三个分量,分别为5 bit、6 bit、 5 bit,分别与样本颜色的对应分量进行比较,通过减法器获得对应的误差绝对值,下一个时钟上升沿,这三个误差的绝对值再与对应的阈值进行比较,最后把比较结果进行与运算,作为最终输出。整个二值化操作的流水线延时为两个时钟周期。图4为其中一个处理通道的简化表示。本设计的二值化操作是在RGB色彩空间上进行的,只有在R、G、B三个通道上同时满足条件的像素点才会被设为最大值。

6357008214264594328262110.jpg

3.3 图像腐蚀与膨胀

图像的腐蚀操作能够轻易地滤除面积小于窗口的孤立噪点而不影响图像本身的清晰度,经过腐蚀后目标图像会变小,需要膨胀操作来补偿腐蚀的影响,与平滑滤波器相类似。其实现方法如图5所示,经过行缓冲的像素数据依次进入窗口,通过对窗口内所有像素进行与运算来实现腐蚀,进行或运算来实现膨胀,其效果如图6所示。

6357008215604994323755001.jpg

6357008215662294327709658.jpg

3.4 包围盒设计

一组像素的包围盒是指能够包围所有像素的最小矩形,本设计在进行包围操作之前已经先对图像进行二值化分割,故只需要找出每一帧图像中目标像素横纵坐标的最大值和最小值即可实现对图像的包围操作。

4 结论

6357008217602594325082310.jpg

经过处理后的图像有VGA接口输出,其效果如图7所示。由于采用了硬件算法实现的并行以及流水结构,大大加快了图像的处理速度,处理速度为900万像素每秒,流水线延时约为64 ?滋s。通过动态流水线结构,系统可以把每一步中间处理的结果直接输出到VGA,这样就可以独立地观察每一步处理的实际效果。通过对比发现,若关闭图像预处理,则图像中噪点明显增多,包围盒出现晃动,说明图像的预处理操作能够提高识别和跟踪的准确度和稳定性。

由于使用硬件算法,从本质上避免了传统软件算法的程序跑飞现象,使得系统的可靠性大为提高。为了提高处理速度,传统软件算法往往只能通过提高系统的时钟实现,然而过高的时钟频率意味着高功耗和干扰,而本设计通过流水线结构,使整个处理系统工作于像素频率,同时也保持了系统的低功耗特性。

参考文献

[1] 郑俊波,苏成悦,何榕礼,等.Android终端及FPGA控制的智能家居系统[J]。微型机与应用,2014,33(5):93-95.

[2] 向厚振,张志杰,王鹏.基于FPGA视频和图像处理系统的FIFO缓存技术[J].电视技术,2012,36(9):134-135.

[3] MARUYAMA T, YAMAGUCHI Y. How fast is an FPGA image processing[J]。 IEICE Technical Report, 2008,108(48):83-88.

[4] 田丰,邓建国,李巍,等.SDRAM控制器的设备与VHDL实现[J]。电子技术应用,2010,36(2):74-77.

[5] OLSON T, SANFORDCARL W. Real-time multistage IR image-based tracker[J]. The International Society for Optical Engineering,2011,58(112):56-57.

[6] 王德胜,康令州.基于FPGA的实时图像采集与预处理[J].电视技术,2011,35(3):38-41.

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1646

    文章

    22098

    浏览量

    620810
  • 图像识别
    +关注

    关注

    9

    文章

    529

    浏览量

    39272
  • 目标跟踪
    +关注

    关注

    2

    文章

    88

    浏览量

    15133
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于米尔MYC-YM90X安路飞龙DR1开发板仪表图像识别系统开发

    预处理和特征提取等功能进行 FPGA 硬件设计,生成比特流文件;在 FD 环境中开发 ARM 侧的应用程序,实现系统整体控制与图像识别算法的高层执行。 2.2.2 驱动与库支持
    发表于 08-17 21:29

    华怡丰推出ISC-B/C系列图像识别传感器

    在工业自动化领域,精准、高效的视觉检测是提升生产效率的关键。华怡丰全新推出的ISC-B/C系列图像识别传感器集高精度定位、测量算法与先进图像处理技术于一体,为各类工业场景提供稳定、可靠的解决方案!
    的头像 发表于 08-15 11:36 ?287次阅读
    华怡丰推出ISC-B/C系列<b class='flag-5'>图像识别</b>传感器

    基于FPGA的数字识别系统设计

    图像处理领域,图像识别是较为困难而关键的技术。这项技术被广泛的应用到娱乐、工业、军事等领域。本次设计数字识别系统已经在车牌识别、运动员号码识别
    的头像 发表于 07-16 14:28 ?662次阅读
    基于<b class='flag-5'>FPGA</b>的数字<b class='flag-5'>识别系统</b>设计

    火车车号图像识别系统如何应对不同光照条件下的识别问题?

    在铁路运输管理中,准确识别火车车号是实现自动化车辆管理的关键环节。然而,实际应用场景中复杂多变的光照条件给车号识别带来了巨大挑战。现代火车车号图像识别系统通过多项技术创新,有效解决了这
    的头像 发表于 07-15 11:37 ?188次阅读
    火车车号<b class='flag-5'>图像识别系统</b>如何应对不同光照条件下的<b class='flag-5'>识别</b>问题?

    手持终端集装箱识别系统图像识别技术

    行业提供了更灵活、精准的管理工具。 一、技术核心:OCR+AI深度融合 现代手持终端系统采用多模态图像识别技术,结合深度学习算法,可快速捕捉并解析集装箱号码。其技术优势体现在: 1. 复杂环境适应性:通过动态曝光补偿和图像增强算
    的头像 发表于 04-03 10:49 ?347次阅读

    岸桥箱号识别系统如何工作?揭秘AI图像识别技术!

    在港口自动化升级的浪潮中,AI岸桥识别系统凭借前沿的图像识别技术,成为提升码头作业效率的“智慧之眼”。那么,这套系统如何实现集装箱信息的精准捕捉?又是如何通过AI技术替代传统人工理货?
    的头像 发表于 04-02 09:45 ?326次阅读

    无人机低延时目标跟踪识别智算系统

    33帧/s,搭配30FPS摄像头,实现实时制导图像的计算识别与姿态调整跟踪。三、 低成本4k轻量光学吊舱: 1)强大的影响系统: 低成本轻量
    发表于 03-06 15:48

    BP神经网络在图像识别中的应用

    BP神经网络在图像识别中发挥着重要作用,其多层结构使得网络能够学习到复杂的特征表达,适用于处理非线性问题。以下是对BP神经网络在图像识别中应用的分析: 一、BP神经网络基本原理 BP神经网络,即反向
    的头像 发表于 02-12 15:12 ?796次阅读

    基于FPGA实现图像直方图设计

    简单,单采用FPGA实现直方图的统计就稍显麻烦。若使用Xilinx和Altera的FPGA芯片,可以使用HLS来进行图像的加速处理。但这暂时不是我的重点。 用C语言
    的头像 发表于 12-24 10:24 ?885次阅读
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b><b class='flag-5'>图像</b>直方图设计

    AI图像识别摄像机

    ?AI图像识别摄像机是一种集成了先进算法和深度学习模型的智能监控设备。这些摄像机不仅能够捕捉视频画面,还能实时分析和处理所拍摄的内容,从而实现对特定对象、场景或行
    的头像 发表于 11-08 10:38 ?981次阅读
    AI<b class='flag-5'>图像识别</b>摄像机

    AI大模型在图像识别中的优势

    AI大模型在图像识别中展现出了显著的优势,这些优势主要源于其强大的计算能力、深度学习算法以及大规模的数据处理能力。以下是对AI大模型在图像识别中优势的介绍: 一、高效性与准确性 处理速度 :AI
    的头像 发表于 10-23 15:01 ?2638次阅读

    【飞凌嵌入式OK3576-C开发板体验】RKNPU图像识别测试

    ,包括但不限于以下几个方面: 计算机视觉 :用于图像识别目标检测、人脸识别等任务,在安防监控、自动驾驶、医疗影像分析等领域有着广泛的应用。 自然语言处理 :加速文本分类、情感分析、机器翻译等任务,提高
    发表于 10-10 09:27

    FPGA图像处理领域的优势有哪些?

    单元和可编程互联线,可以实现高度并行的数据处理。在图像处理任务中,如图像预处理、特征提取和图像识别等,需要大量的计算任务。FPGA可以通过并
    发表于 10-09 14:36

    抖动跟踪不丢失 慧视图像跟踪板和自研算法强势升级

    图像跟踪板应用场景的不断增加,为了满足更复杂场景的需求,目标跟踪算法的跟踪能力也在不断提升。例如在无人机领域,
    的头像 发表于 09-04 08:05 ?1132次阅读
    抖动<b class='flag-5'>跟踪</b>不丢失 慧视<b class='flag-5'>图像</b><b class='flag-5'>跟踪</b>板和自研算法强势升级

    #FPGA#机械臂#图像识别#颜色识别

    FPGA
    benniejoker
    发布于 :2024年08月22日 22:43:38