Tracking Nodes
Giữ định danh đối tượng (track_id) qua các frame — bắt buộc trước mọi node Behavior Analysis.
| Node | Thuật toán | Đặc điểm |
|---|---|---|
cvedix_sort_track_node | SORT | Nhẹ, nhanh, phù hợp đa số use case |
cvedix_bytetrack_node | ByteTrack | Chính xác cao, tận dụng detection score thấp |
cvedix_ocsort_track_node | OC-SORT | Chống mất track khi che khuất |
cvedix_dsort_track_node | DeepSORT | Dùng ReID feature — chính xác nhất, nặng hơn |
cvedix_hybrid_track_node | Hybrid | Kết hợp IoU + ReID |
SORT (mặc định)
cpp
#include <cvedix/nodes/track/cvedix_sort_track_node.h>
auto tracker = std::make_shared<cvedix_nodes::cvedix_sort_track_node>(
"tracker",
cvedix_nodes::cvedix_track_for::NORMAL); // NORMAL | FACE
tracker->attach_to({detector});cvedix_track_for::FACE dùng khi track khuôn mặt (đầu ra của face detector).
ByteTrack
cpp
#include <cvedix/nodes/track/cvedix_bytetrack_node.h>
auto tracker = std::make_shared<cvedix_nodes::cvedix_bytetrack_node>("tracker");Sau khi track
Mỗi target có track_id ổn định:
[person] score=0.84 track=1971462676 box=(869,117,135,381)
[person] score=0.80 track=256858750 box=(45,206,196,434)track=-1 nghĩa là đối tượng mới xuất hiện, chưa được gán ID (thường ở frame đầu).
Chọn tracker nào?
| Tình huống | Khuyến nghị |
|---|---|
| Đếm người/xe thông thường | SORT |
| Cảnh đông đúc, nhiều che khuất | ByteTrack hoặc OC-SORT |
| Cần re-identify sau khi mất dấu lâu | DeepSORT / Hybrid |
| Thiết bị yếu (edge) | SORT |