Sebelum kau mulai
Gunakan deteksi objek ketika LaiCai harus menemukan di mana objek berada di layar. Klasifikasi gambar di Klasifikasi hanya menjawab apa yang seluruh gambar berisi dan tidak mengembalikan kotak batas.
Panduan ini membawa Anda dari raw screenshots ke model ONNX kompatibel LaiCai. Ini menggunakan dataset permainan objek-kecil nyata sebagai contoh bekerja, tetapi proses yang sama diterapkan pada kontrol aplikasi, produk, ikon, alat, dan target tampak lainnya.

Gunakan deteksi objek ketika LaiCai harus menemukan di mana objek berada di layar. Klasifikasi gambar di Klasifikasi hanya menjawab apa yang seluruh gambar berisi dan tidak mengembalikan kotak batas.
Biasanya ya bila muncul dalam permainan atau aplikasi yang sama, gunakan skala cuplikan yang sama, dan perlu dideteksi dalam Flow yang sama. Model yang terpisah hanya ketika adegan tidak berhubungan, daftar kelas menjadi sangat besar, atau satu kelompok membutuhkan ukuran input atau target kinerja yang berbeda.
Kumpulkan frame dari perangkat, resolusi, tingkat zoom, dan kualitas visual yang akan dilihat LaiCai. Keanekaragaman Diversitas lebih penting daripada menyelamatkan banyak bingkai video berturut-turut yang terlihat hampir sama.
Kelas A harus mewakili satu keputusan visual aliran yang perlu dibuat. Tetap nama pendek, unik, dan stabil karena urutan yang sama digunakan dalamYOLOlabel, data.yaml, config.json, dan visit.detector class pemilih. (vision.detect)
Jika sumber yang dikumpulkan masih menyerupai sumber daya yang tersedia, label kedua negara bagian, misalnya Copper dan CopperDepleted. Jangan mengharapkan ambang keyakinan saja untuk memisahkan kembali dua negara visual nyata.

Kie MakeSense.ai adalah alat pelabel berbasis peramban gratis. Untuk model LaiCai, pilih Pengesan Objek, gunakan kotak segi empat, dan eksporYOLOanotasi. (Object Detection)
OpenMakeSense.ai dan upload gambar sumber. Simpan folder gambar asli Anda; ZIP label yang diekspor tidak menggantikannya.
Pilih Pengesan Objek, bukan Pengenal Gambar. (Object Detection · Image Recognition)
Buat daftar kelas akhir dalam urutan tetap, lalu gambar persegi panjang di setiap kejadian target.
Tinjau gambar kosong, objek hilang, kelas salah, dan kotak longgar sebelum ekspor.
Anotasi Rekt Ekspor lentik sebagai paket ZIP dalamYOLOformat . (Rect annotations)
Pasangan setiap gambar dengan nama yang sama file label .txt. Membagi dengan merekam sesi atau jangkauan waktu, bukan dengan menyebarkan secara acak bingkai video yang berdekatan melintasi kereta api dan validasi.
dataset/
├── images/
│ ├── train/
│ └── val/
├── labels/
│ ├── train/
│ └── val/
└── data.yamlpath: /absolute/path/to/dataset
train: images/train
val: images/val
names:
0: Copper
1: CopperDepleted
2: Wood
3: MonsterPembagian awal yang praktis adalah 80% kereta dan 20% validasi. Pengaturan validasi harus berisi adegan yang tidak terlihat.

Contoh di bawah ini menggunakan versi yang diverifikasi dengan alur kerja ini. Model Nano adalah titik awal yang paling aman untuk deteksi kontinu. Use 640 px untuk objek yang lebih besar dan 960 px ketika target penting adalah kecil.
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install ultralytics==8.4.138 onnx==1.22.0 \
onnxruntime==1.29.0 onnxslim==0.1.96| Parameter trans title= yang tidak diketahui mengabaikan | Nilai permulaan [] | Mengapa |
|---|---|---|
model | YOLO26n | Kecil dan cukup cepat untuk iterasi pertama. |
imgsz | 960 / 640 | Use 960 untuk target kecil; gunakan 640 ketika target lebih besar atau kecepatan lebih penting. |
epochs | 200 | Dia memiliki langit - langit yang murah hati sementara berhenti lebih awal bisa selesai lebih cepat. |
patience | 40 | Pemberhentian setelah validasi belum membaik untuk 40 epoch. |
batch | 8 | Kurangi ke 4 atau 2 jika memori habis; peningkatan hanya setelah pengukuran. |
device | mps / 0 / cpu | Silikon Apple menggunakan mps, NVIDIA menggunakan 0, dan setiap mesin dapat menggunakan cpu. |
workers | 4 | A konservatif lintas platform titik awal. |
seed | 42 | Infakine membuat dataset dan perbandingan pelatihan lebih mudah untuk direproduksi. |
close_mosaic | 15 | Orang-orang yang tidak menggunakan mosaik di ujungnya sehingga epochs akhir melihat lebih banyak gambar alami. |
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(
data="dataset/data.yaml",
imgsz=960,
epochs=200,
patience=40,
batch=8,
device="mps", # NVIDIA: 0 · CPU: "cpu"
workers=4,
seed=42,
close_mosaic=15,
)Wacana menggunakan checkpoint terbaik, memeriksa prediksi pada cuplikan layar yang tak terlihat, dan meninjau setiap kelas secara terpisah. Sebuah skor global yang tinggi dapat menyembunyikan kelas lemah langka.


LaiCai mengimpor ONNX, bukan file pelatihan .pt. Esport satu masukan NCHW RGB statis, batch 1, float32 atau float16, dan prediksi mentah satu-ke-banyak sehingga LaiCai dapat menerapkan penyaringan keyakinan dan NMS.
from ultralytics import YOLO
model = YOLO("runs/detect/train/weights/best.pt")
model.export(
format="onnx",
imgsz=960,
batch=1,
dynamic=False,
simplify=True,
nms=None,
)Pilih direktori itu sendiri di perpustakaan LaiCai's Model. Direktori harus berisi config.json dan berkas ONNX bernama modelFile. Kelas ID harus mulai dari 0 dan tetap berdampingan.
game-objects/
├── config.json
└── model.onnx{
"id": "game-objects-v1",
"name": "Game Objects v1",
"type": "yolo",
"modelFile": "model.onnx",
"outputFormat": "raw_yolo_no_objectness",
"id2label": {
"0": "Copper",
"1": "CopperDepleted",
"2": "Wood",
"3": "Monster"
},
"label2id": {
"Copper": 0,
"CopperDepleted": 1,
"Wood": 2,
"Monster": 3
}
}Jika LaiCai mengatakan config.json hilang atau tidak terbaca, Anda memilih berkas ONNX atau folder tidak lengkap. Impor direktori model lengkap dan pastikan id2label atau label2id mendefinisikan setiap kelas.
OpenLaiCai Flow, pergi ke perpustakaan Model, impor direktori yang telah disiapkan, dan konfirmasi bahwa model ditandai Serasi sebelum menggunakannya dalam visi. Terdeteksi. (vision.detect)
Simpan gambar asli,YOLOlabel, daftar kelas, data. Yaml, pelatihan komando, dan terbaik bersama-sama. Berkas-berkas ini adalah sumber dataset yang dapat digunakan kembali Anda; berkas ONNX yang diekspor saja tidak cukup untuk pelatihan ulang yang dapat diandalkan. (data.yaml · best.pt)
Tidak. Label batch baru, ekspor, dan gabungkan dengan dataset lama yang tersimpan offline. Anda hanya perlu mengoreksi anotasi lama.
Ya, tapi tambahkan setelah kelas yang ada dan peta ulang ekspor baru dengan nama kelas. Kemudian retrain pada dataset penuh sehingga kelas-kelas lama tetap diwakili.
Dua negara bagian ini secara visual mirip dan modelnya belum mempelajari perbedaannya. Add a terpisah depleted-state class atau diverifikasi hard-negatif contoh, kemudian retrain dan meninjau matriks kebingungan.
Tidak. A threshold dapat diperdagangkan recall untuk presisi, tetapi tidak dapat menggantikan kelas yang hilang, label yang tidak konsisten, atau membingungkan contoh negatif.
Perintah dan pilihan keserasian dalam panduan ini diperiksa terhadap dokumentasi resmi saat ini dan kontrak model LaiCai.
Setelah modelnya kompatibel, gunakan visi. Terdeteksi untuk memilih suatu daerah kelas, ambang, dan layar, kemudian menghubungkan jalur keberhasilan atau kegagalan ke aksi Aliran berikutnya. (vision.detect)