Başlamadan önce
LaiCai’nin ekranda bir nesne nerede olduğunu bulması gerektiğinde nesne algılama kullanın. Görüntü sınıflandırması yalnızca tüm bir görüntünün ne içerdiğine cevap verir ve bağlayıcı bir kutu döndürür.
LaiCai Screen Mirroring'deki “Tanıma Eğitimi” ile kayıt, etiketleme, eğitim ve testi uygulamadan çıkmadan tamamlayabilirsiniz. Zaten bir YOLO veri kümeniz varsa veya eğitimi tamamen kendiniz yönetmek istiyorsanız aşağıdaki gelişmiş iş akışını izleyin.

LaiCai Screen Mirroring'de menüsünü açın, bir proje oluşturun ve sol paneldeki yedi adımı izleyin.
Tanınacak sınıfları ekleyin; örneğin maden, ağaç veya düğme.
Telefonu bağlayın, normal şekilde kullanın ve ekranı gösterim videosu olarak kaydedin.
Gösterimi sürükleyerek veya kare kare inceleyin ve eğitim için yararlı kareleri kaydedin.
Her görseldeki her hedefin etrafına kutu çizin. Hedef içermeyen görseller hedefsiz olarak kaydedilebilir.
Etiketlenmiş görsellerle yeni bir model sürümü eğitin.
Bağlı telefonda canlı tanıma çalıştırın, kaçırılan veya yanlış algılanan sonuçları düzeltip örnek olarak geri kaydedin.
Önceki model sürümlerini ve eğitim sonuçlarını inceleyin.
Zaten bir YOLO veri kümeniz varsa veya model mimarisini ve eğitim parametrelerini kendiniz yönetmek istiyorsanız, etiketleme ve eğitimi uygulama dışında yapıp ONNX modelini LaiCai'ye aktarabilirsiniz.
LaiCai’nin ekranda bir nesne nerede olduğunu bulması gerektiğinde nesne algılama kullanın. Görüntü sınıflandırması yalnızca tüm bir görüntünün ne içerdiğine cevap verir ve bağlayıcı bir kutu döndürür.
Genellikle aynı oyunda veya uygulamada göründüğünde, aynı ekran görüntüsü kullanın ve aynı Akışta tespit edilmelidir. Ayrı modeller sadece sahnelerle ilgili olduğunda, sınıf listesi çok büyük ya da bir grup farklı giriş büyüklüğüne veya performans hedefine ihtiyaç duyar.
Tam cihazdan çerçeveler toplayın, çözünürlük, zoom seviye ve LaiCai'nin göreceği görsel kalite. Çeşitlilik neredeyse aynı görünen birçok ardışık video çerçevesini tasarruf etmekten daha önemlidir.
Bir sınıf, Akışın yapması gereken bir görsel kararı temsil etmelidir. İsimleri kısa, eşsiz ve istikrarlı tutun çünkü aynı sipariş kullanılırYOLOEtiketler, veriler.yaml, yapılandır.json ve vizyon.detect class selector. (vision.detect · config.json · data.yaml)
Bir toplanan kaynak hala mevcut kaynağa benziyorsa, örneğin Copper ve CopperDepleted. Sadece iki gerçek görsel durumu güvenilir bir şekilde ayırmak için bir güven eşi beklemeyin.

MakeSense.ai özgür bir tarayıcı tabanlı bir etiketleme aracıdır. LaiCai modelleri için, Object Tespit'i seçin, dikdörtgen kutular kullanın ve ihracatYOLOAnnotasyonlar. (Object Detection)
Open MakeSense.ai ve kaynak görüntülerini yükleyin. Orijinal görüntü klasörünü tutun; ihraç edilen etiket ZIP onu değiştirmiyor.
Object Tespiti seçin, Image Recognition. (Object Detection)
Sabit bir sırayla son sınıf listesini oluşturun, sonra her hedef örneği etrafında bir dikdörtgen çizin.
Boş görüntüler, eksik nesneler, yanlış sınıflar ve ihracattan önce kutular.
Export Rect annotations as a ZIP paketi inYOLOformat.
Pair her görüntü aynı isimli .txt etiketi ile. Oturum veya zaman aralığı kaydederek, tren ve geçerlilik karşısında rastgele saç çerçeveleri ile değil.
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: MonsterPratik bir başlangıç bölmesi %80 tren ve% 20 geçerlilik. Geçerlilik seti gerçekten görünmeyen sahneler içermelidir.

Aşağıdaki örnekler bu iş akışı ile doğrulanan versiyonları kullanır. Bir Nano modeli sürekli algılama için en güvenli başlangıç noktasıdır. Önemli hedefler küçükken daha büyük nesneler ve 960 px için 640 px kullanın.
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| Parametre parametresi | Değere başlayın | Neden Neden Neden Neden Neden Neden? |
|---|---|---|
model | YOLO26n | İlk iterasyon için küçük ve hızlı. |
imgsz | 960 / 640 | Küçük hedefler için 960 kullanın; hedefler daha büyük veya hız önemli olduğunda 640 kullanın. |
epochs | 200 | Erken durmanın erken bitebileceği bir cömert tavan ayarlar. |
patience | 40 | Geçerlilik sonrası duraklar 40 dönem için gelişmemiştir. |
batch | 8 | bellek çalışırsa 4 veya 2'ye indirgenin; sadece ölçümden sonra artış. |
device | mps / 0 / cpu | Apple silikon, mps kullanıyor, PNG 0 kullanıyor ve herhangi bir makine cpu kullanabilir. |
workers | 4 | muhafazakar bir çapraz platform başlangıç noktası. |
seed | 42 | Veri kümesi ve eğitim karşılaştırmaları yeniden üretmek daha kolay hale gelir. |
close_mosaic | 15 | Son zamanlardaki mozaik daha doğal görüntüler görür. |
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,
)En iyi kontrol noktası kullanın, görünmeyen ekranlarda denetim tahminleri kullanın ve her sınıf ayrı ayrı gözden geçirin. Yüksek bir küresel puan zayıf nadir bir sınıf gizleyebilir.


LaiCai, eğitim .pt dosyası değil. Bir statik NCHW RGB girişi, 1, yüz32 veya yüz16, ve LaiCai güven filtreleme ve NMS uygulayabilir. (ONNX · float32 · float16)
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,
)LaiCai'nin Model kütüphanesinde kendisini seçin. Kılavuz, modelFile tarafından adlandırılan imar.json ve ONNX dosyası içermelidir. Sınıf kimlikleri 0'da başlamalı ve tutarlı kalmalıdır. (config.json)
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
}
}LaiCai, yapılandırın.json'un eksik ya da açıklanamaz olduğunu söylüyorsa, bir ONNX dosyasını veya eksik bir klasörü seçtiniz. Tam model rehberi ithal edin ve id2label veya etiket2id her sınıfı tanımlar. (config.json · label2id)
Open Open Open OpenLaiCai FlowModel kütüphaneye gidin, hazırlıklı diziyi ithal edin ve modelin onu görmeden önce uyumlu olduğunu doğrulayın. algılama. (vision.detect)
Orijinal görüntüleri kurtarın,YOLOEtiketler, sınıf listesi, veriler. Ya ml, eğitim komutu ve en iyisi. Bu dosyalar reusable dataset kaynağınızdır; ihraç edilen NX dosyası yalnızca güvenilir yeniden eğitim için yeterli değildir. (ONNX · data.yaml · best.pt)
Hayır. Yeni çeteyi etiketleyin ve onu kurtarılan eski veri kümesi çevrimdışı ile birleştirin. Re-import old data only when you need to correct old annotations.
Evet, ama mevcut sınıflardan sonra uygulayın ve sınıf adı ile yeni ihracat geri alın. Sonra tam veri kümesi üzerinde yeniden eğitim, böylece eski sınıflar temsil edilmektedir.
İki devlet görsel olarak benzer ve model ayrımı öğrenmemiştir. Ayrı bir depleted-state sınıf ekleyin veya sert-negatif örnekler doğrulayın, sonra yeniden eğitim yapın ve karışık matrisi gözden geçirin.
Hayır. Bir eşlik hassaslık için hatırlanabilir, ancak eksik sınıflar, tutarsız etiketler veya kafa karıştırıcı negatif örnekler değiştiremez.
Bu kılavuzdaki komutlar ve uyumluluk seçenekleri mevcut resmi belgelere ve LaiCai model sözleşmesine karşı kontrol edildi.
Model uyumlu olduğundan, vizyon kullanın. Bir sınıf, eşi ve ekran bölgesini seçmeyi tespit edin, sonra bir sonraki Akış eylemine başarı veya başarısızlık yolunu bağlar. (vision.detect)