visionvision.detect

vision.detect

Xem đầu vào, đầu ra và hỗ trợ chạy được định nghĩa cho node vision.detect.

Video hướng dẫn

04

Xem cách cấu hình và chạy node vision.detect trong một quy trình LaiCai Flow thực tế.

Hướng dẫn node: Object Detect
Xem trên YouTube

Đầu vào

5
Đầu vàoKiểu giá trịYêu cầuNguồn được chấp nhận
modelIdstringBắt buộcliteral
allClassesboolTùy chọnliteral
classNamesarrayTùy chọnliteral
minScorenumberBắt buộcliteral
roirectBắt buộcliteral

Đầu ra

9
Đường dẫn đầu raKiểu giá trịHệ tọa độ
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

Hỗ trợ chạy

Máy tínhĐược hỗ trợ
Android AgentĐược hỗ trợ

Khả năng tương thích và yêu cầu kỹ thuật của mô hình

Chỉ có phần mở rộng ONNX chưa đủ để bảo đảm tương thích. LaiCai còn phải hiểu đầu vào, tensor đầu ra, tọa độ hộp, độ tin cậy và thứ tự lớp.

Huấn luyện một mô hình phát hiện tùy chỉnh

Tệp mô hình

Dùng mô hình phát hiện đối tượng YOLO chuẩn được xuất sang ONNX. Không thể nhập trực tiếp tệp PyTorch .pt, ID mô hình API đám mây hay mô hình phân loại, phân đoạn, tư thế hoặc hộp xoay.

.onnxtype: yolo

Tensor đầu vào

Cần một đầu vào RGB NCHW ba kênh, kiểu float32 hoặc float16 chuẩn hóa về 0–1. LaiCai giữ tỷ lệ bằng letterbox RGB 114; kích thước động không xác định sẽ dùng 640 × 640.

[1, 3, H, W]float32 / float16

Ánh xạ lớp

ID lớp phải bắt đầu từ 0, liên tục và đúng thứ tự huấn luyện. id2label phải khớp label2id và className phải trùng chính xác với nhãn đã cấu hình.

id2labellabel2idclassName

Kích thước và tốc độ

Nên bắt đầu bằng Nano hoặc Small khi phát hiện liên tục. Mô hình lớn có thể chính xác hơn nhưng tốn bộ nhớ và chậm hơn. Hãy đo trên máy tính và thiết bị Android thực tế.

n / s / m / l / x

Tensor đầu ra được hỗ trợ

Mô hình chỉ được trả về một tensor đầu ra theo một trong các bố cục sau. LaiCai áp dụng lọc độ tin cậy và NMS cho đầu ra YOLO thô.

Định dạngShape hỗ trợÝ nghĩa
raw_yolo_no_objectness[1, 4 + nc, N] / [1, N, 4 + nc]Hộp và điểm lớp, không có objectness riêng.
raw_yolo_with_objectness[1, 5 + nc, N] / [1, N, 5 + nc]Hộp, objectness và điểm lớp.
postprocessed_xyxy[1, N, 6] / [N, 6]x1, y1, x2, y2, điểm và ID lớp sau NMS.

Kiểm tra trước khi nhập

  • Là mô hình phát hiện đối tượng ONNX, không phải .pt hoặc ID API đám mây.
  • Có một đầu vào RGB NCHW và một tensor đầu ra được hỗ trợ.
  • Dùng float32 hoặc float16, không dùng lượng tử hóa INT8/UINT8.
  • Biết thứ tự lớp và định dạng đầu ra; mô hình một lớp khai báo outputFormat.
  • Thư mục có một .onnx hoặc config.json chỉ định bằng modelFile.
  • Thử khung hình hiện tại trên máy tính rồi xác minh riêng trên Android Agent.

Ví dụ config.json

Nhãn và outputFormat bên dưới chỉ là ví dụ. Hãy thay bằng thứ tự lớp và định dạng tensor thật của mô hình đã xuất.

{
  "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
  }
}