fpga的机器视觉算法验证平台算法平台搭建

摘 要 本课题主要针对的是机器视觉算法平台的搭建,因为典型的机器视觉算法平台应该包括图像获取模块、图像数字化模块、算法处理模块等。该算法平台使用的FPGA硬件平台是Zynq-7000开发平台,以OV7670摄像头模块作为图像采集模块,采集的图像信息进入Zynq-7000平台,使用Xilinx公司的开发软件Vivado2014.4对Zynq-7000平台进行编码,从而实现内部模块调用,使图像信息经过数字化模块及算法模块等处理,最终通过HDMI输出到VGA显示器上显示输出。
目 录
第一章 绪论 1
1.1课题研究背景和意义 1
1.2机器视觉国内外发展情况 1
第二章 算法平台方案 2
2.1算法平台设计原理及系统结构 2
第三章 算法平台硬件设计 3
3.1 硬件系统框架设计 3
3.2 OV7670摄像头模块设计 3
3.3 FPGA开发平台(Zynq7000) 4
3.4 HDMI数据传输线 5
第四章 算法平台软件设计 6
4.1 算法软件设计原理 6
4.2 最小系统环境设计 6
4.3 摄像头的参数配置与控制 8
4.4 算法框架与实例编写设计 8
第五章 算法平台实现与测试结果 9
5.1算法平台测试与输出 9
结束语 10
致 谢 11
参考文献 12
附录A 最小系统环境连线图 13
第一章 绪论
1.1课题研究背景和意义
机器视觉是用机器代替人来进行测量和判断操作的,是正在快速发展的人工智能中的一个分支。其主要目标是为了提高工业生产中劳动力的利用率和生产设备的自动化程度。在一些恶劣的工作环境或者不适合人作业的情况下,经常使用机器视觉来代替人的视觉;此外在工业批量生产过程中,采取人的视觉来执行产品质量检查任务,这不仅效率低下而且精确度不高,所以采用机器视觉来检测产品的方法能够使工业生产的效率和生产设备的自动化程度得到大幅度的提高,大幅减轻用人压力和生产冗余。不仅如此,机器
 *好棒文|www.hbsrm.com +Q: ^351916072* 
视觉还能较为方便的实现信息的集成,是实现集成制造的基础技术之一。
机器视觉系统通过图像摄取设备获取图像信息,将目标信息转换为图像信号,传输给专用的图像信息处理系统,在处理系统中将处理信息转换为数字信号,图像系统再对这些信号进行处理来获取目标的特征信息,从而根据识别的结果来控制其他设备执行相应动作。因此,机器视觉技术引起广泛关注与发展。
图像处理技术是机器视觉系统中的重要组成部分,又称为数字图像处理。数字图像指用工业相机、摄像机、扫描仪等设备经过拍摄得到的一个大的二维数组,其中元素称为像素,值为灰度值。图像处理技术包括对图像进行压缩、增强、复原、匹配、识别等处理。图像处理技术是目前正在逐渐兴起的技术。
本课题针对机器视觉进行开发研究,意图开发出一个机器视觉算法平台,有利于国内机器视觉发展,有利于国内工业行业发展。
1.2机器视觉国内外发展情况
机器视觉的概念起源于20世纪60年代,最早用于机器人的研制。随着微处理器与半导体技术的飞速发展,以及对产品的要求逐渐变高,国外机器视觉在上世纪90年代进入高速发展时期,广泛运用于工业领域。
而国内起步较晚,通过上世纪八十年代的技术引进,主要运用在半导体制造行业。经过十几年的发展,我国已经成为机器视觉发展最广泛的地区之一,主要运用于工业产品的质量检测、分类、提高生产力等。国内机器视觉还处于高速发展时期,存在巨大的发展空间。
第二章 算法平台方案
2.1算法平台设计原理及系统结构
本课题所设计的算法平台可兼容多款摄像头如OV7670、MT9V034等,本设计中以OV7670摄像头为例做介绍。本算法平台的设计主要分为三部分,第一部分为设计OV7670摄像头模块转接电路,对开发平台(Zynq7000开发板)编写摄像头代码,实现对摄像头寄存器的读写,最终保证输出到显示器上;第二部分为搭建用于本设计的Zynq7000平台中的最小系统环境,以及在Vivado2014.4中搭建算法处理的框架结构;第三部分为编写图像处理的算法实例,本课题需提供三个实例:缩放、边缘检测和反色。系统结构图如图21。

图21 系统结构图
本次设计为团队设计,本人负责搭建Zynq最小系统环境,结合其他成员的工作,进行软硬件联调,完成设计的测试。
摄像头控制模块由成员黄强负责,他的主要职责为编写代码实现对OV7670摄像头控制,如曝光时间和增益的控制等,为后期处理获得高质量的图像信息。
团队成员杨振负责算法模块,包括搭建算法框架、对摄像头寄存器进行读写和编写缩放、反色和边缘检测。
第三章 算法平台硬件设计
3.1 硬件系统框架设计
本设计所需硬件有四种,分别为OV7670摄像头模块、Zynq7000开发平台、HDMI数据传输线和显示器。OV7670摄像头模块在本设计中起到图像采集模块的功能,Zynq7000开发平台是本设计中最为核心的一部分,平台需接收摄像头采集的图像信息并对其进行处理,最后将处理好的信号通过HDMI数据传输线传输到显示器上显示输出。算法平台的硬件结构流程图如图31。

图31 硬件结构流程图
3.2 OV7670摄像头模块设计
本设计的图像采集模块使用的是OV7670摄像头模块,该款摄像头模块体积小,工作电压低,能提供VGA显示和影像处理器所需的功能。OV7670模块显示如图32。

图32 OV7670模块
OV7670摄像头的感光阵列共有656×488个像素,其中有效像素有640×480个,像素输出格式为RGB5:6:5,因此该摄像头的数据是每两个上升沿触发时读取两个字节,即一个像素。故能支持VGA、GIF等各种尺寸的图片信息采集。
OV7670摄像头的控制也较为简单,它有标准的SCCB接口,同时还兼容了IIC接口,更易于使用FPGA对摄像头进行调试和读写。
由于该模块与Zynq7000开发平台的接口不对应,为此设计了一款转接电路,电路如图33。

图33 转接电路
3.3 FPGA开发平台(Zynq7000)
本设计使用的是Xilinx公司的Zynq7000开发平台。平台提供了许多的外设,如54个GPIO、2个SD/SDIO控制器、2个I2C控制器等。其中,Zynq平台结构在单个芯片内集成了双核ARM CortexA9多核处理器的处理系统,以及Xilinx的可编程逻辑。该平台的示意图如图34。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/1589.html

好棒文