本文已参与「新人创造礼」活动,一起敞开创造之路
目录
0.简介
1.详细完成
1.1整体思路
1.2对齐模型的挑选
1.3对齐质量的评价
1.4单应性初筛选
1.5对齐算法总结
1.6网格改换优化的那一套
0.简介
本篇文章首要处理具有视差图画的拼接问题,首要选用部分的拼接办法。考虑到仅需求部分区域对齐,就能够无缝的融合在一起。整体思路:在配准办法上,结合单应性改换和部分扭曲bian’huan(APAP)去处理视差和部分失真,详细完成上,论文首先选用随机搜索算法进行单应性矩阵的搜索并,并寻觅拼接缝(考虑到几何对齐和图画内容)和选用拼接缝本钱作为一个质量度量函数。然后咱们用单应性矩阵进行预对齐,并选用部分扭曲矩阵进行部分对齐。最终运用标准的切开缝算法和多波段融合算法将对齐的图画组合在一起。
本文的思维建立于:
本文提出了一种视差忍受图画拼接办法。咱们的办法是建立在一个调查,对齐图画完美的整个堆叠区域是不需求的图画拼接。相反,咱们只需求将它们对齐,使堆叠区域中存在一个部分区域,能够将这些图画拼接在一起。咱们称这种办法为部分拼接,并开发了一种有效的办法来找到这种答应最优拼接的部分对齐。咱们的部分拼接办法选用了一种混合对齐模型,该模型一起运用了单应性和内容坚持的翘曲。单应性能够坚持大局图画结构,但不能处理视差。与此相反,内容坚持翘曲比单应改换能更好地处理视差,但不能像单应改换那样坚持大局图画结构。此外,部分拼接仍然偏心配准比较好、较大的部分公共区域。(但配准的好和想要部分区域比较大是抵触的)因而选用松懈的单应性矩阵
1.详细完成
1.1整体思路
检测SIFT特征点→随机挑选一个种子特征点→并对附近的特征点进行分组→估量对齐成果(对齐成果期望找到一个特征散布紧凑的部分区域上,并估量拼接质量,不断循环,若质量够好)→缝合下面咱们首先评论该算法的一些要害组成部分,然后给出一个详细的算法描绘。
1.2对齐模型的挑选
现在拼接的干流挑选有:大局2D改换,经典的Homography改换,空间变形(如内容保存变形),其间大局2D变化最大的优点是,不会有令人恶感的部分变形,可是由于其地灵敏性,无法处理视差。在图画拼接中,没有必要在整个堆叠区域精准的对齐图画,可是能够在尽可能大的公共区域内对齐图画。相比之下,内容保存变形更加灵敏,能够更好的对齐图画,可是存在部分失真的问题。因而作者挑选了,内容卷曲保存和单应性改换结合,以最小的失真在一个公共区域上对齐图画。详细完成思路:给定一个随机种子点,以其最附近的点作为一组,设定一个较大的阈值,是尽可能多的特征点能够加入配准,尽管单应性矩阵没有办法很好的拟合这些特征点,可是松懈的单应性能够通过稍后的APAP进行补偿。
1.3对齐质量的评价
若直接对H矩阵+APAP进行变形,比对参阅图画检测对齐状况。可是这种方法下,不能预测是否能够在堆叠区域找到良好的拼接缝,并且没有考虑图画内容对拼接的影响(显著性区域需求更好的对齐,低纹理区域能够步进行很好的对齐),并且很慢。
处理方案:提取图画边际,只估量单应性怎么拼接,并对大致对齐的图画中找到一个合理的接缝,并运用接缝本钱进行评分处理这个问题。
详细完成:输入(改换后的图修改,参阅图修改(细微误配准的忍受)→ canny提取边际→ 得到改换后的边际图修改和参阅图的边际图修改→进行差分
合理的拼接缝应该防止穿过差分图中值比较大的区域,并选用graph-cut寻觅核里的拼接缝(大局最小割算法:寻觅切开成两张图片能量最小的路径组),并将堆叠区域的每个像素作为一个图节点,并界说鸿沟丢失值为:
修改 修改
其间e(s,t)代表一个边的两个点的丢失值,其丢失值由两个点的丢失值进行加和,首要是两个节点的差分图的值巨细,越大就代表这两个点越有可能是差分区域。并引进特征点的稀少状况f(c)进行加权处理。其间f(c)中 Ps代表每一个图节点,Pi 代表每一个特征点,g代表就行了高斯函数,保证每一个节点的值传递到部分区域,
(困惑的点,依照这个公式,稀少区域离其余特征点更远,按逻辑其f(c)的权重就比较小,而关于特征点密布的区域,f(c)的权重就比较大。而作者前文讲,关于特征点密布的区域,运用APAP修正的可能性就越大,应该下降其 过错对齐的权重,依照这个公式应该权重比稀少区域更大了。)
(可能性:因为引进了高斯函数,关于稀少的特征点的网格,其修改区域内的特征点很少,而超过修改区域的特征点,权重简直为0,因而不提供贡献。因而密布区域的欧式间隔和会更大。fc(s)更小) 这个问题有朋友有其他了解能够一起评论。
结论:关于差分区域为0的区域,丢失值应该为0,而关于差分区域,特征点密布的区域丢失值低于特征点稀少的区域。因而寻觅拼接缝的优先级:
- 配准好的区域
- 特征点密布的未配准好的区域
- 特征点稀少的未配准好的区域
1.4单应性初筛选
在上诉,咱们通过得到单应性矩阵,核算拼接缝的质量,并试图得到最优部分单应性。可是关于有些非常离谱的H矩阵,这样核算就很浪费时间,因而能够进行一次初筛。
修改
H矩阵会比相似矩阵拟合所有点的改换拟合的更好,但有时分会使图片严峻的变形(有可能其间有过错的点)而相似矩阵会在平移旋转上进行变形,因而不会导致严峻的失真。一起也没有单应性矩阵这么贴合所有点。修改是输入图画的四角,修改是通过H改换后的输入图画四角。并用最小优化问题得到最优相似矩阵。得到相似矩阵后,核算H改换后的四角和A改换后的四角欧式间隔和并归一化,大于0.01就丢掉此矩阵。
1.5对齐算法总结
随机算法是怎么做的:
- 得到两张图的SIFT特征点并核算边际图
- 随机挑选种子点和他最附近的点作为备选点挑选组,并不断的加入最附近的点(最近的加入了就挑选次近)直到不能单应性拟合失利(1.4的单应性拟合丢掉的条件)。并为每个特征点保存一个赏罚值,以确认它在迭代进程中被挑选的次数,一旦一个特征点被挑选,就增加一次它的赏罚值。在每次迭代中,要挑选一个特征点作为有效种子,挑选过的不能要,且该特征点的赏罚分数低于所有特征点的平均赏罚值。
原因:除了第一次迭代,每一次迭代都代表,已经有一批特征点去拟合,但没有拟合得到正确的点。被挑选过的种子点,不能再运用,并且其部分区域被挑选的点是上一次失利拟合的点,下一次挑选种子点,也多半会得到过错的H矩阵,因而这一类的点咱们也不优先挑选。最终就是得到的剩余点作为随机点。
总结:其实是分区域分区域的寻觅最优H矩阵并保证能够得到一个较好的拼接缝。可是其实复杂度反而比较高,首先每个点都要核算其最附近的点集(N的复杂度)→核算得到H矩阵(opencv封装比较快)→核算相似矩阵 →反复迭代直到H矩阵契合1.4的条件→核算graph-cut对齐质量(不契合又要重新迭代寻觅新的种子点)。最终只拿到一个部分区域契合寻觅拼接缝的配准。
1.6网格改换优化
不细写了…首要是三角束缚变形+内容保存变形+大局改换束缚