[0032] 下面结合附图和实施例对本发明作进一步说明。
[0033] 如图1所示,一种用于三维重建的高质量照片序列获取方法,主要包括以下步骤:
[0034] 步骤1.搭建照片拍摄系统:
[0035] 1‑1.照片拍摄系统如图2所示,包括拍摄基台1、均匀光源2、电动转台3、相机支架4、相机5、被拍摄物体6、控制模块7、基台背景布8和转台背景布9。
[0036] 1‑2.拍摄基台1铺设有基台背景布8,基台背景布8的中心位置放置电动转台3,电动转台3上铺设有转台背景布9,转台背景布9之上放置被拍摄物体6。通过基台背景布8和转台背景布9确保照片背景颜色一致。
[0037] 1‑3.均匀光源2照射被拍摄物体6,拍摄基台1上设有相机支架4,所述的相机支架4设置有弧形区域,所述的相机5架设在相机支架4的弧形区域上,通过相机支架4的弧形区域使相机镜头到被拍摄物体的距离相等,
[0038] 1‑4.相机5的相机镜头朝向被拍摄物体6,控制模块7连接相机5和电动转台2,控制电动转台2旋转和相机5拍摄照片。
[0039] 步骤2.按序全范围拍摄获取物体照片
[0040] 拍摄物体对照片拍摄系统进行设置:
[0041] (1)当物体为对称结构时,添加额外的标记进行区分。(2)根据物体颜色更换基台背景布和转台背景布。背景布颜色选择的原则是不和物体表面颜色相近。(3)放置物体以及调整相机。将物体放置在电动转台中心,保证整个物体处于相机屏幕内,调节相机焦距,避免照片出现深度模糊。(4)设置拍摄光环境。调节两侧均匀光源的位置和光照强度,尽量减少物体阴影。
[0042] 照片拍摄分水平和竖直两个方向进行。在水平方向上,物体每旋转360度,相机要拍n张照片,则物体每次转动的角度为360/n度,设置物体每旋转r度,相机拍摄一张照片。在竖直方向上,相机在相机支架上进行移动,相机每完成一圈照片的拍摄,相机在相机支架上移动t度。相机支架示意图如图3所示。在物体上半部分拍摄完成之后,将物体倒置,进行下半部分的拍摄。物体全范围照片获取过程如下:
[0043] 2‑1.将物体正放于电动转台上,拍摄物体上半部分照片,具体步骤如下:
[0044] 2‑1‑1.相机设置在相机支架0度位置。
[0045] 2‑1‑2.电动装台从0度开始顺时针旋转,每旋转r度,相机拍摄一张照片。
[0046] 2‑1‑3.相机位置沿相机支架增加t度。
[0047] 2‑1‑4.如果相机位置小于90度,重复步骤2‑1‑2和步骤2‑1‑3,否则停止拍摄。
[0048] 2‑2.保持补光灯位置和强度不变,保持相机焦距不变,将物体倒置于电动转台上,拍摄物体下半部分照片,具体步骤如下:
[0049] 2‑2‑1.相机设置在相机支架t度位置,相对于正放物体,相机拍摄角度为‑t度。
[0050] 2‑2‑2.电动装台从0度开始顺时针旋转,每旋转r度,相机拍摄一张照片。
[0051] 2‑2‑3.相机位置沿相机支架增加t度,相对于正放物体相机拍摄角度增加‑t度。
[0052] 2‑2‑4.如果相机位置小于90度,重复步骤2‑2‑2和步骤2‑2‑3,否则停止拍摄。
[0053] 2‑3.以电动转盘旋转角度为横轴,以相机拍摄角度为纵轴,将物体全范围照片排成照片阵列,如图4所示。
[0054] 优选的,r为15度,t为30度。
[0055] 步骤3.基于照片阵列开展质量检测与适应性重拍
[0056] 3‑1.照片预处理。利用色键抠图算法对照片阵列中每一张照片的背景进行去除,如图5所示。
[0057] 3‑2.利用SIFT算法提取照片阵列中每一张去背景照片的特征点。
[0058] 3‑3.照片阵列质量检测。遍历照片阵列中的每一张去背景照片,利用快速近邻匹配算法对当前照片和其相邻的上、下、左、右四个方向照片的特征点进行匹配,并计算特征点重复度,如式(1)所示。
[0059]
[0060] 其中,m表示当前照片,n表示相邻照片,PM(m,n)表示照片m和照片n的特征点重复度,Fall(m)表示照片m所有特征点的数量,Fover(m,n)表示照片m和照片n特征点重合的数量。特征点重复度计算结果如图6所示。
[0061] 3‑4.调整照片阵列内容。当PM(m,n)大于给定阈值,说明照片m和照片n具有高重叠度,不需要添加照片;当PM(m,n)小于给定阈值,说明照片m和照片n的重叠关系弱,需要在照片阵列中添加新的照片来加强重叠关系,具体做法如下:
[0062] 3‑4‑1.在照片m和照片n的拍摄角度范围内,取角度范围中间值进行补拍,得到照片k,利用色键抠图去除背景并添加到照片阵列相应位置。
[0063] 3‑4‑2.计算照片m和新添加照片k的特征点重叠度,以及照片k和照片n的特征点重复度。
[0064] 3‑4‑3.如果特征点重复度小于给定阈值,则继续补拍照片添加到照片阵列,直到特征点重叠度大于给定阈值或无法继续添加照片。水平方向照片阵列调整结果如图7所示。
[0065] 3‑5.删除冗余照片,具体步骤如下:
[0066] 3‑5‑1.遍历照片阵列的每一行,提取没有添加过照片且照片数量大于2的角度范围。
[0067] 3‑5‑2.遍历每个角度范围。
[0068] 3‑5‑3.设i为当前角度范围内的第i张照片,j为当前角度范围内第j张照片,初始化i为当前角度范围内的起始角度照片,则j为相对于起始角度照片距离为2的照片。
[0069] 3‑5‑4.计算照片i和照片j的特征点重复度PM(i,j)和PM(j,i)。
[0070] 3‑5‑5.当PM(i,j)和PM(j,i)都大于给定阈值,将照片i和照片j之间的照片删除,j=j+1,返回步骤3‑5‑4;
[0071] 否则i=j‑1,j=j+1,返回步骤3‑5‑4;
[0072] 3‑5‑6.当j超过当前角度范围时,停止当前角度范围内的删除照片操作。删除冗余照片过程如图8所示。
[0073] 3‑6.将最终的照片阵列按行输出,得到高质量照片序列。