# Self-supervised Graph Neural Network for
Mechanical CAD Retrieval

Yuhan Quan<EMAIL_ADDRESS>4Paradigm Inc.BeijingChina ,  Huan Zhao
<EMAIL_ADDRESS>4Paradigm Inc.BeijingChina ,  Jinfeng Yi
<EMAIL_ADDRESS>4Paradigm Inc.BeijingChina and  Yuqiang Chen
<EMAIL_ADDRESS>4Paradigm Inc.BeijingChina

(2018)

###### Abstract.

CAD (Computer-Aided Design) plays a crucial role in mechanical industry, where
large numbers of similar-shaped CAD parts are often created. Efficiently
reusing these parts is key to reducing design and production costs for
enterprises. Retrieval systems are vital for achieving CAD reuse, but the
complex shapes of CAD models are difficult to accurately describe using text
or keywords, making traditional retrieval methods ineffective. While existing
representation learning approaches have been developed for CAD, manually
labeling similar samples in these methods is expensive. Additionally, CAD
models’ unique parameterized data structure presents challenges for applying
existing 3D shape representation learning techniques directly. In this work,
we propose GC-CAD, a self-supervised contrastive graph neural network-based
method for mechanical CAD retrieval that directly models parameterized CAD raw
files. GC-CAD consists of two key modules: structure-aware representation
learning and constrastive graph learning framework. The method leverages graph
neural networks to extract both geometric and topological information from CAD
models, generating feature representations. We then introduce a simple yet
effective contrastive graph learning framework approach, enabling the model to
train without manual labels and generate retrieval-ready representations.
Experimental results on four datasets including human evaluation demonstrate
that the proposed method achieves significant accuracy improvements and up to
100 times efficiency improvement over the baseline methods.

Self-supervised learning, Graph Neural Network, Computer-Aided Design

††copyright: acmlicensed††journalyear: 2018††doi: XXXXXXX.XXXXXXX††conference:
Make sure to enter the correct conference title from your rights confirmation
emai; June 03–05, 2018; Woodstock, NY

##  1\. Introduction

Computer-Aided Design (CAD) systems, like
Catia111https://www.3ds.com/products/catia and
Solidworks222https://www.solidworks.com/, are instrumental in industrial
design and manufacturing. Employed throughout the entire product lifecycle,
from conceptualization to production, engineers and designers use CAD software
to create accurate 3D models of industrial products and parts. Over time,
industrial enterprises can accumulate millions of these CAD designs, also
known as parts. However, this vast collection can lead to significant
increases in operational costs, including production, testing, and storage.
The cost incurred during the entire lifecycle of each new component can vary
dramatically, ranging from tens of thousands to hundreds of millions, even
billions of euros
333https://www.cadenas.de/tl_files/cadenas/Downloads/PDF/Produktflyer/EN
/CADENAS_PARTsolutions_Brochure_EN.pdf. Therefore, avoiding the creation of
new parts and actively seeking CAD part reuse is crucial for efficient
manufacturing practices.

The key to part reuse lies in the CAD retrieval system (Li et al., 2010). This
system assists designers and sales representatives in proactively finding
similar parts within a company’s database, potentially eliminating the need to
create new ones. In a real-world example, the Airbus A380 design team utilized
an effective geometric similarity search system. This resulted in a nearly 40%
increase in part reuse rate 444www.cadenas.de/brochure/geosearch, savings
hundreds of millions of euros. While building a simple retrieval system using
text or keywords might seem straightforward, such methods fall short for CAD
applications. Unlike searching for documents with search engines like Google,
where text accurately conveys content, the complex shapes in CAD models are
difficult to capture fully with words. An effective CAD retrieval system
requires the ability to search based on 3D shape similarity, posing a
significant challenge in practice.

In the literature, various works have been proposed to address the
aforementioned problem. One common strategy involves designing feature
descriptors based on the 3D geometry of the model. There are many variations
in the design of descriptors, such as multi-view based on different viewpoints
(Wang et al., 2019; Qi et al., 2016), moments (Elad et al., 2002; Kazhdan and
Funkhouser, 2002) or spherical harmonics (Vranic et al., 2001; Saupe and
Vranić, 2001), etc. These methods all use the global features of the 3D shape,
and some methods try to model based on the topological information of the
shape, such as modeling shape as graphs (Bespalov et al., 2003; El-Mehalawi
and Miller, 2003) or trees (Bai et al., 2010). After extracting features by
descriptors, histograms, graphs or trees describing CAD shape features can be
obtained. Then, the similarity score between CAD parts can be obtained by
calculating the similarity based on these descriptors. However, such heuristic
methods are highly dependent on domains and human expertise; thus, they are
neither cheaper nor generalized in practice. Moreover, for some complex
descriptors, such as graphs, graph matching algorithms are generally NP-hard
(Hilaga et al., 2001), which means that the similarity calculation will be
very time-consuming.

Recent advances in deep learning have shown promise for various CAD tasks,
including segmentation (Lambourne et al., 2021; Jones et al., 2023) and
assembly (Willis et al., 2022), due to their improved generalization
capabilities and computational efficiency. To adopt deep learning, most works
translate CAD parts into graph structures (Jones et al., 2023; Willis et al.,
2022; Mandelli and Berretti, 2022). However, there is no learning method
specifically designed for CAD similarity retrieval. Furthermore, implementing
deep learning for CAD retrieval faces a significant hurdle in data labeling.
Compared to text documents, labeling CAD parts for similarity necessitates
deeper expertise in mechanical engineering, considerably increasing the
cost.555We ourselves encountered this challenge: ensuring high-quality labels
required recruiting at least bachelor-level mechanical engineering students.
Scaling this approach to train deep learning models for CAD retrieval is
impractical, especially considering the vast number of parts (potentially
millions) often present in large manufacturing companies.

In general, there are currently two challenges in building an effective CAD
similarity retrieval system:

  * •

Limited feature extraction: Existing methods, whether text-based or relying on
3D data descriptors, often fail to fully capture the rich geometric and
topological information inherent in CAD models. This leads to poor
generalization capabilities and can be computationally expensive.

  * •

High labeling cost: Despite the good generalization ability of learning-based
methods, it remains a challenging problem to train an effective one,
considering that the labeling cost of CAD similarity labels is extremely high.
Therefore, an unsupervised learning method is crucial to make CAD retrieval
practical and scalable.

Addressing the critical challenges of capturing both geometric and topological
features in CAD retrieval, and the high cost of manual labeling, we introduce
GC-CAD (Graph Contrastive learning for CAD retrieval) in this work. This novel
self-supervised graph learning framework models CAD parts directly from their
BRep format as graphs (see Figure 1 and Section 3.2), leveraging graph neural
networks for representation learning. By employing an effective contrastive
learning method, GC-CAD utilizes unlabeled CAD data, avoiding expensive
labeling. Extensive experiments on public and private datasets, including
real-world applications, demonstrate the superiority of GC-CAD.

To summarize, the contributions are as follows:

$\bullet$ First self-supervised GNN for CAD retrieval: To the best of our
knowledge, we are the first to address the CAD similarity retrieval problem
using self-supervised GNN, which can improve the retrieval capability while
avoiding the necessity of labeling works. Moreover, it is also an important
and novel problem in terms of GNN research.

$\bullet$ Effective and label-free approach: We develop an effective graph
contrastive learning framework, including a structure-aware representation
learning module and contrastive training pipeline, which enables the model to
learn from the geometric and topological information of CAD shapes without the
need for any labels.

$\bullet$ Extensive evaluation: We rigorously evaluate GC-CAD on four diverse
datasets comprising up to 300,000 CAD shapes. Our experiments, including human
evaluation, demonstrate that our method outperforms existing baseline
approaches in terms of both accuracy and efficiency.

##  2\. Related works

###  2.1. CAD Retrieval

To develop effective CAD retrieval systems, the key challenge is to model 3D
shapes of a CAD part with proper descriptors that can be processed or indexed.
As a unique data format, CAD files store parameterized shape information, such
as point coordinates, curve equations, surface equations, etc. CAD shape can
be described from both global and local aspects. For global features, multi-
views (Wang et al., 2019; Qi et al., 2016), moments (Elad et al., 2002;
Kazhdan and Funkhouser, 2002) or spherical harmonics (Vranic et al., 2001;
Saupe and Vranić, 2001) can be used. These methods usually rely on statistical
characteristics of 3D shapes, which are not accurate when the shape is
complex. In order to describe the local geometric features and the overall
topology of CAD, a common method is to model CAD as a graph or tree. ReebGraph
is a classical solution to deal with CAD parts directly (Bespalov et al.,
2003; Hilaga et al., 2001). The core of ReebGraph is to divide the surface of
a 3D shape into small units and construct the graph according to the adjacency
relationship. In addition, graphs or trees can also be constructed based on
the adjacency relationship (Chen et al., 2012) or hierarchical relationship
(Bai et al., 2010) of cad local features. In recent years, with the
development of graph neural networks, some works have tried to directly
extract the graph structure that can be used by graph neural networks from the
topology structure of CAD. The common idea is to represent the faces in CAD as
nodes on the graph, and the adjacency relationship between faces (i.e., the
topology information of CAD) is represented as edges on the graph (Jayaraman
et al., 2021; Mandelli and Berretti, 2022). Furthermore, some elements such as
CAD vertices and loops can also be used to construct more complex graphs
(Jones et al., 2021; Cao et al., 2020).

After the representation of a CAD part is obtained, there are two classes of
methods for similarity retrieval of CAD: heuristic and embedding-based
methods. For heuristic methods, the core is to compare the descriptors
extracted from CAD for retrieval. Commonly used techniques include histogram
features (Ankerst et al., 1999; Berchtold et al., 1998) and graph features
(Bespalov et al., 2003; Hilaga et al., 2001; di Baja and Svensson, 2002).
Among them, histogram is often used to represent statistical features, which
is naturally not accurate enough and ignores the local features of CAD. While
comparing whether two graphs are similar is actually a graph isomorphism
problem, and it is NP-hard to obtain an accurate solution (Babai, 2016), which
means that the computational cost may be very high. Embedding-based methods
solve these problems. After using graph neural networks to learn the
embeddings (Jayaraman et al., 2021; Lambourne et al., 2021; Jones et al.,
2021; Colligan et al., 2022), similarity can be measured by distance functions
or other scoring methods. However, in order to learn the representations, deep
neural networks often need a large amount of annotated data for training, and
obtaining a large amount of annotated data in CAD field is highly expensive.
Therefore, the proposed GC-CAD framework makes the first attempt to address
these challenges facing CAD retrieval by developing a graph contrastive
learning framework, which is totally free of any labeling works and is highly
generalized due to the adoption of GNN.

Note that beyond BRep, there are other lines of parallel works modeling 3D
shapes in other formats, like voxel and meshes(Maturana and Scherer, 2015; Xu
and Todorovic, 2016; Feng et al., 2019), point cloud (Qi et al., 2017a, b;
Klokov and Lempitsky, 2017), multi-view image (Wang et al., 2019; Qi et al.,
2016; Kanezaki et al., 2018) (see more in (Gezawa et al., 2020)) . However,
these methods are not suitable for CAD-related tasks in mechanical domains
because of the information loss (Lambourne et al., 2021) by converting BRep to
the corresponding format. Moreover, it is more convenient to integrate a
method that directly on BRep topology with existing working pipelines in
manufacturing enterprises since BRep is more common in CAD and PLM
666https://www.ptc.com/en/products/windchill-plus(Product Lifecycle
Management) systems. Therefore, from a technical perspective, these works are
orthogonal and complementary, and the position and contribution of the
proposed GC-CAD can be clearly distinguished.

###  2.2. Self-supervised Graph Neural Networks

Graph neural networks play an important role in many fields such as social
networks (Chen et al., 2022; Quan et al., 2023), chemical molecules (Wang et
al., 2023), and knowledge bases (Ji et al., 2021). Due to the huge amount of
data (such as social networks) or the need for domain knowledge (such as
chemical molecules), it is not easy to obtain a large number of labels in all
fields, which gives rise to the need for unsupervised graph neural networks.
Unsupervised learning can be divided into two categories: contrastive and
generative (Xie et al., 2022). Contrastive learning is a widely applied self-
supervised method (Chen et al., 2020; He et al., 2020). In graph learning,
data augmentation includes modifying graph topology structure at the graph
level (Zeng and Xie, 2021; Suresh et al., 2021) or modifying node features at
the node level (Perozzi et al., 2014; Zhu et al., 2020). Then a loss function
based on mutual information maximization can be constructed. For generative
methods, the loss function is constructed by reconstructing the input data and
features, similarly, including node features (Hu et al., 2019; You et al.,
2020b; Hou et al., 2022) or graph structure (Hasanzadeh et al., 2019; Pan et
al., 2018). For CAD retrieval problem, since each CAD part is usually modeled
as a graph, the computation is actually at the graph level. However, in
addition to the overall topology information, the local features of CAD also
need to be taken into account, which means that node features are also needed.
Both graph-level and node-level objectives need to be considered in designing
self-supervised learning tasks.

In this paper, to the best of our knowledge, we are the first to introduce
self-supervised GNN into an important and new real-world applications, i.e.,
CAD part retrieval, by addressing two critical challenges, which also push
forward the frontiers of GNN research. Note that there is indeed a recent work
(Jones et al., 2023) trying to learn the representation of CAD through
unsupervised learning. However, it is not specifically designed for similarity
retrieval, and it uses signed distance field(SDF) as the target of generative
learning and optimizes by regression loss, which is not suitable for capturing
shape similarities between CAD parts. In the experiments, the performance
advantage of the proposed GC-CAD demonstrates the superiority of contrastive
training manner.

##  3\. Method

In this section, we introduce GC-CAD, which mainly includes structure-aware
representation learning and self-supervised training. We start from the BRep
of CAD part, convert it to the graph, and then extract features from it
through GNN, so as to obtain representation containing geometric and
topological information of CAD parts. Then, we design a self-supervised
contrastive learning method. The goal of contrastive learning is to enable the
model to distinguish the representation from different CAD parts. Finally, the
trained GNN model is used to generate meaningful representation of CAD part,
and the similarity retrieval is realized by the vector retrieval method. The
overall framework is shown in Figure 2.

###  3.1. Notation

Let $P=\\{p_{1},p_{2},...\\}$ denote a set of CAD parts, where $p_{i}$ denotes
a part. For the CAD similarity retrieval problem, the goal is to retrieve all
similar parts $\\{p_{r}|p_{r}\in P\&p_{r}\neq p_{q}\\}$ from $P$ based on a
given query $p_{q}$, where $p_{r}$ is similar with $p_{q}$ in shape. We denote
$g_{i}=\\{V,E\\}$ as the graph extracted from the CAD part $p_{i}$, where $V$
and $E$ are the sets of nodes and edges, respectively. $\mathbf{x^{v}}$ and
$\mathbf{x^{e}}$ denotes the original feature of graph nodes and edges, while
$\mathbf{\hat{x}}^{v}$ and $\mathbf{\hat{x}}^{e}$ denote the dense vector
obtained by processing original features with neural networks. $\mathbf{h}$,
$\mathbf{e}$ and $\mathbf{z}$ denote the node embedding, edge embedding and
graph embedding of graphs respectively.

Figure 1. Boundary representation(BRep) and converting it to graph. The faces
and curves in BRep correspond to the nodes and edges in graph. Figure 2.
Overall framework of GC-CAD. Each CAD part is first converted to a graph, then
feature and structure augmentation are performed separately. Augmented graph
is input to GNN to obtain graph representation. Finally, GC-CAD constructs and
learns from positive and negative sample pairs based on whether the graph
representation are from the same original CAD part. After the training is
completed, the CAD retrieval can be performed using graph representation.

###  3.2. Preliminaries

Boundary representation(BRep) is a common representation method in CAD. It
represents a solid by a set of faces, curves and vertices, where faces
intersect to form curves, and curves intersect to form vertices. Boundary
representation describes the features of these geometric objects and the
topological relations between them, and these information together define the
shape of a CAD entity. CAD files store the parameters that define these
geometric objects and the relationships between them. Naturally, topological
relations can be described by graph structures, while the features of each
geometric object itself are represented as features on the graph. In line with
existing work (Jayaraman et al., 2021), each face on the CAD shape is
represented as a node on the graph, and each curve is represented as an edge
on the graph. Figure 1 shows an example. Note that we are assuming that every
curve has two and only two faces adjacent to it, which means that every edge
can connect exactly two nodes, and there are no hyperedges in graph. This
assumption is true in most cases, but for more complex cases, we can either
ignore such curves or split one curve into multiple 777In some CAD systems,
for conical or cylindrical surfaces, there may exist a bus line, which is
adjacent to only one surface, and such a curve need not be embodied in the
graph. Whereas if a curve is adjacent to more than two surfaces, we build an
edge between the nodes corresponding to each of the two faces..

###  3.3. Structure-aware representation Learning

####  3.3.1. Feature extraction

After converting the topological structure of a CAD part into a graph, we need
to extract the geometric information to describe the local features of the
part. In this step, we refer to UVNet (Jayaraman et al., 2021) as backbone. It
extract geometric information includes uv-grids features
$\\{\mathbf{x}_{uv}^{e},\mathbf{x}_{uv}^{v}\\}$ and parameterized geometric
features $\\{\mathbf{x}^{v}_{geo},\mathbf{x}^{e}_{geo}\\}$. We do not repeat
the details of these features. In addition to these features used by uvnet,
except the shape, the material, processing method, color and other features of
the part also play important roles in CAD retrieval, these product features on
each face are represented as $\mathbf{x}^{v}_{product}$.

####  3.3.2. Graph neural networks

After obtaining all the original features, next step is to convert the
original features into node embeddings and edge embeddings on graph. We use
CNN for uv-grids features $\mathbf{x}_{uv}^{v}$ and $\mathbf{x}_{uv}^{e}$. For
$\mathbf{x}^{v}_{geo}$, $\mathbf{x}^{e}_{geo}$ and $\mathbf{x}^{v}_{product}$,
we transform discrete values into embeddings and normalize continuous values.
These features are then input into the MLP to obtain dense embedding. Finally,
the dense embedding of different original features are concatenated to obtain
the final node embedding and edge embedding. The process is as follows:

$\displaystyle\mathbf{\hat{x}}_{uv}^{v}=CNN(\mathbf{x}_{uv}^{v}),\
\mathbf{\hat{x}}_{uv}^{e}=CNN(\mathbf{x}_{uv}^{e}),$
$\displaystyle\mathbf{\hat{x}}^{v}_{geo}=MLP_{1}^{v}(\mathbf{x}^{v}_{geo}),\
\mathbf{\hat{x}}^{e}_{geo}=MLP_{2}^{e}(\mathbf{x}^{e}_{geo}),$
$\displaystyle\mathbf{\hat{x}}^{v}_{product}=MLP_{3}(\mathbf{x}^{v}_{product}),$
$\displaystyle\mathbf{\hat{x}}^{e}=cat([\mathbf{\hat{x}}_{uv}^{e},\mathbf{\hat{x}}^{e}_{geo}]),$
$\displaystyle\mathbf{\hat{x}}^{v}=cat([\mathbf{\hat{x}}_{uv}^{v},\mathbf{\hat{x}}^{v}_{geo},\mathbf{\hat{x}}^{v}_{product}]),$

Note that the feature $\mathbf{x}^{v}_{geo}$ and $\mathbf{x}^{e}_{geo}$ differ
due to different types of surfaces and curves, as $MLP_{1}^{v}$ and
$MLP_{2}^{e}$ do not share parameters for different types of surfaces and
curves, while $CNN_{1D}$, $CNN_{2D}$ and $MLP_{3}$ share parameters for all
surfaces and curves. $CNN$ not only contains convolutional layers but also
includes commonly used pooling layers and fully connected layers. We do not
describe these commonly used network structures in detail.

After obtaining node embedding and edge embedding containing geometric
information, combined with graph structures containing topological
information, we use graph neural networks to obtain graph representations
$\mathbf{z}$, which represents the overall shape of CAD part. Specifically,
taking node embedding $\mathbf{\hat{x}}^{u}$/$\mathbf{\hat{x}}^{v}$ and edge
embedding $\mathbf{\hat{x}}^{e}$ as the input of the first layer, denote as
$\mathbf{h}^{(0)}_{u}$/$\mathbf{h}^{(0)}_{v}$ and $\mathbf{e}^{(0)}_{uv}$, we
perform the convolution operation in $K-th$ layer of GNN as follows

$\mathbf{h}^{(K)}_{v}=f^{K}[\mathbf{h}^{(K-1)}_{v}+sum\\{f_{\theta}(\mathbf{e}^{(K-1)}_{uv})\cdot\mathbf{h}^{(K-1)}_{u},v\in\mathcal{N}(u)\\}],$

where $f^{K}$ is an MLP and $\mathcal{N}(u)$ represents the set of all
neighbor nodes of node $u$, $f_{\theta}$ is the activation function.
Furthermore, the edge embedding of each layer is updated in the following way

$\mathbf{e}^{(K)}_{uv}=g^{K}_{1}[\mathbf{e}^{(K-1)}_{uv}+g^{K}_{2}(\mathbf{h}^{(K-1)}_{u}+\mathbf{h}^{(K-1)}_{v})],$

where $g^{K}_{1}$ and $g^{K}_{2}$ are MLP. Through such a message-passing
process, after $K$ layers of convolution, each node can receive the
information of nearby nodes and curves so that the embedding of each node
contains the local geometric and topological information corresponding to the
CAD part. Finally, we use an aggregation operation, based on the node
embedding to obtain the final graph representation:

$\mathbf{z}=\sum_{v\in
V}\sum_{k=1}^{K}w^{(k)}\cdot\mathbf{h}^{(k)}_{v}+b^{(k)},$

where $w^{(k)}$ is the parameter. Here, we used the node embedding of each
layer in GNN for aggregation, this is because the node embedding of different
layers contains the information of local regions with different ranges. Now,
for each CAD part, we obtain a representation modeling its geometric and
topological information, which can be used for similarity retrieval.

###  3.4. Contrastive Training

####  3.4.1. Data augmentation

The similarity labeling between CAD parts is expensive, which requires experts
to judge for each query to traverse all samples in the database. At present,
there is no public dataset containing CAD similarity labels. To solve this
problem, we design a self-supervised contrastive learning method that enables
the model to learn without labels by augmenting the graph, constructing
training pairs and then training. For data augmentation, We augment the graph
in two aspects: features and structure. For features, for each node and edge
on the graph, we randomly mask part of the original features, and for
structure, we design three augmentation schemes:

  * •

Randomly remove nodes.

  * •

Randomly remove nodes and their 1-hop neighbors.

  * •

Randomly remove edges and the incident two nodes.

Since nodes and edges on a graph correspond to faces and curves in CAD, these
data augmentation operations mean the removal of part of the CAD part. We only
conduct delete operations without adding operations, because adding random
faces or curves in CAD often leads to illogic, and even some faces or curves
may penetrate the entity, such CAD part is meaningless. For each graph, after
performing feature and structure augmentation separately, two augmented graphs
can be obtained whose representations can be denoted as $\mathbf{z}^{\prime}$
and $\mathbf{z}^{\prime\prime}$.

####  3.4.2. Model training

Furthermore, in model training, $2N$ augmented graphs can be obtained for each
mini-batch of size $N$. Based on this, using the NT-Xent loss function, for
the $n-th$ graph in a mini-batch, its optimization objective is as follows
(You et al., 2020a):

$\displaystyle
l_{n}=-\log\frac{\exp(\operatorname{sim}(\mathbf{z}^{\prime}_{n},\mathbf{z}^{\prime\prime}_{n})/\tau)}{\sum_{n^{\prime}=1,n^{\prime}\neq
n}^{N}\exp(\operatorname{sim}(\mathbf{z}^{\prime}_{n},\mathbf{z}^{\prime\prime}_{n^{\prime}})/\tau)},$
$\displaystyle\operatorname{sim}(\mathbf{z}^{\prime}_{n},\mathbf{z}^{\prime\prime}_{n})=\frac{(\mathbf{z}^{\prime}_{n})^{\top}\mathbf{z}^{\prime\prime}_{n}}{\|\mathbf{z}^{\prime}_{n}\|\|\mathbf{z}^{\prime\prime}_{n}\|},$

where $\tau$ denotes the temperature parameter. This loss function maximizes
the agreement between representations of two data-augmented graphs from the
same original CAD part, while the agreement between representations that do
not originate from the same original CAD part is minimized. By optimizing the
loss function, we can make the model learn from geometric and topological
information to distinguish graph representation from different CAD parts, so
as to obtain representation that can be used for retrieval.

####  3.4.3. Inference and application

In application, given a query CAD part, similarity retrieval is implemented by
computing the similarity (e.g., cosine similarity, l2 distance, etc.) between
its representation and the representations of other samples in the database.
At the same time, faster retrieval can also be achieved by vector retrieval
tools such as faiss (Johnson et al., 2019). Compared with heuristic methods,
this greatly improves the efficiency.

###  3.5. Discussion

We adopted contrastive over generative learning for our self-supervised task,
leveraging data augmentation on node, edge, and graph structure to
differentiate representations without specific prediction targets. Generative
approaches were bypassed due to their complexity in balancing local and global
feature learning—essential for CAD retrieval. Our method simplifies training
by masking node and edge features, efficiently capturing both local and global
CAD features for contrastive learning. In the experiments, the superiority of
contrastive over generative framework is verified in Table 1.

Furthermore, for the data augmentation of contrastive learning, we add mask to
the node and edge features and graph structure. Although this operation seems
simple, for CAD parts, these operations correspond to modifying the local
shape and global structure of the CAD part while still making the augmented
CAD part as meaningful as possible, which is suitable for contrastive
learning. In the experiments, the superiority of contrastive over generative
framework is verified in Table 1.

Table 1. Overall performance of GC-CAD compared with baselines on two private datasets. Dataset | Dataset A | Dataset B
---|---|---
Metric | Recall@5 | Recall@10 | NDCG@5 | NDCG@10 | Time | Recall@5 | Recall@10 | NDCG@5 | NDCG@10 | Time
ReebGraph | 52.1% | 56.5% | 63.1% | 53.9% |  $\sim$ 7d | 38.4% | 39.0% | 56.2% | 47.1% |  $\sim$ 14d
BRepNet | 40.8% | 42.8% | 52.7% | 44.1% |  $\sim$ 1.5h | 35.2% | 36.0% | 51.0% | 42.8% |  $\sim$ 2.5h
SS-CAD | 49.6% | 53.8% | 62.8% | 52.7% |  $\sim$ 3h | 38.2% | 39.1% | 56.4% | 46.8% |  $\sim$ 5h
GC-CAD | 51.5% | 56.8% | 65.0% | 55.9% |  $\sim$ 2h | 39.3% | 39.8% | 58.0% | 48.7% |  $\sim$ 3h

##  4\. Experiment

###  4.1. Baselines

To the best of our knowledge, we are the first work to address the CAD
retrieval problem in a self-supervised GNN framework. Thus there are not too
many baselines taht can be directly compared. To verify the effectiveness of
the proposed GC-CAD in label efficiency and generalization, we then choose a
total of three baseline methods, including heuristic methods, kernel methods
and self-supervised learning methods.

$\bullet$ ReebGraph (Bespalov et al., 2003) is a heuristic method, we convert
each sample into a ReebGraph, and then for each query, use graph matching
algorithm to align it with each candidate sample and compute the similarity
score, thus achieving retrieval.

$\bullet$ BRepNet (Lambourne et al., 2021) defines some kernels based on BRep,
then extracts features from them by convolution, and finally obtains the
representation of surfaces and curves. This is a model designed for the
segmentation task, we pool the representations of surfaces and curves output
by BRepNet to obtain a representation that can represent the entire CAD,
making this method useful for CAD retrieval. At the same time, due to the lack
of training labels, we combine this method with our proposed self-supervised
method to be able to train the model.

$\bullet$ SS-CAD (Jones et al., 2023) is a generative unsupervised method for
learning a representation of a CAD, which constructs an optimization objective
by sampling points near the surface of the CAD and predicting the signed
distance field(SDF) function value for this point. The sign and magnitude of
the SDF function values can indicate whether a point is located inside or
outside a closed solid, as well as the distance of the point from the surface
of the entity. Therefore, this method can make the model learn the CAD shape
information.

###  4.2. Experiment settings

Datasets: We used a total of four datasets for experiments, including two
public datasets and two private datasets. Two private datasets are derived
from our internal sources and named Dataset A and Dataset B respectively
888Due to confidentiality requirements, we cannot present sample cases for
these two datasets, and we only report the value of metrics for performance
comparisons.. For public datasets, to the best of our knowledge, there is no
publicly available dataset for CAD similarity retrieval. We used the ABC
dataset (Koch et al., 2019) and JoinABLe Assembly-Joint dataset (Willis et
al., 2022). ABC is currently the largest publicly available CAD dataset
containing 1 million CAD files without any similarity labels. We filtered this
dataset by removing assemblies and keeping only those samples that contained
one entity in each file. We also filtered files larger than 1M by file size.
For JoinABLe Assembly-Joint dataset, each sample in this dataset contains two
parts that are assembled together, and we take these parts apart so that each
sample contains only a single part. The statistics of all datasets are shown
in the Table 2.

Evaluation and metrics For private datasets, we randomly sampled 40 and 60
samples from the two datasets as queries respectively. For each experience and
each query, we retrieve a total of 100 samples as results, and annotate these
100 retrieved results with three labels: similar, partially similar and
dissimilar. It is used to measure to what extent the retrieved results are
similar to the query sample. All annotators are master’s degree candidates in
mechanics. The labeling work took about 50 person-days for all experiments in
all. Finally, for each sample, we calculate Recall@5, Recall@10, NDCG@5 and
NDCG@10 separately and finally report the average value as the result.

For public datasets, we randomly sampled some samples as queries in these two
datasets for experiments, but due to the high cost, we did not conduct human
evaluation, but to showcase the comparisons with the top 5 retrieved results.

For sake of space, more implementation details are given in Appendix A.

Table 2. Statistics of datasets. The number of faces and curves correspond to the number of nodes and edges in graph. | Dataset | #num | #avg faces | #avg curves
---|---|---|---|---
Private | Dataset A | 6,060 | 72.4 | 355.5
Dataset B | 8,922 | 83.4 | 409.9
Public | ABC | 360,424 | 26.6 | 122.6
JoinABLe | 22,913 | 36.5 | 171.4
Table 3. Results of ablation study for different structure augmentation method. Dataset | Dataset A | Dataset B
---|---|---
Metric | Recall@5 | Recall@10 | NDCG@5 | NDCG@10 | Recall@5 | Recall@10 | NDCG@5 | NDCG@10
Node | 51.5% | 56.8% | 65.0% | 55.9% | 39.3% | 39.8% | 58.0% | 48.7%
Node&1-hop neighbor | 50.1% | 56.0% | 63.4% | 54.8% | 38.6% | 39.7% | 57.4% | 48.7%
Edge&Vertices | 50.6% | 56.8% | 63.4% | 54.3% | 39.0% | 41.6% | 57.7% | 49.1%

###  4.3. Performance Comparison

The experimental results based on human evaluation on two private datasets are
shown in Table 1. We trained and tested the model on both datasets separately.
For the proposed GC-CAD, we tested three different data augmentation methods
and selected the one that performed best. From the table we emphasize the
following three findings:

$\bullet$ GC-CAD achieves the best results on almost all metrics. Especially
on dataset B, compared with the best baseline, the proposed method achieves an
improvement of about 1%. On dataset A, the NDCG metrics are improved by about
2% compared with Reebgraph. While ReebGraph is close to GC-CAD on Recall
metrics, it takes significantly more time than GC-CAD and other deep learning-
based methods. On average, it takes more than 12 hours to retrieve each query,
because reebgraph needs to compare with all samples in the dataset and
calculate the similarity score, where graph matching algorithm is very time-
consuming. By contrast, GC-CAD can compute representations and retrieve based
on vectors, which achieves nearly 100 times improvement in computational
efficiency compared with ReebGraph.

$\bullet$ BRepNet performs significantly worse than GC-CAD, which demonstrates
the superiority of graph-based modeling over other methods. Although BRepnet
directly uses parameterized CAD information, it extracts features based on a
predetermined kernel. The kernel is designed for segmentation and pays more
attention to local features, which is insufficient in modeling the overall
topological features compared with GC-CAD and thus performs poorly on
similarity search tasks.

$\bullet$ SS-CAD based on generative self-supervised learning and GNN performs
worse than GC-CAD and ReebGraph but better than BRepNet. This shows that
graph-based methods are able to capture both geometric and topological
information of CAD. However, the optimization goal of SS-CAD is to predict the
SDF value of points on CAD, and the SDF value of each point can only represent
local features, which makes the model pay more attention to local features and
ignore global topology information. In addition, compared with contrastive
learning to classify samples, SDF is a continuous value and requires the model
to perform regression prediction, which makes the training of the model more
difficult, so the performance on the similarity retrieval task is not good.

Figure 3. Retrieved results of different data augmentation method.(a) mask
node. (b) mask node and its 1-hop neighbors. (c) mask edge and its vertices.

###  4.4. Ablation and Hyperparameter Study

As an important module of contrastive learning, we further explore the method
and hyperparameters of data augmentation on retrieval results.

####  4.4.1. Graph Augmentation Methods

We first conduct experiments to verify the influence of different data
augmentation methods on the retrieved results. We test our proposed three
methods of modifying the graph structure, and the experimental results are
shown in Table 3. It should be noted that for different data augmentation
methods, we control the hyperparameters so that the number of nodes removed is
consistent across all experiments. The experimental results show that simply
random masking node is the best, and random masking node and its first-order
nodes are the worst. We think that this is because if a node and its adjacent
nodes are masked, it means that some adjacent faces are deleted in CAD, which
may make the local features of CAD missing, so that the model cannot correctly
distinguish different CAD, while only random masking nodes can keep the local
features of CAD as much as possible. We also conducted experiments on the
JoinABLe dataset. Figure 3 shows an example. It can be found that although the
retrieved results are all circular, the local features of CAD are not
consistent in the results (b) and (c). Therefore, random masking nodes are a
simple but effective scheme for CAD retrieval task.

Table 4. Ablation study of different mask ratio on Dataset A Recall@5/ NDCG@5 | $\beta$
---|---
0.0 | 0.1 | 0.2
$\alpha$ | 0.0 | / | 48.3%/61.2% | 48.5%/61.7%
0.1 | 47.7%/60.0% |  51.5%/65.0% | 48.3%/61.0%
0.2 | 51.4%/63.6% | 53.2%/64.8% | 48.8%/61.7%
Table 5. Ablation study of different mask ratio on Dataset B Recall@5/ NDCG@5 | $\beta$
---|---
0.0 | 0.1 | 0.2
$\alpha$ | 0.0 | / | 38.2%/56.2% | 39.1%/58.3%
0.1 | 38.5%/56.2% |  39.3%/58.0% | 38.9%/57.3%
0.2 | 37.5%/56.0% | 38.1%/56.8% | 38.7%/57.6%

####  4.4.2. Feature Mask Ratio

We further verify the influence on the retrieved results of different ratio of
masking features and nodes. We conducted a grid search over the feature
masking ratio and node masking ratio, and the experimental results are shown
in Table 4 and 5. The experimental results on the two datasets show that it
works best when $\alpha$ and $\beta$ are both set to 0.1. Using only one
feature augmentation, or using a large ratio of masks, will result in poor
retrieval performance. In order to further show the influence of different
hyperparameters on the retrieved results, we also conduct experiments on the
JoinABLe dataset, and the experimental results are shown in Appendix B. It can
be found that for the first column, that is, mask only the features but not
the graph nodes, the retrieved results in only local shape(the fold shape)
that have similarities to the query, while the overall shape differs greatly.
On the other hand, if we mask the graph nodes without the features, i.e., the
first row, the retrieved results are cylindrical, but the details differ. The
best retrieved results are obtained when both $\alpha$ and $\beta$ are 0.1. We
try to increase the hyperparameter value further and the retrieved results
become worse. The reason might be that masking too many features and
structures will impair the topology of CAD parts, thus the model has been
completely unable to distinguish between positive and negative samples.
Especially, if these two values are increased (greater than $0.2$), because
too many features are masked, the retrieved results will be significantly
inconsistent with the query, regardless of the overall shape or local details,
resulting in poor performance, thus we only keep the range in $(0,0.2)$ in our
experiments.

###  4.5. Results on more diverse scenarios

Figure 4. Retrieved results on large scale dataset. Figure 5. Retrieved
results for generalization experiments.(a)Training on ABC dataste. (b)Training
on ABC_small dataset.

To further verify the effectiveness of the proposed GC-CAD, we further conduct
experiments on various real-world manufacturing scenarios including large-
scale number of parts, generation on totally new scenarios, and assembly
retrieval.

####  4.5.1. Large-scale number of CAD parts.

To verify the effectiveness of GC-CAD on large-scale datasets in real-world
scenarios, we further conduct experiments based on ABC dataset (Koch et al.,
2019), which is currently the largest known public CAD dataset. We train the
model with over 360,000 CAD files without using any similaity labels. We
randomly sampled some samples as queries, and the experimental results are
shown in Figure 4. As the figure shown, even on very large datasets and
without using any labels, our proposed GC-CAD still has excellent retrieval
performance, able to retrieve similar samples from hundreds of thousands of
candidate samples based only on the shape of the query. And since the
representation of each CAD can be computed in advance, after constructing the
index, using a vector retrieval like FAISS (Johnson et al., 2019), millisecond
retrieval can be achieved, which is completely impossible with heuristic
methods like ReebGraph.

####  4.5.2. Generalization scenario.

After verifying the feasibility of GC-CAD on large-scale datasets, inspired by
the fact that large language models can be trained on massive datasets to
improve generalization performance, we further explore the feasibility of
large-scale pre-training GC-CAD to improve generalization performance, so that
the pre-trained models can be directly applied to retrieval tasks on new CAD
datasets. We construct the ABC_small dataset ($\sim$30,000 CAD parts) by
randomly sampling $10\%$ parts from the ABC dataset, and performing
unsupervised training with both datasets separately, keeping the
hyperparameters strictly the same. After that, without any fine-tuning, we
tested the trained model on the JoinABLe dataset, and the results of the two
models are shown in Figure 5. We selected some queries to retrieve using the
two models respectively. It can be found that even without using any JoinABLe
dataset to participate in the training, the model trained with ABC dataset
still shows good performance, and the retrieved results are significantly
better than the results obtained by training with ABC_small dataset. This
demonstrates that GC-CAD has better generalization ability with more data in
training stages, which also leave an interesting future direction: can we keep
increasing the performance by further increasing the number of parts, say from
millions to billions?

Figure 6. Retrieve results of assemblies. More details of the assembly are
shown in the Appendix C.

####  4.5.3. Assembly retrieval beyond single part.

Here we further explore a bit more complex scenario: assembly retrieval. An
assembly is formed by multiple parts through assembly, and various parts need
to be combined to form a useful module. Assembly retrieval requires attention
not only to the shape of each entity, but also to the relationship between
entities. There has been some work on assembly retrieval (Deshmukh et al.,
2008; Lupinetti et al., 2019). We tested a naive approach that achieves
assembly retrieval based on GC-CAD by individually retrieving each part of an
assembly and then aggregating and ranking the results. In detail, we
disassemble all assemblies into single parts, then for the query assembly, for
each of its parts, we retrieve similar entities from the database, and then
for each entity in retrieved results, we find in which assemblies it has been
used. After performing the retrieval operation on all the parts of the query
assembly, we sort the found assemblies according to the number of occurrences.
Therefore we realize the retrieval of the assemblies. We use a private dataset
mainly of automobile parts to verify the approach. This dataset contains about
500 assemblies and we randomly select some assemblies as queries for
retrieval. Instead of training a new model, we still use the model obtained by
training on the ABC dataset. The results are shown in Figure 6. It can be seen
that our proposed method can effectively retrieve assemblies with similar
shapes on the whole or assemblies with similar entities. .

##  5\. Conclusion

In this paper, we present GC-CAD, a novel method for CAD similarity retrieval
that leverages contrastive learning and graph neural networks. Our approach
addresses the critical challenge of simultaneously modeling both geometric and
topological features for effective retrieval. In addition, we introduce a
simple yet effective contrastive learning scheme to eliminate the need for
expensive and time-consuming manual labeling, making it highly scalable and
practical. Experimental results on both private and public datasets with human
evaluation demonstrate the effectiveness of our method, and the computational
efficiency is up to 100 times faster than the baseline method. We further
validate the effectiveness of GC-CAD on large datasets and assembly retrieval
tasks. In the future, we plan to explore data augmentation methods
specifically tailored to CAD properties to enhance retrieval accuracy.

## References

  * (1)
  * Ankerst et al. (1999) Mihael Ankerst, Gabi Kastenmüller, Hans-Peter Kriegel, and Thomas Seidl. 1999.  3D shape histograms for similarity search and classification in spatial databases. In _Advances in Spatial Databases: 6th International Symposium, SSD’99 Hong Kong, China, July 20—23, 1999 Proceedings 6_. Springer, 207–226.
  * Babai (2016) László Babai. 2016\.  Graph isomorphism in quasipolynomial time. In _Proceedings of the forty-eighth annual ACM symposium on Theory of Computing_. 684–697.
  * Bai et al. (2010) Jing Bai, Shuming Gao, Weihua Tang, Yusheng Liu, and Song Guo. 2010.  Design reuse oriented partial retrieval of CAD models.  _Computer-Aided Design_ 42, 12 (2010), 1069–1084.
  * Berchtold et al. (1998) Stefan Berchtold, Daniel A Keim, Florham Park, and NJ Germany. 1998\.  Section Coding: A Similarity Search Technique for the Car Manufacturing Industry.. In _IADT_. 256–263.
  * Bespalov et al. (2003) Dmitriy Bespalov, William C Regli, and Ali Shokoufandeh. 2003\.  Reeb graph based shape retrieval for CAD. In _International Design Engineering Technical Conferences and Computers and Information in Engineering Conference_ , Vol. 36991. 229–238.
  * Cao et al. (2020) Weijuan Cao, Trevor Robinson, Yang Hua, Flavien Boussuge, Andrew R Colligan, and Wanbin Pan. 2020\.  Graph representation of 3D CAD models for machining feature recognition with deep learning. In _International Design Engineering Technical Conferences and Computers and Information in Engineering Conference_ , Vol. 84003. American Society of Mechanical Engineers, V11AT11A003.
  * Chen et al. (2022) Jiajia Chen, Xin Xin, Xianfeng Liang, Xiangnan He, and Jun Liu. 2022.  GDSRec: Graph-Based Decentralized Collaborative Filtering for Social Recommendation.  _IEEE Transactions on Knowledge and Data Engineering_ 35, 5 (2022), 4813–4824.
  * Chen et al. (2020) Ting Chen, Simon Kornblith, Mohammad Norouzi, and Geoffrey Hinton. 2020.  A simple framework for contrastive learning of visual representations. In _ICML_. PMLR, 1597–1607.
  * Chen et al. (2012) Xiang Chen, Shuming Gao, Song Guo, and Jing Bai. 2012\.  A flexible assembly retrieval approach for model reuse.  _Computer-Aided Design_ 44, 6 (2012), 554–574.
  * Colligan et al. (2022) Andrew R Colligan, Trevor T Robinson, Declan C Nolan, Yang Hua, and Weijuan Cao. 2022\.  Hierarchical cadnet: Learning from b-reps for machining feature recognition.  _Computer-Aided Design_ 147 (2022), 103226.
  * Deshmukh et al. (2008) Abhijit S Deshmukh, Ashis Gopal Banerjee, Satyandra K Gupta, and Ram D Sriram. 2008.  Content-based assembly search: A step towards assembly reuse.  _Computer-aided design_ 40, 2 (2008), 244–261.
  * di Baja and Svensson (2002) Gabriella Sanniti di Baja and Stina Svensson. 2002.  A new shape descriptor for surfaces in 3D images.  _Pattern Recognition Letters_ 23, 6 (2002), 703–711.
  * El-Mehalawi and Miller (2003) Mohamed El-Mehalawi and R Allen Miller. 2003.  A database system of mechanical components based on geometric and topological similarity. Part I: representation.  _Computer-Aided Design_ 35, 1 (2003), 83–94.
  * Elad et al. (2002) Michael Elad, Ayellet Tal, and Sigal Ar. 2002.  Content based retrieval of VRML objects—an iterative and interactive approach. In _Multimedia 2001: Proceedings of the Eurographics Workshop in Manchester, United Kingdom, September 8–9, 2001_. Springer, 107–118.
  * Feng et al. (2019) Yutong Feng, Yifan Feng, Haoxuan You, Xibin Zhao, and Yue Gao. 2019.  Meshnet: Mesh neural network for 3d shape representation. In _AAAI_ , Vol. 33. 8279–8286.
  * Gezawa et al. (2020) Abubakar Sulaiman Gezawa, Yan Zhang, Qicong Wang, and Lei Yunqi. 2020.  A review on deep learning approaches for 3d data representations in retrieval and classifications.  _IEEE access_ 8 (2020), 57566–57593.
  * Hasanzadeh et al. (2019) Arman Hasanzadeh, Ehsan Hajiramezanali, Krishna Narayanan, Nick Duffield, Mingyuan Zhou, and Xiaoning Qian. 2019.  Semi-implicit graph variational auto-encoders.  _NIPS_ 32 (2019).
  * He et al. (2020) Kaiming He, Haoqi Fan, Yuxin Wu, Saining Xie, and Ross Girshick. 2020.  Momentum contrast for unsupervised visual representation learning. In _CVPR_. 9729–9738.
  * Hilaga et al. (2001) Masaki Hilaga, Yoshihisa Shinagawa, Taku Kohmura, and Tosiyasu L Kunii. 2001.  Topology matching for fully automatic similarity estimation of 3D shapes. In _Proceedings of the 28th annual conference on Computer graphics and interactive techniques_. 203–212.
  * Hou et al. (2022) Zhenyu Hou, Xiao Liu, Yukuo Cen, Yuxiao Dong, Hongxia Yang, Chunjie Wang, and Jie Tang. 2022.  Graphmae: Self-supervised masked graph autoencoders. In _SIGKDD_. 594–604.
  * Hu et al. (2019) Weihua Hu, Bowen Liu, Joseph Gomes, Marinka Zitnik, Percy Liang, Vijay Pande, and Jure Leskovec. 2019.  Strategies for pre-training graph neural networks.  _arXiv preprint arXiv:1905.12265_ (2019).
  * Jayaraman et al. (2021) Pradeep Kumar Jayaraman, Aditya Sanghi, Joseph G Lambourne, Karl DD Willis, Thomas Davies, Hooman Shayani, and Nigel Morris. 2021\.  Uv-net: Learning from boundary representations. In _CVPR_. 11703–11712.
  * Ji et al. (2021) Shaoxiong Ji, Shirui Pan, Erik Cambria, Pekka Marttinen, and S Yu Philip. 2021.  A survey on knowledge graphs: Representation, acquisition, and applications.  _IEEE transactions on neural networks and learning systems_ 33, 2 (2021), 494–514.
  * Johnson et al. (2019) Jeff Johnson, Matthijs Douze, and Hervé Jégou. 2019\.  Billion-scale similarity search with GPUs.  _IEEE Transactions on Big Data_ 7, 3 (2019), 535–547.
  * Jones et al. (2021) Benjamin Jones, Dalton Hildreth, Duowen Chen, Ilya Baran, Vladimir G Kim, and Adriana Schulz. 2021\.  Automate: A dataset and learning approach for automatic mating of cad assemblies.  _TOG_ 40, 6 (2021), 1–18.
  * Jones et al. (2023) Benjamin T Jones, Michael Hu, Milin Kodnongbua, Vladimir G Kim, and Adriana Schulz. 2023.  Self-Supervised Representation Learning for CAD. In _CVPR_. 21327–21336.
  * Kanezaki et al. (2018) Asako Kanezaki, Yasuyuki Matsushita, and Yoshifumi Nishida. 2018\.  Rotationnet: Joint object categorization and pose estimation using multiviews from unsupervised viewpoints. In _CVPR_. 5010–5019.
  * Kazhdan and Funkhouser (2002) Michael Kazhdan and Thomas Funkhouser. 2002.  Harmonic 3D shape matching. In _SIGGRAPH 2002_. 191–191.
  * Klokov and Lempitsky (2017) Roman Klokov and Victor Lempitsky. 2017.  Escape from cells: Deep kd-networks for the recognition of 3d point cloud models. In _ICCV_. 863–872.
  * Koch et al. (2019) Sebastian Koch, Albert Matveev, Zhongshi Jiang, Francis Williams, Alexey Artemov, Evgeny Burnaev, Marc Alexa, Denis Zorin, and Daniele Panozzo. 2019.  ABC: A Big CAD Model Dataset For Geometric Deep Learning. In _CVPR_.
  * Lambourne et al. (2021) Joseph G Lambourne, Karl DD Willis, Pradeep Kumar Jayaraman, Aditya Sanghi, Peter Meltzer, and Hooman Shayani. 2021.  Brepnet: A topological message passing system for solid models. In _CVPR_. 12773–12782.
  * Li et al. (2010) Min Li, YF Zhang, and JYH Fuh. 2010.  Retrieving reusable 3D CAD models using knowledge-driven dependency graph partitioning.  _Computer-Aided Design and Applications_ 7, 3 (2010), 417–430.
  * Lupinetti et al. (2019) Katia Lupinetti, Jean-Philippe Pernot, Marina Monti, and Franca Giannini. 2019.  Content-based CAD assembly model retrieval: Survey and future challenges.  _Computer-Aided Design_ 113 (2019), 62–81.
  * Mandelli and Berretti (2022) Lorenzo Mandelli and Stefano Berretti. 2022.  CAD 3D Model classification by Graph Neural Networks: A new approach based on STEP format.  _arXiv preprint arXiv:2210.16815_ (2022).
  * Maturana and Scherer (2015) Daniel Maturana and Sebastian Scherer. 2015.  Voxnet: A 3d convolutional neural network for real-time object recognition. In _IROS_. IEEE, 922–928.
  * Pan et al. (2018) S Pan, R Hu, G Long, J Jiang, L Yao, and C Zhang. 2018.  Adversarially regularized graph autoencoder for graph embedding. In _IJCAI_.
  * Perozzi et al. (2014) Bryan Perozzi, Rami Al-Rfou, and Steven Skiena. 2014\.  Deepwalk: Online learning of social representations. In _SIGKDD_. 701–710.
  * Qi et al. (2017a) Charles R Qi, Hao Su, Kaichun Mo, and Leonidas J Guibas. 2017a.  Pointnet: Deep learning on point sets for 3d classification and segmentation. In _CVPR_. 652–660.
  * Qi et al. (2016) Charles R Qi, Hao Su, Matthias Nießner, Angela Dai, Mengyuan Yan, and Leonidas J Guibas. 2016\.  Volumetric and multi-view cnns for object classification on 3d data. In _CVPR_. 5648–5656.
  * Qi et al. (2017b) Charles Ruizhongtai Qi, Li Yi, Hao Su, and Leonidas J Guibas. 2017b.  Pointnet++: Deep hierarchical feature learning on point sets in a metric space.  _NIPS_ 30 (2017).
  * Quan et al. (2023) Yuhan Quan, Jingtao Ding, Chen Gao, Lingling Yi, Depeng Jin, and Yong Li. 2023\.  Robust Preference-Guided Denoising for Graph based Social Recommendation. In _Proceedings of the ACM Web Conference 2023_. 1097–1108.
  * Saupe and Vranić (2001) Dietmar Saupe and Dejan V Vranić. 2001.  3D model retrieval with spherical harmonics and moments. In _Joint Pattern Recognition Symposium_. Springer, 392–397.
  * Suresh et al. (2021) Susheel Suresh, Pan Li, Cong Hao, and Jennifer Neville. 2021\.  Adversarial graph augmentation to improve graph contrastive learning.  _NIPS_ 34 (2021), 15920–15933.
  * Vranic et al. (2001) Dejan V Vranic, Dietmar Saupe, and Jörg Richter. 2001\.  Tools for 3D-object retrieval: Karhunen-Loeve transform and spherical harmonics. In _2001 IEEE Fourth Workshop on Multimedia Signal Processing._ IEEE, 293–298.
  * Wang et al. (2019) Chu Wang, Marcello Pelillo, and Kaleem Siddiqi. 2019\.  Dominant set clustering and pooling for multi-view 3d object recognition.  _arXiv preprint arXiv:1906.01592_ (2019).
  * Wang et al. (2023) Xu Wang, Huan Zhao, Wei-wei Tu, and Quanming Yao. 2023\.  Automated 3d pre-training for molecular property prediction. In _SIGKDD_. 2419–2430.
  * Willis et al. (2022) Karl DD Willis, Pradeep Kumar Jayaraman, Hang Chu, Yunsheng Tian, Yifei Li, Daniele Grandi, Aditya Sanghi, Linh Tran, Joseph G Lambourne, Armando Solar-Lezama, et al. 2022\.  Joinable: Learning bottom-up assembly of parametric cad joints. In _CVPR_. 15849–15860.
  * Xie et al. (2022) Yaochen Xie, Zhao Xu, Jingtun Zhang, Zhengyang Wang, and Shuiwang Ji. 2022.  Self-supervised learning of graph neural networks: A unified review.  _IEEE transactions on pattern analysis and machine intelligence_ 45, 2 (2022), 2412–2429.
  * Xu and Todorovic (2016) Xu Xu and Sinisa Todorovic. 2016.  Beam search for learning a deep convolutional neural network of 3d shapes. In _ICPR_. IEEE, 3506–3511.
  * You et al. (2020a) Yuning You, Tianlong Chen, Yongduo Sui, Ting Chen, Zhangyang Wang, and Yang Shen. 2020a.  Graph contrastive learning with augmentations.  _NIPS_ 33 (2020), 5812–5823.
  * You et al. (2020b) Yuning You, Tianlong Chen, Zhangyang Wang, and Yang Shen. 2020b.  When does self-supervision help graph convolutional networks?. In _ICML_. PMLR, 10871–10880.
  * Zeng and Xie (2021) Jiaqi Zeng and Pengtao Xie. 2021.  Contrastive self-supervised learning for graph classification. In _AAAI_ , Vol. 35. 10824–10832.
  * Zhu et al. (2020) Yanqiao Zhu, Yichen Xu, Feng Yu, Qiang Liu, Shu Wu, and Liang Wang. 2020.  Deep graph contrastive representation learning.  _arXiv preprint arXiv:2006.04131_ (2020).

##  Appendix A Implementation details

Hyper parameters: For all experiments, the node embedding size and graph
embedding size are set to 128 and 256, respectively. The batch size is set to
32 due to the GPU memory limit. For all deep learning methods, we use the Adam
optimizer. Hyper-parameters like learning rate and dropout are obtained by
grid search. The search range is as follows: the learning rate is {0.005,
0001, 0.0005}, the dropout is [0, 1], and the temperature of NT-Xent loss is
{0.5, 1.0, 2.0}. For all experiments of GC-CAD, we train the model for at
least 20 epochs, the early stop is set to 10. The feature mask ratio $\alpha$
and structure mask ratio $\beta$ in data augmentation are all searched in
{0.0, 0.1, 0.2} and the number of GNN layers is 5.

Running environment: All experiments are conducted on a Linux server with
Intel(R) Xeon(R) Silver 4214 and 512G RAM. We only use a single NVIDIA RTX
3090 GPU for all deep learning methods.

##  Appendix B Ablation study

Retrieved results of different mask ratio for data augmentation on JoinABLe
dataset are shown in Figure 7.

Figure 7. Retrieved results of different mask ratio for data augmentation on
JoinABLe dataset.

##  Appendix C Details of assembly

We disassembled the assemblies in the assembly retrieve experiment to better
observe the details, and the results are shown in Figure 8. It should be noted
that we zoom in on smaller entities for ease of observation.

Figure 8. Details of query assemblies.


# Some features of the direct and inverse double Compton effect as applied to
astrophysics

V. Dubrovich2, T. Zalialiutdinov1,2 1 Department of Physics, St. Petersburg
State University, Petrodvorets, Oulianovskaya 1, 198504, St. Petersburg,
Russia
2 Special Astrophysical Observatory, St. Petersburg Branch, Russian Academy of
Sciences, 196140, St. Petersburg, Russia<EMAIL_ADDRESS>
###### Abstract

In the present paper, we consider the process of inverse double Compton (IDC)
scattering in the context of astrophysical applications. It is assumed that
the two hard X-ray photons emitted from an astrophysical source are scattered
on a free electron and converted into a single soft photon of optical range.
Using QED S-matrix formalism for the derivation of a cross-section of direct
double Compton (DDC) and assuming detailed balance conditions we give an
analytical expression for the cross-section of the IDC process. It is shown
that at fixed energies of incident photons the inverse cross-section has no
infra-red divergences and its behavior is completely defined by the spectral
characteristics of the photon source itself, in particular, by the finite
interaction time of radiation with an electron. Thus, even for the direct
process, the problem of resolving infrared divergence actually refers to a
real physical source of radiation in which photons are never actually plane
waves. As a result the physical frequency profile of the scattered radiation
for direct as well as inverse double Compton processes is a function of both
the intensity and line shape of the incident photon field.

The object of this paper is to give an expression for the inverse double
Compton effect (IDC), i.e. the third-order process in which two hard photons
colliding with a free electron give rise to one scattered soft photon. The
interest of such calculations lies in the fact that, though the cross-section
for this process is small in comparison with ordinary Compton scattering,
nevertheless, the high-intensity X-ray photons in the vicinity of
astrophysical sources allow a possible study of these phenomena.

The ordinary direct double Compton scattering has been repeatedly considered
by many authors von W and Nordheim (1934); Eliezer (1946); Cavanagh (1952);
Levine and Freund (1971). The exact relativistic expressions for the
differential cross-section of the DC process accounting angular correlations
were obtained in Mandl and Skyrme (1952) within the QED formalism of S-matrix.
Various proposals for laboratory studies of the double Compton effect have
also been actively discussed in recent decades Lotstedt and Jentschura (2013);
Lötstedt and Jentschura (2009); Sherwin (2017). In addition, astrophysical
applications are also of particular interest when describing the spectral
features of various astrophysical sources and comparing them with ground-based
or satellite observations Chluba, J.  _et al._ (2007).

The inverse double Compton scattering is also of particular importance. Under
astrophysical conditions, IDC can be important for objects with a very high
density of photons (for example X-ray sources) or the in the early universe at
a high intensity of the CMB. In these cases, the intensity of the generated
high-frequency Raman radiation can be noticeable. For example, in the presence
of a powerful line in the spectrum of the X-ray shell, in the observed
spectrum there will be an admixture of a line with a doubled energy, which
cannot be identified with any chemical element. The importance of taking this
effect into account is determined by the accuracy with which it is necessary
to describe the physical parameters of the source and to avoid false
identifications and estimates. Processes of this kind in various astronomical
applications have been considered earlier Lightman (1981). In particular, in
Lightman (1981); Ravenni and Chluba (2020) the inverse processes included in
the equations of balance and radiation transfer were expressed through direct
ones, following the principle of detailed balance. However, as will be shown
below, the forward process has divergence in the infrared region that are
absent in the reverse process if we do direct calculations.

When considering the direct double Compton effect, there is some subtle effect
of a fundamental nature - a feature of the formation of the infrared (low-
frequency) end of the spectrum of the resulting photons - the so-called
infrared catastrophe Ravenni and Chluba (2020). In the literature, there are a
large number of versions of the solution to this problem Mandl and Skyrme
(1952); Jauch and Rohrlich (1976). To consistently cure the issue, the DC
process has to be treated together with the next to leading order (NLO)
radiative corrections to the Compton process Brown and Feynman (1952); Ravenni
and Chluba (2020). In this context, one is usually interested in the total
Compton scattering cross-section at order $\alpha^{3}$. NLO corrections
display a logarithmic divergence which can be shown to cancel with the
corresponding DC one. Employing a regularization — introducing a photon mass
in the standard approach Brown and Feynman (1952) \- in the calculation of
both cross-sections and summing the two, the dependence on the regularization
parameters drops out, leaving a finite radiative correction at order
$\alpha^{3}$. The drawback of this approach is that the radiative correction
cross-section now depends on the energy resolution of the experiment,
$\omega_{\mathrm{res}}$. The argument to justify summing the two processes is
that below some $\omega_{\mathrm{res}}\ll 1$ the experiment is unable to
distinguish contributions from virtual photon emission, relevant to the
computation of the NLO correction, and from real photon emission by DC. Adding
all contributions to the total CS scattering cross-section it was found that
the correction can exceed the naive $\alpha/\pi$ level at sufficiently high
energies Mork (1971). It is should be noted that direct and inverse process
were recently studied in the laboratory conditions Sandhu  _et al._ (2001). In
Sandhu  _et al._ (2001) it was shown that measured DDC and IDC cross-sections
are of comparable magnitudes and agrees with theoretical predictions. From
this, it can be concluded that it is important to take into account both
processes in problems related to radiation transfer.

However, all of the regularization procedures are related to the consideration
of the final state of the system Brown and Feynman (1952). In this work, we
propose a different physical approach for solving this problem based on the
analysis of the input photon - taking into account its finiteness in time.
Indeed, the standard consideration assumes that the incident photon is taken
in the form of a plane wave infinite in time and space Akhiezer and
Berestetskii (1965); Bjorken and Drell (1964); Landau and Lifshitz (1965);
Berestetskii  _et al._ (1982). Only in this case there is possibility to form
an arbitrarily low-frequency photon at the end of the process. However, in
reality, there are no such waves in nature. There are only real photons, which
are formed by some radiation mechanism during a finite time interval Dawson
and Fried (1970). As a result, the scattering of such a photon by an electron
lead to a finite spectrum that is completely finite in the entire frequency
range. From the point of view of observational astrophysics, this provides a
alternative way to determine the parameters of an incident photon from the
spectrum of the low-frequency wing. Thus, we obtain a new independent channel
of information about the mechanism of radiation formation in the source.

Below we will show that in real physical conditions the problem of eliminating
the infrared divergence in the cross-section of the direct process refers to
the finite interaction time of radiation with an electron, which can be
introduced at least phenomenologically within the QED formalism. For these
purposes, we first consider the cross-section of the reverse process in the
context of its astrophysical application. We assume that two photons emitted
in the vicinity of some object are scattered on a free electron and convert
into a single photon
$\gamma(k_{1})+\gamma(k_{2})+e^{-}\rightarrow\gamma(k)+e^{-}$. It is assumed
that such a process, along with a direct one, can leave significant
distortions in the spectrum of some astrophysical source in the vicinity of
which events of collisions of photons with an electron gas occur. The
characteristic behavior of the cross-section of inverse double Compton
scattering is derived within the framework of the rigorous QED approach.

To begin with, we recall a brief derivation of the scattering cross section of
the direct process
$\gamma(k)+e^{-}\rightarrow\gamma(k_{1})+\gamma(k_{2})+e^{-}$ Melrose (1972).
Following Mandl and Shaw (1985) the direct double Compton (DDC) is described
by the third order S-matrix element (here and below we use relativistic units
$\hbar=c=1$, $\alpha=e^{2}/4\pi$, the electron mass $m_{e}$ is written
explicitly)

$\displaystyle S^{(3)}_{fi}=(2\pi)^{4}\delta^{(4)}(p_{f}+k_{1}+k_{2}-p_{i}-k)$
(1)
$\displaystyle\times\frac{m_{e}e^{3}}{\sqrt{8V^{5}E_{i}E_{f}\omega\omega_{1}\omega_{2}}}{\cal
M}(k,k_{1},k_{2}),$

where $p_{i}=(E_{i},\textbf{p}_{i})$, $p_{f}=(E_{f},\textbf{p}_{f})$ are the
four-vectors of initial and final electron momenta, respectively;
$k=(\omega,\textbf{k})$ is the four vector of incident photon with frequency
$\omega$ and wave-vector k, $k_{1}=(\omega_{1},\textbf{k}_{1})$ and
$k_{2}=(\omega_{2},\textbf{k}_{2})$ are the four-vectors of two outgoing
photons, and $\cal{M}$ is the Feynman amplitude of the process

$\displaystyle{\cal
M}(k,k_{1},k_{2})=\overline{u}(p_{f})\left\\{\hat{\varepsilon}(k)\frac{\hat{p}_{f}-\hat{k}+m_{e}}{(k-p_{f})^{2}-m_{e}^{2}}\hat{\varepsilon}^{*}(k_{1})\frac{-\hat{k}+\hat{k}_{1}+\hat{p}_{f}+m_{e}}{(k-k_{1}-p_{f})^{2}-m_{e}^{2}}\hat{\varepsilon}^{*}(k_{2})+(1\leftrightarrow
2)\right.$ (2)
$\displaystyle\left.+\hat{\varepsilon}^{*}(k_{1})\frac{\hat{k}_{1}+\hat{p}_{f}+m_{e}}{(-k_{1}-p_{f})^{2}-m_{e}^{2}}\hat{\varepsilon}(k)\frac{-\hat{k}+\hat{k}_{1}+\hat{p}_{f}+m_{e}}{(k-k_{1}-p_{f})^{2}-m_{e}^{2}}\hat{\varepsilon}^{*}(k_{2})+(1\leftrightarrow
2)\right.$
$\displaystyle\left.+\hat{\varepsilon}^{*}(k_{1})\frac{\hat{k}_{1}+\hat{p}_{f}+m_{e}}{(-k_{1}-p_{f})^{2}-m_{e}^{2}}\hat{\varepsilon}^{*}(k_{2})\frac{\hat{k}_{1}+\hat{k}_{2}+\hat{p}_{f}+m_{e}}{(-k_{1}-k_{2}-p_{f})^{2}-m_{e}^{2}}\hat{\varepsilon}(k)+(1\leftrightarrow
2)\right\\}u(p_{i}).$

Here $u(p)$ is the Dirac spinor for free electron with its Dirac adjoint
defined as $\overline{u}(p)=u^{\dagger}(p)\gamma_{0}$, $\gamma^{\mu}$
($\mu=0,\,1,\,2,\,3$) are the Dirac matrices and $\varepsilon(k)$ is the
polarization four-vector of a photon $k$. The contraction of $\gamma^{\mu}$
matrices with four-vector $a$ is given by $\hat{a}=\gamma^{\mu}a_{\mu}$.

The transition rate per unit time to one define state can be found according
to the definition

$\displaystyle
w=\frac{|S^{(3)}_{fi}|^{2}}{T}=V(2\pi)^{4}\delta^{(4)}(p_{f}+k_{1}+k_{2}-p_{i}-k)$
(3)
$\displaystyle\times\frac{m_{e}^{2}e^{6}}{8V^{5}E_{i}E_{f}\omega\omega_{1}\omega_{2}}|{\cal
M}(k,k_{1},k_{2})|^{2},$

where $T\rightarrow\infty$ is the observation time and $V$ is the phase
volume. Since we are interested to a transition rate $dw$ to a group of final
states with momenta in the intervals
$(\textbf{p}_{f},\textbf{p}_{f}+d\textbf{p}_{f})$,
$(\textbf{k}_{1},\textbf{k}_{1}+d\textbf{k}_{1})$ and
$(\textbf{k}_{2},\textbf{k}_{2}+d\textbf{k}_{2})$ we must multiply Eq. (3) by
the number of these states which is

$\displaystyle\frac{V^{3}d^{3}\textbf{p}_{f}d^{3}\textbf{k}_{1}d^{3}\textbf{k}_{2}}{(2\pi)^{9}}.$
(4)

With our choice of normalization for the states, the volume $V$ contains one
scattering center and the incident photon flux is $F=c/V$ ($c$ is the speed of
light) Rapoport  _et al._ (1978). Then the corresponding differential DDC
cross-section can be found as follows

$\displaystyle
d\sigma_{\mathrm{ddc}}=\frac{dw}{F}=\delta^{(4)}(p_{f}+k_{1}+k_{2}-p_{i}-k)$
(5)
$\displaystyle\times\frac{m_{e}^{2}e^{6}}{8E_{i}E_{f}\omega\omega_{1}\omega_{2}}|{\cal
M}(k,k_{1},k_{2})|^{2}\frac{d^{3}\textbf{p}_{f}d^{3}\textbf{k}_{1}d^{3}\textbf{k}_{2}}{(2\pi)^{5}}.$

Integration over final electron momenta in Eq. (5) can be written in a four
dimensional form with the use of equality Bjorken and Drell (1964)

$\displaystyle\frac{d^{3}\textbf{p}_{f}}{2E_{f}}=\int
d^{4}p_{f}\delta(p_{f}^{2}-m_{e}^{2})\theta(p_{f}^{0}),$ (6)

where $m_{e}^{2}=E_{f}^{2}-\textbf{p}_{f}$, $\theta(p_{f}^{0})$ is the
Heaviside step function. Finally, performing integration over $d^{4}p_{f}$
with the use delta function properties we find Mandl and Skyrme (1952);
Lötstedt and Jentschura (2009)

$\displaystyle
d\sigma_{\mathrm{ddc}}=\delta((p_{i}+k-k_{1}-k_{2})^{2}-m_{e}^{2})$ (7)
$\displaystyle\times\frac{m_{e}^{2}e^{6}}{4E_{i}\omega\omega_{1}\omega_{2}}|{\cal
M}(k,k_{1},k_{2})|^{2}\frac{d^{3}\textbf{k}_{1}d^{3}\textbf{k}_{2}}{(2\pi)^{5}}.$

We now specialize to a reference frame where the electron initially at rest,
i.e. $\textbf{p}_{i}=0$ and $E_{i}=m_{e}$. Then the argument of delta-function
in Eq. (7) becomes

$\displaystyle(p_{i}+k-k_{1}-k_{2})^{2}-m_{e}^{2}$ (8)
$\displaystyle=2m_{e}(\omega-\omega_{1}-\omega_{2})-2\omega\omega_{1}(1-\cos\chi_{1})$
$\displaystyle-2\omega\omega_{2}(1-\cos\chi_{2})+2\omega_{1}\omega_{2}(1-\cos\chi_{12})=0,$

where $\chi_{1}$ is the angle between vectors k and $\textbf{k}_{1}$,
$\chi_{2}$ is the angle between vectors k and $\textbf{k}_{2}$, and
$\chi_{12}$ is the angle between vectors $\textbf{k}_{1}$ and
$\textbf{k}_{2}$. Here we assumed that $p_{i}^{2}=m_{e}^{2}$, and
$k^{2}=k_{1}^{2}=k_{2}^{2}=0$. Then the energy conservation law has the form

$\displaystyle\omega_{2}=\frac{m_{e}(\omega-\omega_{1})-\omega\omega_{1}(1-\cos\chi_{1})}{m_{e}+\omega(1-\cos\chi_{2})-\omega_{1}(1-\cos\chi_{12})}.$
(9)

Taking into account that in spherical coordinates
$d^{3}\textbf{k}_{1(2)}=\omega_{1(2)}^{2}d\omega_{1(2)}d\Omega_{1(2)}$ (where
$d\Omega_{1(2)}=\sin\theta_{1(2)}d\theta_{1(2)}d\phi_{1(2)}$ and
$\theta_{1(2)}$, $\phi_{1(2)}$ are the spherical angles of vector
$\textbf{k}_{1(2)}$), performing integration over $d\omega_{2}$ in Eq. (7)
with the use of equality

$\displaystyle\int dx\delta(f(x))=\left|\frac{df(x)}{dx}\right|^{-1},$ (10)

and summing over the photon polarizations and electron spin in initial and
final states we find

$\displaystyle
d\sigma_{\mathrm{ddc}}=\frac{m_{e}e^{6}}{2^{8}\pi^{5}}\left(\frac{\omega_{1}}{\omega}\right)\frac{m_{e}(\omega-\omega_{1})-\omega\omega_{1}(1-\cos\chi_{1})}{(m_{e}+\omega(1-\cos\chi_{2})-\omega_{1}(1-\cos\chi_{12}))^{2}}X(\omega,\omega_{1})d\omega_{1}d\Omega_{1}d\Omega_{2},$
(11)

where

$\displaystyle
X(\omega,\omega_{1})=\frac{1}{4}\mathrm{Tr}\sum\limits_{\mathrm{polarizations}}|{\cal
M}(\omega,\omega_{1})|^{2}.$ (12)

Summation in Eq. (11) and algebra with Dirac matrices can be performed in a
fully analytical way with the use of FeynCalc. software Mertig  _et al._
(1991); Shtabovenko  _et al._ (2016).

To describe the stimulated DDC cross-section, magnitude Eq. (2) should be also
multiplied by the factor
$\sqrt{N_{\textbf{k}\textbf{e}}}\sqrt{N_{\textbf{k}_{1}\textbf{e}_{1}}+1}\sqrt{N_{\textbf{k}_{2}\textbf{e}_{2}}+1}$,
where $N_{\textbf{k}\textbf{e}}$ is the number of photons with a wave-vector k
and polarization e. In this case the corresponding flux of incident photons is
$F=cN_{\textbf{k}\textbf{e}}/V$ Rapoport  _et al._ (1978). Then the number of
incident photons vanishes in cross-section. If the intensity of the
$J_{\textbf{k}\textbf{e}}$ radiation is known then $N_{\textbf{k}\textbf{e}}$
can be obtained with the use of following relation

$\displaystyle
N_{\textbf{k}\textbf{e}}=\frac{8\pi^{3}c^{2}}{\hbar\omega^{3}}J_{\textbf{k}\textbf{e}}.$
(13)

It is well-known that DDC cross-section Eq. (11) has infrared divergence of
the type $\omega_{1}^{-1}$ Mandl and Skyrme (1952). In Brown and Feynman
(1952) it was shown that accounting of QED radiative corrections lead to the
natural cut-off of the lower limit of frequency $\omega_{1}$ which can be
attributed to the minimal resolution of the detector in the experiment. Below
we show that for the inverse process the divergence is moved from the problem
of resolution detector of photons in final states to the source of initial
photons.

Using the definition for transition rate Eq. (2) we can write equation for the
cross-section of inverse double Compton scattering (IDC) as follows

$\displaystyle
d\sigma_{\mathrm{idc}}=\frac{dw}{F}=\delta^{(4)}(p_{f}+k-p_{i}-k_{1}-k_{2})$
(14)
$\displaystyle\times\frac{m_{e}^{2}e^{6}}{8E_{i}E_{f}\omega\omega_{1}\omega_{2}}|{\cal
M}(-k,-k_{1},-k_{2})|^{2}\frac{d^{3}\textbf{p}_{f}d^{3}\textbf{k}}{(2\pi)^{2}}.$

In the reference frame where the electron initially at rest
($\textbf{p}_{i}=0$) the frequency of outgoing photon $\omega$ takes the form

$\displaystyle\omega=\frac{\omega_{1}\omega_{2}(1-\cos\chi_{12})+m_{e}(\omega_{1}+\omega_{2})}{m_{e}+\omega_{1}(1-\cos\chi_{1})+\omega_{2}(1-\cos\chi_{2})}.$
(15)

The scalar products of the four vectors included in Eq. (15) are given by the
following equalities: $p_{i}k=m_{e}\omega$, $p_{i}k_{1}=m_{e}\omega_{1}$,
$p_{i}k_{2}=m_{e}\omega_{2}$, $kk_{1}=\omega\omega_{1}(1-\cos\chi_{1})$,
$kk_{2}=\omega\omega_{2}(1-\cos\chi_{2})$,
$k_{1}k_{2}=\omega_{1}\omega_{2}(1-\cos\chi_{12})$,
$p_{f}k=m_{e}\omega+\omega\omega_{1}(1-\cos\chi_{1})+\omega\omega_{2}(1-\cos\chi_{2})$,
$p_{f}k_{1}=m_{e}\omega-\omega\omega_{1}(1-\cos\chi_{1})+\omega_{1}\omega_{2}(1-\cos\chi_{12})$,
$p_{f}k_{2}=m_{e}\omega-\omega\omega_{2}(1-\cos\chi_{2})+\omega_{1}\omega_{2}(1-\cos\chi_{12})$
and $p_{f}p_{i}=m_{e}(\omega_{1}+\omega_{2}-\omega)+m_{e}^{2}$

Then, the after integration over $d^{3}\textbf{p}_{f}$, $d\omega$ and
summation over the photon polarizations and electron spin in initial and final
states we find

$\displaystyle
d\sigma_{\mathrm{idc}}=\frac{m_{e}e^{6}}{2^{8}\pi^{2}}\left(\frac{1}{\omega_{1}\omega_{2}}\right)\frac{\omega_{1}\omega_{2}(1-\cos\chi_{12})+m_{e}(\omega_{1}+\omega_{2})}{(m_{e}+\omega_{1}(1-\cos\chi_{1})+\omega_{2}(1-\cos\chi_{2}))^{2}}\tilde{X}(\omega_{1},\omega_{2})d\Omega,$
(16)

where

$\displaystyle\tilde{X}(\omega_{1},\omega_{2})=\frac{1}{4}\mathrm{Tr}\sum\limits_{\mathrm{polarizations}}|{\cal
M}(-k_{1},-k_{2})|^{2}.$ (17)

The magnitude ${\cal M}$ for the inverse process in Eq. (17) differs from the
direct one only in the use of a different expression for the energy
conservation law (see Eqs. (9) and (15) ) and by the replacement
$k\leftrightarrow-k$ , $k_{1}\leftrightarrow-k_{1}$ and $k_{2}\leftrightarrow-
k_{2}$.

Following Mandl and Skyrme (1952) one can consider the particular case when
particles are moving nearly in forward direction. Then introducing notations
$x=1-\cos\chi_{1}$, $y=1-\cos\chi_{2}$ and $z=1-\cos\chi_{12}$ we find

$\displaystyle d\sigma_{\mathrm{idc}}=2\pi\alpha
r_{0}^{2}\left(\frac{\omega_{1}^{2}}{\omega_{2}^{2}}+\frac{\omega_{2}^{2}}{\omega_{1}^{2}}+\frac{2\omega_{1}}{\omega_{2}}+\frac{2\omega_{2}}{\omega_{1}}+3\right)$
(18)
$\displaystyle\times\left(\frac{x}{\omega_{2}}+\frac{y}{\omega_{1}}-\frac{z}{\omega_{1}+\omega_{2}}\right)d\Omega,$

where $\chi_{1}$, $\chi_{2}$ and $\chi_{12}$ are assumed to be small,
$r_{0}=\frac{e^{2}}{4\pi m_{e}}=2.8\times 10^{-15}\;\mathrm{m}$ and
$\alpha=\frac{e^{2}}{4\pi}$ is the fine structure constant. As well as DDC
cross-section Eq. (18) vanishes for scattering in forward direction , i.e.
when $\chi_{1}=\chi_{2}=0$ (i.e. $x=y=z=0$ in eq. (18)). From Eq. (18 its is
seen that IDC scattering cross-section (as well as DDc) is the order $\alpha$
smaller than single compton scattering.

The dependence on angles $\chi_{1}$, $\chi_{1}$, $\chi_{12}$ in Eq. (18) can
be expressed in terms of spherical angles ($\theta$, $\phi$), ($\theta_{1}$,
$\phi_{1}$) and ($\theta_{2}$, $\phi_{2}$) with the use of relations

$\displaystyle
x=1-\cos\phi\cos\phi_{1}-\cos(\theta-\theta_{1})\sin\phi\sin\phi_{1}$ (19)
$\displaystyle
y=1-\cos\phi\cos\phi_{2}-\cos(\theta-\theta_{2})\sin\phi\sin\phi_{2}$ (20)
$\displaystyle
z=1-\cos\phi_{1}\cos\phi_{2}-\cos(\theta_{1}-\theta_{2})\sin\phi_{1}\sin\phi_{2}$
(21)

For particular case, when two incident photons $\textbf{k}_{1}$ and
$\textbf{k}_{2}$ are propagating parallel to each other, it is convenient to
choose $z$-axis of spherical coordinate system along this direction. Then
setting $\theta_{1}=\theta_{2}=0$, $\phi_{1}=\phi_{2}=0$ and performing
integration over the $d\Omega=\sin\theta d\theta d\phi$ in Eqs. (18) we find

$\displaystyle\sigma_{\mathrm{idc}}=8\pi^{3}\alpha
r_{0}^{2}F(\omega_{1},\omega_{2}),$ (22) $\displaystyle
F(\omega_{1},\omega_{2})=\left(\frac{\omega_{1}^{2}}{\omega_{2}^{2}}+\frac{\omega_{2}^{2}}{\omega_{1}^{2}}+\frac{2\omega_{1}}{\omega_{2}}+\frac{2\omega_{2}}{\omega_{1}}+3\right)$
(23)
$\displaystyle\times\left(\frac{1}{\omega_{2}}+\frac{1}{\omega_{1}}\right)$

The function $F(\omega_{1},\omega_{2})$ is drawn in Fig. 1. It is should be
noted that $\omega_{1}$, $\omega_{2}$ are the input parameters of cross-
section and they nevet turns to zero for the real source of photons.

Figure 1: The IDC distribution function $F(\omega_{1},\omega_{2})$, see Eqs.
(22), (23)

For incident photon with equal energies, $\omega_{1}=\omega_{2}$, Eq. (18)
turns to

$\displaystyle\sigma_{\mathrm{idc}}=\frac{144\pi^{3}\alpha
r_{0}^{2}}{\omega_{1}}.$ (24)

In the case IDC the accounting of stimulated scattering can be taken into
account by multiplying the magnitude of the process by the factor
$\sqrt{N_{\textbf{k}_{1}\textbf{e}_{1}}}\sqrt{N_{\textbf{k}_{2}\textbf{e}_{2}}}\sqrt{N_{\textbf{k}\textbf{e}}+1}$
and dividing by the photon flux
$F=cN_{\textbf{k}_{2}\textbf{e}_{2}}N_{\textbf{k}_{1}\textbf{e}_{1}}/V$
Rapoport  _et al._ (1978). Assuming that for direct process there is a system
of electron + photon field with $N_{\textbf{k}\textbf{e}}$ photons the
following relation between the transition rates of direct and inverse
processes can be found Rapoport  _et al._ (1978); Labzowsky  _et al._ (1993)

$\displaystyle\frac{dw_{\mathrm{ddc}}}{dw_{\mathrm{idc}}}=\frac{N_{\textbf{k}_{1}\textbf{e}_{1}}N_{\textbf{k}_{2}\textbf{e}_{2}}(N_{\textbf{k},\textbf{e}}+1)}{N_{\textbf{k},\textbf{e}}(N_{\textbf{k}_{1}\textbf{e}_{1}}+1)(N_{\textbf{k}_{2}\textbf{e}_{2}}+1)}.$
(25)

The equation above is used in Lightman (1981); Ravenni and Chluba (2020) when
evolution of the photon occupation number is considered. It is should be noted
that behaviour of the left side of Eq. (25) in infrared region depends on the
ratio of photon occupation numbers in the right side this equation. Since all
$N_{\textbf{k}\textbf{e}}$ in Eq. (25) are defined by the properties of real
source one can conclude that the divergence problem is actually solved by the
constraints on the source.

Performing analytical evaluation of cross-section Eq. (16) we find that the
cross-section of IDC has no infrared divergence in variable $\omega$ and as a
result, the total cross-section becomes finite in contrast to the direct
process. However, there is another divergence of the type
$(\omega_{1}^{a}\omega_{2}^{b})^{-1}$ ($a$ and $b$ are some integers
$\geqslant 1$) which depends now only on input parameters. Cross-section
becomes infinite for the unphysical situation when two incident photons have
zero energy. Since the real source of photons always has finite width the
frequencies $\omega_{1}$ and $\omega_{2}$ in Eq. (16) are also finite.
Similarly, for a direct process, the solution to the problem of infrared
divergence can be resolved taking into account the fact that in under the real
physical conditions the photon wave-function can not described by a plane
wave. As a result the physical frequency profile of the scattered radiation
for direct as well as inverse DC processes is a function of both the intensity
and line shape of the incident photon field Dawson and Fried (1970). The
monochromatic limit, while it may exist as a mathematical exercise, is not
germane to the physical scattering problem. The shape and extent of the
external field are fundamental aspects of the problem.

Thus, we see that the problem of divergence can be solved not only by imposing
restrictions on the detector and its resolution, but also by taking into
account the spectral characteristics of the source itself, in particular,
taking into account the finite interaction time of radiation with an electron.
The latter circumstance for the theory of free particles can be taken into
account phenomenologically by analogy with the quantum-mechanical description
of photon scattering processes on atoms, where singular denominators are
regularized by the introduction of atomic level widths Low (1952);
Zalialiutdinov  _et al._ (2018); Andreev  _et al._ (2008). Then, following Low
(1952) the infrared behaviour $\omega_{1}^{-1}$ of the DDC scattering can be
naively regularized as follows

$\displaystyle
d\sigma_{\mathrm{ddc}}\sim\frac{\Gamma}{\omega_{1}^{2}+\Gamma^{2}/4},$ (26)

where $\Gamma=\tau^{-1}$ and $\tau$ is the interaction time of incident photon
with electron. For the inverse process there is no divergence and such
regularization is not needed. However the introduction of $\Gamma$ in this
case is also possible and should lead to the correct infrared asymptotic
behaviour when two-incident photons are soft.

In conclusion, it should be added that with sufficient intensity of an
external astrophysical radiation source, the inverse process can also be of
interest in the study and analysis of scattering spectra by electrons Ravenni
and Chluba (2020). As shown in this work, the cross-section of the inverse
process has no infrared features and is determined entirely by the spectral
density of incident photons. We leave the application to the study for
different astronomical situations for further study. Present calculations
represent only the first step towards solving the complete problem of the
radiation transfer equation, where incident photons interact with an electron
for a finite period of time.

## References

  * von W and Nordheim (1934) H. von W and L. Nordheim, Physica 1, 1059 (1934).
  * Eliezer (1946) C. J. Eliezer, Proceedings of the Royal Society of London. Series A, Mathematical and Physical Sciences 187, 210 (1946).
  * Cavanagh (1952) P. E. Cavanagh, Phys. Rev. 87, 1131 (1952).
  * Levine and Freund (1971) B. Levine and I. Freund, Optics Communications 3, 197 (1971).
  * Mandl and Skyrme (1952) F. Mandl and T. Skyrme, Proceedings of the Royal Society of London. Series A. Mathematical and Physical Sciences 215, 497 (1952).
  * Lotstedt and Jentschura (2013) E. Lotstedt and U. Jentschura, Phys. Rev. A 87, 033401 (2013).
  * Lötstedt and Jentschura (2009) E. Lötstedt and U. D. Jentschura, Phys. Rev. Lett. 103, 110404 (2009).
  * Sherwin (2017) J. A. Sherwin, Phys. Rev. A 95, 052101 (2017).
  * Chluba, J.  _et al._ (2007) Chluba, J., Sazonov, S. Yu., and Sunyaev, R. A., A&A 468, 785 (2007).
  * Ravenni and Chluba (2020) A. Ravenni and J. Chluba, Journal of Cosmology and Astroparticle Physics 2020, 025 (2020).
  * Jauch and Rohrlich (1976) J. M. Jauch and F. Rohrlich,  _The theory of photons and electrons. The relativistic quantum field theory of charged particles with spin one-half_, 2nd ed., Texts and Monographs in Physics (Springer, Berlin, 1976).
  * Brown and Feynman (1952) L. M. Brown and R. P. Feynman, Phys. Rev. 85, 231 (1952).
  * Mork (1971) K. J. Mork, Phys. Rev. A 4, 917 (1971).
  * Sandhu  _et al._ (2001) B. S. Sandhu, M. B. Saddi, B. Singh, and B. S. Ghumman, Pramana 57, 733 (2001).
  * Akhiezer and Berestetskii (1965) A. I. Akhiezer and V. B. Berestetskii,  _Quantum Electrodynamics_ (Wiley-Interscience, New York, 1965).
  * Bjorken and Drell (1964) J. D. Bjorken and S. D. Drell,  _Relativistic quantum mechanics_ (Mcgraw-Hill College, 1964).
  * Landau and Lifshitz (1965) L. D. Landau and E. M. Lifshitz,  _Quantum Mechanics: Non-Relativistic Theory_ (Pergamon Press, 1965).
  * Berestetskii  _et al._ (1982) V. Berestetskii, E. Lifshits, and L. Pitaevskii,  _Quantum Electrodynamics_ (Oxford Butterworth-Heinemann, 1982).
  * Dawson and Fried (1970) J. F. Dawson and Z. Fried, Phys. Rev. D 1, 3363 (1970).
  * Melrose (1972) D. B. Melrose, Il Nuovo Cimento A (1971-1996) 7, 669 (1972).
  * Mandl and Shaw (1985) F. Mandl and G. Shaw,  _QUANTUM FIELD THEORY_ (1985).
  * Rapoport  _et al._ (1978) L. Rapoport, B. Zon, and N. Manakov, “Theory of multiphoton processes in atoms,” (1978).
  * Mertig  _et al._ (1991) R. Mertig, M. Böhm, and A. Denner, Computer Physics Communications 64, 345 (1991).
  * Shtabovenko  _et al._ (2016) V. Shtabovenko, R. Mertig, and F. Orellana, Computer Physics Communications 207, 432 (2016).
  * Labzowsky  _et al._ (1993) L. Labzowsky, G. Klimchitskaya, and Y. Dmitriev,  _Relativistic Effects in the Spectra of Atomic Systems_ (Institute of Physics Publishing, 1993).
  * Lightman (1981) A. P. Lightman, Astrophys. J. 244, 392 (1981).
  * Low (1952) F. Low, Phys. Rev. 88, 53 (1952).
  * Zalialiutdinov  _et al._ (2018) T. A. Zalialiutdinov, D. A. Solovyev, L. N. Labzowsky, and G. Plunien, Phys. Rep. 737, 1 (2018).
  * Andreev  _et al._ (2008) O. Y. Andreev, L. N. Labzowsky, G. Plunien, and D. A. Solovyev, Phys. Rep. 455, 135 (2008).