vision.detectvision.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
04Xem cách cấu hình và chạy node vision.detect trong một quy trình LaiCai Flow thực tế.
Đầu vào
5modelIdstringBắt buộcliteralallClassesboolTùy chọnliteralclassNamesarrayTùy chọnliteralminScorenumberBắt buộcliteralroirectBắt buộcliteralĐầu ra
9data.bestobject—data.best.scorenumber—data.best.modelIdstring—data.best.classNamestring—data.best.centerpointscreenRatiodata.best.center.xnumberscreenRatiodata.best.center.ynumberscreenRatiodata.best.rectrectscreenRatiodata.itemsarray—Hỗ trợ chạy
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: yoloTensor đầ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.
id2labellabel2idclassNameKí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 / xTensor đầ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ô.
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
}
}