Papers › FS-Net: Fast Shape-based Network for Category-Level 6D Object Pose Estimation with...

FS-Net: Fast Shape-based Network for Category-Level 6D Object Pose Estimation with Decoupled Rotation Mechanism

12 Mar 2021CVPR 2021 1arXiv:2103.07054archive 2025-07-28

Wei Chen, Xi Jia, Hyung Jin Chang, Jinming Duan, Linlin Shen, Ales Leonardis

In this paper, we focus on category-level 6D pose and size estimation from monocular RGB-D image. Previous methods suffer from inefficient category-level pose feature extraction which leads to low accuracy and inference speed. To tackle this problem, we propose a fast shape-based network (FS-Net) with efficient category-level feature extraction for 6D pose estimation. First, we design an orientation aware autoencoder with 3D graph convolution for latent feature extraction. The learned latent feature is insensitive to point shift and object size thanks to the shift and scale-invariance properties of the 3D graph convolution. Then, to efficiently decode category-level rotation information from the latent feature, we propose a novel decoupled rotation mechanism that employs two decoders to complementarily access the rotation information. Meanwhile, we estimate translation and size by two residuals, which are the difference between the mean of object points and ground truth translation, and the difference between the mean size of the category and ground truth size, respectively. Finally, to increase the generalization ability of FS-Net, we propose an online box-cage based 3D deformation mechanism to augment the training data. Extensive experiments on two benchmark datasets show that the proposed method achieves state-of-the-art performance in both category- and instance-level 6D object pose estimation. Especially in category-level pose estimation, without extra synthetic data, our method outperforms existing methods by 6.3% on the NOCS-REAL dataset.

PaperPDFConference PDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2103.07054")

Code

Syntology Ran 7 of 8 code samples harvested from 1 repository linked to this paper; 1 has no recorded run. Of those that ran: 4 ran · fixture could not drive it; 3 ran with no contract checked.

By repository: community (archive-listed): 8 samples from 1 repository, 7 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

DC1991/FS-Net officialmentioned in papermentioned on GitHubpytorch report
DC1991/FS_Net mentioned on GitHubpytorch report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

8 samples harvested; 7 ran; 0 honoured the contract we drafted; 1 has no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

4ran · fixture could not drive it
3ran
1unverified

Licence: 0 of the 8 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from DC1991/FS_Net. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

Conv_layer DC1991/FS_Net/Net_archs.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · 7e15bc064180c8f4 · report
Conv_surface DC1991/FS_Net/Net_archs.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · 7c76f8cfe4a9b93e · report
Pool_layer DC1991/FS_Net/Net_archs.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · 1da275fcc164e484 · report
get_nearest_index DC1991/FS_Net/Net_archs.py community (archive-listed) ran · fixture could not drive it fingerprinted MIT (permissive) · 6c98740a684d1aad · report
get_neighbor_direction_norm DC1991/FS_Net/Net_archs.py community (archive-listed) ran · fixture could not drive it MIT (permissive) · e9e5969423f92240 · report
get_neighbor_index DC1991/FS_Net/Net_archs.py community (archive-listed) ran · fixture could not drive it fingerprinted MIT (permissive) · e9fc6fa3d035121f · report
indexing_neighbor DC1991/FS_Net/Net_archs.py community (archive-listed) ran · fixture could not drive it MIT (permissive) · 3261de70d4811877 · report
GCN3D_segR DC1991/FS_Net/Net_archs.py community (archive-listed) unverified MIT (permissive) · df2669dbac03d994 · report

Tasks

6D Pose Estimation6D Pose Estimation using RGB6D Pose Estimation using RGBDPose EstimationTranslation

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
6D Pose Estimation using RGBD REAL275 FS-Net FPS 20 #7 of 11 Archive leaderboard report
6D Pose Estimation using RGBD REAL275 FS-Net mAP 10, 10cm 64.6 #7 of 11 Archive leaderboard report
6D Pose Estimation using RGBD REAL275 FS-Net mAP 10, 5cm 60.8 #7 of 11 Archive leaderboard report
6D Pose Estimation using RGBD REAL275 FS-Net mAP 3DIou@25 95.1 #7 of 11 Archive leaderboard report
6D Pose Estimation using RGBD REAL275 FS-Net mAP 3DIou@50 92.2 #7 of 11 Archive leaderboard report
6D Pose Estimation using RGBD REAL275 FS-Net mAP 3DIou@75 63.5 #7 of 11 Archive leaderboard report
6D Pose Estimation using RGBD REAL275 FS-Net mAP 5, 5cm 28.2 #7 of 11 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Methods

AWAREConvolution

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections