1
canvas_ocr - Technical Drawing OCR
Extracts dimension tolerances, fit tolerances, beveling specifications, and special instructions from technical drawings.
Processing Pipeline:
Input Image (2048Ã2048)
â
[YOLOX Detection] â Locates tolerance symbols
â
[Bounding Boxes] â Where each symbol is
â
[Angle Classification] â Rotates text to horizontal
â
[Text Recognition (BERT)] â Reads the text
â
[Post-processing] â Validates & formats output
â
JSON Response: {detections: [{class: "dimensional_tolerance", bbox: [...], value: "Âą0.05mm"}]}
Detection Classes
c_beveling, dimensional_tolerance, fit_tolerance, r_beveling, special_instructions, specified_tolerance
Model Type
Multi-stage (Detection + OCR)
2
deep_feature_v2 - Deep Feature Extraction
Converts a technical drawing image into a 1024-dimensional feature vector for similarity matching.
Architecture Layers:
Input Image (variable size)
â
[Resize to 224Ã224]
â
[EfficientNet-B2 Backbone] â Pre-trained CNN
â 16 Mobile Inverted Bottleneck blocks
â Output: 1280-dimensional features
â
[GeM Pooling Head] â Generalized Mean Pooling
â (1280-dim â 1024-dim)
â
[L2 Normalization] â Make unit length
â
1024-dimensional Feature Vector
[0.123, 0.456, -0.789, ..., 0.234]
Special Feature: Dynamic Batching - processes up to 4 images simultaneously. Much faster than individual processing (10-20ms total vs 40-80ms individual).
Backbone
EfficientNet-B2 (9M parameters)
Output
1024-dimensional vector
Speed
10ms (GPU) | 100ms (CPU)
Use Case
Similarity search, duplicate detection
3
welding_symbol_detection - Welding Symbol Detection
Detection Pipeline:
Input Image
â
[YOLOX Detection] â Find all symbols
ââ Classes: fillet_weld, butt_weld, groove_weld,
â spot_weld, seam_weld, plug_weld
â
[NMS Post-processing] â Remove overlaps
â
Bounding boxes with confidence scores
Single Detection Model: Just YOLOX - one of the simplest architectures in the portfolio.
Model Type
YOLOX Object Detection
4
material_shape_classification - Material Shape Classification
Classification Pipeline:
Input Image
â
[CNN Classifier] â Single classification
ââ Classes: cylinder, cube, plate, angle stock,
â channel, etc.
â
Output: {shape: "cylinder", confidence: 0.92}
Model Type
CNN Classification
5
part_table_recognition - Part Table Extraction
Most complex model with 7-stage pipeline for extracting structured table data.
Complex Multi-Stage Pipeline:
Input Image
â
[YOLOX Detection] â Locate table region
â
[Table Region Extraction] â Crop to boundaries
â
[Table Transformer (ONNX)] â Understand structure
â (Recognizes rows/columns)
â
[SAHI Text Detection] â Find text in cells
â (Sliced detection for large images)
â
[Angle Classification] â Determine rotation
â
[Text Recognition (BERT)] â Read cell values
â
[Table Assembly] â Reconstruct HTML/CSV
â
Structured Table Output
Table Transformer: Special model trained to understand table structure. Uses ONNX format for optimized inference.
Pipeline Stages
7 sequential stages
6
surface_roughness_detection - Surface Roughness Extraction
Complex OCR pipeline for detecting roughness symbols and extracting numeric values.
Surface Roughness Detection Pipeline:
Input Image
â
[YOLOX Detection] â Find roughness symbols (Ra, Rz)
â
[SAHI Text Detection] â Find numeric values
â Sliced Aided Hyper Inference
â Handles large images by tiling
â
[Angle Classification] â Determine text rotation
â (0°, 90°, 180°, 270°)
â
[BERT Text Recognition] â Read "3.2", "Ξm", etc.
â
[Post-processing] â Extract and validate values
â âĒ Parse numeric value
â âĒ Extract unit (Ξm, mm)
â âĒ Validate against standards
â
Output: {roughness_value: 3.2, unit: "Ξm", type: "Ra"}
Pipeline Type
Symbol detection + text recognition
Special Feature
SAHI for fast large image processing
All Models Speed Comparison
Component Technologies
Detection Component: YOLOX
Architecture:
Input Image
â
[Backbone] â ResNet-style feature extraction
â
[Neck] â FPN (Feature Pyramid Network)
â Multi-scale feature combination
â
[Head] â Dense predictions per grid cell
â For each cell: [x, y, width, height, confidence, class_probs]
â
[NMS (Non-Maximum Suppression)]
â
Final Detections
Used by 8 models in the portfolio
Very fast (5-15ms per image)
Highly accurate (>90% precision)
Multiple variants: YOLOX-s (small), YOLOX-l (large)
Feature Extraction: EfficientNet-B2
Layer Structure:
Input Image (224Ã224)
â
[Mobile Inverted Bottleneck Block #1]
â
[Mobile Inverted Bottleneck Block #2]
â
[... 16 blocks total ...]
â
[Global Average Pooling] â Spatial dimension reduction
â
1280-dimensional feature vector
Pre-trained on ImageNet
Efficient = small model + fast inference
9M parameters (vs 110M+ for larger models)
Used by deep_feature_v2
Text Recognition: BERT vs Vision Encoder-Decoder
BERT (Used by canvas_ocr, surface_roughness_detection):
Text Image â Visual Encoding â BERT Processing â Text Output
(Simple, fast, good for standard OCR)
Vision Encoder-Decoder (Used by geometric_tolerance_detection):
Text Image â Visual Encoder â Decoder (BERT-based) â Text Output
(Advanced, more accurate for complex technical text)
Latency Optimization
GPU vs CPU Performance
Model
GPU (NVIDIA T4)
CPU (4 cores)
Speedup
drawing_or_not_classification
5ms
50ms
10Ã
deep_feature_v2
10ms
100ms
10Ã
canvas_ocr
40ms
400ms
10Ã
part_table_recognition
100ms
1000ms
10Ã
Dynamic Batching (3 models)
Request 1 ââ
Request 2 ââĪ
Request 3 ââžâ [Batch of 4] â Process once â Return 4 responses (much faster)
Request 4 ââ
Request 5 ââ
Request 6 ââīâ [Batch of 2] â Process â Return 2 responses
Without batching: Process individually 6Ã â slow
With batching: Process 2 batches â fast
deep_feature_v2: max batch size 4
thickness_estimation: max batch size 4
manufactured_size_estimation: max batch size 4
ðïļ Model Architecture Reference | June 2026
For detailed explanations and implementation details, refer to the Full Guide