Hierarchical Graph Neural Networks for Proprioceptive 6D Pose Estimation
  of In-hand Objects
Robotic manipulation, in particular in-hand object manipulation, often
requires an accurate estimate of the object's 6D pose. To improve the accuracy
of the estimated pose, state-of-the-art approaches in 6D object pose estimation
use observational data from one or more modalities, e.g., RGB images, depth,
and tactile readings. However, existing approaches make limited use of the
underlying geometric structure of the object captured by these modalities,
thereby, increasing their reliance on visual features. This results in poor
performance when presented with objects that lack such visual features or when
visual features are simply occluded. Furthermore, current approaches do not
take advantage of the proprioceptive information embedded in the position of
the fingers. To address these limitations, in this paper: (1) we introduce a
hierarchical graph neural network architecture for combining multimodal (vision
and touch) data that allows for a geometrically informed 6D object pose
estimation, (2) we introduce a hierarchical message passing operation that
flows the information within and across modalities to learn a graph-based
object representation, and (3) we introduce a method that accounts for the
proprioceptive information for in-hand object representation. We evaluate our
model on a diverse subset of objects from the YCB Object and Model Set, and
show that our method substantially outperforms existing state-of-the-art work
in accuracy and robustness to occlusion. We also deploy our proposed framework
on a real robot and qualitatively demonstrate successful transfer to real
settings.
Alireza Rezazadeh, Snehal Dikhale, Soshi Iba, Nawid Jamali
# Hierarchical Graph Neural Networks

###### Abstract

Robotic manipulation, in particular in-hand object manipulation, often requires an accurate estimate of the object's 6D pose. To improve the accuracy of the estimated pose, state-of-the-art approaches in 6D object pose estimation use observational data from one or more modalities, e.g., RGB images, depth, and tactile readings. However, existing approaches make limited use of the underlying geometric structure of the object captured by these modalities, thereby, increasing their reliance on visual features. This results in poor performance when presented with objects that lack such visual features or when visual features are simply occluded. Furthermore, current approaches do not take advantage of the proprioceptive information embedded in the position of the fingers. To address these limitations, in this paper: (1) we introduce a hierarchical graph neural network architecture for combining multimodal (vision and touch) data that allows for a geometrically informed 6D object pose estimation, (2) we introduce a hierarchical message passing operation that flows the information within and across modalities to learn a graph-based object representation, and (3) we introduce a method that accounts for the proprioceptive information for in-hand object representation. We evaluate our model on a diverse subset of objects from the YCB Object and Model Set, and show that our method substantially outperforms existing state-of-the-art work in accuracy and robustness to occlusion. We also deploy our proposed framework on a real robot and qualitatively demonstrate successful transfer to real settings.

## I Introduction

When humans interact with an object, vision and touch provide information for estimating the object's attributes (e.g., shape, position, and orientation). The nervous system frequently integrates sensory information from several sources, where the combined estimate is more accurate than each source individually [1, 2, 3]. For instance, when attempting to grab the handle of a coffee cup, we see and touch the handle. We also see and feel where our hands are based on the proprioception information signaled through muscles and joints [4, 5]. The combination of visual, haptic, and proprioceptive feedback allows us to accurately localize the coffee cup and the orientation of its handle.

State-of-the-art object pose estimation models often use RGB-D observational data to compute an object's 6D pose [6, 7, 8]. In robotic applications, recent work on multimodal manipulation has shown significant improvements when incorporating tactile data into object reasoning tasks such as object 3D reconstruction [9], shape completion [10, 11], and pose estimation [12, 13]. However, these methods make limited use of the underlying geometric structure and disregard proprioceptive information embedded in the position of fingers.

Depth information is typically included in 6D pose estimation models as an additional input to a convolutional architecture (CNN) [6, 7, 8]. However, CNN architectures do not fully exploit the inherent 3D geometric structure in the depth data. Recently, graph representations have shown promising results in capturing the geometric structure of depth point clouds [14, 15, 16]. Despite the advantage of graph representation for shape completion [10, 11] and grasp stability prediction [17], most existing works on multimodal pose estimation have focused only on CNN architectures [12, 13]. CNN-based pose estimator models depend predominantly on visual features and underutilize geometric information, which results in significant performance degradation under occlusion.

Earlier work on deep visuomotor policy learning [18, 19] used robot configuration as a complementary input to their

Fig. 1: Our model estimates the 6D pose of an in-hand object by learning a multimodal graph representation from sensor observations. The _Vision Graph_ is constructed from the RGB and the depth point cloud shown in gray color, similarly, the _Touch Graph_ is constructed from contact points shown in distinct colors for each tactile sensor. These two graphs are also interconnected (dotted lines) to allow the information to flow within and across modalities.
model. However, incorporating proprioceptive information such as finger position for in-hand objects has not been explored in the literature. Providing proprioceptive information to the model potentially narrows down the object pose solution space by implicitly filtering out implausible poses that conflict with the hand configuration.

In this work, we introduce a novel framework for in-hand object pose estimation that combines visual and tactile sensor readings and accounts for proprioceptive information. We propose learning a multimodal graph representation of an in-hand object on two modality levels: a vision graph and a touch graph (see Fig. 1). The Vision Graph encodes RGB-D observations while the Touch Graph encodes tactile readings and registers each tactile reading with its corresponding location on the robot's fingers--encapsulating the proprioceptive signal. We introduce a hierarchical message passing operation that updates the multimodal graph representation by flowing the information within and across the modality graphs. The updated multimodal graph representation can then be used to decode an accurate 6D pose of the object.

Our key contributions are: (1) the proposal of a hierarchical graph neural network architecture for combining vision and touch observations, (2) the introduction of a hierarchical message passing operation to learn a graph-based object representation on multiple modality levels simultaneously through multiple rounds of inter- and intra-modality message passing, and (3) the use of proprioceptive information for in-hand 6D object pose estimation.

## II Related Work

Object Pose from VisionEarly learning-based pose estimation methods such as Xiang _et al._[20] explored using RGB input to a convolutional model to directly predict the 6D object pose. Recent work has shown promising improvements by using RGB-D observations [6, 7, 8]. Li _et al._[21] included depth data as an additional channel to a convolutional pose estimator. Wang _et al._[6] proposed fusing RGB and depth information at pixel-level to estimate the 6D pose of objects [20]. Song _et al._[8] use a hybrid representation based on keypoints to improve pose estimation based on symmetries in the objects. Although RGB-D pose estimation methods are well developed, their performance degrades significantly under occlusion.

Object Reasoning from Vision and TouchIn interactive robotic settings, such as in-hand object manipulation, multimodal observational data such as vision and touch are available to reason about the characteristics of the object [9, 10, 11, 13, 22]. Watkins-Valls _et al._[11] and Tahoun _et al._[9] used tactile sensors along with visual RGB-D information to reconstruct 3D geometries of objects under occlusion. Rustler _et al._[10] also showed 3D shape completion significantly enhances from active re-grasping of the object at the occluded areas. In a more relevant application to our work, Dikhale _et al._[12] proposed a CNN-based framework for 6D pose estimation to combine RGB-D and tactile contact points and showed major improvements in the pose estimation of occluded objects.

Graph-Based Object ReasoningRecently graph neural networks have been applied to depth point clouds to process geometric information present in such data. A graph network [23, 24] is a mapping from an input graph to an updated output graph with updated attributes. Graph neural networks update the graph by learning to perform message passing operations in the graph to propagate information between nodes through edges [24, 25]. Si _et al._[14] proposed the use of graph representation for object detection based on depth data. Each node in the graph represents a point in the depth point cloud and nodes are connected through edges based on spatial proximity. For 6D pose estimation, Zhou _et al._[26] employed graph convolution [27] on RGB-D data and showed improvements over methods with no graph representation such as Wang _et al._[6].

The literature suggests a significant advantage of graph networks for object reasoning based on RGB-D, however, incorporating tactile data with a graph-based model is an underexplored topic. A recent work by Garcia-Garcia _et al._[17] performed grasp stability binary classification by building a graph for pressure readings of tactile sensors. In their method, each tactile sensor is modeled as a separate graph where nodes represent taxels. In comparison, our method aims to estimate the 6D pose of an object by learning a multimodal graph representation that jointly describes the vision and all tactile readings. This allows for capturing the geometric information of each modality as well as their relative geometrical information. We show that our proposed framework reliably estimates an accurate 6D pose and is robust to occlusions.

## III Problem Definition

For an object instance within a category (e.g., bottle, can, box, etc.), we refer to category-level 6D pose estimation as the task of predicting the 6D pose \(p\in SE(3)\) of the object in the scene with respect to the camera coordinate frame. The 6D pose \(p=[R|t]\) consists of a rotation \(R\in SO(3)\) and a translation \(t\in\mathbb{R}^{3}\). We assume access to observational data in two modalities:

1. _Vision_: a single-view RGB-D image of the scene that contains RGB scene information \(I\in\mathbb{R}^{h\times w\times 3}\) and point cloud of the segmented object \(X_{V}\in\mathbb{R}^{3\times N_{v}}\) from the depth channel.
2. _Touch_: a set of contact points \(X_{T}\) from \(N_{s}\) individual tactile sensors in the form of object surface point clouds \(X_{T}=\{X_{T_{i}}\in\mathbb{R}^{3\times N_{t,i}}\text{ for }i=1\dots N_{s}\}\). We also assume access to the location of all tactile sensors \(X_{S}\in\mathbb{R}^{3\times N_{s}}\) with respect to the camera frame.

## IV Model

We propose _Hierarchical Graph Neural Network_ (HGNN), a graph neural network framework with an encoder-processor-decoder architecture [28, 29, 24] to estimate the 6D pose of in-hand objects by combining vision and touch modalities and accounting for proprioception (Fig. 2).

We introduce learning a hierarchical graph representation of objects on two modality levels: a vision graph,
\((\mathcal{V}_{V},\mathcal{E}_{V})\) that encodes observations from vision, and a touch graph, \(\mathcal{G}_{T}=(\mathcal{V}_{T},\mathcal{E}_{T})\) that encodes touch observations and also encapsulates a proprioceptive signal that registers each tactile reading with the location of its corresponding sensor. These two graphs are interconnected to enable cross-modality information exchange.

### _Model Architecture_

Our network architecture, as shown in Figure 2, can be divided into three parts: (1) a graph encoder that constructs a hierarchical graph representation of the object, (2) a graph processor that updates the graph representation through hierarchical message passing, and (3) a pose decoder that estimates the 6D pose of the object based on a readout obtained from the updated graph nodes.

#### Iii-A1 The Graph Encoder

The graph encoder learns a mapping from the observations to a multimodal graph representation of the object (see Fig. 2-a). First, vision and touch point clouds from raw observation are filtered using voxel downsampling: a 3D voxel grid overlays the points and the centroid of each voxel is used to represent the points within that voxel. This preprocessing ensures that our solution is independent of the point cloud density. After computing the downsampled vision \(X_{V}\) and touch \(X_{T}\) points, the point features (\(F_{V}\), \(F_{T}\)) in each modality and the proprioceptive features (\(F_{S}\)) are encoded into a graph representation.

These features (\(F_{V}\), \(F_{T},F_{S}\)) contain positional and visual information extracted from the observation. The positional information is based on the location of each point in the 3D space. The visual information is an auxiliary feature to fuse additional relevant information from the image. Visual features are obtained from a bounding box cropped around the 2D projection of the 3D points on the RGB image. We refer to the visual feature of the points as auxiliary since they only provide a visual context to the model and are not always directly observable.

In the vision graph \(\mathcal{G}_{V}\), each node \(\mathbf{n}_{V}^{i}\in\mathcal{V}_{V}\), represents a point in the vision point cloud \(X_{V}\). Each vision node embedding is defined as \(\mathbf{n}_{V}^{i}=[x_{V}^{i},\varphi_{V}^{i},\varphi_{O}]\) where \(x_{V}^{i}\in X_{V}\) denotes the 3D coordinates of the point. A local visual feature vector \(\varphi_{V}^{i}\) is obtained from a convolutional encoder applied to a fixed-size bounding box \(\mathrm{b}\mathrm{b}_{V}^{i}\) around the 2D projection of \(x_{V}^{i}\) on the observed RGB image. A global visual feature vector \(\varphi_{O}\) obtained from a convolutional encoding of the object segment's image \(\mathrm{b}\mathrm{b}_{O}\) is also provided in each node embedding (Fig. 3).

The touch graph \(\mathcal{G}_{T}\) carries positional and visual features associated with the tactile readings along with a proprioceptive signal that registers each contact point to its corresponding tactile sensor. Each node embedding in the touch graph is defined as \(\mathbf{n}_{T}^{i}=[x_{T}^{i},\varphi_{T}^{i},\varphi_{O},\mathbf{\pi}_{S}^{i}]\) where \(x_{T}^{i}\in X_{T}\) is the coordinates of the point, \(\varphi_{T}^{i}\) is the local visual features from the point's bounding box \(\mathrm{b}\mathrm{b}_{T}^{i}\) on the image, and \(\varphi_{O}\) is the global visual feature of the object (Fig. 3).

For a given node \(x_{T}^{i}\) in the touch graph, the proprioceptive signal consists of positional and visual features of the corresponding tactile sensor \(\mathbf{\pi}_{S}^{i}=[x_{S}^{i},\varphi_{S}^{i}]\) where \(x_{S}^{i}\in X_{S}\) denotes the coordinates of the tactile sensor that observed the point \(x_{T}^{i}\) and \(\varphi_{S}^{i}\) is the visual feature obtained from a convolutional encoder applied to bounding box \(\mathrm{b}\mathrm{b}_{S}^{i}\) around the 2D projection of \(x_{S}^{i}\) on the observed image (Fig. 3).

Edge embeddings in both graphs \(\mathbf{e}_{V}^{ij}\in\mathcal{E}_{V}\), and \(\mathbf{e}_{T}^{ij}\in\mathcal{E}_{T}\) is set by spatial proximity: a node pair \((i,j)\) is connected if \(|x_{i}-x_{j}|<r\). For the connected nodes, the edge embeddings are defined as \(|x_{i}-x_{j}|\) to capture the relative spatial relation. To enable cross-modality information exchange, we also define connectivity between the two graphs through inter-graph edges as \(\mathbf{e}_{V+T}^{ij}\) where each node in a modality graph is connected to the k-nearest neighbor nodes from the other modality graph.

#### Iii-A2 The Graph Processor

In a graph network \(\mathcal{G}\), one round of message passing (\(\mathrm{mp}\)) updates the graph embeddings by propagating the information in the graph as \(\mathcal{G}^{\prime}\leftarrow\mathrm{mp}(\mathcal{G})\)

Fig. 2: Approach Overview: Our framework estimates the 6D pose of an in-hand object with an encoder-processor-decoder architecture. (a) The graph encoder maps the observation from vision (RGB and depth point cloud) and touch (contact point clouds) to a multimodal graph representation while accounting for the proprioceptive information from the hand. (b) The graph processor (HGNN) performs multiple rounds of hierarchical intra-modality, and inter-modality message passing to update the graph. (c) The pose decoder extracts a readout from the updated graph and estimates the object’s 6D pose.
The message passing operation can be summarized as,

\[\begin{split}\mathbf{e}^{ij}{}^{\prime}&\gets f _{\text{e}}(\mathbf{e}^{ij},\mathbf{n}_{i},\mathbf{n}_{j})\\ \mathbf{n}^{k}{}^{\prime}&\gets f_{\text{n}}( \mathbf{n}^{k},\sum_{i\in\mathcal{N}(k)}\mathbf{e}^{ik^{\prime}})\end{split} \tag{1}\]

where an edge specific function \(f_{\text{e}}\) updates each node embedding, then for each node the node-specific function \(f_{\text{n}}\) aggregates the updated neighboring \(\mathcal{N}(k)\) edge information and updates the node embedding. Node- and edge-specific functions are multilayer perceptrons (MLPs).

We propose Hierarchical Graph Neural Networks (HGNN) with a hierarchical message passing scheme (see Fig. 2-b) where first the information propagates at each modality level and then across modalities. A hierarchical message passing round can be described as,

\[\begin{split}\mathcal{G}_{V}{}^{\prime}&\leftarrow \operatorname{mp}_{V\leftrightarrow V}(\mathcal{G}_{V})\\ \mathcal{G}_{T}{}^{\prime}&\leftarrow\operatorname{ mp}_{T\leftrightarrow T}(\mathcal{G}_{T})\\ \mathcal{G}_{V}{}^{\prime\prime},\mathcal{G}_{T}{}^{\prime\prime}& \leftarrow\operatorname{mp}_{V\leftrightarrow T}(\mathcal{G}_{V}{}^{ \prime},\mathcal{G}_{T}{}^{\prime})\end{split} \tag{2}\]

where vision and touch graph nodes communicate within each graph through _intra-modality_ message passing (\(\operatorname{mp}_{V\leftrightarrow V}\), \(\operatorname{mp}_{T\leftrightarrow T}\)) and then exchange information through _inter-modality_ message passing (\(\operatorname{mp}_{V\leftrightarrow T}\)). We perform \(L\) rounds of hierarchical message passing where each round is applied sequentially to the output of the previous round. After the last message passing round the multimodal graph representation is updated to \(\tilde{\mathcal{G}}\).

#### Iv-A3 The Pose Decoder

The updated multimodal graph representation \(\tilde{\mathcal{G}}\) implicitly reflects the object pose information. To extract the object pose, a graph readout is obtained by collecting the updated node embeddings \(\tilde{\mathbf{n}}\) (see Fig. 2-c). We then use a simple MLP pose estimator function to compute a node-wise 6D pose \([\hat{R}_{i}|\hat{t}_{i}]\), and a confidence measurement \(\hat{c}_{i}\) for each node-wise pose estimate [6]. The final pose of the object is set to the node-wise pose estimate with maximum confidence: \(\operatorname{argmax}(\hat{c}_{i})=[\hat{R}|\hat{t}]\).

### _Model Training_

We use a 3D model of the object to build a loss function to train our framework in an end-to-end manner. First, the object model is voxalized to get a total number of \(P\) object surface points \(x_{p}\). Each node-wise estimated pose \([\hat{R}_{i}|\hat{t}_{i}]\) is used to transform the object model and then compared with a transformation using the ground-truth object pose \([R_{gt}|t_{gt}]\). A node-wise pose estimation loss is defined as,

\[L_{i}^{\mathbf{n}}=\frac{1}{P}\sum_{p=1...P}||(R_{gt}x_{p}+t_{gt})-(\hat{R}_{ i}x_{p}+\hat{t}_{i})|| \tag{3}\]

The total loss is computed as an average node-wise loss \(L_{i}^{\mathbf{n}}\) weighted by their corresponding confidence estimate \(\hat{c}_{i}\). Top \(K\) nodes are pooled to include in the total loss [30, 31, 32]. A regularization term is also added for the confidence estimates to achieve a more balanced confidence measurement among all nodes [6]. The total loss can be summarized as,

\[L=\frac{1}{K}\sum_{i=1...K}(L_{i}^{\mathbf{n}}\hat{c}_{i}-\lambda\log(\hat{c}_ {i})) \tag{4}\]

## V Experiments

Our experiments are motivated by the following questions: (1) Does the HGNN model learn to accurately estimate the object pose? (2) How effective is incorporating the proprioceptive information? (3) Does hierarchical message passing improve performance?

### _Environments_

#### V-A1 Synthetic

We use VisuoTactile synthetic dataset from Dikhale _et al._[12] to train our framework. In this dataset, a subset of 11 YCB objects [33] are selected based on their graspability. A total number of \(20\)K distinct in-hand poses are simulated per object. In particular, Unreal Engine 4.0 [34] has been used to render photo-realistic observational data of a 6 DoF robot arm with a 4-fingered gripper (Allegro Hand, SimLab Co., Ltd.) equipped with 12 tactile sensors (3 per finger). A main RGB-D camera captures images of the robot holding an object. Each tactile sensor captures object surface contact points in a point cloud format. Each data sample is generated by randomizing the in-hand object pose, the robot fingers configuration, and the robot arm orientation and position. Domain randomization is also applied for the color and pattern of the background and workspace desk.

#### V-A2 Real Robot

After training our model on the synthetic data we deploy it on a multi-finger gripper (Allegro Hand, SimLab Co., Ltd.) attached to a Sawyer robot. The gripper has 4 fingers, 16 joints, and 3 tactile sensors (uSkin, XELA Robotics Co., Ltd) on each finger to capture the object's surface contact points (224 taxels in total). An RGB-D camera (Kinect2, Microsoft) is used as the main camera to get RGB-D images. We use real YCB object samples to test the performance of our framework on the real robot (Fig. 1 shows the real robot setup).

Fig. 3: Visual Features: We compute an auxiliary local visual feature vector (\(\varphi_{V}\), \(\varphi_{T}\), \(\varphi_{S}\)) for each observed 3D point from vision, touch, and tactile sensors’ coordinates (\(x_{V}\), \(x_{T}\), \(x_{S}\)) by applying a convolutional encoder to a bounding box cropped around the projection of that point on the RGB image (\(\operatorname{bb}_{V}\), \(\operatorname{bb}_{T}\), \(\operatorname{bb}_{S}\)). A global visual feature vector \(\varphi_{O}\) is also computed based on the object segment.
### _Baselines and Ablations_

We compare our approach (HGNN) with two baselines:

#### V-C1 VisuoTactile Fusion (ViTa)

we compare with a recent multimodal category-level 6D object pose estimation Dikhale _et al._[12]. Vision and tactile data are processed in two separate channels. In the vision channel, RGB and depth data are fused at the pixel level. The tactile channel combines the depth data and tactile contact points. The outputs of the two channels are fused using 1D convolutional layers to estimate the 6D pose.

#### V-C2 Point Cloud Graph Neural Network (Point-GNN)

we modified a recent graph-based object detection method by Shi _et al._[14] to build a graph-based 6D pose estimation baseline. A graph representation is built where each node is a point in the point cloud. Unlike our hierarchical scheme, Shi _et al._[14] applied message passing across all nodes to update the graph. We use a pose decoder architecture similar to ours (section IV-A3) to estimate the object 6D pose.

We also ablate our model to examine our formulation and single out the contribution of each of its components:

#### V-C1 Visual Features (HGNN-NoVis)

In this model, we only rely on the 3D coordinates of the observed points (depth, touch, and proprioception) and exclude all auxiliary visual features obtained from convolutional encoders (\(\varphi_{O}\), \(\varphi_{V}\), \(\varphi_{T}\), and \(\varphi_{S}\)).

#### V-C2 Proprioception (HGNN-NoProp)

In this model, we exclude all proprioceptive information \(\mathbf{\pi}_{S}\) (positional and visual features of the tactile sensors) from the graph representation of the observational data.

#### V-C3 Hierarchical Message Passing (HGNN-NoHrch)

We discard the hierarchical inter- and intra-modality message passing from equation (2). Instead, we perform \(L=3\) rounds of message passing across all nodes with no hierarchical scheme.

### _Metrics_

We measure the quality of an estimated 6D pose \(\hat{p}=[\hat{R}|\hat{t}]\) using two metrics: position error and angular error. The position error is computed as L2 distance between the estimated \(\hat{t}\) and ground truth translation vectors \(t_{gt}\). The angular error is defined as \(\cos^{-1}(2\langle\hat{q},q_{gt}\rangle^{2}-1)\) using the inner product of the estimated \(\hat{q}\) and ground truth \(q_{gt}\) rotation quaternions [35].

### _Implementation Details_

All models are trained on the synthetic dataset. The dataset is split into training and testing sets, \(80\%\) and \(20\%\), respectively. We report the performance of models using the testing data. The bounding box sizes are set to \(\mathrm{bb}_{V},\mathrm{bb}_{T}:8\times 8\) pixels and \(\mathrm{bb}_{S}:64\times 64\) pixels. A total number of \(L=3\) rounds of message passing has been performed in equation (2). All the concatenated features in embeddings of the vision and touch graphs are mapped to a fixed-size 128-dimensional latent vector using MLPs. We set \(\lambda=1.5\)e-\(2\) and \(K=128\) in equation (4).

## VI Results

### _Comparison with Baselines_

Figure 4 shows the performance of our model measured in angular (deg) and position (cm) error. Across all objects, our model _HGNN_ consistently outperforms _Point-GNN_ and _ViTa_ by a large margin. On average, _HGNN_ outperforms _Point-GNN_, by \(53\%\) (\(0.12\) cm) in position and \(57\%\) (\(2.20^{\circ}\)) in angular error. The improvement margin is larger in comparison with _ViTa_, by \(72\%\) (\(0.27\) cm) in position and \(80\%\) (\(6.7^{\circ}\)) in angular error.

Another important observation comes from examining the effect of occlusion on the performance of our model. We calculate the occlusion level as the percentage of object model points visible to the main camera. Each point in the model is labeled as visible if there exists a point within a fixed threshold in the main camera's point cloud using

Fig. 4: 6D pose estimation performance.

Fig. 5: 6D pose estimation performance under increasing levels of occlusion.
the k-nearest neighbor algorithm. The occlusion level is the percentage of model points labeled as not visible. Figure 5 shows the results of this analysis. Our model is effectively more robust to occlusion levels compared to the baseline.

### _Ablations_

Table I summarizes the ablation experiment results.

#### Vi-B1 Effects of Proprioceptive Information

We remove the proprioceptive information from the graph representation in _HGNN-NoProp_ and observe a significantly inferior performance compared to _HGNN_ (\(23\%\) in position and \(33\%\) in angular error).

#### Vi-B2 Effects of Visual Features

We exclude the auxiliary visual features obtained from bounding boxes and only rely on 3D coordinates of the observed points in _HGNN-NoVis_. This results in a significantly less accurate pose estimation compared to _HGNN_ (\(18\%\) in position and \(15\%\) in angular error) which validates that providing visual context for the points enhances the learned object representation.

#### Vi-B3 Effects of Hierarchical Message Passing

We discard the hierarchical message passing and use simple message passing across all modalities in _HGNN-NoHrch_. No hierarchy in message passing results in significantly inferior performance (\(15\%\) in position and \(70\%\) in angular error). This indicates that a hierarchical scheme (i.e., inter- and intra-modality message passing) has a major advantage for multimodal graph representation learning.

#### Vi-B4 Effect of Tactile Readings

We assess the performance of our model over varying numbers of tactile data. Figure 6 shows the average accuracy of our model as a response to limiting the maximum number of tactile contact points available per sensor. We notice that as the number of points per sensor increases (i.e, the touch observation gets richer), our model increasingly estimates a more accurate pose. This shows the importance of incorporating the touch modality on top of vision to enhance the quality of the estimated pose.

### _Real Robot_

We deployed our HGNN network and ViTa baseline network simultaneously in real-time on the hardware setup described in section V-A2. During deployment, both our network and the baseline receive the same input. Note, that the networks are trained on the synthetic dataset only. Figure 7 is an example of the pose estimation performance under varying levels of occlusion. We observe that our model (blue), unlike ViTa (cyan), is robust to a wide range of occlusions. The accompanying video provides further demonstration of the results presented in this section.

## VII Conclusion

In this paper, we proposed a graph-based framework for estimating the 6D pose of in-hand objects based on vision and touch observations and accounting for proprioceptive information. Motivated by human motor behavior, we introduced a novel hierarchical approach for learning a graph representation of the observational data on two modality levels using hierarchical message passing that allows the information to flow within and across modalities. We showed that our approach accurately estimates the object's pose and is robust to heavy occlusions. We compared our model to existing work and showed that it achieves state-of-the-art performance on category-level 6D pose estimation of YCB objects. Moreover, we deployed our model to a real robot and showed successful transfer to pose estimation in the real setting. One potential limitation in our formulation is that incorporating proprioceptive information leads to learning a pose estimator that is not gripper-agnostic. Although we showed that including proprioception significantly enhances the pose estimation accuracy, we speculate that for optimal performance the model needs to be retrained based on the gripper characteristics (e.g., number of fingers or number of sensors per finger). An interesting future direction is incorporating other sensory information such as pressure into our framework. Finally, we hope our general approach inspires future research on multimodal object representation learning.

\begin{table}
\begin{tabular}{|l|c c|} \hline Model & Position Error (cm) & Angular Error (degree) \\ \hline HGNN (Ours) & \(\mathbf{0.104\pm 0.002}\) & \(\mathbf{1.609\pm 0.081}\) \\ HGNN-NoVis & \(0.127\pm 0.003\) & \(1.907\pm 0.111\) \\ HGNN-NoProp & \(0.136\pm 0.002\) & \(2.390\pm 0.122\) \\ HGNN-NoHrch & \(0.154\pm 0.002\) & \(2.749\pm 0.108\) \\ \hline \end{tabular}
\end{table} TABLE I: Ablation Results.

Fig. 6: Effect of the varying maximum number of tactile points per sensor on HGNN pose estimation performance.

Fig. 7: Pose estimation performance under different levels of occlusion for HGNN (blue), ViTa (cyan) compared with the ground-truth (gray).