很久没有做关于tensorflow的更新了,主要的原因有两个,第一是这一周,从上周三开始都在参加培训,晚上很多时候都再加班感工,所以没有那么多时间去更新关于机器学习的知识了,而且我们关于机器学习的一些简单的介绍已经差不多结束了,下一阶段主要是更深入的介绍以及实现我们自己的机器学习算法,所以在这里我们就先把tensorflow放一放,差不多到这个周末再开始新的学习,另外一个就是最近把以前做的那个通过openMVG和openMVS进行无人机影像处理的的代码进行了一些重构和整理使得代码的结构更加的清晰,代码的可读性更好,另外将SIFTGPU引入,结合openMVG和openMVS进行特征点的提取和匹配以期能够最大限度的提高处理的效率。
额,说到这里还是要提一提我们无人机影像处理的整个流程和结构了,结构图为:

我们稍微分析一下这个结构图,获取无人机影像数据后我们先不要想那么多,马上进行特征提取和特征匹配,因为后续的所有操作都离不开这两个步骤,这两个步骤也是前期最耗时的步骤,在完成这两个步骤后再进行判断,判断影像是否包含POS数据,如果包含那么就进行全局的调整,如果不包含则通过序列影像调整的方法进行处理,处理后得到稀疏的点云以及整体的各个影像的旋转矩阵,这个时候需要进行光束法平差,实际上图画得有一丢丢的问题,光束法平差包含在序列影像和全局影像求解的过程中,得到稀疏点数据后实际上我们就可以进行简单的影像颜色调整和拼接了,这个时候拼接得到的数据并不是真正射影像,仅仅是经过几何校正后的影像。进一步的处理就需要进行密集匹配,得到密集的点云,在密集点云的基础上进行正射校正得到正正射影像。
原理就简单的介绍一下,下面详细介绍一下编译的环境和其中所遇到的问题,主要问题在于,在linux下我们通过cmake文件进行编译,由于对cmake不熟由此造成走了很多弯路,另外由于宏定义的问题导致进行了多次的修改,由此造成版本比较混乱的问题,另外一个问题就是编译的debug和release版本的问题,在不同版本下运行效率差别特别大,所以这个也让我纠结了很长时间。在git的过程中由于担心siftGPU无法编译成功,因此对于siftGPU重新git了一个分支,下一步就是将这个分支中的siftGPU处理完善,然后将其合并到主分支当中。