File size: 5,551 Bytes
abdf749
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
---
license: mit
tags:
- object-detection
- image-classification
- waste-classification
- hierarchical-classification
- yolov12
- computer-vision
- pytorch
language:
- id
- en
pipeline_tag: image-classification
datasets:
- afinnn/waste-detection-dataset
---

# HSCN Waste Checkpoints - YOLOv12 + Hierarchical Sibling Classification Network (HSCN)

Repository ini berisi kumpulan **checkpoint model** untuk sistem deteksi dan klasifikasi sampah hierarkis dua tahap:

1. **YOLOv12** - mendeteksi objek sampah dalam gambar (bounding box).
2. **HSCN (Hierarchical Sibling Classification Network)** - mengklasifikasikan setiap objek hasil crop deteksi ke dalam **3 level hierarki**:
   - **L1 - Waste Management**: kategori penanganan sampah (mis. daur ulang, organik, residu)
   - **L2 - Material**: jenis material (mis. plastik, kertas, logam, kaca)
   - **L3 - Specific Object**: kelas objek spesifik (mis. botol plastik, kaleng, kardus)

Model ini dikembangkan sebagai bagian dari penelitian tugas akhir/skripsi mengenai klasifikasi sampah berbasis computer vision, dan telah melalui proses sidang serta submission paper konferensi (SENTRIN).

## Struktur Repository

| Folder | Isi |
|---|---|
| `waste_detection_results` | Checkpoint & hasil training YOLOv12 (varian utama/default) |
| `waste_detection_results_yolol` | Checkpoint YOLOv12-**Large** |
| `waste_detection_results_yolom` | Checkpoint YOLOv12-**Medium** |
| `waste_detection_results_yolos` | Checkpoint YOLOv12-**Small** |
| `waste_hscn_results_convnext_small` | Checkpoint HSCN dengan backbone **ConvNeXt-Small** (backbone terbaik) |
| `waste_hscn_results_efficientnet_b3` | Checkpoint HSCN dengan backbone **EfficientNet-B3** |
| `waste_hscn_results_mobilenet_v3_large` | Checkpoint HSCN dengan backbone **MobileNetV3-Large** |
| `waste_hscn_results_resnet18` | Checkpoint HSCN dengan backbone **ResNet-18** |
| `waste_hscn_results_resnet50` | Checkpoint HSCN dengan backbone **ResNet-50** |
| `waste_hscn_results_resnet101` | Checkpoint HSCN dengan backbone **ResNet-101** |

## Dataset

- **6.357 objek crop** (hasil deteksi) digunakan untuk training klasifikasi HSCN
- **2.085 gambar** sebelum augmentasi digunakan untuk training deteksi YOLOv12
- Sumber dataset gabungan dari 4 dataset publik: **TrashNet, TACO, RealWaste**, dan **Kaggle** (waste classification dataset)

## Hasil Evaluasi

### Deteksi Objek - YOLOv12
Model terbaik: **YOLOv12-Large**

| Metrik | Skor |
|---|---|
| F1-Score | 0.844 |
| mAP@0.5:0.95 | 0.7636 |

### Klasifikasi Hierarkis - HSCN
6 backbone dievaluasi untuk mencari kombinasi terbaik. **ConvNeXt-Small** terpilih sebagai backbone terbaik:

| Backbone | mAP (mean, L1+L2+L3) | Akurasi L3 (kelas spesifik) |
|---|---|---|
| **ConvNeXt-Small** ⭐ | **0.967** | **0.5802** |
| ResNet-18 | – | – |
| ResNet-50 | – | – |
| ResNet-101 | – | – |
| EfficientNet-B3 | – | – |
| MobileNetV3-Large | – | – |

> Catatan: L3 (klasifikasi objek spesifik) merupakan level tersulit karena jumlah kelas yang lebih banyak dan granularitas visual yang tinggi antar sub-kategori material yang mirip.

## Cara Penggunaan

Checkpoint di repository ini dalam format native (PyTorch `.pt`/state_dict sesuai arsitektur asli - bukan format `transformers`), sehingga perlu dimuat menggunakan kode arsitektur model asli (YOLOv12 & HSCN), bukan lewat `AutoModel` dari library `transformers`.

Contoh unduh checkpoint dengan `huggingface_hub`:

```python
from huggingface_hub import hf_hub_download

# Contoh: unduh checkpoint YOLOv12-Large
yolo_ckpt = hf_hub_download(
    repo_id="afinnn/hscn-waste-checkpoints",
    filename="waste_detection_results_yolol/<nama_file_checkpoint>"
)

# Contoh: unduh checkpoint HSCN ConvNeXt-Small
hscn_ckpt = hf_hub_download(
    repo_id="afinnn/hscn-waste-checkpoints",
    filename="waste_hscn_results_convnext_small/<nama_file_checkpoint>"
)
```

Lalu muat checkpoint sesuai kelas model masing-masing (YOLOv12 loader / HSCN `nn.Module` custom) pada kode training/inference.

## Arsitektur Pipeline

Sistem bekerja dalam dua tahap yang berurutan: deteksi objek diikuti klasifikasi hierarkis pada tiap objek yang terdeteksi.

```mermaid
flowchart TD
    A["Gambar Input"] --> B["Tahap 1: Deteksi Objek\nYOLOv12"]
    B --> C["Crop Objek Terdeteksi\n(per bounding box)"]
    C --> D["Tahap 2: Klasifikasi Hierarkis\nHSCN (ConvNeXt-Small)"]
    D --> E["L1: Waste Management"]
    D --> F["L2: Material"]
    D --> G["L3: Specific Object"]
    E --> H["Output Akhir:\nBounding Box + Label Hierarkis L1/L2/L3"]
    F --> H
    G --> H
```

| Tahap | Komponen | Input | Output |
|---|---|---|---|
| 1. Deteksi | YOLOv12 | Gambar mentah | Bounding box objek sampah |
| 2. Cropping | - | Bounding box | Citra hasil crop per objek |
| 3. Klasifikasi | HSCN (backbone ConvNeXt-Small) | Citra hasil crop | Label hierarkis L1, L2, L3 |
| 4. Output | - | Bounding box + label | Deteksi lengkap dengan klasifikasi 3 level |

## Sitasi

Jika menggunakan model ini, mohon sitasi paper terkait (SENTRIN) - detail sitasi akan diperbarui setelah publikasi resmi.

```bibtex
@inproceedings{hscn-waste-2026,
  title={Two-Stage Waste Detection and Hierarchical Classification using YOLOv12 and HSCN},
  author={Afin},
  booktitle={SENTRIN},
  year={2026}
}
```

## Lisensi

MIT License - bebas digunakan untuk riset dan pengembangan lebih lanjut, dengan tetap mencantumkan atribusi.

## Kontak

Untuk pertanyaan lebih lanjut mengenai model atau kolaborasi, silakan hubungi melalui profil Hugging Face [@afinnn](https://huggingface.co/afinnn).