当前课程知识点:无人机航拍技术 > 第六章 > 作业(六) > 6.2. 摄影测量基础。SIFT
[音乐]
大家好!以前我们展示了使用两个图像可以获取地形对象的三维坐标。
如果以此方式恢复大量对象的空间坐标,则可以得到真实的地形模型。
这就是为什么所有现代摄影测量算法都将重点放在确定照片对上相同点的问题上的原因。
如果您在大量照片中自动接收一组相同的点,
则很容易自动接收高质量的地形模型。
所有摄影测量软件的操作原理都基于此。
识别两张照片中的点有两种主要方法。
第一组方法称为面。
这些是基于对区域内像素和图像值进行分析的方法。
这些方法分为相关方法和基于最小二乘法的方法。
第二组方法基于特征图像元素的选择。
在第一组方法中,计算机通过顺序搜索将图像的某些片段彼此顺序进行比较。
该方法实现起来非常简单,不需要计算资源。
但是,它有缺陷。
仅适用于完美高质量的图像----无噪点,漏光并具有理想的航拍路径。
任何变动都会立即“破坏算法”。
我们知道,无法实现完美的航拍,这意味着平面方法几乎永远不会起作用。
在所有其他情况下,基于特征图像元素选择的方法将节省我们的时间。
这些方法非常多样,但是它们的工作可以简化为三个阶段的特定统一方案。
在第一阶段,选择所有图像上所谓的奇异点的点。
第二阶段是创建描述符,这些点的描述。
第三阶段是比较不同照片中的描述符和识别这些点。
我们将更详细地处理每个步骤。
什么是奇点?
通常,将奇点理解为与背景和相邻点明显且明确不同的点。
也就是说,它是我们可以轻松识别的其他数字图像像素。
该计算过程可能不同。
有几家运营商正在寻找这些点----Moravic,Forstner,SIFT。
现代摄影测量算法可以自动检测并发现任何照片中成千上万的此类点,
因为计算机识别的奇点比人眼要多得多。
找到这些奇点后,需要对其进行记述。
记述是指有关点及其环境的一组数据,
这将使您可以将一个点唯一地匹配到同一点,但在另一张图片中。
可以基于大量不同的算法创建描述符的过程,例如使用渐层亮度。
找到并记述了奇点后,最后的任务仍然是----比较这些点。
解决任务的质量直接取决于搜索点的质量和记述的质量。
显然,即使具有高质量的说明,在不同的图片中,
亮度和照明条件也会有所不同,这些条件在这些图片之间发生了变化。
也就是说,并非所有奇异点都将互连。
因此,它需要搜索大量的点。
如果我们能够在两个图像中匹配大量描述符,则认为该问题已解决。
让我们回到理论上来,记住要建立一个准确的模型,
我们需要知道图像的参数。
内方位元素是我们已知的。
从外方位元素,我们知道拍摄点的坐标----它们是从全球导航卫星系统测量确定的。
通过搜索奇点,我们可以确定图像的外方位元素和相对方为元素。
也就是说,在搜索和比较之后,
我们知道了所有必要的值,以便根据图像构建地形模型。
请注意,模型将具有正确的比例,
因为在大地测量系统中已经决定了图像坐标。
让我们谈谈SIFT算法。
它的出现确实极大地改变了数字摄影测量法和计算机视觉。
SIFT- scale-invariant feature transform –及尺度不变特征变换。
它在1999年由David Lowe申请了专利。
该算法已被广泛用于创建全景图,创建立体图像,
从其二维照片重建三维对象,跟踪对象的移动,识别对象等。
人脑可以轻松比较两个图像,
并报告这些图像包含从不同角度拍摄的同一物体。
但是,应该考虑到,对于计算机而言,
图像是一组不说话的单位和以某种顺序组成。
正如我们已经提到的那样----您可以将图像与片段或单个点进行比较,
但是此过程会因图像的任何缺陷而产生过多的负面影响----
物体的位移,拍摄范围的差异,噪声,照明动力学等。
最好不要在所有点上都比较好图像,而要比较好点,
这样就可以或多或少地得到明确的结果。
如您所知,这是第一步----寻找特殊点(奇点)。
有必要提出一种检测器方法来提取这些奇点。
实际上,我们不会比较照片,而是比较由特殊点组成的某些模型。
再一次,回顾一下:检测器----描述符分配----对比----构建转换模型。
如何寻找奇点?
检测的主要机制是构造高斯金字塔和每个图像的高斯差。
什么是高斯? 这是使用高斯函数的图像模糊。
这是一种相当着名的技术;
这种工具在著名的Photoshop编辑软件中具备。
高斯模糊是一种图像模糊滤镜,
它使用高斯函数(该函数还表示统计量的正态分布)来
计算应用于图像中每个像素的转换。
当以二维方式应用时,
此公式将创建一个轮廓为同心圆且从中心点开始具���高斯分布的曲面。
来自此分布的值用于构造应用于原始图像的卷积矩阵。
将每个像素的新值设置为该像素附近的加权平均值。
原始像素的值获得最大的权重(具有最大的高斯值),
而相邻像素与原始像素的距离增加时,其权重也较小。
与其他更均匀的模糊滤镜相比,这种模糊效果可以更好地保留边界和边缘。
显然,我们可以改变模糊程度并建立无限数量的高斯图像。
高斯差是通过将原始图像的一个高斯从具有不同模糊半径的高斯中逐像素相减而获得的图像。
如果某点是高斯差分的局部极值,则认为该点是奇异的。
在金字塔中的每个图像中,将搜索局部极值点。
将当前图像的每个点与它的八个邻居和金字塔中上下一级的九个邻居进行比较。
如果此点大于(小于)所有邻居,则将其视为局部极值点。
此外,在找到这些点之后,有必要对其进行过滤和澄清。
为此,以亚像素精度连续计算点的坐标。
通过数学转换,可以确定该点是否已正确获取,
或者是否有必要沿某个方向偏离该点。
同样,应用数学变换,您可以确定对比度,
如果对比度较小,那么该点将被丢弃。
同样,如果该点位于对象的边界上或照明不佳,
则将其从进一步的计算中排除。
在确定某个点是关键之后,我们需要计算其方向。
根据与奇异点相邻的点的梯度方向来计算关键点的方向。
梯度的所有计算都是在高斯金字塔的图像上执行的,
比例尺最接近关键点的比例尺。
现在,知道某些点很特殊,我们继续构造描述符。
如前所述,描述符是有关奇点环境的一些信息。
这样做是出于显而易见的原因:
我们所讨论的失真(更改图片中对象的位置,更改场景,将一个对象与另一个对象重叠,转弯)
对小区域的影响很小或根本没有影响。
在SIFT方法中,描述符是向量。
像提示点的方向一样,在比例上最接近该提示点的高斯计算,
并基于某个提示点渐变。
该图显示了尺寸为2 * 2 * 8的点描述符的示例
前两个成分是水平(垂直)区域的数量(不是像素,一个区域可以有几个像素)。
第三位数字表示这些区域的直方图分量的数量。
关键点描述符由接收到的所有直方图组成。
图中描述符的尺寸为32个分量(2x2x8),
但实际上使用尺寸为128分量的描述符(4x4x8)。
找到要点并正确描述它们之后,剩下的就是在不同的图像上进行比较。
为此,使BBF搜索方法,
该方法可以仅使用有限数量的计算就可以高概率地识别最近的邻居。
比较图像后,仅需使用摄影测量公式来计算点的坐标。
结果将是点云----具有正确坐标的地形模型。
我们将在之后讨论后续。
除了SIFT算法外,还有其他解决方案可以解决此类问题。
首先,这些是SIFT算法本身的各种变体,例如RIFT,PCA-SIFT。
还值得一提的是SURF方法(加速稳健特征)和KAZE方法。
后者是一种相对较新的方法,并且由于它是自由分发并具有开源代码的事实而获得了广泛的普及。
-演示文稿
-作业(一)
-演示文稿
-作业(二)
-演示文稿
-作业(三)
-4.9. 同时操作两台Geoscan 无人机101和201
-作业(四)
-演示文稿
-作业(五)
-演示文稿
-作业(六)