基于3DSOM的侧影轮廓方法空间三维模型重建
- 1 背景知识
-
- 1.1 三维信息获取方法
- 1.2 侧影轮廓方法原理及其流程
- 2 三维模型制作
-
- 2.1 马铃薯三维模型制作
-
- 2.1.1 多角度图像导入
- 2.1.2 图像掩饰
- 2.1.3 表面生成与优化
- 2.1.4 纹理映射
- 2.1.5 模型检查
- 2.1.6 模型定性描述
- 2.1.7 模型定量描述
- 2.2 圣诞老人蜡烛三维模型制作
-
- 2.2.1 多角度图像获取与导入
- 2.2.2 图像掩饰
- 2.2.3 表面生成与优化
- 2.2.4 纹理映射
- 2.2.5 模型定性描述
- 2.2.6 模型定量描述
- 3 问题与思考
-
- 3.1 底部图片位置移动问题
- 3.2 顶部与底部图片纳入建模问题
- 3.3 阈值对掩饰效果影响问题
- 3.4 欠掩饰与过掩饰热点区域问题
- 3.5 纹理手动匹配配置问题
- 3.6 多角度图像横、竖状态问题
- 3.7 模型底部凸起问题
- 参考文献
1 背景知识
1.1 三维信息获取方法
图2 3D S.O.M.软件定标垫
??定标垫由15组点集合构成,每个点集合包含四个点,呈放射状排布;点分为大点和小点,不同大小分别代表不同得分;各点集合对应大点或小点个数均不一致,亦即各点集合对应得分不同,得分不同进而可以确定不同的点集合分布情况。3D S.O.M.软件将依据各图像中不同点集合的位置,从而确定对应图像的拍摄方位,并进一步将若干多角度图像位置关系加以求解。相机定标操作在图像导入3D S.O.M.软件时自动加以完成。
??此外,各多角度图像还需进行噪声去除、畸变校正等基本图像操作的预处理过程。
??结合前述锥体轮廓生成原理,3D S.O.M.软件通过“轮廓逼近、顶点分析、三角划分”(SAVANT)方法对模型加以建立。首先对所导入的若干多角度图像加以掩饰(Mask)处理,选择各图片中目标物体所处位置,并将与目标物体无关的背景、定标垫区域等加以识别;依据各多角度图像目标物体部分信息,获取若干多边形近似轮廓,并为每一个近似轮廓加以编 ;随后由多边形轮廓计算得到三个顶点,并记录各顶点信息;最后,利用三角格 ,将完整表面进行划分,从而勾勒出表面细节[8]。上述即为侧影轮廓方法的“轮廓提取”与“顶点计算及可视外壳生成”步骤的实现。至此,生成了目标物体的外形轮廓模型,但并未包含其具体外表纹理信息。其中,以马铃薯为例,所得三角格 体积模型如图3所示;所得外表面如图4所示。
??此外,上述步骤中值得一提的是,在由三角格 生成初始表面(体积)后,还需对其加以体积优化、细化表面等进一步优化操作,方可得到最终的目标物体表面形态模型。
图4 马铃薯未纹理映射外表面
??最终,还需依据上述所得三维表面轮廓模型对应方位信息特点,结合不同多角度图像方位信息,为三维模型表面进行纹理映射,从而使得模型具有更多可视化特征,更好描述实际物体特点。如图5所示。
2 三维模型制作
2.1 马铃薯三维模型制作
2.1.1 多角度图像导入
??在3D S.O.M.软件中,单击“File”→“New Project”,在弹出的文件选择窗口中选择马铃薯多角度图像,并选择“打开”。若需打开已有模型文件,可在前述“File”中选择“Open”。
??掩饰时需要注意,不要对目标物体顶部与底部图像加以处理,以防止此类图像掩饰后与其他正常掩饰图像混杂并参与建模,从而导致结果错误或模型残缺等情况。
??在对自动掩饰结果进行完善过程中,可分别借助“Round Brush”与“Outline curve”对错分区域加以修改。在个人实际操作中发现,两种修改工具各有其利与弊——“Round Brush”方法对一些零散、细碎的错分小区域的修改效率较高,但相对较为容易触碰到无错区域(即将土豆表面错误修改为非土豆表面);而针对后者,“Outline curve”方法通过圈画区域的方式纠错,对较大错分区域的修改较为方便,但圈画过程自身整体较为耗时,对于零星存在的错分区域而言修改效率不如前者。下图所示分别为“Round Brush”修改方法与“Outline curve”修改方法。
??分别对全部多角度图像(顶部与底部图像除外)进行同样操作,完成所有掩饰工作。
2.1.3 表面生成与优化
??在3D S.O.M.软件中,单击“Processing”→“Generate Surface”,在弹出的选项窗口中选择第一项“线框生成”。该界面共有三个选项,其次分别为“表面优化”与“细分表面配置”;在生成表面过程中,需要依次执行上述三个选项所对应步骤。
??其中,在生成原始外表面而未对其加以优化时,可以看到所得马铃薯表面具有明显尖锐部分,如同“刀痕”;而在对表面进行优化后,则可以观察到对应尖锐区域明显缓和,突出部位被削弱。由此可以看出优化表面步骤对所得模型加以了适当平滑处理。
??下图分别展示出优化前马铃薯表面两处尖锐部分(前两图)及其优化后的结果(后两图)。
??最终所得优化后的表面生成结果如下所示。可以看到,所得最终结果较之原始马铃薯外形十分接近,且其上尖锐部分得到充分平滑,视觉方面亦显得尤为逼真。
2.1.7 模型定量描述
??借助尺子工具对马铃薯模型尺寸加以定量描述。
??在3D S.O.M.软件中,单击“Model Tools”→“Measure Model”,即可通过鼠标选择模型中待测量点,并自动求出其对应距离。
??此处需要注意的是,软件自动距离测量依赖于所选用定标垫的大小。由于此马铃薯多角度图像并不是我自己拍摄的,因此我也暂未无法获取其拍摄时对应定标垫半径大小,因此对于马铃薯模型的测量并未更改其单位长度。
2.2.2 图像掩饰
??下图为表面生成并优化后所得结果。
??可以看到,上述初始表面已具有一定圣诞老人形态,但其表面尖锐处相对较多;优化后将一些明显的尖锐或突变部分加以消除,但其依然存在一定数量的尖锐地带;最终细分结果则完全将模型外表面的不合理沟壑加以平滑,从而进一步加深了圣诞老人的原有形态。
2.2.4 纹理映射
??依据前述方法,由多角度图像(包括顶部与底部图像)对圣诞老人蜡烛模型进行纹理映射。所得结果如下图(其中将软件View Model的背景颜色修改为蓝紫色)。
2.2.6 模型定量描述
??此处同样借助尺子工具对圣诞老人模型加以定量描述。
3 问题与思考
??前述操作部分已列举部分实践过程中自己的思考与理解,本部分则对前述未提及的问题加以探讨。
3.1 底部图片位置移动问题
??如前所述,多角度图像在拍摄时,目标物体与定标垫之间不允许出现相对移动。而若需对物体底部加以拍摄,其往往需要改变物体位置(如将马铃薯原本朝下一面翻转至朝上、将圣诞老人蜡烛倒置等)。这似乎看上去不满足相对位置不移动的要求。
??针对这一问题,查阅相关资料可知,顶部与底部图像并不属于“多角度图像”范畴,因此相对位置这一限定对其而言并无要求。此外,进一步思考还可以发现,在利用顶部与底部图片进行纹理手动匹配时,我们需要手动调整图像中目标物体与已有模型的相对位置——这一步在一些角度上可以认为是通过“人工”的方式进行了顶部或底部图像的“定标”;而之所以要求前述多角度图像相对位置不变正是由于软件需要借助其与定标垫的位置关系加以自动进行定标。因此,便可以解释底部图片(包括顶部图片)无需规定相对位置不变的原因。亦正因如此,在发现圣诞老人蜡烛无法自主倒立后,我尝试用手协助其自主倒立,且软件并未 错。
3.2 顶部与底部图片纳入建模问题
??在使用马铃薯进行空间三维建模时,我尝试不剔除顶部与底部图片,而是将其纳入建模图片范围;原本希望观察这种操作可能会带来何种错误结果,但发现软件并未 错,且生成的模型无异常。
??针对这一问题,目前个人认为,这是由于在掩饰过程中,我并未直接选择所有图像的批量掩饰,而是对其它角度的图像分别加以掩饰——即最终参与建模的图像分别为经过掩饰的多角度图像与未经过掩饰的顶部与底部图像。而建模时软件可能直接不考虑未掩饰的顶部与底部图像(或软件亦考虑顶部与底部图像,但由于其未经过掩饰,使得程序无法由这些图片中获取有用的信息),从而进一步得到了无错误的建模结果。
3.3 阈值对掩饰效果影响问题
??在调整掩饰阈值控制条时发现,有些情况下阈值大小与掩饰效果似乎并无绝对关系。例如,在实践中,往往应当掩饰阈值控制条越大,过掩饰的可能性即越大(即目标物体被当作非目标物体的可能性越大),反之则反;而在一副马铃薯图像中发现,增大控制条反而可以得到较好的马铃薯图像掩饰结果,调小阈值控制条则使得马铃薯被过掩饰,仅剩余支撑架。如下所示,左图对应较大阈值控制条,右图为较小阈值控制条。
??由此可知,3D S.O.M.软件的掩饰算法应当是借助于临近像元之间的像素差异及其关系等加以实现的。
3.5 纹理手动匹配配置问题
??其次,这一步骤中还包括“Optimise Alignment”选项。同样结合英文说明与操作实际情况,个人认为这一选项是为了方便用户在将图像与模型结合后,依据图像对模型的几何形状加以完善。其所对应的三个选项可分别供用户选择更准确的几何对象(用以手动匹配纹理的图像更准确、已有的模型更准确、二者一样准确),并在后期执行操作时依据用户的选择加以适当调整。
??如下图,可以看出图像中马铃薯的轮廓对原有马铃薯的几何表示优于已有模型的表达,因此选用第一个选项;则后续纹理匹配过程中若遇到问题,可能将优先以图像中的几何轮廓为准。
??此外,在配置完毕后,所弹出的窗口显示可进行的操作不单单是纹理匹配,还可以同时对几何表面加以完善,如下图所示。这或许可以进一步表明上述“Optimise Alignment”选项对模型的优化意义。
??将这幅原本横向的图片替换为一幅原本为竖向的图像“test.jpg”,可以看到进入Project的“test.jpg”自动变为横向。
3.7 模型底部凸起问题
??在制作圣诞老人蜡烛模型完毕后,发现所得模型下部(圣诞老人脚部)具有略微凸出部分,如下图红线内部。
??除上述操作之外,目前自己并未找到针对模型底部凸出部分的第三种解决方法。尽管这一问题并未得到良好解决,但自己加深了拍摄角度对侧影轮廓方法影响的认识。其原理亦十分简单,即多角度图像的拍摄角度、照片数量与质量等都将对物体的轮廓产生影响;而物体的侧影轮廓是这一三维模型重建方法的核心。因此,模型最终外表与多角度图像拍摄情况密切相关。
参考文献
[1] 栾悉道, 应龙, 谢毓湘, 等. 三维建模技术研究进展[J]. 计算机科学, 2008(02):208-210.
[2] 张建, 李宗南, 张楠, 等. 基于实测数据的作物三维信息获取与重建方法研究进展[J]. 华中农业大学学 , 2013,32(04):126-134.
[3] 曹煜, 陈秀宏. 基于侧影轮廓的图像三维重建方法[J]. 计算机工程, 2012,38(05):224-226.
[4] 刘钢, 彭群生, 鲍虎军. 基于图像建模技术研究综述与展望[J]. 计算机辅助设计与图形学学 , 2005(01):18-27.
[5] Laurentini A. The visual hull concept for silhouette based image understanding[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1994,16(2):150-162.
[6] 郑国威, 高满屯, 董巧英. 基于平面镜的摄像机内参数线性标定方法[J]. 计算机工程与应用, 2006(28):86-88.
[7] 谷月霞, 张维忠, 王晓燕, 等. 基于未标定图像的三维重建算法[J]. 计算机工程, 2010,36(08):214-216.
[8] Baumberg A, Lyons A, Taylor R. 3D S.O.M.—A commercial software solution to 3D scanning[J]. Graphical Models, 2005,67(6):476-495.
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!