Sebelum Anda mulai
Gunakan deteksi objek ketika LaiCai harus menemukan dimana obyek berada di layar. Klasifikasi gambar hanya menjawab apa yang seluruh gambar berisi dan tidak kembali kotak batas.
Panduan ini membawa Anda dari cuplikan layar mentah ke model ONNX yang kompatibel dengan LaiCai-. Ini menggunakan data permainan objek yang sebenarnya sebagai contoh yang bekerja, namun proses yang sama berlaku pada kendali aplikasi, produk, ikon, alat, dan target lainnya yang tampak.

Gunakan deteksi objek ketika LaiCai harus menemukan dimana obyek berada di layar. Klasifikasi gambar hanya menjawab apa yang seluruh gambar berisi dan tidak kembali kotak batas.
Biasanya ya ketika mereka muncul dalam permainan yang sama atau aplikasi, gunakan skala cuplikan layar yang sama, dan perlu terdeteksi dalam Flow yang sama. Model terpisah hanya ketika adegan tidak berhubungan, daftar kelas menjadi sangat besar, atau satu kelompok membutuhkan ukuran masukan yang berbeda atau target kinerja.
Kumpulkan frame dari perangkat, resolusi, tingkat perbesaran, dan kualitas visual yang akan dilihat LaiCai. Keanekaragaman lebih penting daripada menyimpan banyak frame video berturut-turut yang terlihat hampir identik.
Sebuah kelas harus mewakili satu keputusan visual Flow perlu dibuat. Menjaga nama pendek, unik, dan stabil karena urutan yang sama digunakan dalamYOLOlabel, data.yaml, config.json, dan vision.detect pemilih kelas.
Jika sumber daya yang dikumpulkan masih menyerupai sumber daya yang tersedia, label kedua negara, misalnya Copper dan CopperDepleted. Jangan mengharapkan ambang kepercayaan diri sendiri untuk dapat dipercaya memisahkan dua keadaan visual nyata.

MakeSen.ai adalah alat bebas browser- berbasis label. Untuk model LaiCai, pilih Deteksi Objek, gunakan kotak persegi panjang, dan eksporYOLOKesal. (MakeSense.ai · Object Detection)
Buka MakeSense.ai dan unggah gambar sumber. Simpan folder gambar asli Anda; label terekspor ZIP tidak menggantikannya.
Pilih Deteksi Objek, bukan Pengakuan Gambar. (Object Detection · Image Recognition)
Buat daftar kelas akhir dalam urutan tetap, lalu gambar persegi panjang di setiap target.
Tinjau gambar kosong, objek yang hilang, kelas yang salah, dan kehilangan kotak sebelum ekspor.
Ekspor coretan dalam paket ZIPYOLOformat. (Rect annotations)
Pair setiap gambar dengan same- bernama .txt label file. Dibagi dengan merekam atau rentang waktu, bukan dengan menyebarkan secara acak bingkai video yang berdekatan di 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: MonsterPemisahan awal praktis adalah 80% kereta api dan 20% validasi. validasi yang ditetapkan harus berisi adegan benar-benar tak terlihat.

Contoh di bawah ini menggunakan versi yang diverifikasi dengan alur kerja ini. Model Nano adalah titik awal yang paling aman untuk deteksi terus menerus. Gunakan 640 px untuk objek yang lebih besar dan 960 px ketika target penting 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 | Nilai awal | Mengapa |
|---|---|---|
model | YOLO26n | Kecil dan cukup cepat untuk iterasi pertama. |
imgsz | 960 / 640 | Gunakan 960 untuk target kecil; gunakan 640 ketika target lebih besar atau kecepatan lebih penting. |
epochs | 200 | Mengatur langit-langit murah hati sementara berhenti dini dapat menyelesaikan lebih cepat. |
patience | 40 | Berhenti setelah validasi belum membaik selama 40 epochs. |
batch | 8 | Kurangi ke 4 atau 2 jika memori habis; meningkatkan hanya setelah pengukuran. |
device | mps / 0 / cpu | Silikon Apple menggunakan punca, NVIDIA menggunakan 0, dan mesin apapun dapat menggunakan cpu. |
workers | 4 | Sebuah cross- konservatif platform mulai titik. |
seed | 42 | Membuat data dan perbandingan pelatihan lebih mudah untuk bereproduksi. |
close_mosaic | 15 | Menonaktifkan mosaik dekat akhir sehingga zaman 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,
)Gunakan pos pemeriksaan terbaik, periksa prediksi pada cuplikan layar tak terlihat, dan tinjau setiap kelas secara terpisah. Nilai global tinggi dapat menyembunyikan kelas langka yang lemah.


LaiCai mengimpor ONNX, bukan berkas pelatihan .pt. Ekspor satu masukan NCHW RGB statis, batch 1, float32 atau float16, dan mentah satu - to- banyak prediksi sehingga LaiCai dapat menerapkan penyaringan kepercayaan 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 dalam pustaka Model LaiCai. Direktori harus berisi konfigurasi. json dan berkas ONNX yang dinamai oleh model File. ID kelas harus dimulai dari 0 dan tetap sama. (config.json · modelFile)
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 konfigurasi. json hilang atau tidak dapat dibaca, Anda memilih berkas ONNX atau folder tidak lengkap. Impor lengkap model direktori dan pastikan id2label atau label2id mendefinisikan setiap kelas. (config.json)
BukaLaiCai Flow, pergi ke Pustaka Model, impor direktori yang siap, dan konfirmasi bahwa model ditandai Compatible sebelum menggunakannya dalam visi. mendeteksi. (vision.detect)
Simpan gambar asli,YOLOlabel, daftar kelas, data. ubi, perintah pelatihan, dan best.pt bersama-sama. Berkas-berkas ini adalah sumber data yang dapat dipakai ulang; berkas yang diekspor sendiri ONNX tidak cukup untuk pelatihan ulang yang dapat diandalkan. (data.yaml)
Tidak. Label batch baru, ekspor, dan gabungkan dengan data lama offline. Impor ulang data lama hanya bila Anda perlu memperbaiki gangguan lama.
Ya, tapi menambahkan itu setelah kelas yang ada dan remap ekspor baru dengan nama kelas. Kemudian latihan ulang pada data penuh sehingga kelas lama tetap mewakili.
Kedua negara bagian secara visual mirip dan model tidak belajar perbedaan. Tambahkan terpisah habis-negara kelas atau diverifikasi hard-negatif contoh, kemudian melatih kembali dan meninjau bingung matriks.
Tidak. Sebuah threshold dapat trade recall untuk presisi, tetapi tidak dapat menggantikan kelas hilang, label tidak konsisten, atau membingungkan contoh negatif.
Perintah dan pilihan kompabilitas dalam panduan ini diperiksa melawan dokumentasi resmi saat ini dan kontrak model LaiCai.
Setelah modelnya sesuai, gunakan penglihatan. deteksi untuk memilih sebuah kelas, threshold, dan daerah layar, kemudian hubungkan sukses atau gagal path ke aksi Flow selanjutnya. (vision.detect)