基于FPGA的立体视觉匹配的高性能实现

合集下载

基于FPGA的立体视觉匹配的高性能实现

基于FPGA的立体视觉匹配的高性能实现

基于FPGA的立体视觉匹配的高性能实现丁菁汀;杜歆;周文晖;刘济林【期刊名称】《电子与信息学报》【年(卷),期】2011(033)003【摘要】立体视觉系统在3维场景信息感知中起着重要的作用.其中立体匹配算法的运算复杂度较高,实时处理需要硬件实现匹配运算.但在现有的不多实现中,性能要求和硬件资源的矛盾突出.随着分辨率的增加,对处理速度和视差搜索范围都有更高的要求.对此,该文提出了一种立体匹配硬件实现结构,通过并行化算法子模块和合理安排流水结构来提高性能.匹配算法引入了自适应相关窗口的匹配策略,提升了深度不连续区域的视差质量.该方法结合左右一致性校验准则,可有效去除大部分错误匹配结果.整个匹配流程在单片现场可编程门阵列(FPGA)上实现,并在有限硬件资源条件下将视差搜索范围扩大到128像素.系统时钟60 MHz时,对于512×512分辨率的立体图像,系统可以实现60帧/秒以上的处理速度.%Stereo vision system plays important role in three-dimensional information perception. Due to the high computational complexity, real-time processing of stereo vision needs to use dedicated hardware. However,performance requirements conflict with hardware resources in existing implementations. With the resolution increased, system requires larger disparity range and higher processing speed. In this paper, a stereo vision implementation is proposed using fine-grain pipelined structure and sub-module parallelism to improve performance. The implemented matching algorithm used adaptive correlation window strategy to raise disparity quality at objectborders and integrated left-right consistency check to reduce possible errors in general. The entire stereo matching process is realized using a single chip of Field Programmable Gate Array (FPGA) and extended disparity search range to 128 pixels under limited resources. The matching process is capable of generating disparities at more than 60 frames per second on 512×512 images when clocked at 60 MHz.【总页数】7页(P597-603)【作者】丁菁汀;杜歆;周文晖;刘济林【作者单位】浙江大学信息与通信工程研究所,杭州310027;浙江大学信息与通信工程研究所,杭州310027;杭州电子科技大学计算机学院,杭州310018;浙江大学信息与通信工程研究所,杭州310027【正文语种】中文【中图分类】TP391【相关文献】1.基于编码方法实现立体视觉中图像的点匹配 [J], 周晓刚;吕乃光;邓文怡;董明利2.基于FPGA的高性能卫星导航抗干扰处理器设计与实现 [J], 马忠志;张荣兵;刘红3.基于高性能 FPGA 的合并单元设计与实现 [J], 牟涛;任志航;樊占峰;赵应兵;郝威;王楠4.基于FPGA改进电路的高性能正则表达式匹配算法 [J], 卓艳男;刘强;姜磊;戴琼5.基于FPGA的高性能3DES算法实现 [J], 朱欣欣;李树国因版权原因,仅展示原文概要,查看原文内容请购买。

双目立体相机中实时匹配算法的FPGA实现

双目立体相机中实时匹配算法的FPGA实现

i t s i mp l e me n t a t i o n wi t h FPGA
S HAN J i e ,T ANG Y a o , J I ANG Hu i ( S c h o o l o f C o m m u n i c a t i o n a n d I n f o r m a t i o n E n g i n e e r i n g , X i ’ a n U n i v e r s i t y o f P o s t a n d T e l e c o mm u n i c a t i o n s , X i ’ a n 7 1 0 1 2 1 , C h i n a )
・图像 与信 号处 理 ・
双 目立 体 相 机 中实 时 匹配 算 法 的 F P G A实现
单 洁, 唐 壶 , 姜 晖
( 西安 邮电大学通信与信息T程学院 , 陕西 西安 7 1 0 1 2 1 )
摘 要 : 在 双 目立体 相机 中, 利用 图像 处理 计算 场景 深度 信息 是 一项关键 技 术。 通过研 究立体 视 觉 图像 匹配 原 理 , 提 出一 种基 于 F P G A 的立 体 图像 实 时 匹配 算 法 的实 现 方 法。该 算 法 以 C e n s u s 变换 为基 础借助 于像 素在 邻 域 中灰度 相对 值 的排 序 进 行相 似 度 比较 , 来 实现 区域 立体 匹配 ; 在 左右 一致 性 约束下 采用 多 窗 1 3相 关 匹配方 法 改善深度 不连 续 图像 的 匹配质 量 , 提高匹 配准 确度 。利 用 F P G A流水 线和 并行 处理 技术 实现 了双 目立体相 机 的实 时 图像 匹配 。结 果 表 明, 该 图像 匹配结 构具 有较 高 的吞 吐率 和 处理 速 度 , 可 以工 作 在 9 7 . 3 MH z频 率下 实现 1 0 2 4×

FPGA辅助的高精度、高速3D形状测量

FPGA辅助的高精度、高速3D形状测量

FPGA辅助的高精度、高速3D形状测量FPGA辅助的高精度、高速3D形状测量摘要为了实现三维(3D)形状测量,提高测量精度,提出了一种用于相位测量轮廓术(PMP)算法的高速高精度FPGA架构。

该系统使用12个正弦条纹来实现3D形状测量,并校正投影仪的反相以提高测量精度。

此外,采用坐标旋转数字计算机(CORDIC)算法实现反正切函数计算,不仅提高了计算速度,而且提高了相位计算精度。

该系统利用了FPGA的并行性和流水线处理的优越性能。

它还重新设计了模块,以大大提高三维重建的速度,如数据缓冲区、相位包裹、相位展开和点云。

实验结果表明,我们提出的方法比传统方法更快。

Introduction随着工业智能的发展,工业检测、质量控制、机器视觉、娱乐、医学成像等领域对高精度、实时3D测量的需求正在增加[1–4]。

然而,由于相位测量轮廓术(PMP)算法具有大量的计算数据和大量的存储器消耗,因此在普通PC上实现高速PMP算法非常困难。

为了解决这个问题,许多研究人员在相位提取、数据处理和重建方法方面取得了巨大进展。

例如,在相位提取方面,通过减少投影条纹的数量来提高测量速度,并使用改进的2+1相移算法来实现实时3D 形状测量[5]。

在数据处理方面,一种方法是使用CPU和GPU的混合架构,在640×480像素的分辨率下,它可以实现每秒45帧的速度,以获得三维重建图像[6]。

另一种方法基于嵌入式系统,例如使用FPGA+ARM架构来实现3D重建算法[7],或者实现整个相位测量轮廓-FPGA上的算法[8]。

在3D重建方法方面,使用了Kinect和FPGA相结合的深度采集方法[9]。

或者使用背景调制方法并结合几何约束,实现运动物体的三维地形测量[10]。

为了解决PMP高速数据处理问题,本文提出了一种用于相位测量轮廓算法的高速FPGA架构。

该体系结构基于全流水线并行原理,包括相位包裹、调制计算、相位解缠、逆相位误差补偿和相位高度映射等模块均在FPGA中实现。

基于FPGA的实时SGM匹配算法研究与实现

基于FPGA的实时SGM匹配算法研究与实现

基于FPGA的实时SGM匹配算法研究与实现冯彬彬;蒋新华;林俊杰;聂明星【摘要】Traditional Semi Global Matching algorithm is not suitable for running on real-time embedded platform because of its complex structure, and high demand for hardware resources. Thus, this paper puts forward the Real-Time SGM algo-rithm based on FPGA embedded platform. Real-Time SGM selects three directions as the optimization direction to reduce the demand for hardware resources. Then, the algorithm can run in the condition of Pipeline by designing a new structure, and improve the operation speed. Moreover, it puts forward a new kind of median filter algorithm to optimize the results. Finally, simulation is done on the PFGA platform. Experimental results show that compared with the original algorithm, the new algorithm has lower resource requirements, and has a large increase in the speed of the algorithm, which is suit-able for running in low power consumption embedded system.%传统SGM算法,运算复杂度高,硬件资源需求量大,难以应用到实时嵌入式系统中.为此提出一种基于FPGA嵌入式平台的实时SGM(Real-Time SGM,RT-SGM)算法.RT-SGM选取三个方向作为匹配算法的优化方向;设计新的算法的结构,使该算法能运行在Pipeline状态下;提出一种新型中值滤波算法对结果进行优化.在FPGA硬件平台上完成实验.实验结果表明,RT-SGM运行速度相比于传统SGM算法提高了30%,而在资源需求上只有传统SGM算法的一半,同时其精度与传统SGM算法相当,适合应用到实时嵌入式系统中.【期刊名称】《计算机工程与应用》【年(卷),期】2017(053)022【总页数】6页(P163-168)【关键词】现场可编程门阵列(FPGA);立体匹配;实时SGM算法;Pipeline状态;新型中值滤波【作者】冯彬彬;蒋新华;林俊杰;聂明星【作者单位】福州大学电气工程与自动化学院,福州 350000;福州大学电气工程与自动化学院,福州 350000;福建省数字化装备重点实验室(福建工程学院),福州350000;福建省数字化装备重点实验室(福建工程学院),福州 350000;福建省数字化装备重点实验室(福建工程学院),福州 350000【正文语种】中文【中图分类】TP391.41立体匹配算法一直是计算机立体视觉领域研究的热点和难点之一[1],立体匹配的速度和精度直接影响着立体视觉技术的应用[2]。

光度立体算法和立体匹配算法fpga实现

光度立体算法和立体匹配算法fpga实现

光度立体算法和立体匹配算法fpga实现光度立体算法是一种常用的立体视觉算法,用于从多个图像中获取三维点云。

该算法利用图像中的亮度信息进行立体深度估计,通过比较左右两个图像中对应像素点的亮度差异来计算深度。

光度立体算法的核心思想是,对于同一物体的两个像素点,其亮度差异与像素点之间的距离成正比。

立体匹配算法是光度立体算法的关键步骤,它用于寻找左右两个图像中对应像素点之间的对应关系。

立体匹配算法的目标是在左图像中找到与右图像中的某个像素点最匹配的像素点。

在FPGA上实现光度立体算法和立体匹配算法可以提供高性能的立体视觉处理能力。

FPGA是一种可编程逻辑器件,具有并行计算和灵活性的优势,非常适合用于实现复杂的算法和处理任务。

在FPGA实现光度立体算法时,可以使用硬件描述语言(HDL)编写硬件逻辑来实现光度差异的计算和深度估计。

通过将算法的每个步骤转化为硬件电路,可以实现高速的并行计算。

同时,FPGA的可编程性使得算法的参数和设置可以根据实际应用进行灵活调整和优化。

在FPGA实现立体匹配算法时,可以使用硬件加速器来加速匹配过程。

立体匹配算法通常需要进行大量的计算和比较操作,使用FPGA可以实现高效的并行处理,极大地提高了算法的运行速度。

同时,通过对算法的优化和硬件设计的精确控制,可以减小算法的存储需求,提高系统的资源利用率。

除了性能优势,FPGA还具有低功耗和灵活性的特点。

由于立体视觉算法通常需要处理大量的数据和复杂的计算,使用FPGA可以在保证高性能的同时,降低功耗消耗。

同时,FPGA的可编程性使得算法可以根据实际需求进行灵活调整和优化,适应不同的应用场景。

光度立体算法和立体匹配算法在FPGA上的实现可以提供高性能的立体视觉处理能力。

通过充分利用FPGA的并行计算和灵活性,可以实现快速且准确的立体深度估计和匹配,为立体视觉应用提供了一种高效的解决方案。

同时,FPGA的低功耗和可编程性使得算法可以适应不同的应用需求,具有广泛的应用前景。

基于FPGA的裸眼3D图像显示系统的设计与实现

基于FPGA的裸眼3D图像显示系统的设计与实现

基于FPGA的裸眼3D图像显示系统的设计与实现何磊;梁发云;杨金远;刘星【摘要】裸眼3D技术是无需佩戴任何助视设备即可观看到立体影像的新型光电显示技术.针对裸眼3D像素重配关键技术的研究,设计一种基于FPGA的裸眼3D 图像显示系统,根据裸眼3D亚屏幕分区特点,使用硬件描述语言设计从SD卡中读取左右格式立体对图像数据、像素重配及裸眼3D LCD显示驱动等逻辑代码,完成左、右眼视图数据分割,并在裸眼3D LCD亚屏幕上进行像素重配.系统调试运行结果表明3D图像数据亚屏幕重配的硬件逻辑算法是正确的.【期刊名称】《电子器件》【年(卷),期】2018(041)005【总页数】5页(P1226-1230)【关键词】裸眼3D技术;像素重配;FPGA;视图分离【作者】何磊;梁发云;杨金远;刘星【作者单位】南昌大学裸眼立体显示技术与虚拟现实研究中心,南昌330031;南昌兴亚光电科技发展有限公司,南昌330031;南昌大学裸眼立体显示技术与虚拟现实研究中心,南昌330031;南昌兴亚光电科技发展有限公司,南昌330031;南昌大学裸眼立体显示技术与虚拟现实研究中心,南昌330031;南昌兴亚光电科技发展有限公司,南昌330031;南昌大学裸眼立体显示技术与虚拟现实研究中心,南昌330031;南昌兴亚光电科技发展有限公司,南昌330031【正文语种】中文【中图分类】TP274裸眼3D显示技术可使观看者摆脱3D眼镜等的束缚,符合人们对3D显示技术的最终要求,是虚拟现实和增强现实技术的关键图像显示技术,已在视频及图像显示领域获得重要应用,具有广阔的市场前景[1-6]。

继裸眼3D光学机理和效果评定等关键瓶颈问题得到解决后,需进一步研究3D视频图像的逻辑处理方法。

与二维显示技术不同,裸眼3D显示技术需要特别的视频图像数据处理方法。

裸眼3D显示的像素重配是产业化应用的关键技术,本课题组研究了基于FPGA的裸眼3D视频图像显示系统,进一步探讨3D视频图像的硬件逻辑算法。

双目立体相机中实时匹配算法的FPGA实现

双目立体相机中实时匹配算法的FPGA实现

双目立体相机中实时匹配算法的FPGA实现单洁;唐垚;姜晖【摘要】在双目立体相机中,利用图像处理计算场景深度信息是一项关键技术.通过研究立体视觉图像匹配原理,提出一种基于FPGA的立体图像实时匹配算法的实现方法.该算法以Census变换为基础借助于像素在邻域中灰度相对值的排序进行相似度比较,来实现区域立体匹配;在左右一致性约束下采用多窗口相关匹配方法改善深度不连续图像的匹配质量,提高匹配准确度.利用FPGA流水线和并行处理技术实现了双目立体相机的实时图像匹配.结果表明,该图像匹配结构具有较高的吞吐率和处理速度,可以工作在97.3MHz频率下实现1024×1024灰度图像30f/s的实时处理.【期刊名称】《激光与红外》【年(卷),期】2013(043)012【总页数】5页(P1406-1410)【关键词】双目立体相机;实时图像匹配;多窗口相关匹配;FPGA【作者】单洁;唐垚;姜晖【作者单位】西安邮电大学通信与信息工程学院,陕西西安710121;西安邮电大学通信与信息工程学院,陕西西安710121;西安邮电大学通信与信息工程学院,陕西西安710121【正文语种】中文【中图分类】TP391.41;TN911.731 引言随着机器视觉的发展,立体视觉系统得到越来越广泛的应用[1-2]。

双目立体相机采用两台相机,模拟人眼成像原理,先通过寻找两个相机中图像对应点的光学,得到各个点处的视差,再根据视差信息和相机的投影模型恢复出原始景物的深度信息。

所以,在通过立体相机计算场景信息的深度过程中,图像获取、相机标定、图像匹配和三维重建成为了关键技术。

根据匹配基元的不同,图像匹配可分为区域匹配[1-2]、特征匹配[1]和相位匹配[2-4]。

其中,区域匹配以区域相似度为匹配基元,基本原理是在基准图上选取一个模板窗口,在配准图上选取同样大小的一组窗口,再将这些窗口与基准图中的模板窗口进行相似度比较,找出与模板窗口最相似的窗口,那么该窗口的中心点就是模板窗口中心点的匹配点,两点的横坐标差即为视差[1]。

双目立体匹配算法的FPGA实现

双目立体匹配算法的FPGA实现

双目立体匹配算法的FPGA实现韩剑辉,吴振,李兰英【摘要】针对区域匹配算法在灰度变化比较大区域精度不高的问题,提出一种改进的匹配算法.利用Sobel算子计算各像素点的梯度值,根据梯度幅度直方图获得自适应阈值,动态建立支持窗口.改进传统的Census变换,用窗口内所有像素均值代替中心像素进行Census变换,在左右图像中寻找最佳匹配点获得视差图.利用FPGA并行处理和硬件实现的优点, 对大数据量实时地进行处理,提高运算效率.实验结果表明:改进的立体匹配算法和硬件结构能够获得精度较高的视差图,处理640×480的图像对只需32.4 ms.【期刊名称】哈尔滨理工大学学报【年(卷),期】2016(021)004【总页数】5【关键词】立体匹配;Sobel算子;自适应阈值;Census变换;现场可编程门阵列HAN Jian-hui, WU Zhen, LI Lan-ying(School of Computer Science and Technology, Harbin University of Science and Technology, Harbin 150080, China)0 引言双目立体视觉是计算机视觉技术研究领域的热点问题,立体匹配是实现立体视觉的重要环节,匹配结果的精度则是制约立体视觉技术发展的瓶颈.立体匹配的算法大致可以分为全局匹配算法和局部匹配算法,其中区域匹配算法由于能够直接获取视差信息,算法复杂度也相对较低[1-2],因而广泛地应用在实时立体视觉系统的设计中.区域匹配算法的性能很大程度上依赖匹配窗口的建立和相似性测度函数的选择.文[3]根据分割区域动态选择窗口的形状和大小的方法得到了较好效果,但对于复杂纹理图像,无法做到较精确的色彩分割.Yoon 和Kweon[5-6]利用像素间光度学和几何学关系调配窗口中像素的权值,本质上类似于分割的思想,但却回避了分割难题.此方法不依赖初始视差估计,同时在深度不连续和连续区域得到精确匹配,但其高时间计算复杂度问题有待解决.常用的相似性测度函数有像素灰度差的绝对值和(sum of absolute differences, SAD) 、及像素灰度差的平方和(sum of squared differences , SSD)、以及非参数化方法的Rank变换和Census变换[7-10].SSD、SDA算法容易受光照不均及遮挡问题的影响导致匹配误差增大,Rank变换的思想类似滤波器,通过待匹配点与特征窗内各点灰度差,定义灰度等级[11].Zabih[12]把等级变换算法推广到Census变换,通过编码像素间的等级信息保留其空间分布,用加权平均编码信息匹配图像.由于这种方法依据灰度排序方式,提高了算法的鲁棒性,但同时增加了窗口图像信息的维度,计算更加复杂[13-15].虽然上述算法已经能够极大改善区域匹配的性能,但是对于存在灰度变化比较大区域的图像会出现视差图过渡平滑的现象,而且算法复杂度都比较高,难以满足立体视觉系统高速、实时的要求.本文结合边缘检测,利用Sobel梯度算子、梯度幅度直方图和Census变换改进基于传统Census变换的区域匹配算法,并且借助现场可编程门阵列(field programmable gate arrays,FPGA)开发专用的硬件并行处理系统实现该算法.1 算法描述1.1 梯度幅值计算Sobel是一阶导数边缘检测算子,是一种有效的梯度计算方法,具体方法是通过3×3模板作为核与图像中的每个像素点做卷积和运算[11,17].利用Sobel算子计算图像中一点的梯度幅值,需要以该像素点为中心建立一个3×3的窗口,然后将窗口内所有像素分别与两个核做卷积获得水平分量Gx和垂直分量Gy如式(1)~(4).(1)Gx=-P1+P3-2P4+2P5-P6+P8(2)(3)Gy=P1+2P2+P3-P6-2P7-P8(4)通过两个分量就可以计算像素点的梯度幅值,即(5)1.2 自适应匹配窗口匹配窗口尺寸的选取对于立体匹配至关重要,窗口太小,包括的图像信息过少,不足以表达出区域的特征,导致误匹配;窗口太大,则违背了匹配窗口内的像素的视差值是一致的假设,无法区分场景中物体和其背景,同时匹配速度也降低[18-19].在实际匹配中,匹配窗口的大小需要随着图像像素灰度的变化而改变,以提高匹配的精度.一般在像素灰度变化比较大的区域,对应的像素梯度值变化也比较剧烈,视差变化也不连续,匹配窗口大小应该设置得比较小;而对于梯度值较小的区域,往往是低纹理区域,此处匹配窗口应该设置得比较大.因此需要动态调节匹配窗口的大小,本文采用双阈值确定匹配窗口的大小:选定两个梯度幅值阈值,一个较高Gh,另一个较低Gl;设定匹配窗口的尺寸标准分别为D1、D2、D3(D1>D2>D3);当梯度幅值G(x,y)>Gl时,匹配窗口的大小为D1×D1;当梯度幅值G(x,y)<Gh时,匹配窗口的大小为D3×D3;其他情况时,匹配窗口大小为D2×D2.分析梯度直方图得出阈值的计算方法,自适应地动态生成阈值,克服人为设定阈值的不足.根据梯度直方图可知,阈值的选择问题实际上即为在梯度幅值直方图中找出灰度变化平稳的区域的尖峰与第一个灰度变化较大区域的尖峰之间的平滑区域,阈值可以选取为此区域内任意一像素的梯度幅值.为了找到这段区域,对梯度幅值的相邻两点作差分,即dif(i)=|NMS(i+1)-NMS(i)|,i=1,2,…(6)NMS(i)为经过非极大值抑制后的梯度幅值直方图.匹配窗口大小的高、低阈值设置如公式(7)所示,即(7)表示第一个满足dif(i)=0的像素点i的梯度幅值.1.3 改进的Census变换Census变换属于非参数相似测度因子,基本思想是用一个矩形窗口遍历图像,把窗口内中心像素的灰度值作为参考值,将窗口内其余像素依次与参考值比较,灰度值小于参考值的像素点记为1,大于或等于参考值的像素点记为0,然后按位连接输出一串二进制代码[16,20].(8)式中:W(p)为以像素点P为中心的匹配窗口;I(p)为像素点P的灰度值.I(p)为W(p)内除像素点P以外任意一点的灰度值;⊗表示按位连接,矩形窗口W(p)的尺寸是根据中心像素点的梯度幅值和梯度阈值比较之后确定的.函数ξ(x,y)定义为(9)但是传统的Census变换过于依赖中心像素,当图像受到干扰,中心像素发生畸变,就会增大误匹配的几率.本文用矩形窗口内所有像素值的平均值替代中心像素值,仍然按照式(8)、(9)进行变换,这样增强了Census变换的抗干扰能力.将两幅图像的匹配窗口中的所有像素进行改进的Census变换得到两串01代码,利用Hamming距离公式计算两比特串之间的差异,Hamming距离越小则说明两点的匹配代价越小,两个像素点越相似[21].匹配代价计算如下:(10)式中:(x,y)表示像素点的坐标值;W表示以点(x,y)为心中的邻域;Ir(x,y)表示在左图中像素点(x,y)的灰度值;Ir表示右图像素的灰度值;XOR表示异或运算;d表示视差.2 算法描述FPGA完成图像数据的存取、梯度计算、自适应阈值的计算和立体匹配.算法模块的RTL视图如图1所示.2.1 缓存窗口设计使用QuartusⅡ软件中基于RAM的移位寄存器宏模块altshift_taps来实现缓存窗口的设计,宏模块altshift_taps是一个可配置的、具有抽头(Taps)输出的移位寄存器,每个抽头在移位寄存器链的指定位置输出数据.例如,对于256×256的图像,altshift_taps模块参数设置为8bit输入、8bit输出、3抽头,相邻的两个抽头相距256个寄存器,如图2所示,其中相邻两个抽头间的距离是根据图像大小来设定的.在工程实际中,3×3的窗口是经常用到的.Shift_RAM中存储2行数据,同时输入数据组成3行阵列,接着输入row3_data数据.机构Shift_RAM移位存储后就可以得到3×3的窗口数据阵列.移位寄存器仿真波形如图3所示.2.2 Sobel梯度算子Sobel梯度算子的硬件实现可以分为图像数据缓存模块和梯度结合模块.其中,图像数据缓存模块采用移位寄存器(shift register)实现,梯度结合模块采用可编程宏模块和Verilog HDL语言相结合的方法实现.根据卷积运算公式,可以使用QuartusⅡ软件中的可编程加法器altmult_add 模块以及可编程多路并行加法器parallel_add模块来实现卷积运算.将运算得到的垂直方向和水平方向的梯度值求平方和,利用QuartusⅡ中的宏模块ALTSQRT求解的平方根.Sobel梯度算子的仿真波形如图4所示.2.3 自适应阈值自适应阈值的选择是基于梯度直方图进行的,因此首先需要对经过非极大值抑制后的图像进行直方图统计.自适应阈值的产生电路如图5所示.这些寄存器用于存储不同梯度值像素点的个数,梯度值作为寄存器组的地址.在每幅图像开始时,对这些寄存器清零,梯度值输入后,通过地址选择器,相应地址的寄存器的内容被取出来送入累加器1,加1后再写入该寄存器,直到整幅图像的所有像素点统计完毕.在时钟保持有效期内,每个时钟到来累加器2的内容自加1,累加的结果作为寄存器组的地址,相应地址寄存器的内容以及下一个地址寄存器的内容分别送入寄存器1和寄存器2,对寄存器1和寄存器2的内容按式(6)进行差分,比较器比较差分的结果是否为0,若为0则发出停止累加信号,停止累加器2的累加,此时累加器2的值即为高阈值Gh,Gh右移一位(即除以2)得到低阈值Gl.2.4 立体匹配为了提高系统的实时性,Census模块的设计采用了以资源换取时间的并行优化方法.例如,对于7×7的局部变换窗口,Census变换模块如图6所示.将移位寄存器组扩展为8行,每一列读入8个像素数据,在窗口水平移动中,每隔8个时钟周期对Census变换窗口的数据更新一次.当Census变换窗口移至每行末尾时,便获得了相邻两行像素的Census局部变换.从资源方面分析,并行后比较器的数量增加了1倍,但移位寄存器的数量只增加了1/7,优化结果却使Census 局部变换的速度提高了近1倍,运算频率由1/7(像素/周期)提高到1/5(像素/周期).3 实验结果与分析为了验证本文算法的有效性,将实验结果上传到Middlebury网站平台进行评估.本文算法的支持窗口分别设置为D1=7、D2=5、D3=3.为了分析匹配精度,选择Middlebury网站上一些相近的算法进行比较.匹配精度比较结果如表1所示.通过比较,ADCensus算法能够达到很低的误点率,但算法较为复杂.本文算法与SSD+ASW、Census+ASW算法相比误匹配率要低.对比而言本文提出的算法综合考虑了算法匹配精度与实时性,达到了较好的效果.另外,在PC和FPGA上实现本文算法,计算两者处理同一帧640×480像素图像所用时间,比较结果如表2所示.选择Middlebury平台中的Teddy图像作为参考图像,比较SSD+ASW、Census+ASW和本文算法的匹配结果.由图7(b)可以看出本文算法得到的视差图较Census+ASW和SSD+ASW算法更为清晰,能够比较准确地反应图像的深度信息.4 结论本文提出了一种基于Sobel梯度算子和改进的Census变换相结合的立体匹配算法,并借助FPGA硬件实现该算法,经过试验表明此算法的匹配效果好于传统Census变换的算法,所获得视差图比较稠密,而且有效提高了算法的实时性.但是,在遮挡情况下,视差边缘不准确,在后续的研究中将对这一方面进行完善.参考文献:[1] 白明,庄严.双目立体匹配算法的研究与发展[J].控制与决策,2008,23(7):721-729.[2] WANG L , KANG S B, SHUM H Y. Cooperative Segmentation and Stereo Using Perspective Space Search[C]∥Proc of Asian Conf on Computer Vision.Jeju Island, 2004: 366-371.[3] YOON K J, KWEON I S. Locally Adaptive Support-weight Approach for Visual Correspondence Search[C]∥Proc of IEEE Conf on Computer Vision and Pattern Recognition.San Diego, 2005: 924-931.[4] WU T P, YEUNG S K, JIA J, et al.Quasi-dense 3D Reconstruction Using Tensor-based Multiview Stereo[C]∥Proceedings of the Conference on Computer Vision and Pattern Recognition,San Francisco,CA,2010:1482-1489.[5] 刘俸材,谢明红,颜国霖.双目立体视觉系统的精度分析[J].计算机工程,2011,37(10):280-285.[6] 赖小波,朱世强.基于互相关的非参数变换立体匹配算法[J].浙江大学学报,2011,45(9):1636-1642.[7] VELLANKI,PRATIBHA.Enhanced Stereo Matching Technique Using Image Gradient for Improved Search Time[J].International Journal of Computer Science Issues,2011,8(5):483-486.[8] 卢思军,唐振民.一种新的非参数变换定义及立体匹配方法[J].计算机科学,2009,36(2):190-193.[9] SCHARSTEIN D,SZELISKI R,ZABIH R. A Taxonomy and Evaluation of Dense Two Frame Stereo Correspondence Algorithms[C]∥Proc of IEEE Workshop on Stereo and Multi-Baseline Vision,2001: 131-140.[10]雷磊,郑江滨,宋雪梅.基于改进Census变换的立体匹配算法[J].计算机应用研究,2013,30(10):3185-3188.[11]张小琳,景越峰,刘军.高能闪光照相中Sobel算子的边缘检测方法[J].强激光与粒子束,2009,21(11):1729-1734.[12]徐彦泓,朱云芳.非参数化立体匹配算法[J].浙江大学学报,2009,43(2):250-254.[13]郭海涛,王连玉.利用二维属性直方图的Otsu自动阈值分割方法[J].光电子激光,2005,16(6):739-742.[14]吴方,王沛.基于颜色变化信息的局部立体匹配算法[J].电视技术,2013,37(23):6-9.[15]龚文彪,顾国华.基于颜色内相关和自适应支撑权重的立体匹配算法[J].中国激光,2014,41(8):23-27.[16]孙明敏,楼斌.Census立体匹配算法的硬件实现[J].杭州电子科技大学学报,2013(2):51-55.[17]侯作勋,朱睿.加权支持域硬件友好型立体匹配技术[J].光学精密工程,2014(1):2861-2868.[18]化春键,方程俊,陈莹.基于改进的Census变换的自由曲面立体匹配方法[J].计算机与现代化,2015,7(12):43-47.[19]何欣荣,张刚,董建园.基于图像分割的改进立体匹配算法[J].微电子学与计算机,2014,23(12):61-66.[20]施建盛,梁发云,何辉.双CMOS仿生3D视觉传感器电路设计[J].电视技术,2014,38(23):48-51.[21]王昭娜,赵西安,燕青浩.一种基于置信传播的全局立体匹配算法[J].北京建筑大学学报,2015,31(4):58-63.基金项目:黑龙江省教育厅科学技术研究项目(12531107).吴振(1988—),男,硕士研究生,E-mail:wuzhen_1988@;李兰英(1964—),女,硕士,教授.【文献来源】https:///academic-journal-cn_journal-harbin-university-science-technology_thesis/0201249560522.html。

《双目立体视觉三维重建的立体匹配算法研究》

《双目立体视觉三维重建的立体匹配算法研究》

《双目立体视觉三维重建的立体匹配算法研究》一、引言随着人工智能技术的不断发展和进步,双目立体视觉技术已经成为计算机视觉领域的重要研究方向之一。

其中,立体匹配算法作为双目立体视觉三维重建的核心技术,其准确性和效率直接影响到三维重建的效果。

本文旨在研究双目立体视觉三维重建中的立体匹配算法,以期提高三维重建的准确性和效率。

二、背景及意义双目立体视觉技术是通过模拟人类双眼的视觉系统,利用两个相机从不同角度获取同一场景的图像信息,进而通过立体匹配算法恢复出场景的三维信息。

立体匹配算法是双目立体视觉技术的核心,其目的是在两个相机获取的图像中寻找对应的像素点,从而得到视差图,进而实现三维重建。

因此,研究立体匹配算法对于提高双目立体视觉技术的准确性和效率具有重要意义。

三、立体匹配算法研究现状目前,立体匹配算法已经成为计算机视觉领域的热点研究方向。

常见的立体匹配算法包括基于区域的匹配算法、基于特征的匹配算法、基于相位的匹配算法等。

这些算法在不同的应用场景中各有优缺点。

近年来,随着深度学习的快速发展,基于深度学习的立体匹配算法成为研究热点。

这些算法通过训练深度神经网络来学习图像之间的对应关系,从而提高了匹配的准确性和鲁棒性。

四、本文研究的立体匹配算法本文研究的立体匹配算法是一种基于区域和特征的混合匹配算法。

该算法首先提取图像中的特征信息,如边缘、角点等,然后在特征匹配的基础上,结合基于区域的匹配算法进行像素级匹配。

具体而言,该算法包括以下步骤:1. 特征提取:利用特征检测算法提取图像中的特征点。

2. 特征匹配:通过计算特征点之间的相似性,找到两个图像中对应的特征点。

3. 基于区域的匹配:在特征匹配的基础上,利用基于区域的匹配算法对像素级进行匹配,得到视差图。

4. 优化与后处理:对得到的视差图进行优化和后处理,以提高三维重建的准确性和效果。

五、实验与分析为了验证本文研究的立体匹配算法的有效性,我们进行了大量实验。

实验数据集包括公开的立体视觉数据集以及实际拍摄的场景图像。

基于FPGA的立体视觉系统设计

基于FPGA的立体视觉系统设计
关 键 词 :机 器视 觉 ;立 体 视 觉 ;F P GA;Ni o sI I
中图分类号 : T P 3 0 2
文献标识码 : A
文 章编 号 :1 6 7 4 — 6 2 3 6 ( 2 0 1 3 ) 1 6 — 0 1 7 1 - 0 3
De s i g n o f a 3 D o pt i c a l s y s t e m ba s e d o n FPGA
1 立 体 视 觉原 理
双 目视 差 是 指 同一 景 物 点 在 两 眼 视 网 膜 上 的 像 点 的 位
置差1 3 ] 。 反 映 了客 观 景 物 的 深 度 。 如 图 1所 示 。人 能 有 深 度 感 知, 就是 因为 这个视差 经过大 脑加 工而形成 的H 。 根 据 此 原 理 ,先 用 多 个 摄 像 机 从 不 同 位 置 获 得 同一 景 物 的 图 像 对 , 匹 配 相 应 的像 点 , 计算出视差 , 然 后 恢 复 出 景 物 的 深 度 信 息[ 5 1 。
o b j e c t a n d t o d e t e r mi n e i t s c o o r d i n a t e s i n t h e s p a c e . T h e e r a r e hr t e e u n i t s i n t h i s p a p e r h a r d w a r e d e s i g n o f t h e 3 D o p t i c a l
F U Yo u - t a o ,KONG F a n - p e n g ,S UN J i e
( O c e a n U n w e  ̄ i t y o fC h i n a , Q i n g d a o 2 6 6 1 0 0 , C h i n a )

基于FPGA的机器视觉设计

基于FPGA的机器视觉设计

基于FPGA的机器视觉设计摘要:为实现系统快速更新,在此设计了一种新的机器视频解决方案,借助fpga技术,实现视频输入端口与gige vision ip的使用以及系统与计算机主机的连接。

设计方案中采用了新的gige vision标准及gige vision ip核,使系统相比其他现有相关标准更简单、速度更快,是未来的发展方向。

关键词:机器视觉; 视频; fpga; gige vision引言机器视觉就是用机器代替人眼来做测量和判断。

机器视觉作为人类视觉与大脑的延伸,是衡量现代工业自动化程度的标志之一。

近年来,随着计算机技术尤其是多媒体技术和数字图像处理及分析理论的成熟,以及大规模集成电路的迅速发展,机器视觉技术得到了广泛的应用研究,取得了巨大的经济与社会效益。

机器视觉系统主要由3部分组成:图像的获取、图像的处理和分析、输出或显示。

本文介绍了基于fpga的一种机器视觉系统,该系统采用gige vision 摄像机来获取图像,在fpga中采用了gige vision ip核,根据tcp/ip传送协议实现了fpga与pc机的数据通讯。

1fpga实现机器视觉的优势随着机器视觉系统应用中分辨率的提高和压缩算法的进步,对系统性能和构架灵活性提出了更高的要求,以实现系统的快速更新。

可选择的系统构架包括标准单元asic,assp以及各种可编程解决方案,如数字信号处理器(dsp)或媒体处理器和fpga。

每种构架都具有各自的优缺点,最终选择取决于终端设备要求和解决方案的可用性。

理想构架应具有以下特点:高性能、灵活性、易升级性、低开发成本以及具有随着应用成熟和产量增加向更低成本迁移的能力。

fpga具有并行运算、反复使用、大量可使用的软核的优势,是实现机器视觉理想构架的合理选择。

fpga是小批量系统提高集成度、可靠性的最佳选择之一。

随着vlsi工艺的不断提高,单一芯片内部已可以容纳上百万个晶体管,这使得fpga芯片所能实现的功能也越来越强,同时也可以实现系统集成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

598
电子与信息学报
第 33 卷
辨率图像的实时处理,但其实现结构需要耗费大小
与视差范围成正比的片内存储空间,限制了视差搜 索范围的扩展。
本文在单片 FPGA 上设计并实现了一种基于 Census 变换的改进立体匹配算法。与之前提出的设 计方案相比,当前算法实现的主要优点是:首先, 在具体硬件实现算法中结合了自适应匹配窗口策略 和左右一致性约束等相应改进。其次,在硬件实现 中通过并行化算法子模块和合理安排流水结构,实 现了对高分辨率图像更大视差搜索范围的实时处
stereo matching process is realized using a single chip of Field Programmable Gate Array (FPGA) and extended
disparity search range to 128 pixels under limited resources. The matching process is capable of generating
disparities at more than 60 frames per second on 512×512 images when clocked at 60 MHz.
Key words: Image processing; Stereo vision; Real-time; FPGA; Adaptive correlation window
performance. The implemented matching algorithm used adaptive correlation window strategy to raise disparity
quality at object borders and integrated left-right consistency check to reduce possible errors in general. The entire

(College of Computer, Hangzhou Dianzi University, Hangzhou 310018, China)
Abstract: Stereo vision system plays important role in three-dimensional information perception. Due to the high
本文采用了文献[9]提出的自适应变换相关窗口的匹 配方法。
图 1 示意了自适应相关窗口结构与匹配过程。 算法中的相关窗口共由 9 个子窗口组成,作为代价 值累积的候选区域。图中圆形与梯形区域分别对应 不同深度值的景物在图像中的投影。如图所示,当 横跨深度不连续区域时,相关过程会存在歧义性。 此时相关窗口将自适应进行子窗口选取。最终的累 积代价C 为中心子窗口代价值Cmid 与其余 4 个最小 的子窗口代价值Csub_i 的累加和。
3 算法硬件实现
图 2 为算法硬件实现的整体流程框图。整个流 程可大致分为非参数化变换、自适应相关匹配两个 主要的阶段。在实现中采用了并行展开的流水结构, 通过缓存空间特定的读写操作,构建多个并行 Census 变换和自适应匹配模块来提升处理速率。同 时系统降低了单个视差模块的硬件资源消耗,扩展 有限资源下的视差搜索范围。 3.1 缓存空间数据读写
Ding Jing-ting① Du Xin① Zhou Wen-hui② Liu Ji-lin①

(Department of Information Science and Electronic Engineering, Zhejiang University, Hangzhou 310027, China)
中图分类号:TP391
文献标识码: A
文章编号:1009-5896(2011)03-0597-07
DOI: 10.3724/SP.J.1146.2010.00943
High Performance Implementation of Stereo
Vision Matching Based on FPGA
图像进行非参数化变换(Census 或 Rank),提取包含
局部纹理信息的描述符。
Census 变换如式1。首先以某一像素为中心构
建一个变换窗口 N,函数 ξ 对中心像素的灰度值
I(m,n) 与窗口内其余像素的灰度值 I(x,y) 进行比
较。
ξ [I (m,n), I(x,y)] = ⎧⎪⎪⎨⎪⎪⎪⎩10,,
理。
2 基于相关的立体匹配算法
基于相关的立体匹配方法是一种快速、致密的 局部匹配方法。相关匹配的基本假设是匹配窗口内
的像素具有相同的深度值。一个典型的算法流程可
分为以下几步:(1)计算匹配代价;(2)匹配代价在相
关窗口内进行累积;(3)视差搜索和校验。
2.1 非参数化方法
非参数化方法是由文献[8]提出的,其思想是对
自适应相关匹配过程在算法中处于核心地位。 在相关过程中,需要单独计算不同视差条件下匹配 窗口累计代价值。文献[7]在 Hamming 模块后对不 同视差下的匹配代价分别行缓存,以进行窗口累计。 此结构的优点是可以同时得到不同视差下的匹配代 价,具有很高的计算效率。但缺点在于所需的缓存 模块数量与视差搜索范围相同。综合结果显示即使 采用当前较大片内存储空间的 FPGA 芯片也仅能满 足 64 像素的搜索范围。为了在有限资源消耗下实现 更大视差搜索范围,本文实现结构在 Hamming 模 块之前构建 Census 编码缓存模块进行全局行缓存。 编码缓存输出时通过移位寄存器实现左右视图不同 视差编码之间的对应匹配。图 5 描述了不同视差下 的匹配代价值累计电路结构,图中 D 模块为采用移
Census 变换与匹配代价值累计本质上都是基于 窗口的运算。假设操作窗口的高度为 h ,宽度为 w 。 为了实现流水的节拍操作,需要对 h 行的输入数据 进行缓存。缓存完成后,存储的数据按列方向输出 到后续模块的寄存器组。当 w 列数据输出后初始数 据窗口构建完毕,此时通过寄存器间数值比较或累
第3期
之无法完成系统的后续任务;而 GPU 所带来的高 功耗问题也限制了其应用场合。因而,更具实用性 的实时实现方法是通过硬件电路构建匹配模块。
其中开创性的工作是构建在PARTS上的立体 视觉系统[4],整个硬件平台由4×4网格互联的FPGA 组所构成。后续,文献[5]和文献[6]提出了在FPGA 上基于SAD匹配准则的算法实现。与像素差绝对值 和(SAD)及像素差平方和(SSD)等度量因子相比,
丁菁汀等:基于 FPGA 的立体视觉匹配的高性能实现
599
图 2 匹配算法流程图
加就可获得相应的 Census 编码或匹配代价值。 数据窗口在水平移动过程中使用移位寄存器可
以避免窗口数据的重复读取,但是在下移过程中每 个数据对应窗口中的不同行会被重复读取 h 次。耗 费过多内存读取周期将限制系统的处理速率。为此, 文本采用了典型的并行展开思想,见图 3。在窗口 水平滑动过程中,每列读取 h + 2 个数据来同时构建 3 个并行的数据窗口,同步执行 3 行的窗口运算。 以 Census 变换为例,在 h + 2 个时钟的列周期内系 统将完成 3 个窗口的数据更新,同时使能变换信号 产生编码数据。3 个窗口的变换使能信号(位于 Idle 周期)之间依次存在一个时钟周期的延迟。当移动至 每行末尾时 3 个变换窗口同时下移 3 行,进行下一 周期窗口计算。扩展后处理频率将达到 3 / (h + 2) 像 素/单位时钟,当 h 较大时处理速度提升接近 3 倍。
increased, system requires larger disparity range and higher processing speed. In this paper, a stereo vision
implementation is proposed using fine-grain pipelined structure and sub-module parallelism to improve
1 引言
SIMD 优化的方法将占用大量的 CPU 处理时间,使
立体视觉技术是一种重要的深度信息获取方 法,在无人车自主导航、3 维测量和物体建模中都 有广泛的应用。其中匹配算法是立体视觉的关键技 术。匹配算法需要对大量的数据进行重复操作,因 此具有很高的计算复杂度。在 PC 平台的快速实现 依赖于单指令多数据流(SIMD)优化[1]或采用 GPU (Graphic Processing Unit) 并 行 处x,y) I(m,n) ≥ I(x,y)
(1)
窗口内所有像素的比较结果串连( ⊗ )成一个表
征中心像素 (m,n) 与周围像素灰度值的比较关系的
比特向量 code(m,n) 。
code(m,n) = ⊗ ξ [I (m,n), I (x,y)]
(2)
[x,y ]∈N
最后,以不同视差d 条件下两个比特向量之间
图 1 自适应相关窗口匹配示意
2.3 左右一致性校验 在相关匹配中,当图像中的物体存在遮挡时,
左右视图像素之间将不存在对应关系。左右一致性 校验对于因遮挡产生的错误匹配结果具有最高的检 测率和最低的误检率,能有效地滤除无效视差。校 验过程中要求来自左右视图的一对像素匹配对,只 有在以左图和右图两次匹配过程中存在一致的匹配 关系才认为是有效的匹配结果。
的汉明距离作为左右视图像素间的匹配代价。
2.2 自适应相关窗口
相关窗口以待匹配像素为中心,对窗口内像素
的匹配代价值进行累积。通过找寻累积代价值最小 的相关窗口来搜索相应的视差值d 。因而,相关窗 口尺寸直接影响最终的匹配结果。通常选用较大尺 寸的相关窗口可以减少在弱纹理区域的错误匹配。
另一方面,相关窗口在横跨视差不连续区域时,由 于违背了深度一致性假设会引入较多的匹配误差。 为了更准确地提取出 3 维场景中物体的边缘信息,
相关文档
最新文档