图像处理算法的FPGA设计步骤及方法PPT课件_第1页
图像处理算法的FPGA设计步骤及方法PPT课件_第2页
图像处理算法的FPGA设计步骤及方法PPT课件_第3页
图像处理算法的FPGA设计步骤及方法PPT课件_第4页
图像处理算法的FPGA设计步骤及方法PPT课件_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、图像处理算法的图像处理算法的FPGA设计步骤及方法设计步骤及方法 以以Adaboost算法为例算法为例 1 设计步骤设计步骤 算法研究 算法模型向电路结构抽象转换 电路结构设计 功能模块划分 关键电路时序及模块间接口时序设计 具体电路设计 设计验证 算法改进 2 一、算法研究一、算法研究 算法研究算法研究 数值算法数值算法 非数值算法非数值算法 方法方法 模型模型 拓扑结构拓扑结构 数学模型数学模型 Matlab仿真仿真 3 一、算法研究一、算法研究 Adaboost算法流程算法流程 4 一、算法研究一、算法研究 Harr特征特征 本本案例使用的案例使用的检测检测算法是基于算法是基于 Haar

2、Haar 特征的特征的AdaBoostAdaBoost 算法。它是算法。它是 一种基于表象的方法。这里的表象具体指的就是一种基于表象的方法。这里的表象具体指的就是HaarHaar 特征。它是一特征。它是一 组矩形构成的模式(组矩形构成的模式(PatternPattern),如图所示就是几种),如图所示就是几种HaarHaar 特征的例子。特征的例子。 5 二、算法改进二、算法改进 必要性:许多算法其本身具有适用行计算机的串行运算特点必要性:许多算法其本身具有适用行计算机的串行运算特点 目的:改进算法使其适用于具有并行特性的硬件设计目的:改进算法使其适用于具有并行特性的硬件设计 原则:速度与面积

3、的平衡原则:速度与面积的平衡 理论指导:并行算法理论理论指导:并行算法理论 6 二、算法改进二、算法改进 1 1、级联分类器改进为部分并联分类器级联分类器改进为部分并联分类器 Adaboost算法的级联分类器构成的强分类器,其逐级剔除逐级算法的级联分类器构成的强分类器,其逐级剔除逐级 增强的结构是为了适应计算机串行指令执行的特点而设计的。但对于增强的结构是为了适应计算机串行指令执行的特点而设计的。但对于 硬件设计而言,级联的分类器结构对速度要求很高;并且硬件电路规硬件设计而言,级联的分类器结构对速度要求很高;并且硬件电路规 模要适应所有可能情况,即要设计整个的级联分类结构的电路,而大模要适应所

4、有可能情况,即要设计整个的级联分类结构的电路,而大 多情况下后级的电路并未启用。因此,级联分类器的结构对于硬件设多情况下后级的电路并未启用。因此,级联分类器的结构对于硬件设 计而言,并不是一个较优的结构。计而言,并不是一个较优的结构。 7 二、算法改进二、算法改进 1 1、级联分类器改进为部分并联分类器级联分类器改进为部分并联分类器 从算法原理可以发现,每个分类器其实是相对独立的,我们可以从算法原理可以发现,每个分类器其实是相对独立的,我们可以 将这些分类器的分布进行重组。根据速度与面积的折中,我们将级联将这些分类器的分布进行重组。根据速度与面积的折中,我们将级联 的分类器改进为部分并联的分类

5、器。的分类器改进为部分并联的分类器。 分类器 分类器 分类器 否 全部通过 根据时序要求将全部的分类器划分为根据时序要求将全部的分类器划分为 若干组并行执行的分类,并且复用这若干组并行执行的分类,并且复用这 些分类器电路,即每组电路使用同一些分类器电路,即每组电路使用同一 套硬件电路。每次检测,通过该组全套硬件电路。每次检测,通过该组全 部分类器即进行下一组检测,全部通部分类器即进行下一组检测,全部通 过即判断为目标;若有其中一组不能过即判断为目标;若有其中一组不能 通过即跳出,判断为非目标通过即跳出,判断为非目标 8 二、算法改进二、算法改进 2 2、整帧图像积分改进为子窗口积分整帧图像积分

6、改进为子窗口积分 Adaboost算法在做一帧图像的检测时,先该帧图像进行积分。但这种做算法在做一帧图像的检测时,先该帧图像进行积分。但这种做 法对于硬件而言要消耗大量的硬件资源,并且电路在接下来的扫描检测进法对于硬件而言要消耗大量的硬件资源,并且电路在接下来的扫描检测进 程中处于闲置状态。根据算法的原理,我们只对扫描的子窗口进行积分也程中处于闲置状态。根据算法的原理,我们只对扫描的子窗口进行积分也 是等效的,只是在每扫描一个步进就要积分一次。但应用流水线结构的设是等效的,只是在每扫描一个步进就要积分一次。但应用流水线结构的设 计技巧,这个问题可以很好的解决,并且能提高电路的利用率。计技巧,这

7、个问题可以很好的解决,并且能提高电路的利用率。 9 三、算法模型向电路结构抽象转换三、算法模型向电路结构抽象转换 算法抽象转换算法抽象转换算法级算法级 行为级行为级 寄存器传输级寄存器传输级 逐级转换 10 四、电路结构设计四、电路结构设计 结构设计结构设计 总线结构总线结构 流水线结构流水线结构 总线总线流水线结构流水线结构 网格结构网格结构 超立方结构超立方结构 蝶网结构蝶网结构 存储器分布结构存储器分布结构 11 四、电路结构设计四、电路结构设计 12 五、功能模块划分五、功能模块划分 划分标准:划分标准: l根据算法的特征、结构划分模块。根据算法的特征、结构划分模块。(主导主导) l尽

8、量不将组合逻辑划分成一个独立的模块。尽量不将组合逻辑划分成一个独立的模块。 l消除不必要的层级,避免粘连逻辑。消除不必要的层级,避免粘连逻辑。 l尽量平衡各逻辑块的尺寸和模块内部的数据传输路径长度。尽量平衡各逻辑块的尺寸和模块内部的数据传输路径长度。 l设计至少应该有三个层次:顶层、中间层、内核层。设计至少应该有三个层次:顶层、中间层、内核层。 l将异步电路单独设计,并且一个时钟对应一个模块,模块将异步电路单独设计,并且一个时钟对应一个模块,模块 与模块之间的握手连接在异步电路的顶层处理。与模块之间的握手连接在异步电路的顶层处理。 13 六、关键电路时序及模块间接口时序设计六、关键电路时序及模

9、块间接口时序设计 设计电路,尤其是数字电路,最关键的一环是:设设计电路,尤其是数字电路,最关键的一环是:设 计各模块间的接口时序,确定关键电路的时序。这个工计各模块间的接口时序,确定关键电路的时序。这个工 作必须在具体电路设计之前确定下来。作必须在具体电路设计之前确定下来。 14 模块间接口时序设模块间接口时序设 计计 由于系统采用完全流水线结构设计由于系统采用完全流水线结构设计,其接口时序相对比较简单。其接口时序相对比较简单。 CLK Step1 Step2 Step3 Step4 DATA1 DATA1 DATA1 DATA1 DATA2 DATA2 DATA2DATA3 DATA3 DA

10、TA4 模块间按一个时钟周期的时序传递数据。模块间按一个时钟周期的时序传递数据。 15 关键电路时序设计关键电路时序设计 对于系统中两个与对于系统中两个与DDR RAM数据通信的模块,其数据通信的模块,其 读写时序与系统的流水线读写时序与系统的流水线 时序不同。时序不同。 CLK WR_EN WR_ADDR WR_DATA addr1 addr2 addr3 data1 data2 data3 16 关键电路时序设计关键电路时序设计 CLK RD_EN RD_ADDR RD_DATA addr1 addr2 addr3 data1 data2 data3 17 七、具体电路设计七、具体电路设计 设计原则:先时序后电路设计原则:先时序后电路 设计模块原理结构设计模块原理结构 设计模块工作原理时序图设计模块工作原理时序图 在时序指导下设计具体电路在时序指导下设计具体电路 详细设计文档详细设计文档 18 七、具体电路设计七、具体电路设计 “先时序先电路先时序先电路”设计方法的优点:设计方法的优点: 1、思路清晰,考虑周到,不容易出错。思路清晰,考虑周到,不容易出错。 2、电路即使出错误,也很容易查出问题原因所在。电路即使出错误,也很容易查出问题原因所在。 3、在复杂电路中,原理时序图越容易让人理解,便于交流和相互查错。在复杂电路中,原理时序图越容易让人理解,便于交流和相互查

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论