276 lines
3.2 KiB
Plaintext
276 lines
3.2 KiB
Plaintext
Material Analyzer Design Specification
|
|
|
|
Version: 1.0
|
|
|
|
Status: Draft
|
|
|
|
1. Objective
|
|
Purpose
|
|
|
|
The Material Analyzer is an offline preprocessing pipeline responsible for converting every flooring SKU into a standardized Material Asset.
|
|
|
|
The generated Material Asset serves as the Ground Truth for all downstream AI image generation tasks.
|
|
|
|
Its objectives are:
|
|
|
|
Eliminate repeated analysis during generation
|
|
Standardize all flooring materials into a unified representation
|
|
Improve material consistency across AI-generated images
|
|
Provide reusable visual features for similarity search and quality assurance
|
|
2. Scope
|
|
|
|
Supported categories:
|
|
|
|
Hardwood
|
|
Engineered Wood
|
|
Laminate
|
|
SPC
|
|
LVP
|
|
WPC
|
|
Ceramic Tile
|
|
Porcelain Tile
|
|
Stone
|
|
Marble
|
|
Vinyl
|
|
|
|
Every SKU is processed only once.
|
|
|
|
3. Pipeline
|
|
SKU
|
|
|
|
↓
|
|
|
|
Load Texture Image
|
|
|
|
↓
|
|
|
|
Universal Feature Extraction
|
|
|
|
↓
|
|
|
|
Texture Feature Extraction
|
|
|
|
↓
|
|
|
|
Semantic Analysis
|
|
|
|
↓
|
|
|
|
Material Adapter
|
|
|
|
↓
|
|
|
|
Visual Embedding
|
|
|
|
↓
|
|
|
|
Asset Generation
|
|
|
|
↓
|
|
|
|
Material Asset
|
|
4. Input
|
|
|
|
Example
|
|
|
|
{
|
|
"sku":"67907_847",
|
|
"category":"SPC-LVP",
|
|
"material":"Luxury Vinyl",
|
|
"main_image_url":"texture.jpg",
|
|
"room_image_url":"room.jpg"
|
|
}
|
|
5. Output
|
|
MaterialAssets/
|
|
|
|
67907_847/
|
|
|
|
preview.jpg
|
|
|
|
material.json
|
|
|
|
histogram.json
|
|
|
|
embedding.bin
|
|
|
|
thumbnail.jpg
|
|
|
|
tileable.png (future)
|
|
6. Universal Visual Features
|
|
|
|
These features are extracted for every flooring material.
|
|
|
|
Examples:
|
|
|
|
Dominant RGB
|
|
Secondary RGB
|
|
LAB Color
|
|
HSV
|
|
Brightness
|
|
Contrast
|
|
Saturation
|
|
Color Histogram
|
|
|
|
Recommended implementation:
|
|
|
|
OpenCV
|
|
KMeans
|
|
LAB
|
|
HSV
|
|
7. Texture Features
|
|
|
|
Extract low-level texture statistics.
|
|
|
|
Examples:
|
|
|
|
Texture Entropy
|
|
Texture Frequency
|
|
Edge Density
|
|
Orientation Variance
|
|
|
|
Recommended algorithms:
|
|
|
|
GLCM
|
|
LBP
|
|
FFT
|
|
Gabor Filter
|
|
Structure Tensor
|
|
8. Semantic Features
|
|
|
|
Generated by a Vision LLM.
|
|
|
|
Examples:
|
|
|
|
{
|
|
"description":"...",
|
|
"surface_finish":"Matte",
|
|
"visual_style":"Natural",
|
|
"grain":"Straight Oak",
|
|
"variation":"Medium"
|
|
}
|
|
|
|
Recommended models:
|
|
|
|
Gemini
|
|
GPT-4o
|
|
Claude
|
|
9. Material Adapter
|
|
|
|
Extract category-specific features.
|
|
|
|
Wood:
|
|
|
|
Species
|
|
Grain Direction
|
|
Knot Density
|
|
Cathedral Density
|
|
|
|
Tile:
|
|
|
|
Stone Type
|
|
Vein Density
|
|
Vein Orientation
|
|
Grout Color
|
|
|
|
SPC / LVP:
|
|
|
|
Printed Pattern
|
|
Emboss Depth
|
|
Surface Finish
|
|
10. Visual Embeddings
|
|
|
|
Generate two independent embeddings.
|
|
|
|
DINOv2
|
|
|
|
Purpose:
|
|
|
|
Texture similarity
|
|
Material similarity
|
|
Drift detection
|
|
CLIP
|
|
|
|
Purpose:
|
|
|
|
Semantic similarity
|
|
Product recommendation
|
|
11. Material Asset Schema
|
|
{
|
|
"sku":"",
|
|
"category":"",
|
|
"material":"",
|
|
|
|
"visual":{
|
|
|
|
},
|
|
|
|
"texture":{
|
|
|
|
},
|
|
|
|
"semantic":{
|
|
|
|
},
|
|
|
|
"material_specific":{
|
|
|
|
},
|
|
|
|
"embeddings":{
|
|
|
|
}
|
|
}
|
|
12. Future Modules
|
|
|
|
Planned but not implemented.
|
|
|
|
Canonical Texture Generator
|
|
Tile Detection
|
|
Image Quilting
|
|
Seamless Texture Generation
|
|
Pattern Detector
|
|
13. Future Material QA
|
|
|
|
The Material Analyzer will later be reused by the Material QA module.
|
|
|
|
Workflow:
|
|
|
|
Generated Image
|
|
|
|
↓
|
|
|
|
Floor Segmentation
|
|
|
|
↓
|
|
|
|
Crop Floor
|
|
|
|
↓
|
|
|
|
Analyzer
|
|
|
|
↓
|
|
|
|
Compare with Ground Truth
|
|
|
|
↓
|
|
|
|
Similarity Score
|
|
14. Development Priority
|
|
|
|
Phase 1
|
|
|
|
Universal Features
|
|
Texture Features
|
|
Semantic Features
|
|
Embeddings
|
|
Material JSON
|
|
|
|
Phase 2
|
|
|
|
Tileable Texture
|
|
Pattern Detection
|
|
|
|
Phase 3
|
|
|
|
Material QA |