Boundary representations (B-reps) using Non-Uniform Rational B-splines (NURBS) are the de facto standard used in CAD, but their utility in deep learning-based approaches is not well researched. We propose a differentiable NURBS module to integrate the NURBS representation of CAD models with deep learning methods. We mathematically define the derivatives of the NURBS curves or surfaces with respect to the input parameters. These derivatives are used to define an approximate Jacobian that can be used to perform the "backward" evaluation used while training deep learning models. We have implemented our NURBS module using GPU-accelerated algorithms and integrated it with PyTorch, a popular deep learning framework. We demonstrate the efficacy of our NURBS module in performing CAD operations such as curve or surface fitting and surface offsetting. Further, we show its utility in deep learning for unsupervised point cloud reconstruction. These examples show that our module performs better for certain deep learning frameworks and can be directly integrated with any deep-learning framework requiring NURBS.
翻译:使用非统一逻辑B- Splines( B- Reps) 的边界代表( B- Reps) 使用非统一逻辑B- spline( NURBS) 是 CAD 中采用的实际标准,但在深层学习方法中的实用性没有得到很好的研究。 我们提出一个不同的 NURBS 模块, 将 CAD 模型的 NURBS 代表方式与深层学习方法相结合。 我们用数学定义 NURBS 曲线或表面的衍生物与输入参数有关。 这些衍生物用来定义一个近似Jacobian, 可用于在培训深层学习模型时进行“ 后向” 评价。 我们用GPU- 加速算法实施了我们的 NURBS 模块, 并将其与一个广受欢迎的深层学习框架PyTorch 整合。 我们展示了我们的 NURBS 模块在进行 CAD 操作时的功效, 如曲线或表面调整和表面折叠。 此外, 我们展示了它在深度学习中用于不超强的云层重建中的有用性。 这些例子表明我们的模块对于某些深层学习框架的效果, 并且可以直接与需要 NURBS 的深层学习框架结合。