基于FPGA的机器视觉算法实现

 2022-01-22 11:01

论文总字数:44964字

摘 要

机器视觉是一项应用十分广泛的技术,它基于数字图像处理等技术。FPGA作为一个可以进行高速图像处理的平台,可以用于机器视觉的加速,其实现相较于软件实现,在速度方面拥有者巨大的优势,但同时也拥有着开发难度、不能实现一些比较复杂的算法的等问题。Xilinx的ZYNQ平台结合了软件和FPGA两个平台,它在FPGA上加入一个ARM硬核,并使用AXI总线协议进行交互,可以方便地构建软件和硬件的协作系统,同时,Xilinx的新开发套件Vivado提供了一个良好的IP封装和应用模式。

本设计利用这些要素,设计了一个在FPGA进行图像处理的的开源IP库,库中已经实现了灰度化、阈值化、对比度和亮度变换、均值滤波器、排序滤波器、局部阈值化、腐蚀膨胀、边缘检测、裁剪、镜像、平移、缩放、错切、旋转操作,库中所有的模块遵循同一接口标准,它们最大支持12比特的单通道色彩,4K分辨率和15x15的窗口,拥有流水线和请求响应两种模式,并具有各自的 软件仿真、硬件仿真和板上测试,最终封装为Xilinx建议的标准IP。同时,还提供了一个AXI的配置模块,用于演示软件和硬件的协作。

关键词:机器视觉, 图像处理,FPGA,ZYNQ

The FPGA based implementation of machine vision algorithm

Abstract

Machine vision is a technology which applicate widely, it base on image processing and other technologies. As a bench which can do image processing fast, it could be used for speed the machine vision algorithm. Compared to software, FPGA has a great advantage on speed, but the FPGA aslo has some problems, development with hardware is difficulty, and many complicated algorithms can not implemented on it. The ZNYQ from Xilinx combines software and FPGA, it adds an ARM core to FPGA, using AXI-Bus to communicate between them. ZYNQ allows us to build a collaboration systems with software and hardware, and the new designed suite Vivado from Xilinx also provides a good model for packaging and applying IP cores.

By using them, I designed an open source IP library for image processing, now it already contents graying, threshold, contrast and lightness transform, mean filter, rank filter, local threshold, erosion and dilation, match template, crop, mirror, pan, scale, shear, rotate. All modules have the standard interface, and support 12bits color per channel, 4K display and 15x15 window. Moreover, each module has pipeline and req-ack mode, and own software simulation, functional simulation and testing on board. A module bulid with AXI-Bus is supplied, it used for showing a collaboration systems.

Keywords:Machine vision, Image processing, FPGA, ZYNQ

目录

摘要 1

Abstract 2

目录 3

第一章 绪论 4

1.1 引言 4

1.2 数字图像处理 4

1.3 数字图像处理的FPGA实现 5

1.4 SoC平台-ZYNQ 5

1.5 本文研究目的和实现内容 6

第二章 设计与架构 7

2.1 分类 7

2.2 接口设计 7

2.3 可定制IP核设计 10

2.4 目录结构,测试与发布 12

第三章 算法实现 17

3.1 算术系统 17

3.2 设计流程实例-帧控制器 19

3.3 点操作 23

3.4 局部滤波器 30

3.5 几何变换 45

第四章 板上验证 55

4.1 测试框架 55

4.2 AXI总线模块的构建 56

4.3 测试-点操作 60

4.4 测试-局部滤波器 62

4.5 测试-几何变换 66

4.6 结论 70

参考文献 71

致谢 73

第一章 绪论

1.1 引言

机器视觉(Machine Vision)是一种由图像处理(Image Processing)和机器学习等技术交织的综合性技术,图像处理作为其核心之一,服务于人类的视觉系统。经过漫长的发展,人类对视觉信号的处理方式由原始的间接记录演化成了由电子器件主导的直接记录,通过感光器件,我们可以得到记录光强的若干信息,对这些信息进行处理,也就是对视觉信息进行分析和再构,其重要性不言而喻。

人类所有活动的都依赖于信息的操作,正如当巴贝奇在发散地研究各个领域、想要制作计算机器来尝试一些东西的时候,他真正的研究主题实际上信息,是信息的通信、编码、处理等[1]。这一点在现代社会显得尤为清晰。而图像处理就是对图像信息的操作,它一般处于图像信息输入和输出之间,本质上是对输入信息进行各种各样的滤波,来转换其信息所处的空间,从而达到强调、提取信息等等目的。

传统的图像处理方法是模拟和光学的,在精确的现代记录方式出现之前,人们用自己的双手和画笔进行着图像处理,正如贡布里希所言,“艺术家同样无法转录他所见到的东西,他所能做的只是把他所见翻译成他的绘画手段的表现形式罢了。”[2]。图像处理就是有着这样的一个目的——去得到相对于原始图像的、我们想要的东西。随着技术的飞快进步,尤其是CCD和CMOS这种感光元件以及存储器的出现,让我们获得了记录和复制同一副图像的能力,我们拥有了更多的自由去做一些实验,加上电子技术的进一步发展,数字图像处理技术诞生了,比起传统的处理方式,它大大提高了研发和生产的效率,可以完成的操作是传统方式望尘莫及的。

1.2 数字图像处理

数字图像处理,即为使用计算机对量化和数字化后的图像数据进行处理,数字图像的定义是:“一个存储着数值的二维数组”,这意味着图像被映射到了一个二维空间内,由若干坐标和坐标信息来表示图像本身的信息,每一个这样的坐标点就被称为“点”,“点”一般作为图像的基本操作单元。 有了被存储在数据单元内的图像数据,便可以对图像进行各种操作,操作的基础是各种数学运算,比如加减乘除卷积等等,利用这些操作可以实现[3]

  1. 图像增强:改善图像的主观质量,比如降噪、对比度调整、色彩校正等等。
  2. 图象复原:对已经发生退化的图像进行修正,分析退化的原因进行逆运算,从而将图像恢复到应有的状态。
  3. 图象重建:将图像数据重组,比如缩放、旋转、色彩空间转换等。
  4. 图像分析:使得计算机可以从图像中获取知识,经常表现为某种形式的测量。
  5. 模式识别:基于测量的模式进行物体识别,比如人脸识别等等。

计算机视觉便是建立在以上基础操作的一种学科,研究出一系列模型来处理图像,最终给出人们需求的结果。

传统的图像处理算法是基于软件的,理论上任何一种图像处理算法都可以在一个单独的处理器上实现,区别是越复杂的算法,需要消耗的时间越多,这对于追求效率的人类显然是不可接受的,所以越来越多的并行架构出现,比如空间并行和逻辑并行,对于这样的系统,软件的方案就不再是完美的了,软件适合高层的图像处理操作,比如与某些智能操作,而操作级的处理则需要另辟蹊径,FPGA的出现则提供了这样的一种途径。

1.3 数字图像处理的FPGA实现

FPGA(Field Programmable Gate Array ,现场可编程逻辑阵列)属于VLSI(Very Large Scale Integration, 超大规模集成电路)的一种[4],在和其他专用定制的ASIC不同,FPGA属于在设计成本和最终性能之间的一个平衡产物,它是一种包含可反复使用字段的小规模逻辑模块和元件的可编程器件。由于不需要考虑一次性工程成本,所以它的设计成本和上市成本要比传统ASIC低得多,但由于缺少了一些额外的IC后端流程,所以它的性能和功耗一般无法与专用ASIC相提并论,但即便是如此,对于以软件处理为主导的领域,它的性能仍然是一个巨大的优势,图像处理就是这样的一个领域。

剩余内容已隐藏,请支付后下载全文,论文总字数:44964字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;