3d打印拓扑结构优化(采用多头神经网络)

摘要

材料挤压是最广泛使用的增材制造方法,但其在最终用途产品中的应用受限于易出错性。人类可以检测错误,但无法提供持续监控或实时纠正。现有的自动化方法不能在不同的零件、材料和打印系统中通用。我们使用偏离最佳打印参数自动标记的图像训练多头神经网络。数据采集和标记的自动化允许生成一个庞大而多样的挤压 3D 打印数据集,其中包含来自 192 个不同部分的 120 万张图像,并用打印参数标记。如此训练的神经网络,连同一个控制回路,能够实时检测和快速纠正各种错误,这些错误在许多不同的 2D 和 3D 几何形状、材料、打印机、刀具路径甚至挤压方法中都是有效的。我们还创建了网络预测的可视化,以阐明它是如何做出决策的。

介绍

材料挤压是最常见的增材制造 (AM) 方法,原因包括其成本相对较低、后处理量少、与多种材料的兼容性以及多材料能力1。这些在许多领域2 ,包括医疗保健3,医疗设备4,航空航天5和机器人技术6。

但是,这些应用程序中的许多应用在研究阶段仍然存在的关键原因是,挤出AM容易遭受各种生产错误的影响。这些范围从小规模的尺寸不准确和机械弱点到总的构建失败1 , 7 , 8 , 9, 10 . 为了抵消错误,熟练的工人通常必须观察AM过程,识别错误,停止打印,删除零件,然后适当调整新零件的参数。

如果使用新材料或打印机,此过程需要更多时间,因为工人会获得新设置11、12的经验. 即使那样,也可能会错过错误,尤其是如果工人没有不断观察每个过程。如果多台打印机同时运行,或者正如Covid-19-19的大流行所强调的那样,这可能很困难,由于社会疏远或疾病,人员受到限制。这种不仅会花费材料,能量和时间,而且还限制了最终用途产品中AM零件的使用,尤其是安全至关重要的产品,例如医疗设备以及基于AM的供应链的弹性。随着增材制造扩展到生活和功能材料、复杂的多材料晶格结构以及诸如偏远、户外建筑工地或人体等具有挑战性的环境,这些挑战将变得更加紧迫。

这激发了各种有趣的研究,以监测挤出AM 13。当前的14、15,惯性16、17和声学18、19、20、21、22个传感器通常用于监测挤出AM。_ _ 尽管这些方法导致对打印过程中某些(通常是大规模的误差方式)的可靠检测,但许多错误仍无法检测到。这些方法也尚未在大多数3D打印机中使用,因为这种方法的传感器和放大器的成本通常很高。此外,它们不足以数据富含数据,以实现在线反馈和更正。

基于摄像机的方法可能具有通用性和数据丰富。单台相机安装在打印机框架上,具有自上而下或侧面的视图,再加上传统的计算机视觉和图像处理技术,已被用于检测多样的挤压AM AM错误23、24、24、25、26、27、27、28、29,30、31、32 _ _ _ _. 这种方法具有相对便宜,更易于设置的优点,并且相机通常可以随时查看大部分制造零件。这允许检测到许多错误,例如填充变形或材料“斑点”的存在。

但是,使用单个摄像头可以限制有关制造过程的信息量,从而限制错误和错误类型的范围。多相机方法实施更昂贵和复杂,但潜在的能力更强。该零件的多种视图或添加红外摄像机可以允许从单个观点33、34、35看来可能不明显的缺陷,例如不完整的印刷品。. 例如,由多相机 3D 结构光扫描和数字图像相关生成的打印部件的 3D 重建可以与 3D数字部件模型进行比较,以检测尺寸不准确35、36、37、38、39、40、41、42,43。_ _ 但是,这些更复杂的系统通常是昂贵的,对照明条件和零件表面特性敏感,由于扫描时间和计算,需要精确的定位和校准,并且仅限于检测到足够大的错误以查看给定的扫描仪分辨率限制。

如上所述,框架安装的单摄像机和多摄像头方法也经常发现很难查看材料,因为它是从喷嘴中沉积的,因为打印头会遮盖视图。通常,必须暂停打印以允许对一层的成像,从而防止实时校正,减慢生产率并自身由于挤压不一致而导致错误。这激发了在喷嘴或挤出机上安装单个和多个摄像头的工作,这些摄像头可以查看正在进行的打印过程,并启用实时反馈以纠正打印过程中过度或不足的挤出44、45以及材料形状的估计从喷嘴46挤出. 传统的计算机视觉方法非常有前途,可以明确针对已校准的 3D 打印系统中特定部分的特定错误。然而,手工制作可以泛化到不同零件、打印机、材料和设置的特征提取算法是非常具有挑战性的。因此,大多数示例仅显示了打印机、零件几何形状、材料和打印条件的单一组合,并且没有显示对多个零件或设置中的错误进行更正。

机器学习,特别是深度学习技术已经通过以其他更简单的表示48来表达复杂的表示,在包括Vision 47在内的许多应用程序中都取得了最新的性能。这导致了几次令人兴奋的机器学习挤压AM错误检测的演示49、50、51、52、53、54、55、56. 然而,现有的工作只证明了单个部分的错误检测,因此现有技术对其他部分的有效性,特别是在训练数据中没有看到的部分,是未知的。

此外,大多数现有方法只能检测到单一的错误模式:流速差49、层间缺陷50 、翘曲变形53和大的顶部表面缺陷52、54。现有的方法通常还需要一个已经成功打印的对象,以便为错误检测提供比较51 , 54 , 55 。. 对于自定义零件,这可能尤其有限。机器学习在错误检测方面最令人兴奋,因为它可能比手工制作的特征更强大,更适用于新材料、几何形状和打印机。但是,机器学习算法发现可概括的错误特征的潜力仍然没有探索。

为了使错误检测在减少3D打印废物并提高可持续性,成本和可靠性方面具有全部潜力,必须与误差校正结合使用。已经在检测和纠正同一对象51、55的后续打印之间的某些类型的错误方面进行了工作。但是,该对象的许多打印都需要构建数据集,从而在该对象中启用错误校正。此外,这些方法无法实时纠正,这意味着如果检测到错误,则无法恢复该部分。先前的一项研究检查了挤出 AM 49的实时校正和控制. 但是,该实施仅演示了流量打印参数的校正,并且仅在用于训练和测试系统的一种几何形状中进行。在错误检测和纠正之间也存在明显的延迟。与错误检测的情况一样,现有纠错方法在看不见的物体中的性能尚不清楚,这限制了它们的工业实用性。

在这里,我们报告了一种易于部署的方法,该方法使用廉价的网络摄像头和单个多头深度卷积神经网络来增强任何基于挤压的 3D 打印机,并为新材料提供错误检测、校正和参数发现(图 1 ))。通过Caxton的开发:协作自主挤出网络,它在这项工作中已经实现了这一点,该网络连接并控制了学习3D打印机,允许车队数据收集和协作端到端学习。网络中的每个打印机都可以在零件拆卸系统的帮助下连续打印和收集数据。与现有的深度学习AM监视工作不同,该工作通常使用人类的错误标记来训练算法,Caxton会根据偏离最佳打印参数的偏差来自动标记错误。

因此,Caxton不仅知道如何识别如何识别,还知道如何纠正各种错误,因为对于每个图像,它知道打印参数与其最佳值有多远。这种自主生成的培训数据可以创建更大,更多样化的数据集,从而获得更好的准确性和普遍性。最终系统能够实时和实时检测和纠正多个参数。由于单个共享特征提取主链,多头神经网络可以自学习制造参数之间的相互作用,甚至使系统能够识别多个解决方案以求解相同的错误。作为这项工作的一部分,已经策划了一个大规模的,光学的原位过程监视数据集,并将释放。

它包含超过100万个从打印机喷嘴中的材料沉积的样本图像,并带有其各自的印刷参数,这些打印参数来自不同的2D和3D几何形状。该系统是高度可扩展的,使用常用固件,并且能够通过远程添加更多打印机来实现更大、更多样化的未来数据集的增长。尽管仅针对挤出的热塑性聚乳酸部件进行了培训,但这些功能可以推广到以前看不见的打印机、相机位置、材料和直接墨水写入挤出。

我们还描述了一些创新,例如刀具路径拆分和比例参数更新,与当前发布的实时 3D 打印纠错工作相比,这些创新使校正速度提高了一个数量级。这可以通过仅需要网络连接的低成本设备、标准消费者网络摄像头和低成本单板计算机(例如,Raspberry Pi)来实现。最后,在网络中使用注意力层使人类操作员能够解释网络关注的特征。然后使用可视化方法来深入了解经过训练的神经网络如何进行预测,以帮助基本理解并帮助建立信任或实现可追溯性。

图1:用于自动数据收集的CAXTON系统的概述。

3d打印拓扑结构优化(采用多头神经网络)(1)

用于从挤压 3D 打印机收集各种数据集的工作流程,并使用打印参数自动标记图像。b八台热塑性挤出 3D 打印机 (Creality CR-20 Pro) 的机队配备了专注于喷嘴尖端的摄像头,以监控材料沉积。c使用随机选择的切片参数渲染单个输入几何图形的生成刀具路径。d示例打印期间收集的数据快照,显示具有不同参数组合的图像。e利用现有运动系统设计的移床器和码头以及操作期间拍摄的照片。FCaxton收集的完整数据集中的归一化参数的分布,包含超过120万个样本。

结果数据集生成、过滤和扩充

我们生成了一个新的 3D 打印数据集,其中包含使用聚乳酸 (PLA) 打印的零件,并标有相关的打印参数,使用熔融沉积建模 3D 打印机针对各种几何形状和颜色进行标记。我们的CAXTON数据生成管道自动化从STL文件选择到工具路径计划,数据收集和存储的整个过程(图 1A)。模型几何图形会自动从在线存储库 Thingiverse 下载。随后使用随机采样设置(例如比例、旋转、填充密度、填充图案和壁厚)对几何图形进行切片。然后通过自定义 Python 脚本将生成的刀具路径转换为具有 2.5 毫米的最大移动,以避免执行单个参数集过长的移动并减少固件响应时间。

在打印期间,每 0.4 秒捕获一次图像。每个捕获的图像都带有时间戳并标有当前打印参数:热端和床的实际和目标温度、流速、横向速度和 Z 偏移。这些参数可以通过从固件中实时检索值或通过使用 G 代码命令设置值来精确知道。

此外,对于每个图像,保存每台打印机上的喷嘴尖端坐标,以便在训练期间自动裁剪感兴趣的区域。在收集了 150 张图像后,通过对每个参数的均匀分布进行采样,为每台打印机生成新的打印参数组合。新的参数组合通过网络作为 G 代码命令发送到每台打印机,随后由于刀具路径转换而以最小的延迟执行这些命令。执行时,在参数更新过程再次发生之前,会收集另外 150 个标记图像。这一直持续到打印结束,并产生一组图像,每组图像的打印参数都大不相同(图 1)。通过对每个参数的均匀分布进行采样,为每台打印机生成新的打印参数组合。在参数更新过程再次发生之前,又收集了 150 个标记图像。这一直持续到打印结束,并产生一组图像,每组图像的打印参数都大不相同(图 1)。 1d )。

每个图像的这种自动标记过程提供了比基于人工的标记更高的分辨率,因为没有人工操作员可以以相同级别的准确度标记参数(例如,当前流速为 56%),并且没有人可以用多个打印参数相互强烈相互作用的确切组合(例如,喷嘴过高,流速过低,温度过低或这些的加权组合)。

由于采样次优参数组合,一些打印变成完全失败,在某个点之后提供的相关参数信息很少。这些图像被手动删除,留下 1,166,552 个标记图像(原始 1,272,273 个的 91.7%)。剩余的数据集包含一些嘈杂的标签,因为更新打印参数时发现的响应时间较长,例如在图像中出现明显变化之前的流速。响应时间由命令执行延迟和机械延迟组成。第一个延迟主要通过仅在从打印机接收到参数更新命令的确认后捕获图像来处理。对于机械延迟,运行最坏情况实验以确定将数据集中每个参数从最小值更改为最大值的响应时间。

发现更改主要在应用更新后的 6 秒内可见,因此,在参数更新后删除了 15 张图像。这会留下 1,072,500 个样本,其中系统已达到其所需状态。由于打印机未正确执行 G 代码命令或热敏电阻等传感器中的故障而导致的不切实际的参数异常值被过滤掉,留下 991,103 个样本。最后,RGB 通道的平均像素值小于 10 的非常暗的图像被移除。这会产生一个包含 946,283 个标记图像(原始图像的 74.4%)的清洁数据集。然后将当前连续的参数值分箱为每个参数的三个类别:低、好和高。这些箱子的上限和下限是根据我们对 PLA 的 AM 经验选择的。这为神经网络创建了可能的 81 种不同的类别组合来预测(四个参数的三个类别)。

我们使用数据增强来增加过滤数据集的大小和质量,从而避免过度拟合并提高模型的通用性57。所捕获图像中沉积材料的位置和形状因打印部件的几何形状而有很大差异。此外,发现颜色、反射率和阴影都因相机位置、材料选择和打印机设计而异。

为了模拟更广泛的几何形状、相机位置和材料,数据集中的每个图像都经过了广泛的数据增强技术(图 2e ))。首先,相机拍摄的全尺寸图像在任一方向上随机旋转最多 10 度。

然后以 0.1 的概率应用较小的透视变换。然后使用数据收集期间保存的喷嘴尖端坐标将图像自动裁剪为聚焦在喷嘴尖端上的 320 × 320 像素方形区域。在裁剪之前应用旋转和透视变换,实际上消除了裁剪区域中对填充的需要。然后将 320 × 320 图像中面积在 0.9-1.0 之间的随机正方形部分裁剪并调整为 224 × 224 像素——深度神经网络的输入大小。

随后,可以以 0.5 的概率对图像应用水平翻转,然后对图像的亮度、对比度、色调和饱和度应用 ±10% 的颜色抖动。与在打印机上重新定位相机和在数据集收集期间改变环境照明条件相比,这种合成数据增强的使用更节省时间和资源。它还允许在训练期间在运行时应用功能增强的更小的原始数据集,而不是通过更多样本来增加数据集大小。最后,使用过滤数据集中所有图像的每个通道的像素均值和标准差对变换图像中的通道进行归一化。它还允许在训练期间在运行时应用功能增强的较小原始数据集,而不是通过更多样本来增加数据集大小。最后,使用每个通道的像素均值和过滤数据集中所有图像的标准偏差将转换图像中的通道进行标准化。

图2:人类解释的多头剩余注意网络结构,性能和可视化。

3d打印拓扑结构优化(采用多头神经网络)(2)

结果

1A)。此外,对于每个图像,这一直持续到打印结束,并产生一组图像,每组图像的打印参数都大不相同(图 1)。通过对每个参数的均匀分布进行采样,为每台打印机生成新的打印参数组合。新的参数组合通过网络作为 G 代码命令发送到每台打印机,随后由于刀具路径转换而以最小的延迟执行这些命令。

执行时,在参数更新过程再次发生之前,会收集另外 150 个标记图像。这一直持续到打印结束,并产生一组图像,每组图像的打印参数都大不相同(图 1)。通过对每个参数的均匀分布进行采样,为每台打印机生成新的打印参数组合。新的参数组合通过网络作为 G 代码命令发送到每台打印机,随后由于刀具路径转换而以最小的延迟执行这些命令。执行时,在参数更新过程再次发生之前,会收集另外 150 个标记图像。这一直持续到打印结束,并产生一组图像,每组图像的打印参数都大不相同(图 1)。

在参数更新过程再次发生之前,又收集了 150 个标记图像。这一直持续到打印结束,并产生一组图像,每组图像的打印参数都大不相同(图 1)。在参数更新过程再次发生之前,又收集了 150 个标记图像。这一直持续到打印结束,并产生一组图像,每组图像的打印参数都大不相同(图 1)。 1d )。每个图像的这种自动标记过程提供了比基于人工的标记更高的分辨率,因为没有人工操作员可以以相同级别的准确度标记参数(例如,当前流速为 56%),并且没有人可以用多个打印参数相互强烈相互作用的确切组合(例如,喷嘴过高,流速过低,温度过低或这些的加权组合)。

由于采样次优参数组合,一些打印变成完全失败,在某个点之后提供的相关参数信息很少。这些图像被手动删除,留下 1,166,552 个标记图像(原始 1,272,273 个的 91.7%)。剩余的数据集包含一些嘈杂的标签,因为更新打印参数时发现的响应时间较长,例如在图像中出现明显变化之前的流速。响应时间由命令执行延迟和机械延迟组成。第一个延迟主要通过仅在从打印机接收到参数更新命令的确认后捕获图像来处理。

对于机械延迟,运行最坏情况实验以确定将数据集中每个参数从最小值更改为最大值的响应时间。发现更改主要在应用更新后的 6 秒内可见,因此,在参数更新后删除了 15 张图像。这会留下 1,072,500 个样本,其中系统已达到其所需状态。由于打印机未正确执行 G 代码命令或热敏电阻等传感器中的故障而导致的不切实际的参数异常值被过滤掉,留下 991,103 个样本。最后,RGB 通道的平均像素值小于 10 的非常暗的图像被移除。这会产生一个包含 946,283 个标记图像(原始图像的 74.4%)的清洁数据集。然后将当前连续的参数值分箱为每个参数的三个类别:低、好和高。这些箱子的上限和下限是根据我们对 PLA 的 AM 经验选择的。这为神经网络创建了可能的 81 种不同的类别组合来预测(四个参数的三个类别)。

我们使用数据增强来增加过滤数据集的大小和质量,从而避免过度拟合并提高模型的通用性57。所捕获图像中沉积材料的位置和形状因打印部件的几何形状而有很大差异。此外,发现颜色、反射率和阴影都因相机位置、材料选择和打印机设计而异。

为了模拟更广泛的几何形状、相机位置和材料,数据集中的每个图像都经过了广泛的数据增强技术(图 2e ))。首先,相机拍摄的全尺寸图像在任一方向上随机旋转最多 10 度。

然后以 0.1 的概率应用较小的透视变换。然后使用数据收集期间保存的喷嘴尖端坐标将图像自动裁剪为聚焦在喷嘴尖端上的 320 × 320 像素方形区域。在裁剪之前应用旋转和透视变换,实际上消除了裁剪区域中对填充的需要。

然后将 320 × 320 图像中面积在 0.9-1.0 之间的随机正方形部分裁剪并调整为 224 × 224 像素——深度神经网络的输入大小。随后,可以以 0.5 的概率对图像应用水平翻转,然后对图像的亮度、对比度、色调和饱和度应用 ±10% 的颜色抖动。与在打印机上重新定位相机和在数据集收集期间改变环境照明条件相比,这种合成数据增强的使用更节省时间和资源。它还允许在训练期间在运行时应用功能增强的更小的原始数据集,而不是通过更多样本来增加数据集大小。

最后,使用过滤数据集中所有图像的每个通道的像素均值和标准差对变换图像中的通道进行归一化。它还允许在训练期间在运行时应用功能增强的更小的原始数据集,而不是通过更多样本来增加数据集大小。最后,使用过滤数据集中所有图像的每个通道的像素均值和标准差对变换图像中的通道进行归一化。它还允许在训练期间在运行时应用功能增强的较小原始数据集,而不是通过更多样本来增加数据集大小。最后,使用每个通道的像素均值和过滤数据集中所有图像的标准偏差将转换图像中的通道进行标准化。

图2:人类解释的多头剩余注意网络结构,性能和可视化。

3d打印拓扑结构优化(采用多头神经网络)(3)

a多头网络架构由一个共享的 Attention-56 网络58主干组成,其中包含堆叠的注意模块和残差块,然后是扁平化层之后的四个独立的全连接输出头,每个参数一个。这些头中的每一个都将其相关参数分类为低、好或高。注意模块由一个包含残差块的主干分支和一个执行下采样和上采样的掩码分支组成。b给定输入图像的每个模块的示例注意掩码。每个模块输出由许多通道的掩码组成,这里只显示一个样本。掩码显示了网络关注的区域,例如模块 2 的输出所示的最新挤压。c在每个参数的测试数据集上经过三个阶段的训练后最终网络的混淆矩阵。d训练和验证精度图来自三个种子的网络训练,用指数移动平均值平滑,在三个数据集上:单层、完整和平衡。E示例数据增强在培训期间用于使模型更普遍。

模型架构,培训和性能

使用具有单个主干和四个输出头的多头深度残差注意网络58从输入图像准确预测挤压过程中的当前打印参数,每个参数一个。在深度学习中,单标签分类很常见,只需要一个输出头就可以将输入分类为N个可能的课程。然而,这项工作需要多标签分类,以将输入分类为四个标签(流速、横向速度、Z 偏移和热端温度)中的每一个的三个可能类别(低、好和高)之一。

为了实现这一点,多个输出头与共享主干一起用于特征提取。共享主干的权重在训练的反向传递期间通过来自每个单独输出头的损失的总和进行更新。这允许主干学习自己对每个参数之间关系的解释以及跨参数共享的某些特征的重要性。另一种方法是使用多个独立的网络,每个网络都有一个输出头,并将问题视为四个独立的单标签分类问题。然而,这 孤立地查看每个参数,因此无法学习相互作用和关系。此外,它在训练和实际部署期间需要更多的计算,因为必须独立训练四个独立的网络(而不是一个),然后这些网络必须在操作期间并行运行。

在网络中使用注意力可以减少为我们的应用程序实现相同性能所需的网络参数数量,同时使网络对噪声标签更加鲁棒。注意力图还可以帮助检查错误和解释预测。单个主干允许为每个参数共享特征提取,因此与拥有单独的网络相比减少了推理时间。此外,它允许单个网络对不同参数之间的相互作用进行建模。每个头都有三个输出神经元,用于将参数分类为低、好或高。使用这种结构,网络可以在单个 RGB 输入图像的一次前向传递中同时预测流速、横向速度、Z 偏移和热端温度的状态(图 2a ))。这种多头结构和多个参数的知识可能会导致预测单个参数的改进。有趣的是,发现仅训练预测流量类别的网络在分类流量方面的准确度低于训练了解所有四个参数的网络。但是,需要进一步的实验来检查此结果,以及是否可以使用其他上下文来提高网络性能。

共享网络主干由三个注意力模块和六个残差块组成,基于 Attention-56 模型58. 注意力模块由两个分支组成:面具和躯干。主干分支执行传统网络的特征处理,由残差块构成。掩码分支先进行下采样,然后再进行上采样,以学习一个注意力掩码,用于对模块的输出特征进行加权。这个掩码不仅可以在前向传递期间用于推理,还可以在反向传播期间作为后向传递的掩码。这是选择这种网络架构的原因之一,因为人们相信这些掩码分支可以使网络对噪声标签更加健壮——我们的数据集包含由于参数变化和打印过程中的细微不一致而包含的噪声标签。

在这些块之后,网络主干被展平为一个完全连接的层,该层链接到单独的四个头中的每一个。头部需要是网络的单独输出,这项工作需要多标签分类,因为每个完整预测都需要每个头部始终具有单独的单个预测。另一种方法是使用四个独立的完整神经网络;然而,除了无法对制造参数之间的关系进行建模之外,这将显着增加计算和内存密集型。这项工作中使用的多头共享主干方法导致主干被用作特征提取器,以将输入图像的维度压缩为从每个制造参数的损失总和中学习的潜在空间表示。然后可以认为每个头部都充当从这个潜在空间到参数级别分类的映射。

为了可视化网络在每个阶段关注的特征,创建了每个模块之后的注意力图图像(图 2b)。在这里,来自每个模块的相同注意掩码应用于 3 个输入图像中的每一个,其中不感兴趣的区域变暗(注意:这些掩码是说明性示例,因为每个模块包含许多不同的注意图)。该网络似乎重点关注注意模块1的示例蒙版输出中的印刷区域,然后仅在模块2的最新挤出量上,模块3适用于先前的倒数,重点是除喷嘴尖端以外的所有内容。

发现将训练过程分成三个独立的阶段并使用迁移学习是最稳健的。对于每个阶段,训练了三个不同的种子网络。在第一阶段,网络在仅包含 100% 填充的第一层图像的子数据集上进行训练。这些打印中的每个参数的特征更加明显,并且通过第一次训练,使用这个子集,网络可以更快地学习检测重要特征。

发现这种分离加快了学习过程,因为单层的特征更易学习,随后可以在完整数据集上进行调整,从而使网络可推广到复杂的 3D 几何图形。最佳种子实现了 98.1% 的训练准确率和 96.6% 的验证准确率。然后,使用转移学习方法来重新训练所有3D几何图像的完整数据集中最佳种子的模型。这样做了 3 次,最佳种子的训练和验证准确率分别为 91.1% 和 85.4%。神经网络可以学习给出的数据中的固有偏见;因此,由于我们的完整数据集中的不平衡(例如,Z偏移量可能具有太高的值,因为喷嘴会崩溃到印刷床中),最终使用了传输学习。然而,这一次,只有四个头中每一个的最终全连接层在一个平衡的子数据集上进行了训练,该平衡子数据集包含每个可能的 81 种组合的相同数量的样本(四个参数,每个参数都可以低,好或高)。

网络主链中的特征提取的重量被冷冻。这实现了89.2%的培训准确性,验证为90.2%。然后,在我们的测试集上测试了最终训练的网络,该网络的总体准确性为84.3%。对于每个参数,我们测试集的分类精度为:流速 87.1%、横向速度 86.4%、Z 偏移 85.5% 和热端温度 78.3%。有关培训过程的更多信息可以在补充图中找到。 S1。考虑到多样化的多层测试集,这项任务不仅对于专业的人工操作员来说非常具有挑战性,而且这种准确性也低估了网络纠错的功效。这些参数是相互依赖的,因此,对于许多错误类型,将有多种参数更改组合可以纠正它。例如,喷嘴远离打印床的较高 Z 偏移很容易被误认为具有低流速——两者都显示为处于挤出状态——并且可以通过更改任一参数来纠正。但是,在训练数据中的标签中,这些参数组合中只有一个将被视为“正确”的准确性计算。

在线校正和参数发现管道

为了测试网络纠正打印错误和发现新材料最佳参数的能力,再次下载了随机3D模型,但这次是为了测试纠正。通过从均匀分布中随机采样,以不同的比例、旋转、填充密度、周长数和实体层数设置对每个三维模型进行切片。从给定的常用图案列表中随机选择填充图案。生成的刀具路径集随后被转换为最大移动量为1mm使用自定义脚本在打印过程中显著加快参数更改的固件响应时间,同时保持打印文件大小可管理,并防止由于打印机无法足够快地读取和处理G代码行而引起的抖动。

在打印过程中,喷嘴尖端和材料沉积的图像以2.5 Hz拍摄,并发送到本地服务器进行推理(图 3A)。每个接收的图像自动裁剪为320×320像素区域,重点是喷嘴尖端。用户在设置时安装相机时,需要一次指定喷嘴的像素坐标。此外,用户可能需要根据相机位置,焦距和打印机喷嘴的大小来改变裁剪区域的大小。选择喷嘴周围的合适区域会影响网络的性能,当在喷嘴尖端的任一侧都可以看到约 5 个挤出宽度时,可以看到精度和响应时间之间的最佳平衡。

3d打印拓扑结构优化(采用多头神经网络)(4)

A反馈管道的六个主要步骤启用了挤出过程图像的在线参数更新。B表包含θ模式(模式阈值),L(序列长度),i min(插值最小值),A (最大增加),每个打印参数的A- (最大降低)以及可能的更新量。C简单示例单层几何形状说明工具路径分为相等的较小段。反馈过程中使用1毫米长度,以实现快速校正并减少响应时间。

然后,裁剪图像调整为224×224像素,并在RGB通道之间进行归一化。接下来,分类网络将对此图像作为输入产生每个参数的预测(太高,太低,良好)。这些预测的参数存储在每个参数的不同设置长度L的单独列表中。如果经常做出特定的预测以至于它构成了大于或等于模式阈值的完整列表的比例(θ模式)),然后找到一种模式,并接受该预测。

如果找不到模式,则不会进行更新,并且打印参数被认为可以接受,就像在模式预测为“好”的情况下一样。如果发现模式“太高”或“太低”,则使用模式值构成的列表长度的比例用于扩展调整到促进比例校正的参数。具体而言,将一维线性插值应用于映射参数阈值(θ模式)和1之间的范围为新的最小值(I min)和1。然后使用插值值线性扩展最大更新量(A )对于参数增加,一个-由于该参数的响应时间长,并且存在超调的安全风险,因此hotend列表长度和模式阈值特别保守。

一旦计算出打印参数的最终更新量,它们就会发送到附加到每个打印机的Raspberry Pi。Pi 检索每个参数的当前值并创建一个 G 代码命令来更新参数。然后,PI通过固定固件来寻找对命令执行的确认。固件执行所有命令后,PI将向服务器发送确认。当服务器收到确认所有更新已经执行的确认时,它将开始再次进行预测。等待对所有参数更新的确认对于停止因超越和推动目标引起的振荡至关重要。

为了演示系统的校正能力,构建了一个实验管道以获取输入STL文件,用良好的打印设置将其切成薄片,插入G代码命令以将参数更改为差值,然后解析生成的G代码并拆分。该模型分为1 mm部分(图 4)。打印机的模型与训练相同,但相机位置改变(相对于喷嘴略微旋转和翻译),新的0.4毫米喷嘴具有不同的外部几何形状,以及看不见的单层打印样本。为了比较参数之间的响应,每个响应都使用相同的PLA丝线打印(图 4A)。

这些单层印刷品被用作可解释的基准测试,以测试各种打印机,设置和材料的每个参数的参数和组合。流速,z偏移和热点温度参数缺陷清晰可见,而横向速度缺陷可以观察到较暗的线路,在该线路上放慢了打印速度。发送命令(图 4a中的黑色箭头)和参数更新之间的延迟是可观察到的,这表明等待打印机确认的重要性。在每种情况下,网络与模式阈值结合使用,可以迅速恢复良好的打印参数(请参阅补充电影 S1)。

图 4:打印机和原料无关的在线参数校正和发现。

使用训练有素的多头神经网络对手动诱导的错误单参数进行快速纠正。用PLA原料在已知的打印机上打印,其未看到的0.4毫米喷嘴未在训练数据中使用。B在线同时优化了看不见的热塑性聚合物的多个不正确参数。证明对照管道对具有不同材料特性,颜色和初始条件的各种原料具有鲁棒性。C很像人类操作员,该系统使用自我学习的参数关系进行纠正预测。可以通过减少Z偏移量和/或增加材料流量来固定高Z偏移量。d校正多个不正确的打印参数引入了中印刷。两辆车都是在相同的条件下打印的,唯一的区别是校正。e以错误的参数组合开始更正打印。所有六个跨度都均具有相同的条件。

尽管仅使用挤出热塑性 PLA 进行了培训,但控制管道可推广到各种材料、颜色和设置。图 4B显示了四种不同的热塑料的在线校正,并在类似的可解释的单层基准测试中,用随机多个不正确打印参数的不同组合与图 4A进行了校正。在每种情况下,网络都成功更新了多个参数,从而导致良好的挤压(请参阅补充电影 S2)。由于初始条件差,TPU 和碳纤维填充样品没有印刷周边。这不仅对自动参数发现有用,帮助用户通过快速获得最佳参数组合来调整他们的打印机以适应新材料,而且它还表明控制系统可以通过保存初始刀具路径未能遵守的打印失败来提高生产力床。

由于在一个网络结构中拥有所有参数预测,经过训练的模型可以学习多个参数之间的相互作用,并可以像人类操作员一样为不正确的参数提供创造性的解决方案。我们使用控制循环设置打印了一个示例,但没有进行在线更正。该样品包含一个具有高Z偏移的区域。高Z偏移导致挤出材料的分离路径 - 低流量可能会产生相同的结果。图 4c表明网络确定增加流速并降低Z的流量将导致良好的挤压。由于经过训练的模型可以找到多种方法来解决相同的问题,因此它可以对单个参数的错误预测更加稳健,并通过组合多个参数的更新来实现更快的反馈。预测图还展示了网络注意到参数现在良好的速度,这对于确保控制系统在进行在线校正时不会超调至关重要。

图 4D使用与训练(Creality CR-20 Pro)在看不见的Rook几何形状上使用相同的打印机模型应用控制管道,以证明我们的方法可以用于完整3D几何形状的生产环境中。在打印的一半中引入了多个随机不正确的打印参数,特别是流速非常高,横向速度和热端温度以及低Z偏移。ROOK未经校正打印出了巨大的失败,而ROOK则成功地完成了带有相同条件的相同条件的ROOK。图 4e展示了相同 3D 扳手几何形状的六个副本,每个副本都以错误打印参数的相同组合开始:低流速和横向速度、高 Z 偏移和良好的热端温度。

在六个跨度中,三个未经校正打印,导致一场完全失败,这是由于印刷床的分离而导致的,其余两个则是非常差的表面表面。这些错误是由于次优印刷参数引起的初始层较差。用校正的三个印刷都成功完成,并表现出相同的改进的表面光洁度,尤其是在初始层上。应该注意的是,这些校正后的印刷品与完美印刷的零件不匹配。存在瑕疵,直到应用了所有必要的校正为止,因此,一些初始层的开始参数不良。尽管很少见,但是当不需要导致缺陷时,也可以进行校正。

为了展示系统的通用性,在看不见的打印机(Lulzbot TAZ 6)上附上了不同的相机和镜头,其形状不同的喷嘴和喷嘴宽度为0.6 mm,而不是训练中使用的0.4 mm(图5A)(图 5A) . 该打印机使用挤出系统,该系统将直径2.85毫米的丝丝作为训练打印机中使用的1.75毫米的输入。图 5b显示适用于看不见的主教几何形状的相同控制系统。

随机不正确的打印参数是在印刷品的早期引入的,特别是在第7层。这些不正确的参数是较低的横向速度和高流速,Z偏移和热电器温度。未经校正的错误打印的错误主教失败了,而主教则在启用控制管道的情况下以完全相同的条件打印了,并更加详细地完成了成功完成。单层基准打印均已完成使用白色PLA引入的每个单独的错误参数(图 5C ))。这些表明,多头神经网络和控制管道将跨熔融沉积建模打印机校正参数。这些样品中印刷不良区域的尺寸似乎比图 4A印刷的区域大,因为Lulzbot TAZ上的较大喷嘴六个线导致每条线的挤压宽度要大得多。打印机之间的行数大致相同。

图5:跨设置和挤出过程的方法通用。

3d打印拓扑结构优化(采用多头神经网络)(5)

a带有 0.6 毫米内径喷嘴 (Lulzbot Taz 6) 的经过测试的看不见的 3D 打印机的照片。将不同的摄像头模型(Raspberry Pi摄像头V1)和镜头与训练数据的收集以及有关材料沉积的新相机位置进行了比较。b介绍了带有错误参数的主教国际象棋,并启用了带有校正的相同错误打印。两者均在看不见的Lulzbot TAZ 6设置上使用2.85毫米PLA打印。c使用训练有素的多头神经网络快速校正人工诱导的错误单个参数。在看不见的打印机上用白色PLA原料印刷,并在训练数据中未使用的0.6毫米喷嘴。d基于注射器的直接墨水写作打印机(DIW)从Creality Ender 3 Pro进行了修改。使用不同的摄像头模型(Raspberry Pi摄像头V1)和镜头以及不同的摄像头位置。E自动校正和参数发现显示了具有0.21毫米喷嘴(27口径)的PDM,以及蛋黄酱和番茄酱,带有0.84毫米喷嘴(18口径)。

控制管道在直接墨水书写装置上进一步测试,使用带有螺纹杆的步进电机来移动注射器中的柱塞(图 5d)。这使用了不同的相机型号和镜头,安装在与喷嘴不同的角度和距离处,使用透明和反射玻璃打印床,而不是在热塑性塑料测试期间使用的黑色床。通过这种设置,PDMS、蛋黄酱和番茄酱使用各种喷嘴进行打印——PDMS 为 0.21 毫米,调味品为 0.84 毫米(图 5e)。所有样品均在室温下打印,未进行热端校正。对于PDMS打印,网络仅纠正流量。图 5e表明,对于PDM,网络学会通过升高施加到注射器的压力来增加流速。一旦达到所需的压力,网络就会降低流速以停止挤压。

但是,在长打印期间,由于注射器中的压力过大,流速有时会过冲,尤其是当网络没有足够快地降低流速时。在这种特定设置中,由于粘性材料和小型喷嘴直径需要高压力,在这种特定的设置中平衡这种压力尤其具有挑战性,从而在柱塞运动和挤出之间造成了时间差距。当打印粘性较低的材料时,这种过冲和压力延迟问题不大,尤其是在喷嘴直径较大的情况下。对于蛋黄酱和番茄酱的示例,网络主要调整了流速和Z偏移量。我们发现两种调味品都倾向于过度挤出,并且网络通常会降低流速,并且对于第一层,降低了Z偏移量。在打印多层结构时,网络倾向于在每一层中提高Z偏移量,并降低流速以阻止喷嘴尖端在上一层中浸没。

基于梯度的网络预测视觉解释

寻求模型为何做出某些决定的可能解释是有帮助的,尤其是在生产中以安全至关重要的应用中部署深层神经网络时。引导反向传播59和梯度加权类激活映射 (GradCAM) 60两种流行的可视化方法可以帮助用户了解神经网络为何做出预测. 前者有助于展示网络在做出预测方面学到的更精细的分辨率特征,后者提供了一个更粗糙的定位,显示了图像中重要的区域(这可以将其视为事后注意事后的注意力)。对于两种方法,提供了四个参数中的每个参数的目标类别(低,良好和高),以确定哪些功能或区域对于该类别特别重要。最重要的是,开发了一种方法来在整个网络中分别应用每个参数的技术,从而使我们能够为输入图像生成多达12个定制的可视化(四个参数的三个类别,例如低流量,例如低流速,高横向速度,良好的 Z 偏移)。

错误参数的多种组合可能会导致挤出材料的分离路径(在挤出下)或材料的重叠路径(挤出)。引导反向传播用于尝试确定网络是否使用跨参数的相似特征来检测这些物理挤压特性。图 6a显示了不同参数引起的代表性示例图像,良好和过度挤出。看来相同挤出分类的参数之间共享了类似的特征:挤出的分离路径,良好挤出的当前路径的轮廓以及在喷嘴周围进行过度挤出。

图 6:对每个参数使用单独的显着图的视觉解释可能有助于验证网络的稳健性。

3d打印拓扑结构优化(采用多头神经网络)(6)

a可以通过多个不正确的参数来实现欠、良好或过度挤压。指导反向传播59用于突出用于分类图像中的重要特征。代表性的示例未见图像表明,网络在参数上使用相似的功能来识别相同的物理属性。b梯度加权类激活映射 (GradCAM) 60显示,跨参数和看不见的输入,网络的早期阶段区分沉积材料和打印床。C GARGCAM应用于最终阶段,表明网络整体集中于跨参数和看不见的输入的喷嘴尖端。d引导反向传播和 GradCAM 在不同阶段显示的趋势也适用于不同的看不见的挤压方法,例如直接墨水书写。

GradCAM 分别应用于每个参数的共享网络主干的每一层。我们在图 6 b、c中展示了来自第一层和最后一层的可视化(分别为剩余块 1 和 6)。网络的早期阶段似乎可以检测到图像中的大结构特征,例如区分沉积材料和打印床。到最后一层,网络主要关注喷嘴的最新挤出,而与参数或目标类别无关。这是期望的,因为对于快速响应时间和校正,我们希望网络使用来自最近沉积材料的信息进行预测。在图 6d,示例可视化显示来自直接墨水书写测试的图像。这些图像表明,经过训练的网络可以在预测期间的每个阶段使用与热塑性塑料预测类似的特征。进一步的可视化可以在补充图 S2和补充电影 S3中找到。

讨论

我们证明,使用根据最佳打印参数的偏差标记的图像训练多头神经网络可以实现稳健且可通用的实时挤压 AM 错误检测和快速校正。数据采集和标记的自动化允许生成足够大和多样化的基于训练图像的数据集,以实现错误检测和纠正,该错误检测和纠正适用于现实的 2D 和 3D 几何形状、材料、打印机、刀具路径甚至挤压方法。

深度多头神经网络能够同时高精度地预测打印过程中喷嘴图像的四个关键打印参数:流速、横向速度、Z 偏移和热端温度。研究发现,这种额外的背景和对多个参数的了解甚至可能导致预测单个参数的改进——尽管需要进一步的研究来支持这一发现。与人类一样,该系统能够创造性地针对错误提出多种解决方案,甚至可以发现新的参数组合并学习如何打印新材料。然而,与人类不同的是,该系统连续运行并立即进行修正。除了这个网络,我们还展示了反馈控制回路中的许多进步,包括比例参数更新、刀具路径分割和优化的预测阈值等新功能,与以前的工作相比,它们在校正速度和响应时间方面提供了一个数量级的改进。

尽管通过更快的响应时间对更多参数的全面控制来显着提高AM反馈的能力,但这项工作也降低了现有方法的成本和复杂性。使用现成的摄像机,小型单板计算机(例如Raspberry Pi)和网络的使用,可以轻松地将系统添加到新的和现有的打印机中。该系统扩展并插入流行的软件和固件软件包,这意味着现有的用户工作流程受到最小的影响。此外,完全内置的网络可以使每张添加的打印机都可以增加可用的培训数据,并允许将系统部署在仅需要Internet连接的更遥远的环境中。

该方法有改进的余地。例如,在更广泛的打印机和材料上测试网络并将收集到的数据添加到训练数据集中可以使系统更具通用性和鲁棒性。低 Z 偏移值的更多数据也可能是有益的,因为值的微小差异会对打印质量产生很大影响。同样,在撞到床之前,低z偏移量的值较小,可能会接管高率,这会导致数据集中的偏差,因为高分类中存在更多的值。另外,我们认为Z偏移中的小动作可能是当前数据集的主要弱点,并改善了相机焦点,分辨率和对定位的关注将大大改善大型AM数据集的下一个迭代。同样重要的是要提高偏见在给定数据集的训练模型的性能中所起的作用。通过使用更大,更平衡的数据集,并在分类的更详细的水平上使用相等数量的样本来增强未来的工作。

例如,目前,在数据集中,可能存在某些参数组合,这些参数仅在特定的打印中或具有单一颜色的细丝中出现,因此网络已将这些不正确的特征作为映射学习。此外,虽然 3D 模型、切片设置和参数值是随机采样的,但仍然存在一些偏差,包括在给定范围内、额外的切片设置和原料选择。通过使用更大,更平衡的数据集,并在分类的更详细的水平上使用相等数量的样本来增强未来的工作。

例如,目前,在数据集中,可能存在某些参数组合,这些组合仅在特定打印期间出现或以单一颜色的灯丝出现,因此网络将这些不正确的特征学习为映射。此外,尽管已经对3D模型,切片设置和参数值进行了随机采样,但仍然存在一些偏见,包括在给定范围内,附加的切片设置和原料选择。通过使用更大、更平衡的数据集,在更细粒度的分类级别上使用相同数量的样本,未来的工作将得到加强。例如,目前,在数据集中,可能存在某些参数组合,这些组合仅在特定打印期间出现或以单一颜色的灯丝出现,因此网络将这些不正确的特征学习为映射。

此外,虽然 3D 模型、切片设置和参数值是随机采样的,但仍然存在一些偏差,包括在给定范围内、额外的切片设置和原料选择。因此网络将这些不正确的特征学习为映射。此外,虽然 3D 模型、切片设置和参数值是随机采样的,但仍然存在一些偏差,包括在给定范围内、额外的切片设置和原料选择。因此,网络已经学习了这些不正确的特征作为映射。此外,虽然 3D 模型、切片设置和参数值是随机采样的,但仍然存在一些偏差,包括在给定范围内、额外的切片设置和原料选择。

通过调整在线校正反馈管道中使用的许多变量以及采样率和工具路径拆分长度,可以进一步提高我们的方法论的有效性。通过更广泛和更深入地搜索值进行更广泛的测试可能会提高性能。这些校正变量的更好值将有助于减少在反馈期间校正振荡的机会,这是我们通过改善列表的预测或减少响应时间来进行测试所经历的。如果网络仍然可以看到以前的坏区域并超出其校正或神经网络的一系列错误预测,则可能会发生参数振荡。

此外,我们意识到,虽然这种方法有助于解决许多常见的基于挤压的打印错误,但仍然存在许多错误。由跳步、皮带打滑或外部干扰引起的打印机机械故障仍未解决,为定位错误添加闭环控制将增加所涵盖的错误模式的数量。在某些情况下可以检测到由错误的传感器或表现不佳的电源引起的电气问题,但不能自主纠正。此外,诸如开裂,经线变形和床粘附问题等大错误并未完全解决。尽管打印参数的精确实时控制可以帮助减少这些错误的可能性,但 由于其本地化的监视方法,它一旦形成了许多人,就无法检测或解决其中许多。将这种本地成像与全球摄像头系统结合起来可能会在检测更多错误时产生重大改进,并可以在本地挤出问题和全球规模的故障之间提供联系。

我们用来检查网络如何做出决策的基于梯度的显着性图表明,该网络学会着眼于做出预测时最新的挤压,这有助于快速响应错误。这与网络能够准确预测不同几何,材料和设置的不同参数的能力表明,网络确定了与挤出过程通用的视觉特征,例如挤出的形状。本文开发的方法在很大程度上与传感器及其应用的制造过程无关。

这指出了未来调查的一系列领域。例如,将新的红外或其他传感器集成到系统中或将其应用于进一步挑战制造过程61, 62 . 考虑到这些工艺的复杂性和对质量保证的需求,将其应用于金属增材制造方法尤其令人兴奋63。迄今为止,光学技术是金属增材制造中最常用的方法,用于监测粉末床表面和熔池64、65等特征。这些将适合与我们的方法一起使用,并且可能对难以使用的金属增材制造特别有益66。这可以通过在特定设置上微调模型来帮助,在小型、专业数据集(具有均匀良好的照明)上进行迁移学习,以提高已知环境中的性能。

方法用于自主数据收集的 CAXTON 系统

一个由八台 FDM 3D 打印机组成的网络用于数据收集。选择 Creality CR-20 Pro 打印机是因为它们成本低、预装引导加载程序并包含 Z 探针。每台打印机的固件都刷新到 Marlin 1.1.9 以确保启用热失控保护。然后,每台打印机都配备了 Raspberry Pi 4 Model B 作为网络网关,用于通过串行向打印机发送/接收数据。Pi 运行基于 Raspbian 的 Linux 发行版和带有定制开发插件的 OctoPrint 服务器。一个低成本的消费类 USB 网络摄像头 (Logitech C270) 连接到 Pi 以拍摄快照。使用单个3D打印零件将相机朝向喷嘴尖端安装。这些组件可以轻松地以低成本安装到新的和现有的打印机上;协助平衡性和可部署性。

用于直接墨水书写的打印机是经过改进的 Creality Ender 3 Pro。挤出机设置是在内部设计和内部设计的,并使用了带有Luer锁定喷嘴的步进电动机驱动的注射器。该打印机配备了 Raspberry Pi 4 型号、Z 探头和 Raspberry Pi Camera v1(带变焦镜头)。固件是 Marlin 2.0 的配置版本。对于进一步的实验,使用了固件刷新到 Marlin 1.1.9 的 Lulzbot Taz 6。默认喷嘴更换为 E3D 0.6 毫米内径喷嘴。

使用Python脚本从Thingiverse 3D模型存储库中下载STL文件。该工具允许通过多种途径轻松搜索存储库中的模型,例如关键字、流行度、时间、创建者和许可证。使用此工具,选择并下载了适当的许可证的流行文件(增加其可打印的可能性)。此外,手动将某些标准的3D打印基准文件手动添加到此STL中。

为了切片部件创建各种刀具路径,STL是随机旋转的(从0°到360°的均匀分布采样角度),然后缩放在构建板上(从0.8到2- 2--均匀分布采样的比例因子,尺度因子取样到2-2-- 2--对于某些已经很大的型号,缩放因子被剪切以减少打印时间)。然后,从 2 到 4 的均匀分布中随机抽取固体顶层和底层的数量以及填充图案、填充密度(0% 到 40%)和外周边墙的数量(2 到 4)。使用了以下填充图案:直线,网格,三角形,星星,立方,线,同心,蜂窝,3D蜂窝,甲状腺,能力,希尔伯特曲线,Archimedean Chords和octagram spiral。

在打印过程中,以面向喷嘴摄像头的1280×720像素分辨率以2.5 Hz的采样速率捕获图像。每个图像在此时间点上标有实际和目标热台和床温度,以及打印机的当前相对流速以及Z偏移(以毫米为单位)的侧向速度(两个百分比)。

收集并存储了150个标记的图像(打印的1分钟)后,新的流速,横向速度,Z偏移和热端目标温度值是从以下各相流量范围的均匀分布中随机采样的:20至 200%,横向速度:20 至 200%,Z 偏移:-0.08 至 0.32 mm,热端:180 至 230 °C。发现在训练集中需要添加一些较高级别的额外流量,因为它们足够分布,因此受过训练的模型会错误地预测分类。这对于其他参数不是必需的。采样后,新值将发送到打印机。打印机开始捕获此新参数组合的另外150张图像。这个过程可以在我们使用的所有八个打印机上并行进行,每个打印机都使用不同的原料颜色,有助于覆盖大型参数空间。

选择随机参数值选择在系统参数选择上选择,以在捕获的图像中提供不同的周围环境。具体而言,通过选择随机方法,图像的外部区域可以包含挤压以前的参数组合,这可能有助于训练网络在喷嘴尖端周围使用局部功能。相反,系统的方法可以将模式引入以前存放材料的参数级别,可以通过网络降低用于预测的数据的局部性,并在未见的情况下在线打印过程中引入弱点,而周围环境将不会是系统的。并且可能不完美。

卸床器

为了减少对印刷过程中的干预需求和辅助连续打印的需求,已经开发了一种新的简单方法,用于删除完整的印刷品。之前已经实施了许多方法来在完成后自动移除部件67 , 68; 然而,以前的实现要么需要大量的硬件修改,要么成本高昂,要么只能移除相对有限范围的部件。我们的床拆卸系统不需要其他电子设备,电动机或复杂的机械零件。

建议的解决方案可以改装到任何挤出打印机,并且主要由可以由相关打印机生产的打印部件组成。已经移动的打印头移动和码头,上面有一个位于构建平台后部的刮刀。随后,使用打印机的内部电动机将打印头和刮板移动到构建表面上,卸下印刷对象。移除后,打印头将刮刀返回其原始位置并取消停靠(请参阅补充电影 S4)。为了确保刮板始终保持在相同的位置,将带有磁铁的刮刀挂在打印床上以将刮板固定在适当的位置,直到下一个物体需要去除。有关该系统的更多详细信息,请参见 补充信息中的补充图 S3和补充说明 1,以及包含可修改 CAD STEP 文件、用于打印的 STL 文件和用于部件移除的示例 G 代码脚本的 GitHub 存储库。

培训程序

为了训练网络,我们确定每个头部处的跨透镜损失,然后在反向传播之前将这些损失总和在一起。这导致网络的共享主干被更新以适应每个头的损失,每个头的全连接层仅由该头的损失更新。在三个训练阶段中的每个阶段中,选择了一系列值并选择损失下降大量的学习率,从而在3个训练阶段中选择了初始学习率。

每个阶段的学习率可以在 补充信息中看到。选择正确的学习率至关重要——学习率高会导致注意力图差,而学习率过低则需要更长的时间来训练或陷入早期的局部最小值。ADAMW优化器在训练期间使用70、71,降低了高原学习率调度程序,以将学习率降低10倍,而连续3个时期并未将损失提高超过1%。训练期间的学习率图可以在 补充信息中找到。培训,验证和测试分别为0.7、0.2和0.1,批次大小分别为32。训练的三个阶段分别接受了50、65和10个时期的培训。每个阶段用三个不同的种子训练了三次。在转移学习期间,选择

了上一阶段的最佳种子作为继续训练的基础。

为了确定这种多阶段训练的重要性和注意力的使用,使用相同配置对四个不同的重新编织47进行了培训,除非仅具有单个种子和完整数据集中的一个阶段。表1中可以看到测试准确 度以及我们选择的使用三个阶段训练的注意力网络的准确度。发现具有这些添加的较大模型实际上下降了测试准确性。在其他数据集上的每个模型上进行进一步的预测可能会提高整个电池的准确性。

在单个多头网络中使用多个参数来提供额外的上下文可能会比在单独的网络中训练单个参数提高性能。经过50个训练时期,具有单个头部输出的RESNET18模型可预测流速的精度为77.5%。在 50 个 epoch 的训练后,具有多个头(四个参数中的一个)的相同模型在预测流速时达到了 82.1% 的最终准确率。

计算和软件要求

最终模型在两个 Nvidia Quadro RTX 5000 GPU 上使用半精度浮点格式 (FP16) 进行训练,这些 GPU 具有 i9-9900K CPU(八核和 16 线程)和 64GB 的 RAM。此设置也用于在线校正。一些原型设计工作在配备 Nvidia Tesla P100 GPU 的 HPC GPU 集群上进行。神经网络是使用 PyTorch v1.7.1 、Torchvision v0.8.2 、Tensorboard v2.4.1 。数据分析使用 Python v3.6.9 、NumPy v1.19.5 、Pandas v1.1.5 、SciPy v1.5.4、Seaborn v0.11.1 、Matplotlib v3.3.3 ,jupyter v1.0.0,jupyterlab v.2.2.2.9。使用Blask v1.1.1开发数据收集和参数校正服务器v1.6.1 ,马林鱼 1.1.9 。切片和打印准备使用 PrusaSlicer v2.3.3 和 Simplify3D v4.1.2 。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页