Skip to content
AI360Xpert
Beta

ShapeNet 3D Model Library

Clean CAD models across object kinds with parts and symmetry, the library for shape classification and single-view 3D.

ShapeNet pairs each CAD model with kind and part labels, so shape classifiers learn clean geometry first
ShapeNet pairs each CAD model with kind and part labels, so shape classifiers learn clean geometry first

Why Does This Exist?

Real scans are noisy, partial and unaligned. Learning shape basics needs clean, centered models with known parts. ShapeNet gathered CAD models across many kinds with part and symmetry notes, so shape learning could start from tidy geometry before facing scans.

This page covers model roles and appropriate use. Distance scoring is in Chamfer work.

Think of It Like This

A toy box with sorted bricks

Real playgrounds mix mud and missing bricks. A sorted toy box holds clean bricks by kind with instructions.

ShapeNet is that box. Learn the shapes tidy first, then face the messy playground of scans.

How It Actually Works

Purpose is shape classification, part segmentation and reconstruction from clean models. Inputs are meshes or sampled points, outputs are kind labels or part tags. Appropriate use is geometry baselines and synthetic pretraining. CAD-clean bias is the limit: real partial scans score lower.

Toy Chamfer walkthrough

Take true points {0,2}\{0, 2\} and predicted {1,3}\{1, 3\} on a line. Nearest distances one way are 1,11, 1 averaging 1, and back the same, so Chamfer is 1+1=21 + 1 = 2. Small clean numbers make the nearest-neighbor mean concrete.

Code

One-dimensional Chamfer that shows the two-way mean.

import numpy as np

def chamfer_1d(a: np.ndarray, b: np.ndarray) -> float:    d1 = np.abs(a[:, None] - b[None, :]).min(axis=1).mean()    d2 = np.abs(b[:, None] - a[None, :]).min(axis=1).mean()    return round(float(d1 + d2), 3)

print(chamfer_1d(np.array([0.0, 2.0]), np.array([1.0, 3.0])))# -> 2.0

Each side averages 1, summed to 2.0.

Watch Out For

Shipping CAD-trained shapes to partial scans

Clean full models hide occlusion and sensor noise. The symptom is neat synthetic scores with broken real reconstructions. Fix it by testing partial, noisy sampling before deployment claims.

The Quick Version

  • ShapeNet maps clean CAD models to kind and part labels for shape learning.
  • Inputs are meshes or points, outputs are shape or part tags.
  • Toy {0,2}\{0,2\} versus {1,3}\{1,3\} gives Chamfer 2.0.
  • Use it for tidy geometry baselines and synthetic starts.
  • Confirm on partial noisy scans because CAD hides mess.