导航:首页 > 源码编译 > 三维图像匹配算法

三维图像匹配算法

发布时间:2022-09-14 20:20:08

1. 三维重建是怎么做的

三维重建的英文术语名称是3D Reconstruction.
三维重建是指对三维物体建立适合计算机表示和处理的数学模型,是在计算机环境下对其进行处理、操作和分析其性质的基础,也是在计算机中建立表达客观世界的虚拟现实的关键技术。
三维重建的步骤
(1) 图像获取:在进行图像处理之前,先要用摄像机获取三维物体的二维图像。光照条件、相机的几何特性等对后续的图像处理造成很大的影响。
(2)摄像机标定:通过摄像机标定来建立有效的成像模型,求解出摄像机的内外参数,这样就可以结合图像的匹配结果得到空间中的三维点坐标,从而达到进行三维重建的目的。
(3)特征提取:特征主要包括特征点、特征线和区域。大多数情况下都是以特征点为匹配基元,特征点以何种形式提取与用何种匹配策略紧密联系。因此在进行特征点的提取时需要先确定用哪种匹配方法。
特征点提取算法可以总结为:基于方向导数的方法,基于图像亮度对比关系的方法,基于数学形态学的方法三种。
(4)立体匹配:立体匹配是指根据所提取的特征来建立图像对之间的一种对应关系,也就是将同一物理空间点在两幅不同图像中的成像点进行一一对应起来。在进行匹配时要注意场景中一些因素的干扰,比如光照条件、噪声干扰、景物几何形状畸变、表面物理特性以及摄像机机特性等诸多变化因素。
(5)三维重建:有了比较精确的匹配结果,结合摄像机标定的内外参数,就可以恢复出三维场景信息。由于三维重建精度受匹配精度,摄像机的内外参数误差等因素的影响,因此首先需要做好前面几个步骤的工作,使得各个环节的精度高,误差小,这样才能设计出一个比较精确的立体视觉系统。

2. 照片建模的详细信息

一、技术背景
从我们在国内外相关技术领域的长期跟踪调研所掌握的情况来看,目前国际上有微软公司、Autodesk公司、斯坦福大学和麻省理工学院等机构在基于图像的三维形体快速重建方面有良好的研究成果,但是仅仅是实验室研究成果,目前还无法商用。微软公司曾经在网上提供基于图像的三维重建的服务,但是由于用户访问量大和技术不过关而无法承担繁重的技术服务,很快就关闭了相应的服务器。目前国际上也有加拿大公司FOTO3D等基于图像的三维重建系统的市场推广,但是需要大量的手工交互,对照片的拍摄环境和拍摄精度有相当高的要求,因此市场认可度不高。
而国内除了北京大学、清华大学、中科院自动化所、北航、香港理工大学、北科光大公司等机构,该技术技术几乎处于学术阶段,很少有实质性的深入研究。就目前市场化、产品化方面,仅有Autodesk 123D Catch、以及北科光大3DCloud平台。但是这些科研机构的研究侧重点不一样,例如:北航主要侧重用于军事领域的虚拟场景的研究,香港理工大主要侧重人脸立体合成的研究等等。
二、技术特点
物体若实现三维数据化,即获取物体三维模型,目前,构造三维模型的手段大体上有以下三种:
1) 三维软件建模:
目前,在市场上可以看到许多优秀建模软件,比较知名的有3DMAX, Maya等等。它们的共同特点是利用一些基本的几何元素,如立方体、球体等,通过一系列几何操作,如平移、旋转、拉伸以及布尔运算等来构建复杂的几何场景。此种方式要求操作人员要具有丰富的专业知识,熟练使用建模软件,而且操作复杂,周期较长,同时最终构件的三维模型真实感不强。一般应用于游戏、动漫设计,以及楼宇等建筑设计,属于设计类范畴。
2)利用仪器设备建模:
三维扫描仪(3 Dimensional Scanner)又称为三维数字化仪(3Dimensional Digitizer)。目前三维扫描仪主要采用激光、结构光等技术,通过发射光的反馈获取三维坐标信息,而纹理颜色基本依靠设备上得摄像头来获取。此种方式需要价格昂贵的三维扫描仪等硬件设备,并且由于技术本身限制,有些材质、颜色受光的反射或折射、吸收等影响,导致获取的三维模型漏洞较多,无法完成扫描。诸如人的头发、深色服饰、以及透明物体等等。此外,三维扫描仪现今只能获得物体的位置信息,对于物体表面的纹理特征多数仍然需要辅助大量的手工工作才能完成,整个过程成本高,周期长。由于其模型网格精度较高,一般用于工业生产、文物修复等领域,属于三维重建技术范畴。
3)照片建模(基于图像/视频的建模):
基于图像的建模和绘制(Image-Based Modeling andRendering,IBMR)是当前计算机图形学界一个极其活跃的研究领域。同传统的基于几何的建模和绘制相比,IBMR技术具有许多独特的优点。基于图像的建模和绘制技术给我们提供了获得照片真实感的一种最自然的方式,采用IBMR技术,建模变得更快、更方便,可以获得很高的绘制速度和高度的真实感。IBMR的最新研究进展已经取得了许多丰硕的成果,并有可能从根本上改变我们对计算机图形学的认识和理念。由于图像本身包含着丰富的场景信息,自然容易从图像获得照片般逼真的场景模型。基于图像的建模的主要目的是由二维图像恢复景物的三维几何结构。由二维图像恢复景物的三维形体原先属于计算机图形学和计算机视觉方面的内容。由于它的广阔应用前景,如今计算机图形学和计算机视觉方面的研究人员都对这一领域充满兴趣。与传统的利用建模软件或者三维扫描仪得到立体模型的方法相比,基于图像建模的方法成本低廉,真实感强,自动化程度高,因而具有广泛的应用前景。 此种方式操作简单,自动化程度高,成本低,纹理颜色真实感强,不受时空限制等,如国内3DCloud则以云端形式运行,只要将照片上传至云端,即可全自动生成三维模型。主要应用于3D展示、3D打印、影视媒体、广告制作、虚拟现实等众多应用领域,加上成本较低等因素,未来发展前景较好。
三、技术原理
从多幅二维图像中计算三维特征并作场景的三维重构是计算机视觉和图形学领域的一个重要研究内容,目前已经有非常多的相关研究。对于基于图像的三维重构任务而言,准确地相机标定是至关重要的。对于三维场景或模型重构精度要求较高而拍摄环境可以按需定制的应用,离线标定技术一般可以更好地满足用户需求;相反,如果需要从一些无法定制环境或缺失标定信息的图像或视频序列中作场景分析和重构,就只能采用在线标定技术。
鉴于相机标定技术在三维重构中的重要性,我们将相关技术分为基于离线相机标定的三维重构技术和基于在线相机标定的三维重构技术两个大类,并对两类技术分别阐述其研究历史、现状和趋势。
① 基于离线相机标定的三维重构技术。
基于离线相机标定技术需要准确的相机内参数和外参数作为重构算法的输入和先决条件,目前最为流行的离线相机标定算法是Tsai在1987年提出的[Tsai1987],Tsai方法使用一个带有非共面专用标定标识的三维标定物来提供图像点和其对应的三维空间点的对应并计算标定参数。Zhang在1999年提出了另一个实用方法[Bouguet2007],该方法需要对一个平面标定图案的至少两幅不同视图来进行标定。加州理工学院的相机标定工具对以上两个方法均作了有效实现,并且已经被集成到Intel的视觉算法库OpenCV中 [OpenCV2004]。通过标定算法,可以计算相机的投影矩阵,并提供场景的三维测度信息。在不给定真实场景的绝对平移、旋转和放缩参数的情况下,可以达到相似变换级别的测度重构。
② 基于图像的重构
在基于图像的重构技术中,既可以考虑稀疏特征匹配,也可以考虑稠密特征匹配,一般需要视应用背景和场景特性作具体选择。特征检测是准确重构框架中的一个关键步骤。传统意义上的特征定义为在至少一个特定方向上存在较大亮度或色度变化的图像区域或位置 [Moravec1977]。Harris等使用一阶导数来估计局部互相关数值[Harris1988],该方法能给出健壮的检测结果但在某些情况下缺乏定位上的准确性。Beaudet等使用梯度和曲率的乘积来刻画角点特征并检测角点 [Beaudet1978],Smith等提出的SUSAN检测子结合使用特征区域的尺寸、中心和矩信息来检测角点。Lowe提出的尺度不变的特征检测算子SIFT是目前比较流行的算法 [SIFT2004],SIFT的优势在于能够对有效提取特征在一定程度上的旋转和放缩等不变 特征,从而大大减弱了特征检测算法对环境和图像质量的依赖性,Koser等从SIFT的思想进一步引申出透视不变特征的概念[Koser2007]。
特征检测之后一般需要进行多视图之间的特征匹配。特征匹配算法的性能会受到镜头畸变、光线环境、场景遮挡及其他未知图像噪声的影响。解决匹配问题目前主要有两种思路。第一种思路在某个关键帧中检测出一个特征记并使用跟踪算法在后续帧中跟踪这个特征集,代表算法是基于光流的跟踪算法如Lucas-Kanade算法 [Tomasi1991]。第二种思路则在多个视图中独立进行特征检测并通过数据关联的手段来建立匹配特征对,这可以通过简单的区域相关算法实现 [Zhang1995],也可以通过各种手段定义描述相似度的目标函数并作优化来实现[Li1994]。
对于需要稠密场景重构的场合还需要进行稠密多视匹配的工作,稠密多视匹配算法的性能直接影响到最终重构质量,在图像取样点足够密集的情况下,可以用光流技术模拟相邻图像之间的像素或特征位移。三维结构的三角化同样也可以通过具备了点到点对应信息的光流来模拟,在稠密空间采样的假设下光流可以用系数特征位移来有效近似 [Zucchelli2002]。
可以通过图像校正的技术将两个视图中的对应极线调为水平状态且处在同一水平扫描线上,这样就可以使用传统的基于水平视差的双视算法恢复深度信息。在这一框架下,可以用马尔可夫随机场建模并用基于图论的优化算法实现求解 [Scharstein2002]。
基于体素的重构
近年来随着计算速度和存储性能的大幅提高,基于体的场景结构表示方法已经成为实用。已有多种方法从图像序列中恢复场景体数据。一种常见方法是从多视图中恢复前景物体的视觉凸包(visual hull)作为物体的重构近似。一般说来,visual hull的大小随着参与计算的图像数量增多而单调下降。常见的方法是从每一图像中分离出前景区域和背景区域,把前景区域反向投射到三维空间并求交来得到visual hull [Szeliski93]。Snow提出了Voxel occupancy算法,通过基于体素标签的图割算法实现三维分割 [Snow2000]。 对于有较明显色彩区分特征的图像,也可考虑使用颜色相容性即只保留色彩相容的空间体素来建立约束求解三维信息[Seitz1999]。为了简化基于可见性的空间切割,Seitz等提出了对于相机位置的有序可见性约束 [Seitz1999]。作为对以上框架的进一步改进,Prock提出了多分辨率体素着色方案 [Prock1998],Culbertson等提出了能够精确计算可见性的一般化的色彩相容模型 [Culbertson1999]。
和基于图像的重构技术相比,基于体素的重构技术不需要显示的特征匹配且能更有效地处理遮挡问题,但其潜在的缺点在于庞大的内存消耗会在一定程度上限制重建精度。在某些条件下,有序可见性约束显得过强。
基于对象的重构
与基于体素的重构算法中用体素离散化场景的思想不同,基于对象的重构技术着眼于直接恢复场景中物体的表面模型。Faugeras等提出了level-set重构是第一个面向对象的多视三维复原技术 [Faugeras1998],该技术把用于深度恢复的变分原理推广为一个可以用level-set求解的曲线演化问题 [Robert1996]。该工作的原始框架须作漫反射表面的假设,Lin等所做后续工作减弱了这一要求,使得镜面反射和透明环境下的求解成为可能 [Lin2002]。
③ 基于在线相机标定的三维重构技术
在很多场合下,如缺失标定设备或相机内参数持续改变的情况下,没有足够数据来支持离线相机标定,对这类场景的多视三维重构就要用到在线相机标定的技术。在线标定和离线标定框架的主要区别在于标定相机或估计相机参数的方法上。在大多数文献中离线标定技术被称为自标定。自标定方法可以大致分为两类:基于场景约束的自标定和基于几何约束的自标定。
基于场景约束的自标定
合适的场景约束往往能够在很大程度上简化自标定的难度。比如说,广泛存在于建筑或人造场景中的平行线能够帮助提供三个主正交方向的消视点和消视线信息,并能够据此给出相机内参数的代数解或数值解 [Caprile1990]。消视点的求解可以通过投票并搜索最大值的方法进行。Barnard采用高斯球构造求解空间 [Barnard1983]。Quan、Lutton和Rother等给出了进一步的优化策略[Quan1989, Lutton1994, Rother2000]。文献[Quan1989]中给出了搜索解空间的直接算法,Heuvel给出的改进算法加入了强制性的正交条件 [Heuvel1998]。Caprile给出了基于三个主正交方向消视点的几何参数估计法,Hartley使用标定曲线计算焦距 [Hartley2003]。Liebowitz等进一步从消视点位置构造绝对二次曲线的约束并用考克斯分解求解标定矩阵 [Liebowitz1999]。
基于几何约束的自标定
基于几何约束的自标定不需要外在场景约束,仅仅依靠多视图自身彼此间的内在几何限制来完成标定任务。利用绝对二次曲面作自标定的理论和算法最先由Triggs提出 [Triggs1997]。基于Kruppa方程求解相机参数则始于 Faugeras, Maybank等的工作 [Faugeras1992, Maybank1992]。Hartley给予基本矩阵推导出了Kruppa方程的另一个推导 [Hartley1997]。 文献[Sturm2000]则给出了Kruppa方程的不确定性的理论探讨。层进式自标定技术被用于从射影重构升级到度量重构 [Faugeras1992]。自标定技术的一个主要困难在于它不是无限制地用于任意图像或视频序列,事实上,存在着特定运动序列或空间特征分布导致自标定求解框架的退化和奇异解。文献[Sturm1997]给出了关于退化情形的详细讨论和分类。对一些特殊可解情况存在性和求解方法的讨论可以参考文献[Wilesde1996]等。
四、行业应用
照片建模的三维模型其模型精度已满足3D打印要求,而模型纹理颜色真实感强,因此应用领域较广。
1、3D打印应用,尤其是人像3D打印照相馆应用,具有明显优势,色彩逼真,结合相机阵实现瞬间抓拍等功能。比现有的三维扫描设备更具有成本低、操作方便、真实感强等优点。
2、3D展示应用,3D展示一般要求模型文件较小、纹理颜色逼真,因此广泛应用在电商、广告媒体、三维制作、虚拟现实、3D试衣等等。
3、其他应用,照片建模可快速生成大场景的建模,通过航拍等获取照片,可快速生成三维地貌,可用于3D地图、军事结构、矿土堆料测量等等。

3. 三维拟合法

二、数字高程模型(DEM)的生成
1、数字高程模型(DEM)的概念

数字高程模型(DEM),也称数字地形模型(DTM),是一种对空间起伏变化的连续表示方法。由于DTM隐含有地形景观的意思,所以,常用DEM,以单纯表示高程。

尽管DEM是为了模拟地面起伏而开始发展起来的,但也可以用于模拟其它二维表面的连续高度变化,如气温、降水量等。对于一些不具有三维空间连续分布特征的地理现象,如人口密度等,从宏观上讲,也可以用DEM来表示、分析和计算。

DEM有许多用途,例如:在民用和军用的工程项目(如道路设计)中计算挖填土石方量;为武器精确制导进行地形匹配;为军事目的显示地形景观;进行越野通视情况分析;道路设计的路线选择、地址选择;不同地形的比较和统计分析;计算坡度和坡向,绘制坡度图、晕渲图等;用于地貌分析,计算浸蚀和径流等;与专题数据,如土壤等,进行组合分析;当用其它特征(如气温等)代替高程后,还可进行人口、地下水位等的分析。

http://www.pwtal.com/terrain.htm
2、DEM的表示方法

(1)拟合法

拟合法是指用数学方法对表面进行拟合,主要利用连续的三维函数(如富立叶级数、高次多项式等)。但对于复杂的表面,进行整体的拟合是不可行的,所以,通常采用局部拟合法。

局部拟合法将复杂表面分成正方形的小块,或面积大致相等的不规则形状的小块,用三维数学函数对每一小块进行拟合,由于在小块的边缘,表面的坡度不一定都是连续变化的,所以应使用加权函数来保证小块接边处的匹配。

用拟合法表示DEM虽然在地形分析中用的不多,但在其它类型的机助设计系统(如飞机、汽车等的辅助设计)中应用广泛。

(2)等值线

等值线是地图上表示DEM的最常用方法,但并不适用于坡度计算等地形分析工作,也不适用于制作晕渲图、立体图等。

(3)格网DEM

格网DEM是DEM的最常用的形式,其数据的组织类似于图像栅格数据,只是每个像元的值是高程值。即格网DEM是一种高程矩阵(如图4—1)。其高程数据可直接由解析立体测图仪获取,也可由规则或不规则的离散数据内插产生。

格网DEM的优点是:数据结构简单,便于管理;有利于地形分析,以及制作立体图。其缺点是:格网点高程的内插会损失精度;格网过大会损失地形的关键特征,如山峰、洼坑、山脊等;如不改变格网的大小,不能适用于起伏程度不同的地区;地形简单地区存在大量冗余数据。

100 110 120 140 110 105 90

120 115 130 135 120 110 100

135 120 120 130 130 120 110

145 130 115 120 120 115 118

150 140 135 130 135 120 110

145 135 150 140 138 125 120

表4-6-1

(4)不规则三角网DEM(TIN)

不规则三角网DEM直接利用原始采样点进行地形表面的重建,由连续的相互联接的三角面组成(如图4—4),三角面的形状和大小取决于不规则分布的观测点的密度和位置。不规则三角网DEM的优点是:能充分利用地貌的特征点、线,较好地表示复杂地形;可根据不同地形,选取合适的采样点数;进行地形分析和绘制立体图也很方便。其缺点是:由于数据结构复杂,因而不便于规范化管理,难以与矢量和栅格数据进行联合分析。

图4-6-4

通常所说的DEM即指格网DEM和不规则三角网DEM,地形分析也基于此。

Department of Defense, Groundwater Modeling System
三、格网DEM的建立

格网DEM的数据可直接从解析测图仪获取,下面介绍的是如何由离散点来构建格网DEM的方法。

离散点构格网DEM是在原始数据呈离散分布,或原有的格网DEM密度不够时需使用的方法。其基本思路是:选择一合理的数学模型,利用已知点上的信息求出函数的待定系数,然后求算规则格网点上的高程值。

离散点构格网DEM所采用的是内插算法,插值的方法很多,如按距离加权法、多项式内插法、样条函数内插法、多面函数法等等。大量的实验证明,由于实际地形的非平稳性,不同的内插方法对DEM的精度并无显着影响,主要取决于原始采样点的密度和分布。简单而常用的为线性内插法和双线性多项式内插法。

线性内插的数学模型为:

双线性多项式内插的数学模型为:

其中,x,y为平面坐标,Z为高程,a1、a2、a3、a4为待定系数。

只要将与插值点距离最近的三个点(对线性内插)或四个点(对双线性多项式内插)的坐标值和高程值代入方程,即可解出全部系数,然后用插值点的坐标带入方程,即可计算出该点的高程值。

距离加权法的数学模型为:

为了计算点(x,y)的高程Z,可取该点周围的n个点(I=1,…,n),按上述公式计算。Zi为第I点的高程,Pi为第i点的权值,计算公式为:

其中u是一个大于0的正数,通常取1或2,是i点(xi,yi)到格网点(x,y)的距离,即:

在构建格网DEM的内插方法中,经常需要选取与插值点距离最近的若干个点。如图4-6-5左图,如果通过计算各离散点与待插值点的距离,然后选取距离最短的若干个点的方法来选取,尽管方法正确,但计算量大,影响插值的速度。因此,可以在插值点上建立一正方形的选取框,如图4-6-5右图,这样通过简单的坐标值比较就可找出落入框内的数据点。当落入框内的数据点较多时,可缩小框的尺寸;反之,增大框的尺寸。选取框尺寸的初始值可根据图幅中原始数据点的密度来确定。设图幅的面积为A,共有N个数据点,则每点的平均面积A0为:

A0=A∕N

图4-6-5

若需要选取插值点附近的K个点,则选取框的面积应为:A1=K·A0 。

A11/2就是该选取框的边长。在实际运算时,边长可再大一些,以尽量保证落入选取框中的数据点数大于或等于K,这样在缩小选取框时,只要对原框内数据点再判断即可。

四、不规则三角网(DEM)的建立

图4-6-6

所谓建立不规则三角网DEM,就是由离散数据点构建三角网,如图4-6-6,即确定哪三个数据点构成一个三角形,也称为自动联接三角网。即对于平面上n个离散点,其平面坐标为(xi,yi)i=1,2,…,n,将其中相近的三点构成最佳三角形,使每个离散点都成为三角形的顶点。自动联接三角网的结果为所有三角形的三个顶点的标号,如:

1, 2, 8

2, 8, 3

3, 8, 7



为了获得最佳三角形,在构三角网时,应尽可能使三角形的三内角均成锐角。其基本依据是三角形余弦定理(图4-6-7):

cosC=(a2+b2-c2)/2ab

图4-6-7

在已知A、B点,即已知c边时,要选取另一个三角形顶点C时,若C角最大,则要扩展的三角形的顶点C离扩展边c的距离最短。这样可保证由相邻最近的三点构成三角形,并且保证不让某个离散点在组成三角网时被漏掉。在自动连接三角网的软件设计时,要设L和K两个变量,L记录已形成的三角形数,K记录已扩展的三角形数。为了记录结果可设三个数组t1[]、t2[]、t3[],分别存放所构成的每个三角形的顶点编号。

构建三角网的第一步是形成第一个三角形。可选择离散点中最相近的两个点作为第一个三角形的两个顶点,并置L=1,把这两点的编号记录在t1[L]和t2[L]中。三角形的第三个顶点可按余弦定理,分别检查各个离散点,取与t1[L]和t2[L]连线最近的点,并把编号记录到t3[L]中。

图4-6-8

第一个三角形形成后,置K=1,并以该三角形的三边向外扩展三角形。所谓扩展三角形是指从三角形的每条边向外再形成三角形。

例如,如图4—45,对于t1[K]、t2[K]、t3[K]构成的三角形,需对每一边向外扩展形成新的三角形。当从t1[K]和t2[K]组成的边向外扩展时,显然位于t3[K]同侧的离散点应被排除在外。这可用直线判别正负区的原理来实现。直线方程的判别式为:

F(x,y)=y-Ax-B

其中:A=(y2-y1)/(x2-x1)
B=(y1x2-y2x1)/(x2-x1) 2
F(x,y)>0,点位于正区
F(x,y)=0,点位于线上
F(x,y)<0,点位于负区

把t3[K]的坐标代入判别式计算,记录下判别式的正负,则只有当离散点的判别式的值与t3[K]的判别式的值符号相反时,才有可能成为被扩展的点。

在这些可能被扩展的点中,找出对扩展边张角最大的点,就是要扩展的点。

为了避免重复与交叉,还要进行一次检查判断,即要判断新的三角形的三条边是否已被已形成的三角形用过两次。若有一条边被用过两次,则此次扩展无效;否则此次扩展有效,且L加1。

对三角形的第二条边和第三条边采用相同的方法扩展。三角形的三条边都扩展完后,令K加1,并继续扩展下一

4. BM3D的介绍

三维块匹配(BM3D)算法:它首先把图像分成一定大小的块,根据图像块之间的相似性,把具有相似结构的二维图像块组合在一起形成三维数组,然后用联合滤波的方法对这些三维数组进行处理,最后,通过逆变换,把处理后的结果返回到原图像中,从而得到去噪后的图像。该方法确实有效,它不仅有一个较高的信噪比,而且视觉效果也很好。因此研究者提出了很多基于BM3D的去噪方法,例如:基于小波变换的BM3D去噪,基于Anscombe变换域BM3D滤波等等。

5. 立体视觉SGBM算法的实现,多方向DP部分求助

最近一直在学习SGBM算法,作为一种全局匹配算法,立体匹配的效果明显好于局部匹配算法,但是同时复杂度上也要远远大于局部匹配算法。算法主要是参考Stereo Processing by Semiglobal Matching and Mutual Information,里面有讲完整的算法实现。
OpenCV中实际上是提供了SGBM类进行SGBM算法的实现。
#include <highgui.h>
#include <cv.h>
#include <cxcore.h>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{

IplImage * img1 = cvLoadImage("left.png",0);
IplImage * img2 = cvLoadImage("right.png",0);
cv::StereoSGBM sgbm;
int SADWindowSize = 9;
sgbm.preFilterCap = 63;
sgbm.SADWindowSize = SADWindowSize > 0 ? SADWindowSize : 3;
int cn = img1->nChannels;
int numberOfDisparities=64;
sgbm.P1 = 8*cn*sgbm.SADWindowSize*sgbm.SADWindowSize;
sgbm.P2 = 32*cn*sgbm.SADWindowSize*sgbm.SADWindowSize;
sgbm.minDisparity = 0;
sgbm.numberOfDisparities = numberOfDisparities;
sgbm.uniquenessRatio = 10;
sgbm.speckleWindowSize = 100;
sgbm.speckleRange = 32;
sgbm.disp12MaxDiff = 1;
Mat disp, disp8;
int64 t = getTickCount();
sgbm((Mat)img1, (Mat)img2, disp);
t = getTickCount() - t;
cout<<"Time elapsed:"<<t*1000/getTickFrequency()<<endl;
disp.convertTo(disp8, CV_8U, 255/(numberOfDisparities*16.));

namedWindow("left", 1);
cvShowImage("left", img1);
namedWindow("right", 1);
cvShowImage("right", img2);
namedWindow("disparity", 1);
imshow("disparity", disp8);
waitKey();
imwrite("sgbm_disparity.png", disp8);
cvDestroyAllWindows();
return 0;
}

6. 什么是三维DIC技术啊求详解。。。。拜托了。。。

三维数字图像相关技术,也就是利用双目视觉原理以及散斑匹配方法来实现三维重建的技术。

7. 如何还原三维场景

下面是基本的步骤,查阅 OpenCV 文档可以了解具体到函数用法 :

摄像头校正,undistortion。由于摄像头的镜片出厂时都存在扭曲,为了得到精确的数据需要在使用前进行较正。常用的方法是基于棋盘的各个姿态拍几次,然后计算相机的矩阵参赛。下图便是常见的标定界面。

图像对齐,rectification。因为两个摄像头的位置不同,因此它们各自看到的场景是有偏差的,左边的摄像头能看到最左的场景,右边的看到最右的场景。图像对齐的目的是得到相同的场景部分。
左右图像匹配,correspondence。可以使用 OpenCV ,得到 disparity map。
通过重映射函数,比如 OpenCV 中的 cv::reprojectImageTo3D,得到一张深度图。
只有一张深度图是不够的,它只是某一时刻真实的场景在摄像头中的映射。要想得到完整的三维场景,我们需要分析一系列的深度图。

HoloLens 如何从多张深度图重建三维场景?

答案是 SLAM,Simultaneous Localization And Mapping,即同步定位与建图系统。这个技术被用于机器人、无人汽车、无人飞行器的定位与寻路系统。解决的是非常哲学的问题:

我现在在哪里?
我可以去哪里?
SLAM 有很多实现的方式,有一个开源的方式,实现了很多深度图的处理和匹配算法,可以认为是三维版本的 OpenCV。

而微软围绕着 Kinect 的深度图数据发明了 Kinect Fushion 算法,并发表了两篇论文:

KinectFusion: Real-time 3D Reconstruction and Interaction Using a Moving Depth Camera;
KinectFusion: Real-Time Dense Surface Mapping and Tracking。
为什么我认为 HoloLens 与 Kinect Fushion 有关?答案在这个页面中 。 Shahram Izadi 是微软剑桥研究院的 principal researcher 及 research manager。他所领导的互动3D技术组 / interactive 3D technologies 为微软的多项产品提供了研究力量,包括 Kinect for Windows, Kinect Fusion 以及 HoloLens。顺便说一句,他们组在招人:)

Kinect Fushion,通过在室内移动 Kinect 设备,获取不同角度的深度图,实时迭代,对不同对深度图进行累积,计算出精确的房间以及房间内物体的三维模型。

它分四个阶段:

深度图格式转换,转化后的深度的单位是米,用浮点数保存。并计算顶点坐标和表面的法向量。
计算世界坐标系下的相机姿态(包含位置和朝向),通过迭代的对齐算法跟踪这两个值,这样系统总是知道当前的相机与最初的姿态相比变了多少。
第三阶段将姿态已知情况下的深度数据融合到单个三维乐高空间里,你也可以叫它为 MineCraft 空间,因为这个空间的基本元素不是三角形,而是方格子。演示视频中频频出现 MineCraft 场景估计也和这个阶段有关。
基于 Raycasting 的三维渲染,Raycasting 需要从当前的相机位置发出射线,与三维空间求交集。乐高空间特别适合Raycasting,可以用八叉树来加速射线的求交运算。Raycasting、Raytracing 以及 Rasterization 是三种常见的渲染方式,这里就不展开了。
在 HoloLens 的应用中我们运行到第三步,即获取三维乐高模型就可以了,第四步并不是必需的。因为 HoloLens 的屏幕是透明的,不需要再把房屋的模型渲染一遍,我们自带的眼睛已经渲染了一遍了:)

8. 点云数据处理

三维计算视觉研究内容包括:

(1)三维匹配:两帧或者多帧点云数据之间的匹配,因为激光扫描光束受物体遮挡的原因,不可能通过一次扫描完成对整个物体的三维点云的获取。因此需要从不同的位置和角度对物体进行扫描。三维匹配的目的就是把相邻扫描的点云数据拼接在一起。三维匹配重点关注匹配算法,常用的算法有 最近点迭代算法 ICP 和各种全局匹配算法。

(2)多视图三维重建:计算机视觉中多视图一般利用图像信息,考虑多视几何的一些约束,相关研究目前很火,射影几何和多视图几何是视觉方法的基础。在摄影测量中类似的存在共线方程,光束平差法等研究。这里也将点云的多视匹配放在这里,比如人体的三维重建,点云的多视重建不仅强调逐帧的匹配,还需要考虑不同角度观测产生误差累积,因此也存在一个优化或者平差的过程在里面。通常是通过观测形成闭环进行整体平差实现,多视图重建强调整体优化。可以只使用图像,或者点云,也可以两者结合(深度图像)实现。重建的结果通常是Mesh网格。

(3)3D SLAM:点云匹配(最近点迭代算法 ICP、正态分布变换方法 NDT)+位姿图优化( g2o 、LUM、ELCH、Toro、SPA);实时3D SLAM算法 (LOAM);Kalman滤波方法。3D SLAM通常产生3D点云,或者Octree Map。基于视觉(单目、双目、鱼眼相机、深度相机)方法的SLAM,比如orbSLAM,lsdSLAM...

(4)目标识别:无人驾驶汽车中基于激光数据检测场景中的行人、汽车、自行车、以及道路和道路附属设施(行道树、路灯、斑马线等)。

(5)形状检测与分类:点云技术在逆向工程中有很普遍的应用。构建大量的几何模型之后,如何有效的管理,检索是一个很困难的问题。需要对点云(Mesh)模型进行特征描述,分类。根据模型的特征信息进行模型的检索。同时包括如何从场景中检索某类特定的物体,这类方法关注的重点是模型。

(6)语义分类:获取场景点云之后,如何有效的利用点云信息,如何理解点云场景的内容,进行点云的分类很有必要,需要为每个点云进行Labeling。可以分为基于点的方法,基于分割的分类方法。从方法上可以分为基于监督分类的技术或者非监督分类技术,深度学习也是一个很有希望应用的技术。

(7)立体视觉与立体匹配 ZNCC

(8)SFM(运动恢复结构)

1、点云滤波方法(数据预处理):

双边滤波、高斯滤波、条件滤波、直通滤波、随机采样一致性滤波。

VoxelGrid

2、关键点

ISS3D、Harris3D、NARF

SIFT3D、

3、特征和特征描述

法线和曲率计算 NormalEstimation 、特征值分析Eigen-Analysis、 EGI

PFH、FPFH、3D Shape Context、Spin Image

4、 点云匹配

ICP 、稳健ICP、point to plane ICP、Point to line ICP、MBICP、GICP

NDT 3D 、Multil-Layer NDT

FPCS、KFPCS、SAC-IA

Line Segment Matching 、ICL

5、点云分割与分类

分割:区域生长、Ransac线面提取、NDT-RANSAC、

K-Means、Normalize Cut(Context based)

3D Hough Transform(线、面提取)、连通分析、

分类:基于点的分类,基于分割的分类;监督分类与非监督分类

6、SLAM图优化

g2o 、LUM、ELCH、Toro、SPA

SLAM方法:ICP、MBICP、IDC、likehood Field、 Cross Correlation 、NDT

7、目标识别、检索

Hausdorff 距离计算(人脸识别)

8、变化检测

基于八叉树的变化检测

9. 三维重建

泊松重建、Delaunay triangulations

表面重建,人体重建,建筑物重建,树木重建。

实时重建:重建植被或者农作物的4D(3D+时间)生长态势;人体姿势识别;表情识别;

10.点云数据管理

点云压缩,点云索引(KD、Octree),点云LOD(金字塔),海量点云的渲染

点云驱动的计算机图形学主要研究应用

http://vcc.szu.e.cn/research/2015/Points/

9. 能对比出两张照片中是否同一人的方法或软件

三维脸形识别系统 Leave a comment �0�3 当计算机刚刚开始进入人类生活的时候,我们儿时经常会在科幻片中看到,电脑扫描人脸,然后会找出这个人的资料。当时这个仅仅是人类的梦想,但随着计算机技术的高速发展,这个儿时的幻想已经变为现实。
脸型识别技术的研究已经有了十几年的历史,最近两、三年随着计算机技术的高速发展开始运用到实用系统中。预计今后十年会有突破性的发展。
自“911”事件以来,无论在研究部门,还是在应用部门,人脸识别技术已经成为各种安全技术的一个热点。
随着人脸识别系统的日渐成熟,已被逐渐应用到公安、反恐和军事、计算机网络信息安全等诸多领域。预计在不远的将来,将得到更加广泛的应用、具有广阔的应用前景。
Genewell软件研发部门由多位资深专家组成人像识别技术小组,专业从事技术研发和应用建设。
Genewell脸型识别技术达到国际先进水平,适用于实时和非实时环境。目前已经成功运用于机场、公安、边检等重要场所。什么是三维脸形识别?
三维脸形识别系统特有的比对引擎于算法,及近红外光即时三维表面扫描的运用,使高速准确的识别成为可能。适用于控制建筑物、重要的办公室、实验室、库房等的出入口的身份识别管理及控制。
由美国开发制造的脸形识别仪是世界上首部真正的三维脸形识别仪,它运用了专利的光学、目标定向与影响追踪技术,和高速运算能力的识别算法建立脸部的三维计量学与摄影追踪系统,这个系统通过获取与处理三维脸形资料方面的创新,使其得以提供实时准确的脸型识别,并因此取得了同业的领导地位。三维技术优点
光线和角度:三维脸形识别仪的工作波段接近于红外波段,使用者可不受光线状况、背景颜色、脸部的毛发与肤色的影响,从任何的角度都可以呈现出准确的三维脸形资料。三维图像的特异性:获取丰富的脸部测量数据特点,通过运算形成的三维脸形模板,可以准确识别出看似两个完全相同的双胞胎兄弟或姐妹的脸型。
识别速度和准确性:专有的三维脸形生物算法执行实时以每秒30帧的脸部影像扫描以获取脸部特征点进行识别运算,即使在极低的拒判率和误判率[<0.001]的情况下每秒也能达到10~12次比对运算使得三维脸部识别验证具有极高的识别准确性。三维脸形识别仪特点
先进的三维脸形识别技术:先进的生物特点提取及运算法,加上光学技术的运用,并可进行实时的三维脸形扫描识别。
非侵入的工作方式:工作在无形的红外光波段下,对于移动的状态也能高度准确地完成识别,完全适用于真实的生活环境里。
可替代性:可以方便的接入到现有的各种常规门禁系统中,包括:射频卡、磁条、标准的韦跟设备和各种类型的生物识别设备。
系统的兼容性:VISIONSDK可以很好的兼容到第三方的系统里,整合开发出包括门禁考勤、监控和其它的安全系统中。
工作效率:最佳工作效率可达到93%~98%面部特征定位,并在小于1秒的时间内获取脸形的影像进行比对识别。三维识别的优势
高精确性:能区分“一样的”双胞胎
高性能:实时视屏捕捉 & 高速识别匹配
能在1秒内辨认、识别和判断
在现实环境中全面、精确
平衡光线, 包括在黑夜中
30 视角以提高易用性
不被视屏或照片受欺骗
无故障登记
拒绝入侵 & 加强保密性
充分利用光谱学原理,
无干扰识别
公开的自然的脸形识别 (ICAO mandated)
人体工学设计 &用户友好
快速简单调整视听反馈
操作协调
大容量
■每台机人数2000人以下,可采用1:N方式,1秒内完成认证
■认证采用1:1模式,最大可以存贮6万个人脸模板
■10万条事件信息
多种认证模式

阅读全文

与三维图像匹配算法相关的资料

热点内容
ghost32命令 浏览:498
php函数里面调用函数 浏览:584
程序员高龄劝退 浏览:499
服务器打不开游戏怎么办 浏览:107
白猫pdf 浏览:388
phpswitch条件 浏览:119
fluent的tui命令在哪 浏览:509
海信变频空调压缩机控制线路 浏览:41
用纸做一个解压小球 浏览:612
压缩机结构原理图 浏览:611
字节跳动程序员包伙食吗 浏览:640
mysql命令窗口执行命令没有用 浏览:268
回车键解压神器台式电脑可以用吗 浏览:251
wps的pdf怎么编辑 浏览:725
程序员的最爱是什么 浏览:174
价格交易pdf 浏览:542
大学硬件编译专业 浏览:219
欧阳询字帖pdf 浏览:993
g11命令代码 浏览:672
vs调试命令 浏览:787