vision.detectvision.detect
Lihat input, output, dan dukungan runtime yang ditentukan untuk node vision.detect.
Tutorial video
04Lihat cara mengatur dan menjalankan node vision.detect dalam alur kerja LaiCai Flow yang sebenarnya.
Input
5modelIdstringWajibliteralallClassesboolOpsionalliteralclassNamesarrayOpsionalliteralminScorenumberWajibliteralroirectWajibliteralOutput
9data.bestobject—data.best.scorenumber—data.best.modelIdstring—data.best.classNamestring—data.best.centerpointscreenRatiodata.best.center.xnumberscreenRatiodata.best.center.ynumberscreenRatiodata.best.rectrectscreenRatiodata.itemsarray—Dukungan runtime
Kompatibilitas dan persyaratan teknis model
Ekstensi ONNX saja tidak menjamin kompatibilitas. LaiCai juga harus memahami input, tensor output, koordinat kotak, skor keyakinan, dan urutan kelas.
Latih suatu model deteksi gubahan
File model
Gunakan model deteksi objek YOLO standar yang diekspor ke ONNX. File PyTorch .pt, ID model API cloud, serta model klasifikasi, segmentasi, pose, atau kotak berotasi tidak dapat diimpor langsung.
.onnxtype: yoloTensor input
Diperlukan satu input RGB NCHW tiga kanal, float32 atau float16 yang dinormalisasi ke 0–1. LaiCai menjaga rasio dengan letterbox RGB 114; ukuran dinamis yang tidak diketahui memakai 640 × 640.
[1, 3, H, W]float32 / float16Pemetaan kelas
ID kelas harus mulai dari 0, berurutan, dan mengikuti urutan pelatihan. id2label dan label2id harus cocok, serta className harus sama persis dengan label.
id2labellabel2idclassNameUkuran dan kecepatan
Mulai dengan Nano atau Small untuk deteksi berkelanjutan. Model besar mungkin lebih akurat, tetapi memakai lebih banyak memori dan lebih lambat. Ukur di desktop dan Android sebenarnya.
n / s / m / l / xTensor output yang didukung
Model harus mengembalikan tepat satu tensor dengan salah satu tata letak berikut. LaiCai menerapkan filter keyakinan dan NMS pada output YOLO mentah.
raw_yolo_no_objectness[1, 4 + nc, N] / [1, N, 4 + nc]Kotak dan skor kelas tanpa objectness terpisah.raw_yolo_with_objectness[1, 5 + nc, N] / [1, N, 5 + nc]Kotak, objectness, dan skor kelas.postprocessed_xyxy[1, N, 6] / [N, 6]x1, y1, x2, y2, skor, dan ID kelas setelah NMS.Periksa sebelum impor
- Model deteksi objek ONNX, bukan .pt atau ID API cloud.
- Satu input RGB NCHW dan satu tensor output yang didukung.
- Menggunakan float32 atau float16, bukan INT8/UINT8.
- Urutan kelas dan format diketahui; model satu kelas menetapkan outputFormat.
- Folder berisi satu .onnx atau config.json menunjuknya lewat modelFile.
- Uji frame saat ini di desktop lalu verifikasi terpisah di Android Agent.
Contoh config.json
Label dan outputFormat berikut hanyalah contoh. Ganti dengan urutan kelas dan format tensor model yang sebenarnya.
{
"id": "game-objects",
"name": "Game Objects",
"type": "yolo",
"modelFile": "model.onnx",
"outputFormat": "raw_yolo_no_objectness",
"id2label": {
"0": "ore",
"1": "tree"
},
"label2id": {
"ore": 0,
"tree": 1
}
}