人的眼睛或者相机的FOV(视场)有限,所以很难将景色尽收眼底,医疗影像设备同样受限于FOV的大小,很难同时扫描整个解剖部位,这时就需要拼接算法将不同角度拍摄的部分图像拼成一幅全景图。
我之前写过一篇关于图像拼接的文章[图像拼接并不像你想的那么简单],其中主要介绍了基于传统算法(opencv中已经对拼接进行了封装)的图像拼接技术,拼接看似简单,实则非常复杂,拼接流程主要分为两部分:①配准,②融合,其中配准相当重要,如果配准不精确,即使融合算法再完美也毫无意义,传统方法大多采用基于特征点匹配方式进行图像配准,特征点的鲁棒性就变得相当重要,但受图像对比度,光照,视场,噪声的影响,检测的特征点质量往往不高,这就给拼接效果带来很大影响。
如上图,整个拼接流程涉及到特征点的检测和匹配,相机成像模型,图像融合,矩阵运算,几何学,概率统计等,为了保证拼接精度和效率,整个流程运用了非常多的优化算法,例如K-D Tree,RANSAC,最大生成树,光束平差法等。
既然传统的拼接算法复杂度这么高,而且非常依赖人的经验,那不妨换