visualSFM用法
添加图片
- "File->Open Multi Images". 一次添加多幅图片
- "SfM->Load NView Match". 可以把之前保存的.nvm文件添加进来
特征检测&全图像对匹配
- 点击2或选择"SfM->Pairwise Matching->Compute Missing Match",执行完后可以回到第一步再添加一些图片,再次计算缺失的匹配。
- 这个过程会比较慢,耐心等待就好^_^
稀疏重建
- 点击3或者选择"SfM->Reconstruct Sparse"
稠密重建
- 点击4
- 该过程会让保存文件,CMVS过程在[name].nvm.cmvs文件夹下会进行。结束后文件夹下包含各种文件如相机信息、点云信息及meshlab使用的文件。[name].i.ply是第i个模型的信息。
相机模型和坐标系统
- 相机模型有8个参数,如果忽略径向畸变的话,有7个参数。
- 给定相机K[R T],K=[f 0 0;0 f 0;0 0 1],径向畸变r,三维点X
- 则X在图像的投影是[x,y,z]=K(RX+T)->(x/z,y/z)
- 假设X在图像的真实位置是mx,my(相对于主点即图像中心)
- 畸变因子r2=r*(mx*mx+my*my),未畸变的测量是(1+r2)*(mx,my)
- 投影误差是:(x/z - (1 + r2) mx, y /z - (1 + r2) my)
当在以图像左上角为原点的坐标系时:
- K = [fx 0 0; 0 fx 0; 0 0 1], Kc = [1 0 cx; 0 fy/fx cy; 1],
- 则Kc * K = [fx 0 cx; 0 fy cy; 0 0 1](u, v, 1)' 表示在像素坐标系下的坐标 (相对于图像左上角
- (u, v, 1)'= Kc*(mx, my, 1)'
- 在进行特征提取和匹配时,会在图像同一目录自动生成[name].sift和[name].mat文件。[name].sift保存提取的图像特征点,[name].mat保存图像间的匹配信息。若想要改变特征检测的参数重新重建模型的话,需要先删除.sift,.mat文件。
- 若想要读回匹配的信息,需要先"SfM->Pairwise Matching->Export F-Matrix Matches"使匹配信息保存到txt文件里。