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图像数据转换成interwetten与威廉的赔率体系 量,以实现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
    +关注

    关注

    1629

    文章

    21729

    浏览量

    603059
  • 图像识别
    +关注

    关注

    9

    文章

    520

    浏览量

    38268
  • 目标跟踪
    +关注

    关注

    2

    文章

    88

    浏览量

    14882
收藏 人收藏

    评论

    相关推荐

    AI图像识别摄像机

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

    目标检测与图像识别的区别在哪

    目标检测与图像识别是计算机视觉领域中的两个重要研究方向,它们在实际应用中有着广泛的应用,如自动驾驶、智能监控、医疗诊断等。尽管它们在某些方面有相似之处,但它们之间存在一些关键的区别。 基本概念 目标
    的头像 发表于 07-17 09:51 861次阅读

    图像识别算法有哪几种

    图像识别算法是计算机视觉领域的核心威廉希尔官方网站 之一,它通过分析和处理图像数据,实现图像中的目标、场景和物体的
    的头像 发表于 07-16 11:22 1053次阅读

    图像检测和图像识别的原理、方法及应用场景

    目标物体的过程。它的目标是确定图像中是否存在特定的物体,并在图像中找到这些物体的位置,通常以矩形框的形式表示。 1.2 图像识别
    的头像 发表于 07-16 11:19 3999次阅读

    图像识别算法都有哪些方法

    图像识别算法是计算机视觉领域的核心任务之一,它涉及到从图像中提取特征并进行分类、识别和分析的过程。随着深度学习威廉希尔官方网站 的不断发展,图像识别算法已经取得了显著的进展。本文将介绍
    的头像 发表于 07-16 11:14 5527次阅读

    图像识别算法的提升有哪些

    引言 图像识别是计算机视觉领域的核心任务之一,旨在使计算机能够自动地识别和理解图像中的内容。随着计算机硬件的发展和深度学习威廉希尔官方网站 的突破,图像识别算法的性能得到了显著提升。本文将介绍
    的头像 发表于 07-16 11:12 642次阅读

    图像识别算法的优缺点有哪些

    图像识别算法是一种利用计算机视觉威廉希尔官方网站 对图像进行分析和理解的方法,它在许多领域都有广泛的应用,如自动驾驶、医疗诊断、安全监控等。然而,图像识别算法也存在一些优缺点。 一、图像识别算法的优
    的头像 发表于 07-16 11:09 1561次阅读

    图像识别算法的核心威廉希尔官方网站 是什么

    图像识别算法是计算机视觉领域的一个重要研究方向,其目标是使计算机能够像人类一样理解和识别图像中的内容。图像识别算法的核心威廉希尔官方网站 包括以下几个方面
    的头像 发表于 07-16 11:02 631次阅读

    图像识别威廉希尔官方网站 包括自然语言处理吗

    计算机视觉威廉希尔官方网站 对图像进行处理、分析和理解,从而实现图像中的目标、场景、行为等信息的识别和理解。图像识别
    的头像 发表于 07-16 10:54 738次阅读

    图像识别威廉希尔官方网站 的原理是什么

    图像识别威廉希尔官方网站 是一种利用计算机视觉和机器学习威廉希尔官方网站 对图像进行分析和理解的威廉希尔官方网站 。它可以帮助计算机识别和理解图像中的对象、场景和活动。 图像预处理
    的头像 发表于 07-16 10:46 922次阅读

    图像识别属于人工智能吗

    属于。图像识别是人工智能(Artificial Intelligence, AI)领域的一个重要分支。 一、图像识别概述 1.1 定义 图像识别是指利用计算机威廉希尔官方网站 对图像中的内容进行分析
    的头像 发表于 07-16 10:44 1085次阅读

    如何利用CNN实现图像识别

    卷积神经网络(CNN)是深度学习领域中一种特别适用于图像识别任务的神经网络结构。它通过模拟人类视觉系统的处理方式,利用卷积、池化等操作,自动提取图像中的特征,进而实现高效的
    的头像 发表于 07-03 16:16 1326次阅读

    图像检测和图像识别的区别是什么

    图像检测和图像识别是计算机视觉领域的两个重要研究方向,它们在许多应用场景中都有着广泛的应用。尽管它们在某些方面有相似之处,但它们之间还是存在一些明显的区别。本文将从多个角度对图像检测和图像识别
    的头像 发表于 07-03 14:41 981次阅读

    图像识别威廉希尔官方网站 原理 图像识别威廉希尔官方网站 的应用领域

    图像识别威廉希尔官方网站 是一种通过计算机对图像进行分析和理解的威廉希尔官方网站 。它借助计算机视觉、模式识别、人工智能等相关威廉希尔官方网站 ,通过对图像进行特征提取和匹配,找出图像
    的头像 发表于 02-02 11:01 2418次阅读

    如何使用Python进行图像识别的自动学习自动训练?

    如何使用Python进行图像识别的自动学习自动训练? 使用Python进行图像识别的自动学习和自动训练需要掌握一些重要的概念和威廉希尔官方网站 。在本文中,我们将介绍如何使用Python中的一些常用库和算法来实现
    的头像 发表于 01-12 16:06 578次阅读