{'fraction_non_alphanumeric': 0.030360334689013807, 'fraction_numerical': 0.00702017977877367, 'mean_word_length': 4.823502790767838, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Category-Level Articulated Object Pose Estimation

This project addresses the task of category-level pose estimation for articulated objects from a single depth image. We present a novel category-level approach that correctly accommodates object instances previously unseen during training. We introduce Articulation-aware Normalized Coordinate Space Hierarchy (ANCSH) - a canonical representation for different articulated objects in a given category. As the key to achieve intra-category generalization, the representation constructs a canonical object space as well as a set of canonical part spaces. The canonical object space normalizes the object orientation,scales and articulations (e.g. joint parameters and states) while each canonical part space further normalizes its part pose and scale. We develop a deep network based on PointNet++ that predicts ANCSH from a single depth point cloud, including part segmentation, normalized coordinates, and joint parameters in the canonical object space. By leveraging the canonicalized joints, we demonstrate: 1) improved performance in part pose and scale estimations using the induced kinematic constraints from joints; 2) high accuracy for joint parameter estimation in camera space.


Introduction
Our environment is populated with articulated objects, ranging from furniture such as cabinets and ovens to small tabletop objects such as laptops and eyeglasses. Effectively interacting with these objects requires a detailed understanding of their articulation states and part-level poses. Such understanding is beyond the scope of typical 6D pose estimation algorithms, which have been designed for rigid objects [31,25,24,28]. Algorithms that do consider object articulations [13,14,12,16] often require the exact object CAD model and the associated joint parameters at test time, preventing them from generalizing to new object instances.
In this paper, we adopt a learning-based approach to perform category-level pose estimation for articulated objects. Specifically, we consider the task of estimating perpart 6D poses and 3D scales, joint parameters (i.e. type, position, axis orientation), and joint states (i.e. joint angle) * indicates equal contributions. Given a depth point cloud of a novel articulated object from a known category, our algorithm estimates: part attributes, including part segmentation, poses, scales and amodal bounding boxes; joint attributes, including joint parameters and joint states. of a novel articulated object instance in a known category from a single depth image. Here object instances from one category will share a known kinematic chain composing of a fixed number of rigid parts connected by certain types of joints. We are particularly interested in the two most common joint types, revolute joints that cause 1D rotational motion (e.g., door hinges), and prismatic joints that allow 1D translational movement (e.g., drawers in a cabinet). An overview is shown in Figure 1. To achieve this goal, several major challenges need to be addressed: First, to handle novel articulated objects without knowing exact 3D CAD models, we need to find a shared representation for different instances within a given category. The representation needs to accommodate the large variations in part geometry, joint parameters, joint states, and self-occlusion patterns. More importantly, for learning on such diverse data, the representation needs to facilitate intra-category generalization.
Second, in contrast to a rigid object, an articulated object is composed of multiple rigid parts leading to a higher degree of freedom in its pose. Moreover, the parts are connected and constrained by certain joints and hence their 1 poses are not independent. It is challenging to accurately estimate poses in such a high-dimensional space while complying with physical constraints.
Third, various types of joints provide different physical constraints and priors for part articulations. Designing a framework that can accurately predict the parameters and effectively leverage the constraints for both revolute and prismatic joints is yet an open research problem.
To address the representation challenge, we propose a shared category-level representation for different articulated object instances, namely, Articulation-aware Normalized Coordinate Space Hierarchy (ANCSH). Concretely, ANCSH is a two-level hierarchy of canonical space, composed of Normalized Articulated Object Coordinate Space (NAOCS) at the root level and a set of Normalized Part Coordiante Spaces (NPCSs) at the leaf level. In the NAOCS, object scales, orientations, and joint states are normalized. In the NPCS of each rigid part, the part pose and scale are further normalized . We note that NAOCS and NPCS are complimentary to each other: NAOCS provides a canonical reference on the object level while NPCSs provide canonical part references. The two-level reference frames from ANCSH allow us to define per-part pose as well as joint attributes for previously unseen articulated object instances on the category-level.
To address the pose estimation challenge, we segment objects into multiple rigid parts and predict the normalized coordinates in ANCSH. However, separate per-part pose estimation could easily lead to physically impossible solutions since joint constraints are not considered. To conform with the kinematic constraints introduced by joints, we estimate joint parameters in the NAOCS from the observation, mathematically model the constraints based upon the joint type, and then leverage the kinematic priors to regularize the part poses. We formulate articulated pose fitting from the ANCSH to the depth observation as a combined optimization problem, taking both part pose fitting and joint constraints into consideration. In this work we mainly focus on 1D revolute joints and 1D prismatic joints, while the above formulation can be extended to model and support other types of joints.
Our experiments demonstrate that leveraging the joint constraints in the combined optimization leads to improved performance in part pose and scale prediction. Noting that leveraging joint constraints for regularizing part poses requires high-accuracy joint parameter predictions, which itself is very challenging. Instead of directly predicting joint parameters in the camera space, we consider and leverage predictions in NAOCS, where joints are posed in a canonical orientation, e.g. the revolute joints always point upward for eyeglasses.
By transforming joint parameter predictions from NAOCS back to camera space, we further demonstrate supreme accuracy on camera-space joint parameter predictions. In summary, the primary contribution of our paper is a unified framework for category-level articulated pose estimation. In support of this framework, we design: · A novel category-level representation for articulated objects -Articulation-aware Normalized Coordinate Space Hierarchy (ANCSH).
· A PointNet++ based neural network that is capable of predicting ANCSH for previously unseen articulated object instances from a single depth input.
· A combined optimization scheme that leverages ANCSH predictions along with induced joint constraints for part pose and scale estimation.
· A two-step approach for high-accuracy joint parameter estimation that first predicts joint parameters in the NAOCS and then transforms them into camera space using part poses.

Related Work
This section summarizes related work on pose estimation for rigid and articulated objects.
Rigid object pose estimation. Classically, the goal of pose estimation is to infer an object's 6D pose (3D rotation and 3D location) relative to a given reference frame. Most previous work has focused on estimating instance-level pose by assuming that exact 3D CAD models are available. For example, traditional algorithms such as iterative closest point (ICP) [4] perform template matching by aligning the CAD model with an observed 3D point cloud. Another family of approaches aim to regress the object coordinates onto its CAD model for each observed object pixel, and then use voting to solve for object pose [6,7]. These approaches are limited by the need to have exact CAD models for particular object instances.
Category-level pose estimation aims to infer an object's pose and scale relative to a category-specific canonical representation. Recently, Wang et al. [28] extended the object coordinate based approach to perform categorylevel pose estimation. The key idea behind the intracategory generalization is to regress the coordinates within a Normalized Object Coordinate Space (NOCS), where the sizes are normalized and the orientations are aligned for objects in a given category. Whereas the work by [28] focuses on pose and size estimation for rigid objects, the work presented here extends the NOCS concept to accommodate articulated objects at both part and object level. In addition to pose, our work also infers joint information and addresses particular problems related to occlusion.
Articulated object pose estimation.
Most algorithms that attempt pose estimation for articulated objects assume that instance-level information is available. The approaches often use CAD models for particular instances along with known kinematic parameters to constrain the search space and to recover the pose separately for different parts [18,9]. Michel et al. [18] used a random forest to vote for pose parameters on canonical body parts for each point in a depth image, followed by a variant of the Kabsch algorithm to estimate joint parameters using RANSACbased energy minimization. Desingh et al. [9] adopted a generative approach using a Markov Random Field formulation, factoring the state as individual parts constrained by their articulation parameters. However, these approaches only consider known object instances and cannot handle different part and kinematic variations. A recent work [1] also tries to handle novel objects within the same category by training a mixed density model [5] on depth images, their method could infer kinematic model using probabilities predictions of a mixtures of Gaussians. However they don't explicitly estimate pose on part-level, the simplified geometry predictions like length, width are for the whole object with scale variation only.
Another line of work relies on active manipulation of an object to infer its articulation pattern [13,14,12,16,32]. For example, Katz et al. [14], uses a robot manipulator to interact with articulated objects as RGB-D videos are recorded. Then the 3D points are clustered into rigid parts according to their motion. Although these approaches could perform pose estimation for unknown objects, they require the input to be a sequence of images that observe an object's different articulation states, whereas our approach is able to perform the task using a single depth observation.
Human body and hand pose estimation. Two specific articulated classes have gained considerable attention recently: the human body and the human hand. For human pose estimation, approaches have been developed using end-to-end networks to predict 3D joint locations directly [17,23,19], using dense correspondence maps between 2D images and 3D surface models [3], or estimating full 3D shape through 2D supervision [15,20]. Similarly, techniques for hand pose estimation (e.g., [27,11]) leverages dense coordinate regression, which is then used for voting 3D joint locations. Approaches for both body and hand pose estimation are often specifically customized for those object types, relying on a fixed skeletal model with class-dependent variability (e.g., expected joint lengths) and strong shape priors (e.g., using parametric body shape model for low-dimensional parameterization). Also, such hand/body approaches accommodate only revolute joints. In contrast, our algorithm is designed to handle generic articulated objects with varying kinematic chain, allowing both revolute joints and prismatic joints.

Problem Statement
The input to the system is a 3D point cloud P = {p i ∈ R 3 | i = 1, ..., N } backprojected from a single depth image representing an unknown object instance from a known category, where N denotes the number of points. We know that all objects from this category share the same kinematic chain composed of M rigid parts {S (j) | j = 1, ..., M } and K joints with known types {J k | k = 1, ..., K}. The goal is to segment the point cloud into rigid parts {S (j) }, recover the 3D rotations {R (j) }, 3D translations {t (j) }, and sizes {s (j) } for the parts in {S (j) }, and predict the joint parameter {φ k } and state {θ k } for the joints in {J k }. In this work, we consider 1D revolute joints and 1D prismatic joints. We parameterize the two types of joints as following. For a revolute joint, its joint parameters include the direction of the rotation axis u (r) k as well as a pivot point q k on the rotation axis; its joint state is defined as the relative rotation angle along u (r) k between the two connected parts compared with a pre-defined rest state. For a prismatic joint, its joint parameter is the direction of the translation axis u (t) k , and its joint state is defined as the relative translation distance along u (t) k between the two connected parts compared with a pre-defined rest state.

Method
ANCSH provides a category-specific reference frame defining per-part poses as well as joint attributes for previously unseen articulated object instances. In Sec. 4.1, we first explain ANCSH in detail. In Sec. 4.2, we then present a deep neural network capable of predicting the ANCSH representation. Sec. 4.3 describes how the ANCSH representation is used to jointly optimize part poses with explicit joint constraints. Last, we describe how we compute joint states and deduce camera-space joint parameters in Sec. 4.4.

ANCSH Representation
Our ANCSH representation is inspired by and closely related to Normalized Object Coordinate Space (NOCS) [28], which we briefly review here. NOCS is defined as a 3D space contained within a unit cube and was introduced in [28] to estimate the category-level 6D pose and size of rigid objects. For a given category, the objects are consistently aligned by their orientations in the NOCS. Furthermore, these objects are zero-centered and uniformly scaled so that their tight bounding boxes are all centered at the origin of the NOCS with a diagonal length of 1. NOCS provides a reference frame for rigid objects in a given category so that the object pose and size can then be defined using the similarity transformation from the NOCS to the camera space. However, NOCS is limited for representing articulated objects. Instead of the object pose and size, we care more about the poses and the states for each individual parts and joints, which isn't addressed in NOCS.
To define category-level per-part poses and joint attributes, we present ANCSH, a two-level hierarchy of normalized coordinate spaces, as shown in Figure 2. At the root level, NAOCS provides an object-level reference frame with normalized pose, scale, and articulation; at the leaf level, NPCS provides a reference frame for each individual part. We explain both NPCS and NAOCS in detail below.
NAOCS. To construct a category-level object reference frame for the collection of objects, we first bring all the object articulations into a set of pre-defined rest states. Basically, for each joint J k , we manually define its rest state θ k0 and then set the joint into this state. For example, we define the rest states of the two revolute joints in the eyeglasses category to be in right angles; we define the rest states of all drawers to be closed. In addition to normalizing the articulations, NAOCS applies the same normalization used in [28] to the objects, including zero-centering, aligning orientations, and uniformly scaling.
As a canonical object representation, NAOCS has the following advantages: 1) the joints are set to predefined states so that accurately estimating joint parameters in NAOCS, e.g. the direction of rotation/translation axis, becomes an easy task; 2) with the canonical joints, we can build simple mathematical models to describe the kinematic constraints regarding each individual joint in NAOCS.
NPCS. For each part, NPCS further zero-centers its position and uniformly scales it as is done in [28], while at the same time keeps its orientation unchanged as in NAOCS. In this respect, NPCS is defined similarly to NOCS [28] but for individual parts instead of whole objects. NPCS provides a part reference frame and we can define the part pose and scale as the transformation from NPCS to the camera space. Note that corresponding parts of different object instances are aligned in NPCS, which facilitates intra-category generalization and enables predictions for unseen instances.
Relationship between NPCS, NAOCS and NOCS. Both NPCS and NAOCS are inspired by the NOCS representation and designed for handling a collection of articulated objects from a given category. Therefore, similar to NOCS, both representations encode canonical information and enable generalization to new object instances. However, each of the two representations has its own advantages in modeling articulated objects and hence provides complementary information. Thus, our ANCSH leverages both NPCS and NAOCS to form a comprehensive representation of both parts and articulations.
On the one hand, NPCSs normalize the position, orientation, and size for each part. Therefore, transformation between NPCSs and camera space can naturally be used to compute per-part 3D amodal bounding boxes, which is not well-presented in NAOCS representation. On the other hand, NAOCS looks at the parts from a holistic view, encoding the canonical relationship of different parts in the object space. NAOCS provides a parent reference frame to those in NPCSs and allows a consistent definition of the joint parameters across different parts. We hence model joints and predict joint parameters in the NAOCS instead of NPCSs. The joint parameters can be used to deduce joint constraints, which can regularize the poses between connected parts. Note that the information defined in NPCS and NAOCS is not mutually exclusive -each NPCS can transform into its counterpart in NAOCS by a uniform scaling and translation. Therefore, instead of independently predicting the full NAOCS representation, our network predicts the scaling and translation parameters for each object part and directly applies it on the corresponding NPCS to obtain the NAOCS estimation.

ANCSH Network
We devise a deep neural network capable of predicting the ANCSH representation for unseen articulated object instances. As shown in Figure 3, the network takes a depth point cloud P as input and its four heads output rigid part segmentation, dense coordinate predictions in each NPCS,  . ANCSH network leverages two PointNet++ [21] modules to predict the ANCSH representation, including part segmentation, NPCS coordinates, transformations (1D scaling and 3D translation) from each NPCS to the NAOCS, and joint parameters in the NAOCS. This figure illustrates the eyeglasses case with only revolute joints, but the network structure also applies to objects with revolute and prismatic joints.
transformations from each NPCS to NAOCS, and joint parameters in NAOCS, correspondingly. The network is based on two modules adapted from the PointNet++ [21] segmentation architecture. The part segmentation head predicts a per-point probability distribution among the M rigid parts. The NPCS head predicts M coordinates {c (j) i ∈ R 3 | j = 1, ..., M } for each point p i . We use the predicted part label to select the corresponding NPCS. This design helps to inject the geometry prior of each part into the network and hence specializes the networks on part-specific predictions. We design the segmentation network and the NPCS regression network to share the same PointNet++ backbone and only branch at the last fully-connected layers.
The NAOCS head predicts the transformations {G (j) } from each NPCS to the NAOCS, and computes the coordinates in NAOCS using the predicted transformations. Since part orientations are the same between NPCS and NAOCS, the network only needs to estimate a 3D translation G  The last head infers joint parameters {φ k } for each joint J k in the NAOCS space (we use " " here to distinguish the NAOCS parameters from camera-space parameters.) We consider the following two types of joints: 1D revolute joint whose parameters include the rotation axis direction and the pivot point position, namely φ k = (u (r) k , q k ); 1D prismatic joint whose parameters is the translation axis direction φ k = (u (t) k ). We adopt a voting scheme to accurately predict joint parameters, in which we first associate points to each joint via a labeling scheme and then let the points vote for the parameters of its associated joint.
We define a per-point joint association {a i | a i ∈ {0, 1, ..., K}}, where label k means the point p i is associated to the joint J k and label 0 means no association to any joint. We use the following heuristics to provide the ground truth joint association: for a revolute joint J k , if a point p i belongs to its two connecting parts and is within a distance σ from its rotation axis, then we set a i = k; for a prismatic joint, we associate it with all the points on its corresponding moving part. We empirically find σ = 0.2 leads to a non-overlapping joint association on our data.
In addition to predicting joint association, the joint parameter head performs dense regression on the associated joint parameters. To be more specific, for each point p i , the head regresses a 7D vector v i ∈ R 7 . The first three dimensions of v i is a unit vector, which either represents u (r) for a revolute joint or u (t) for a prismatic joint. The rest four dimensions are dedicated to the pivot point q in case the point is associated to a revolute joint. Since the pivot point of a 1D revolute joint is not uniquely defined (it can move arbitrarily along the rotation axis), we instead predict the projection of p i to the rotation axis of its associated revolute joint by regressing a 3D unit vector for the projection direction and a scalar for the projection distance. For training, we only supervise the matched dimensions of v i for points p i with a i = 0. We use the ground truth joint parameters φ ai associated with joint J ai as the supervision. During inference, we use the predicted joint association to interpret v i . We perform a voting step to get the final joint parameter prediction φ k , where we simply average the predictions from points associated with each joint J k . Note that the NAOCS head and the joint parameter head share the second PointNet++ as their backbone since they all predict attributes in the NAOCS.
Loss functions: We use relaxed IoU loss [32] L seg for part segmentation as well as for joint association L association . We use mean-square loss L NPCS for NPCS coordinate regression. We use mean-square loss L NAOCS for NAOCS to supervise per-point translation {G s,i } i,j . We again use mean-square loss L joint for joint parameter predictions. Our total loss is given by L = λ 1 L seg + λ 2 L NPCS + λ 3 L NAOCS + λ 4 L association + λ 5 L joint , where the loss weights are set to [1, 10, 1, 1, 1].

Pose Optimization with Kinematic Constraints
Given the output of our ANCSH network, including part segmentation, s } for each part S (j) , and {φ k } for each joint J k , we now estimate the 6D poses and sizes {R (j) , t (j) , s (j) } for each part S (j) .
Considering a part S (j) , for the points {p i ∈ S (j) }, we have their corresponding NPCS predictions {c i |p i ∈ S (j) }. We could follow [28] to perform pose fitting, where the Umeyama algorithm [26] is adopted within a RANSAC [10] framework to robustly estimate the 6D pose and size of a single rigid object. However, without leveraging joint constraints, naively applying this approach to each individual part in our setting would easily lead to physically impossible part poses. To cope with this issue, we propose the following optimization scheme leveraging kinematic constraints for estimating the part poses. Without the kinematic constraints, the energy function E vanilla regarding all part poses can be written as E vanilla = j e j , where We then introduce the kinematic constraints by adding an energy term e k for each joint to the energy function. In concrete terms, our modified energy function is E constrained = j e j + λ k e k , where e k is defined differently for each type of joint. For a revolute joint J k with parameters φ k = (u (r) k , q k ) in the NAOCS, assuming it connects part S (j1) and part S (j2) , we define e k as: For a prismatic joint J k with parameters φ k = (u (t) k ) in the NAOCS, again assuming it connects part S (j1) and part S (j2) , we define e k as: where [·] × converts a vector into a matrix for conducting cross product with other vectors, and δ j1,j2 is defined as: To minimize our energy function E constrained , we can no longer separately solve different part poses using the Umeyama algorithm. Instead, we first minimize E vanilla using the Umeyama algorithm to initialize our estimation of the part poses. Then we fix {s (j) } and adopt a non-linear least-squares solver to further optimize {R (j) , t (j) }, as is commonly done for bundle adjustment [2]. Similar to [28], we also use RANSAC for outlier removal.
Finally, for each part S (j) , we use the fitted R (j) , t (j) , s (j) and the NPCS {c i |p i ∈ S (j) } to compute an amodal bounding box, the same as in [28].

Camera-Space Joint Parameters and Joint
States Estimation s } of each part, we can compute the joint states {θ k } and deduce joint parameters {φ k } in the camera space from NAOCS joint parameters {φ k }. For a revolute joint J k connecting parts S (j1) and S (j2) , we compute its parameters φ k = (u (r) k , q k ) in the camera space as: The joint state θ k can be computed as: For a prismatic joint J k connecting parts S (k1) and S (k2) , we compute its parameters φ k = (u (t) k ) in the camera space similar to computing u (r) k for revolute joints and and its state θ k is simply ||δ k1,k2 ||.

Experimental Setup
Evaluation Metrics. We use the following metrics to evaluate our method.
· Part-based metrics. For each part, we evaluate rotation error measured in degrees, translation error, and 3D intersection over union (IoU) [22] of the predicted amodal bounding box. · Joint states. For each revolute joint, we evaluate joint angle error in degrees. For each prismatic joint, we evaluate the error of relative translation amounts. · Joint parameters. For each revolute joint, we evaluate the orientation error of the rotation axis in degrees, and the position error using the minimum line-to-line distance. For each prismatic joint, we compute the orientation error of the translation axis.
Datasets. We have evaluated our algorithm using both synthetic and real-word datasets. To generate the synthetic data, we mainly use object CAD models from [29] along with drawer models from [30]. Following the same rendering pipeline with random camera viewpoints, we use PyBullet [8] to generate on average 3000 testing images of unseen object instances for each object category that do not overlap with our training data. For the real data, we evaluated our algorithm on the dataset provided by Michel et al. [18], which contains depth images for 4 different objects captured using the Kinect.   Table 1. Performance comparison on unseen object instances. The categories eyeglasses, oven, washing machine, and laptop contain only revolute joints and the drawer category contains three prismatic joints.
Baselines. There are no existing methods for categorylevel articulated object pose estimation. We therefore use ablated versions of our system for baseline comparison.
· NPCS. This algorithm predicts part segmentation and NPCS for each part (without the joint parameters). The prediction allows the algorithm to infer part pose, amodal bounding box for each part, and joint state for revolute joint by treating each part as an independent rigid body. However, it is not able to perform a combined optimization with the kinematic constraints.
· NAOCS. This algorithm predicts part segmentation and NAOCS representation for the whole object instance. The prediction allows the algorithm to infer part pose and joint state, but not the amodal bounding boxes for each part since the amodal bounding boxes are not defined in the NAOCS alone. Note the part pose here is defined from the NAOCS to the camera space, different from the one we defined based upon NPCS. We measure the error in the observed object scale so that it is comparable with our method.
· Direct joint voting. This algorithm directly votes for joint-associated parameters in camera space, including offset vectors and orientation for each joint from the point cloud using PointNet++ segmentation network.
Our final algorithm predicts the full ANCSH representation that includes NPCS, joint parameters, and per-point global scaling and translation value that can be used together with the NPCS prediction for computing NAOCS. Figure 4 presents some qualitative results. Tables 1 summarizes the quantitative results. Following paragraphs provide our analysis and discussion of the results.

Experimental Results
Effect of combined optimization. First, we want to examine how combined optimization would influence the accuracy of articulated object pose estimation, using both predicted joint parameters and predicted part poses. To see this, we compare the algorithm performance between NPCS and ANCSH, where NPCS performs a per-part pose estimation and ANCSH performs a combined optimization using the full kinematic chain to constrain the result. The results in Table 1 show that the combined optimization of joint parameters and part pose consistently improves the predict results for almost all object categories and on almost all evaluation metrics. The improvement is particularly salient for thin object parts such as the two temples of eyeglasses (the parts that extend over the ears), where the per-part based method produces large pose errors due to limited number of visible points and shape ambiguity. This result demonstrates that the joint parameters predicted in the NAOCS can regularize the part poses based on kinematic chain constraints during the combined pose optimization step and improve the pose estimation accuracy.
Joint parameters estimation. Predicting the location and the orientation of joints in camera space directly with all degrees of freedom is challenging. Our approach predicts the joint parameters in NAOCS since it provides a canonical representation where the joint axes usually have a strong orientation prior. We further use a voting-based scheme to reduce the prediction noise. Given joint axis predictions in NAOCS, we leverage the transformation between NAOCS and NPCS to compute corresponding joint parameters in NPCS. Based on the high-quality prediction of part poses, we will transform the joint parameters into the camera coordinate. Comparing to a direct voting baseline using PointNet++, our approach significantly improves the joint axis prediction for unseen instances ( Generalization to real depth images. We have also tested our algorithm's ability to generalize to real-world depth images on the dataset provided in [18]. The dataset contains video sequences captured with Kinect for four different object instances. Following the same training protocol, we train the algorithm with synthetically rendered depth images of the provided object instances. Then we test the pose estimation accuracy on the real world depth images. We adopt the same evaluation metric in [18], which uses 10% of the object part diameter as the threshold to compute Averaged Distance (AD) accuracy, and test the performance on each sequence separately. Although our algorithm is not specifically designed for instancelevel pose estimation and the network has never been trained using any real-world depth images, our algorithm achieves strong performance on par with or even better than Limitation and failure cases. Figure 5 shows typical failure cases of our algorithm. A typical failure mode of our algorithm is the inaccurate prediction under heavy occlusion where one of the object parts is almost not observed. Figure 5 shows one of such cases where one of the eye-glasses temples is almost completely occluded. Also, under the situation of heavy occlusion for prismatic joints, there is considerate ambiguity for ANCSH prediction on the size of the heavily occluded parts, as shown in Figure 5. However, NAOCS representation does not suffer from the size ambiguity, thus leading to a more reliable estimation of the joint state (relative translation distance compare to the rest state) and joint parameters (translation axis).

Conclusion
This paper has presented an approach for categorylevel pose estimation of articulated objects from a single depth image. To accommodate unseen object instances with large intra-category variations, we introduce a novel object representation, namely Articulation-aware Normalized Coordinate Space Hierarchy (ANCSH). We further devise a deep neural network capable of predicting ANCSH from a single depth point cloud. We then formulate articulated pose fitting from the ANCSH predictions as 8 Object Sequence Brachmann et al. [6] Frank et al. [ Table 3. Instance-level real-world depth benchmark. While not designed for instance-level articulated object pose estimation, our algorithm is able to achieve comparable performance compare to the state-of-the-art approach and improves the performance for challenging cases such as laptops. AD accuracy is evaluated for both the whole kinematic chain(all) and different parts(parts). Figure 5. Failure cases. Left column shows failure cases on unseen eyeglasses instances, when a part is under heavy occlusion and barely visible. Right column shows the failure case on unseen drawers, when there are shape variations on parts and only the front area of the drawer is visible. The predicted drawer size is bigger than the real size. Although the box prediction is wrong, our method can reliably predict the joint state and joint parameters by leveraging the NAOCS representation.
a combined optimization problem, taking both part pose errors and joint constraints into consideration. Our experiments demonstrate that the ANCSH representation and the combined optimization scheme significantly improve the accuracy for both part pose prediction and joint parameters estimation.

A. Implementation Details
We use Tensorflow 1.10 to build our models and run the experiments for all categories. The input is uniformly sampled points from the whole back-projected depth point cloud, with points number N set to 1024. We train our model on a single Nvidia V100 GPU with batch size of 16 across the experiments. The initial learning rate is set to 0.001, with a decay factor of 0.7 every 200k steps. From the observations of our experiments, the loss will usually converge well after > 150k steps in less than one day.

B. Data generation and statistics
We render synthetic depth images using the object 3D model provided in the Shape2Motion dataset [29] and SAPIEN dataset [30]. Both datasets provide the descriptions of the object geometry and articulation information, which we leverage for generating ground truths. During rendering, the program automatically generates random * indicates equal contributions. joint states for each object instance, according to its joint motion ranges. Then the depth images and corresponding ground truth masks are rendered from a set of random camera viewpoints. We also filter out camera poses where some parts of the object are completely occluded. Figure 6 shows the index definitions of parts for each object category used in the main paper, together with number of object instances splitted for training and testing.
We use real data from ICCV2015 Articulated Object Challenge [18], which contains RGB-D data with 4 articulated objects: laptop, cabinet, cupboard and toy train. This dataset provides 2 testing sequences for each object. Each sequence contains around 1000 images captured by having a RGB-D camera slowly moving around the object. Objects maintain the same articulation state within each sequence. Each part of the articulated object is annotated with its 6D pose with respect to the known CAD model. Since no training data is provided, we use the provided CAD models to render synthetic depth data, with 10 groups of random articulation status considered. We render object masks for the testing sequences with Pybullet [8]. Drawer base lowest middle top 30/2 Figure 6. Synthetic data statistics. We list part definitions for each object category tested in our experiments on synthetic data, together with the numbers of object instances used for training and testing.

C. Handling severe occlusion cases
We carefully examine how ANCSH performs under different levels of occlusion. Compared to our NPCS baseline, our proposed method is still capable of improving the pose estimation under severe occlusion, as shown in Figure 7. The occlusion level is defined according to the ratio of visible area with respect to the total mesh surface per part.   . Additional results on category-level synthetic dataset. The first column shows the input point clouds; the second column shows our prediction and ground truth part segmentation mask; the third and fourth column show our prediction and ground truth NPCS and NAOCS, where the RGB channels encode the coordinates; the fifth column visualizes joint voting, where the arrows represent offset vectors to rotational hinge for revolute joints and the direction of joint axis for prismatic joints; the sixth column visualizes per part 3D bounding boxes, together with joint parameters. Figure 9. Additional results on real-world instance-level depth dataset. More qualitative results on all 4 objects from ICCV2015 Articulated Object Challenge [18] are shown here, with toy train, cupboard, laptop, cabinet from up-pest row to lowest row in order. Only depth images are used for pose estimation, RGB images are shown here for better reference. For each object, we estimate 3D tight bounding boxes to all parts on the kinematic chain, and project the predicted bounding boxes back to the depth image.