visionvision.detect

vision.detect

ดูอินพุต เอาต์พุต และการรองรับการทำงานที่กำหนดไว้สำหรับโหนด vision.detect

วิดีโอสอนใช้งาน

04

ดูวิธีกำหนดค่าและเรียกใช้โหนด vision.detect ในเวิร์กโฟลว์ LaiCai Flow จริง

บทเรียนโหนด: Object Detect
ดูบน YouTube

อินพุต

5
อินพุตชนิดค่าข้อกำหนดแหล่งข้อมูลที่รองรับ
modelIdstringจำเป็นliteral
allClassesboolไม่บังคับliteral
classNamesarrayไม่บังคับliteral
minScorenumberจำเป็นliteral
roirectจำเป็นliteral

เอาต์พุต

9
เส้นทางเอาต์พุตชนิดค่าระบบพิกัด
data.bestobject
data.best.scorenumber
data.best.modelIdstring
data.best.classNamestring
data.best.centerpointscreenRatio
data.best.center.xnumberscreenRatio
data.best.center.ynumberscreenRatio
data.best.rectrectscreenRatio
data.itemsarray

การรองรับการทำงาน

เดสก์ท็อปรองรับ
Android Agentรองรับ

ความเข้ากันได้และข้อกำหนดทางเทคนิคของโมเดล

เพียงมีนามสกุล 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 แบบดิบ

รูปแบบเอาต์พุตshape ที่รองรับความหมาย
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
  }
}