IP Library Granted Patent US 12,657,357
Granted Patent B2
US 12,657,357 · App. 17/589,431 · Granted Jun 16, 2026

6D object pose estimation with 2D and 3D pointwise features

Inventors: Yuliang Guo (Palo Alto, CA); Xinyu Huang (San Jose, CA); Liu Ren (Saratoga, CA)
Assignee: Robert Bosch GmbH
G06F30/27G06T7/75G06V10/00G06V10/70G06V10/751G06T2207/20081G06T2207/20084
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,657,357
App. No.
17/589,431
Granted
Jun 16, 2026
Kind
B2
Abstract

Methods and systems for determining a 6D pose of an object in an image are disclosed. In embodiments, an input image is received from a sensor, wherein the input image includes an object in the image. A trained image encoder transforms the input image into a normal map and an instance segmentation map. The normal map is encoded with pointwise 2D features. A 3D CAD model is selected from memory that resembles the object in the image. The 3D CAD model is encoded with pointwise 3D features. The pointwise 2D features are matched with the pointwise 3D features to obtain correspondences between the 2D features and the 3D features. The 6D pose of the object is then determined based on the correspondences.

Claims (51)

1 . A computer-implemented method for determining a 6D pose of an object in an image, the computer-implemented method comprising:

receiving an input image from a sensor, wherein the input image includes an object;

via a trained image encoder, transforming the input image into a normal map and an instance segmentation map, wherein the image encoder is configured to generate both the normal map and the instance segmentation map from the same input image;

encoding the normal map with per-pixel 2D features;

supplying both the normal map and the instance segmentation map, as generated by the image encoder, as joint inputs to a deep neural network;

executing the deep neural network to select a three-dimensional CAD model from memory that resembles the object in the image;

encoding the three-dimensional CAD model with per-pixel 3D features by:

estimating by the deep neural network based on the normal map and the instance segmentation man, a scale variable (S) indicative of a density of per-pixel 2D features of the object in the input image, and

providing the scale variable (S) as an input to a three-dimensional graphical neural network (GNN 3D) that encodes the three-dimensional CAD model with per-pixel 3D features, the GNN 3D being configured to adapt a granularity of feature aggregation in the three-dimensional CAD model based on the scale variable (S);

matching the per-pixel 2D features with the per-pixel 3D features to obtain correspondences between the per-pixel 2D features and the per-pixel 3D features; and

determining a 6D pose of the object based on the correspondences.

2 . The computer-implemented method of claim 1 , wherein the encoding of the normal map is performed utilizing a two-dimensional graphical neural network (GNN 2D).

3 . The computer-implemented method of claim 1 , wherein the selecting the three-dimensional CAD model from memory is performed using a deep neural network (DNN).

4 . The computer-implemented method of claim 3 , wherein the DNN includes both a classification function and a scale estimation function.

5 . The computer-implemented method of claim 3 , wherein the normal map and the instance segmentation map are inputs to the DNN such that the DNN selects the three-dimensional CAD model from memory based on the inputs.

6 . The computer-implemented method of claim 1 , wherein the encoding the three-dimensional CAD model with the per-pixel 3D features includes placing weights on the per-pixel 3D features based on an observed distance of the object from the sensor.

7 . The computer-implemented method of claim 1 , wherein the sensor is a camera, a radar sensor, a lidar sensor, or a sonar sensor.

8 . A system for determining a 6D pose of an object in an image utilizing image processing, the system comprising:

an input interface configured to receive an input image from a sensor;

a processor in communication with the input interface and programmed to:

utilize an image encoder to convert the input into a normal map and an instance segmentation map,

encode the normal map with per-pixel 2D features,

select a three-dimensional CAD model from memory associated with an object in the input image,

encode the three-dimensional CAD model with per-pixel 3D features by:

estimating, by the deep neural network based on the normal map and the instance e segmentation map, a scale variable (S) indicative of a density of per-pixel 2D features of the object in the input image, and

providing the scale variable (S) as an input to a three-dimensional graphical neural network (GNN 3D) that encodes the three-dimensional CAD model with per-pixel 3D features, the GNN 3D being configured to adapt a granularity of feature aggregation in the three-dimensional CAD model based on the scale variable (S),

match the per-pixel 3D features with the per-pixel 3D features to obtain correspondences therebetween, and

determine a 6D pose of the object based on the correspondences.

9 . The system of claim 8 , wherein the processor is further programmed to encode the normal map utilizing a two-dimensional graphical neural network (GNN 2D).

10 . The system of claim 8 , wherein the processor is further programmed to select the three-dimensional CAD model from memory using a deep neural network (DNN).

11 . The system of claim 10 , wherein the normal map and the instance segmentation map are inputs to the DNN such that the processor is programmed to select, via the DNN, the three-dimensional CAD model from memory based on the normal map and the instance segmentation map.

12 . The system of claim 8 , wherein the processor is further programmed to place weights on the per-pixel 3D features when encoding the three-dimensional CAD model with the per-pixel 3D features, wherein the weights are based on an observed distance of the object from the sensor.

13 . A computer-implemented method for determining a 6D pose of an object in an image, the computer-implemented method comprising:

receiving an input image from a sensor, wherein the input image includes an object in the image;

via a trained image encoder, producing a normal map corresponding to the image;

via the trained image encoder, producing an instance segmentation map corresponding to the image, wherein the image encoder is configured to generate both the normal map and the instance segmentation map from the same input image;

determining local per-pixel features of the object in the normal map;

selecting a three-dimensional CAD model from memory that resembles the object in the image;

estimating by a deep neural network based on the normal map and the instance segmentation map, a scale variable (S) indicative of a density of local per-pixel features of the object in the input image;

determining local per-pixel features of the three-dimensional CAD model by providing the scale variable (S) as an input to a three-dimensional graphical neural network (GNN 3D) that encodes the three-dimensional CAD model with per-pixel 3D features, the GNN 3D being configured to adapt a granularity of feature aggregation in the three-dimensional CAD model based on the scale variable (S);

matching the local per-pixel features of the object in the normal map with the local per-pixel features of the three-dimensional CAD model to find correspondences; and

sending control signals to control a robot based on the correspondences.

14 . The computer-implemented method of claim 13 , wherein the step of matching includes placing weights on the local per-pixel features in the normal map or the local per-pixel features in the three-dimensional CAD model based on a density of those local per-pixel features.

15 . The computer-implemented method of claim 13 , wherein:

the step of determining the local per-pixel features of the object in the normal map is performed utilizing a first machine-learning model;

the step of selecting the three-dimension CAD from memory is performed utilizing a second machine-learning model; and

the step of determining local per-pixel features of the three-dimensional CAD model is performed utilizing a third machine-learning model.

16 . The computer-implemented method of claim 15 , wherein:

the third machine-learning model determines at least some of the local per-pixel features of the three-dimensional CAD model based on a density of the local per-pixel features of the object in the normal map.

17 . The computer-implemented method of claim 1 , wherein the GNN 3D is configured to adapt the granularity of feature aggregation in the three-dimensional CAD model based on the scale variable (S) such that, for denser per-pixel 2D features, higher weights are assigned to closer neighboring nodes in the 3D graph, and for sparser per-pixel 2D features, higher weights are assigned to further neighboring nodes.

18 . The system of claim 8 , wherein the GNN 3D is configured to adapt the granularity of feature aggregation in the three-dimensional CAD model based on the scale variable (S) such that, for denser per-pixel 2D features, higher weights are assigned to closer neighboring nodes in the 3D graph, and for sparser per-pixel 2D features, higher weights are assigned to further neighboring nodes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2022
From: GUO, YULIANG; HUANG, XINYU; REN, LIU
To: ROBERT BOSCH GMBH
Reel/Frame 058835/0285 →
Continuity (1)
Related Publication 20230244835A1 · Aug 3, 2023
References Cited (13)
US 10579890B2 · Polidor · 2020 [cited by examiner]
US 20220405506A1 · Taamazyan · 2022 [cited by examiner]
Dynamic Graph Convolution Neural Network (Year: 2019). [cited by examiner]
Marr Revisited (Year: 2016). [cited by examiner]
Range Aware Attention Network for Lidar (Year: 2021). [cited by examiner]
Weng et al. GNN3DMOT: GraphNeural Network for 3D Multi-Object Tracking with Multi-Feature Learning. arXiv:2006.07327v1. Jun. 2020. (Year: 2020). [cited by examiner]
Xiang et al. PoseCNN: A Convolutional Neural Network for 6 Object Pose Estimation in Cluttered Scenes. arXiv:1711.00199v3. May 2018. (Year: 2018). [cited by examiner]
Zeng et al. Learning Skeletal Graph Neural Networks for Hard 3D Pose Estimation. arXiv:2108.07181v2. Aug. 2021. (Year: 2021). [cited by examiner]
Liu et al., “Learning 2d-3d correspondences to solve the blind perspective-n-point problem”, arXiv 2020, 23 pages. [cited by applicant]
Li et al., “CDPN: Coordinates-based disentangled pose network for real-time rgb-based 6-dof object pose estimation.” ICCV 2019, 10 pages. [cited by applicant]
Peng et al., “PVnet: Pixel-wise voting network for 6DoF pose estimation.” CVPR 2019, 10 pages. [cited by applicant]
Labbe et al., “Cosypose: Consistent multi-view multi-object 6d pose estimation.” ECCV 2020, 41 pages. [cited by applicant]
Li et al., “Deepim: Deep iterative matching for 6d pose estimation.” ECCV. 2018, 23 pages. [cited by applicant]