3D打印所需的数据通常是通过CAD等三维软件制作生成,往往制作周期长、难度大,本文提出通过照片的方式建模。
1.1图像去噪
与日常3D打印物体相比,建筑结构的打印实体通常比较大,且图像质量无法保证,因此需对图像进行去噪处理。
本文采用马尔可夫去噪方法:
1.将图片转换为灰度,便于简化计算;
2.假设本图片是理想图片没有噪点,而且有噪点的图片噪点数量比较少,那么理想图片和噪点图片对应像素间必然相关;
3.我们同样可以假设在一个小范围内,每个像素同其周围的像素间也必然存在联系;
4.可以将他们之间的联系用能量表示:
这里可以改变相邻像素的位置,以期达到更好的效果
式中的m、n分别表示距离像素xi的距离。
1.2图像分割和轮廓提取
图像分割可以看作是将有相似密度的像素群进行分类的过程,同样可以采用马尔可夫方法:
1.将图像划分为n个区域,使得同一区域的像素同其他区域像素相对独立;
2.计算每个像素在这些区域的能量ξi;
3.计算每个像素对应区域:
其中如果考虑相邻像素的影响,可以将E(I,I')加入公式中
公式中λ是对应相邻像素能量的变化阀值。
4.降温并设置对应阀值。
结构建模
对于以上得到的轮廓信息,还不足以直接生成3D模型,因为该信息是在二维平面的,缺少深度信息。
对于深度信息的恢复,常见的方法有从明暗恢复形状,从纹理恢复形状,从阴影恢复形状,利用多光源信息等。
由于对于建筑结构,很多信息是已知的,所以可以直接从已知的知识中重建形状。
2.1 3D重建
对于简单的结构,比如立方体、圆柱体,可以根据立体几何知识加以重建;对于复杂的结构,可以采用马尔可夫随机场确定相应结构。
1.参数化每个超像素点的位置和方向信息;
2.发掘图像特征和深度信息;
3.发掘连接结构、共面结构和共线结构;
4.采用机器学习技术,利用以上知识恢复重建3D结构。
实际操作中,对于不准确的恢复可采用贝塞尔曲线加以修复:
2.2建筑构造
对于建筑构造,可以采用遗传算法,给出合理的建筑结构,尽可能的减少不合理的结构设计。以平屋面建筑构造为例:
1.初始化种群:立墙、女儿墙、变形缝、雨水口、烟囱、屋面检修孔、屋面出入口、檐沟、挑檐等构造;
2.适应度计算:对构造个体在不同位置及大小进行适应度计算;
3.选择运算:选择不同个体进行遗传操作;
4.交叉运算:以某一概率相互交换某两个个体之间的部分染色体;
5.变异运算:对个体的某一个或某一些基因值按某一较小的概率进行改变;
6.重复以上过程,直到得到可接受的结果。
探讨
图像处理部分,图像去噪采用了马尔可夫去噪方法,针对不同图像不同噪点强度,相邻像素的选择也不完全相同;
图像分割和轮廓提取,也同样需要控制阀值和冷却温度来确保准确度;
结构建模部分,机器学习实例的数量以及图像与训练实例的相似度,对3D重建的准确度影响很大;
同时,遗传算法中个体适应度及变异运算也需要针对不同构造加以修正。
由于机器学习技术的兴起,也可以考虑将机器学习算法(比如卷积神经网络)应用于建模部分。
比如训练二维图像和3D结构之间的关系,预测已知图像的3D结构。
但这种方式目前训练样本往往很大,训练速度慢,机器要求高。
但其准确性和智能性却是其他算法无法比拟的。
因此,在实际建模过程中,每个环节都需要人工干预,对错误和不足及时进行修正;
同时,这种建模方式的精度自然要低于纯手动建模的方式,但效率要比纯手动建模高很多。
领取专属 10元无门槛券
私享最新 技术干货