Skip to content

Behavior Analysis Nodes

Luật phân tích hành vi áp dụng trên đối tượng đã được track. Mỗi node phát event khi luật được kích hoạt.

Yêu cầu tracker

BA node phải đứng sau tracking node — cần track_id để theo dõi hành vi qua thời gian.

Danh mục luật

Theo đường kẻ (Line)

NodeEventMô tả
cvedix_ba_line_crossline_nodeCROSSLINEĐếm đối tượng cắt qua đường kẻ
cvedix_ba_line_direction_violation_nodeDIRECTIONĐi sai hướng quy định
cvedix_ba_line_wrong_way_nodeWRONG_WAYĐi ngược chiều
cvedix_ba_line_speed_estimation_nodeSPEEDƯớc lượng tốc độ
cvedix_ba_line_red_light_violation_nodeRED_LIGHTVượt đèn đỏ
cvedix_ba_line_illegal_uturn_nodeUTURNQuay đầu trái phép
cvedix_ba_line_counting_nodeCOUNTINGĐếm lũy kế qua vạch

Theo vùng (Area)

NodeEventMô tả
cvedix_ba_area_enter_exit_nodeENTER/EXITVào/ra khỏi vùng
cvedix_ba_area_crowding_nodeCROWDINGTụ tập đông trong ROI
cvedix_ba_area_loitering_nodeLOITERINGLảng vảng quá thời gian
cvedix_ba_area_dwell_time_nodeDWELLThời gian lưu trú trong vùng
cvedix_ba_area_jam_nodeJAM/UNJAMÙn tắc giao thông
cvedix_ba_area_queue_length_nodeQUEUEĐộ dài hàng chờ
cvedix_ba_area_no_entry_zone_nodeNO_ENTRYXâm nhập vùng cấm
cvedix_ba_area_lane_violation_nodeLANEĐi sai làn
cvedix_ba_area_parking_violation_nodePARKINGĐỗ xe sai quy định
cvedix_ba_area_helmet_violation_nodeHELMETKhông đội mũ bảo hiểm
cvedix_ba_area_illegal_turn_nodeTURNRẽ trái phép

Khác

NodeEventMô tả
cvedix_ba_intrusion_detection_nodeINTRUSIONPhát hiện xâm nhập
cvedix_ba_fall_detection_nodeFALLPhát hiện ngã (cần pose)
cvedix_ba_fight_detection_nodeFIGHTPhát hiện ẩu đả
cvedix_ba_movement_nodeSTOP_LINEVi phạm vạch dừng
cvedix_ba_stop_nodeSTOPĐối tượng dừng bất thường
cvedix_ba_accident_detection_nodeACCIDENTPhát hiện tai nạn

Ví dụ: Crossline counting

cpp
#include <cvedix/nodes/ba/cvedix_ba_line_crossline_node.h>

// Định nghĩa đường kẻ bằng 2 điểm
cvedix_objects::cvedix_line line(
    cvedix_objects::cvedix_point(100, 400),
    cvedix_objects::cvedix_point(1200, 400));

auto crossline = std::make_shared<cvedix_nodes::cvedix_ba_line_crossline_node>(
    "crossline_0", line);

crossline->attach_to({tracker});

Nhận event

Event được phát dưới dạng control_meta — nhận qua Broker node:

cpp
// Đẩy event JSON qua MQTT
auto mqtt = std::make_shared<cvedix_nodes::cvedix_mqtt_broker_node>(
    "mqtt_0", cvedix_nodes::cvedix_broke_for::BA,
    "tcp://broker:1883", "cvedix/events");
mqtt->attach_to({crossline});

Pipeline điển hình:

src → detector → tracker → ba_crossline → osd → screen

                                └→ mqtt_broker → cloud

Phần mềm độc quyền — CVEDIX