如何获得单应矩阵的质量?

问题描述

问题陈述:要使用垂直或水平捕获的一组图像(从同一相机拍摄,具有一定程度的重叠)完成图像拼接/马赛克(其中任何一个)

定义: 训练图像:要转换的图像。

Query Image : 用train Image变换后要拼接的图像。

采取的方法: 以下几点描述了该方法:

  1. 图像配准:基于关键点的 ORB(快速定向和旋转简要)特征用于图像配准。使用 opencv 函数,例如 cv2.ORB_create(nfeatures=10000,WTA_K=4)。检测和描述将为训练和查询图像提供特征。
  2. 校准:校准要拼接的像素。即上述基于特征的检测用于找到校准发生的绝对位置。这是我们搜索两个图像的关键点并找到等效的关键点以找到校准发生的位置的地方。使用蛮力方法在训练和查询图像之间进行匹配。通过对特征进行数学运算,我们使用 cv2.findHomography 函数得到 Homography 矩阵。使用了 RANSAC(随机样本一致性)方法,该方法对 reprojThresh 值非常敏感。我使用了一个相当高的值 90,它适用于大约 10 个图像拼接(涵盖混合的下一步)。但是后来的图像开始以 3 左右的低值工作。这让我动态地找到了这个 reprojthresh。这很难设置,因为我们对拼接的评估是主观的,因此没有量化说这个单应矩阵非常适合拼接。我已经使用内点比率和单应性行列式来检查转换的质量。但无法将其概括为所有图像。
  3. 图像混合:这是将上面找到的位置映射到透视投影的最后阶段。这会将校准位置映射到可以与其他图像混合的变换图像。在这里,我在单应矩阵转换后使用了一个非常简单的混合机制。它只是找到转换图像的位置并用另一个图像填充它(假设已正确对齐)。这个阶段被认为是正确的,因为我保留单应变换图像作为确认这一点的检查机制。

问题

  1. 这种方法看起来好吗?如果没有,请提出替代方案。
  2. 如果是这样,如何在量化方面检查单应矩阵质量,以便它可以自动用于进一步混合。
  3. 使用 RANSAC 生成单应矩阵多次用于微调单应性,但转换后的图像未对齐。这是可取的吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...