| --- |
| tags: |
| - image-classification |
| - pytorch |
| - computer-vision |
| - cup-detection |
| library_name: pytorch |
| --- |
| |
| # Cup Detector - SmallCNN 2 Output |
|
|
| This model classifies a machine-specific ROI into: |
|
|
| - **EMPTY** |
| - **CUP** |
| - **UNDEFINED** |
|
|
| ## Model |
|
|
| - Architecture: `16 -> 32 -> 64 CNN` |
| - Input: `1 x 64 x 64` |
| - Output layer: `2` |
| - Loss: `BCEWithLogitsLoss` |
|
|
| ### Output encoding |
|
|
| - EMPTY -> `[0, 0]` |
| - CUP -> `[1, 0]` |
| - UNDEFINED -> `[0, 1]` |
|
|
| Output 0 represents **CUP vs EMPTY**. |
|
|
| Output 1 represents **UNDEFINED**. |
|
|
| ## Test Results |
|
|
| - Test Accuracy: `99.12%` |
| - Balanced Accuracy: `99.09%` |
| - CUP Precision: `98.73%` |
| - CUP Recall: `100.00%` |
| - EMPTY Specificity: `99.30%` |
| - CUP F1: `99.36%` |
|
|
| ## Intended Pipeline |
|
|
| ```text |
| Camera / RTSP |
| ↓ |
| Machine-specific ROI |
| ↓ |
| Grayscale + Resize 64x64 |
| ↓ |
| SmallCNN |
| ↓ |
| CUP / EMPTY / UNDEFINED |
| ``` |
|
|
| The ROI selection is handled outside the model. The model receives the cropped machine ROI. |
|
|