TY - JOUR
T1 - NURBS-Diff
T2 - A Differentiable Programming Module for NURBS
AU - Deva Prasad, Anjana
AU - Balu, Aditya
AU - Shah, Harshil
AU - Sarkar, Soumik
AU - Hegde, Chinmay
AU - Krishnamurthy, Adarsh
N1 - Funding Information:
This work was partly supported by the NSF, United States under grant CMMI-1644441 and the ARPA-E, United States under DIFFERENTIATE:DE-AR0001215 . This work used the Extreme Science and Engineering Discovery Environment (XSEDE), which is supported by NSF, United States grant ACI-1548562 and the Bridges system supported by NSF, United States grant ACI-1445606 , at the Pittsburgh Supercomputing Center (PSC).
Publisher Copyright:
© 2022 Elsevier Ltd
PY - 2022/5
Y1 - 2022/5
N2 - 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 NURBS representations of CAD models with deep learning methods. We mathematically define the derivatives of the NURBS curves or surfaces with respect to the input parameters (control points, weights, and the knot vector). These derivatives are used to define an approximate Jacobian used for performing the “backward” evaluation to train the 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 and enforce analysis constraints. 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.
AB - 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 NURBS representations of CAD models with deep learning methods. We mathematically define the derivatives of the NURBS curves or surfaces with respect to the input parameters (control points, weights, and the knot vector). These derivatives are used to define an approximate Jacobian used for performing the “backward” evaluation to train the 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 and enforce analysis constraints. 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.
KW - Differentiable NURBS module
KW - Geometric deep learning
KW - NURBS
KW - Surface modeling
UR - http://www.scopus.com/inward/record.url?scp=85123717413&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85123717413&partnerID=8YFLogxK
U2 - 10.1016/j.cad.2022.103199
DO - 10.1016/j.cad.2022.103199
M3 - Article
AN - SCOPUS:85123717413
VL - 146
JO - CAD Computer Aided Design
JF - CAD Computer Aided Design
SN - 0010-4485
M1 - 103199
ER -