Classifying Visually Similar Furniture
End-to-end classification pipeline on a self-rendered 3D dataset — interior design domain knowledge translated directly into training data.
Outcome. Built a full classification pipeline from scratch — 3D modeling → rendering → TensorFlow training — achieving consistent accuracy gains through iterative model refinements on a self-created dataset.
The Dataset Problem
Most furniture datasets use web-scraped images with inconsistent lighting, backgrounds, and angles. Training on this noise makes it hard to know whether the model struggles with the category or the context.
I built the dataset using 3D modeling and rendering (SketchUp / Rhino), controlling for the variables that matter:
- Consistent lighting and background across all categories
- Multiple angles per object to improve generalization
- Rigorous splits to prevent leakage between visually similar categories
Model Pipeline
Started with a TensorFlow CNN baseline, then refined iteratively:
| Stage | Change | Effect |
|---|---|---|
| Baseline | CNN trained from scratch | — |
| Refinement 1 | Data augmentation + learning rate tuning | +accuracy |
| Refinement 2 | Transfer learning (pretrained backbone) | +accuracy |
Why This Project
Interior architecture training means thinking carefully about what makes two chairs different — proportion, material, silhouette. That domain knowledge directly shaped how categories were defined and how the dataset was constructed. The rendering pipeline turned design skills into training data.
Role: Individual · Dates: Mar–Jun 2023 · Stack: TensorFlow, SketchUp / Rhino, Python