vision.detectvision.detect
ดูอินพุต เอาต์พุต และการรองรับการทำงานที่กำหนดไว้สำหรับโหนด vision.detect
วิดีโอสอนใช้งาน
04ดูวิธีกำหนดค่าและเรียกใช้โหนด vision.detect ในเวิร์กโฟลว์ LaiCai Flow จริง
อินพุต
5modelIdstringจำเป็นliteralallClassesboolไม่บังคับliteralclassNamesarrayไม่บังคับliteralminScorenumberจำเป็นliteralroirectจำเป็นliteralเอาต์พุต
9data.bestobject—data.best.scorenumber—data.best.modelIdstring—data.best.classNamestring—data.best.centerpointscreenRatiodata.best.center.xnumberscreenRatiodata.best.center.ynumberscreenRatiodata.best.rectrectscreenRatiodata.itemsarray—การรองรับการทำงาน
ความเข้ากันได้และข้อกำหนดทางเทคนิคของโมเดล
เพียงมีนามสกุล ONNX ยังไม่รับประกันว่าใช้ร่วมกันได้ LaiCai ต้องเข้าใจอินพุต เทนเซอร์เอาต์พุต พิกัดกรอบ คะแนนความมั่นใจ และลำดับคลาสด้วย
ไฟล์โมเดล
ใช้โมเดลตรวจจับวัตถุ YOLO มาตรฐานที่ส่งออกเป็น ONNX ไม่สามารถนำเข้าไฟล์ PyTorch .pt, รหัสโมเดล API บนคลาวด์ หรือโมเดลจำแนก แบ่งส่วน ท่าทาง และกรอบหมุนได้โดยตรง
.onnxtype: yoloเทนเซอร์อินพุต
ต้องมีอินพุต RGB แบบ NCHW สามช่องหนึ่งรายการ ใช้ float32 หรือ float16 ที่ปรับเป็น 0–1 LaiCai รักษาสัดส่วนด้วย letterbox RGB 114 และใช้ 640 × 640 เมื่อระบุขนาดไดนามิกไม่ได้
[1, 3, H, W]float32 / float16การจับคู่คลาส
รหัสคลาสต้องเริ่มจาก 0 ต่อเนื่อง และตรงกับลำดับฝึก id2label กับ label2id ต้องสอดคล้องกัน และ className ต้องตรงกับป้ายกำกับทุกตัวอักษร
id2labellabel2idclassNameขนาดและความเร็ว
เริ่มด้วย Nano หรือ Small สำหรับการตรวจจับต่อเนื่อง โมเดลใหญ่กว่าอาจแม่นยำขึ้นแต่ใช้หน่วยความจำมากและช้าลง ควรวัดบนเดสก์ท็อปและอุปกรณ์ Android จริง
n / s / m / l / xเทนเซอร์เอาต์พุตที่รองรับ
โมเดลต้องคืนเทนเซอร์เอาต์พุตเพียงหนึ่งรายการในรูปแบบต่อไปนี้ LaiCai จะกรองความมั่นใจและทำ NMS สำหรับเอาต์พุต YOLO แบบดิบ
raw_yolo_no_objectness[1, 4 + nc, N] / [1, N, 4 + nc]กรอบและคะแนนคลาสโดยไม่มี objectness แยกraw_yolo_with_objectness[1, 5 + nc, N] / [1, N, 5 + nc]กรอบ objectness และคะแนนคลาสpostprocessed_xyxy[1, N, 6] / [N, 6]x1, y1, x2, y2, คะแนน และรหัสคลาสหลัง NMSตรวจสอบก่อนนำเข้า
- เป็นโมเดลตรวจจับวัตถุ ONNX ไม่ใช่ .pt หรือรหัส API คลาวด์
- มีอินพุต RGB NCHW หนึ่งรายการและเอาต์พุตที่รองรับหนึ่งรายการ
- ใช้ float32 หรือ float16 ไม่ใช่ INT8/UINT8
- ทราบลำดับคลาสและรูปแบบ และระบุ outputFormat สำหรับคลาสเดียว
- โฟลเดอร์มี .onnx หนึ่งไฟล์หรือ config.json ระบุ modelFile
- ทดสอบภาพปัจจุบันบนเดสก์ท็อปก่อน แล้วตรวจสอบแยกบน Android Agent
ตัวอย่าง config.json
ป้ายกำกับและ outputFormat ด้านล่างเป็นเพียงตัวอย่าง ให้แทนที่ด้วยลำดับคลาสและรูปแบบเทนเซอร์จริงของโมเดล
{
"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
}
}