wangrong
2025-03-19 291afb9c81aae1d15d9e3edcea618d0a2e1fc5a6
nodes/ba/vp_ba_jam_node.cpp
@@ -60,23 +60,23 @@
        // for vp_frame_target only
        std::vector<int> hit_traget_ids;
        for (auto& target : meta->targets) {
            auto len = target->tracks.size();
            auto loc = target->get_rect().track_point();
            // target has been tracked AND tracked enough frames
            if (len < check_interval_frames || target->track_id < 0) {
                continue;
            }
            // if target inside of stop region or not
            if (!point_in_poly(loc, jam_region)) {
                continue;
            }
            auto pre_loc = target->tracks[len - check_interval_frames].track_point();
            if (pre_loc.distance_with(loc) <= check_max_distance) {
                stop_checking_status[target->track_id]++;
                hit_traget_ids.push_back(target->track_id);
        for (auto &target : meta->targets) {
            if (target->primary_label != target->class_label_of_person) {
                auto len = target->tracks.size();
                auto loc = target->get_rect().track_point();
                // target has been tracked AND tracked enough frames
                if (len < check_interval_frames || target->track_id < 0) {
                    continue;
                }
                // if target inside of stop region or not
                if (!point_in_poly(loc, jam_region)) {
                    continue;
                }
                auto pre_loc = target->tracks[len - check_interval_frames].track_point();
                if (pre_loc.distance_with(loc) <= check_max_distance) {
                    stop_checking_status[target->track_id]++;
                    hit_traget_ids.push_back(target->track_id);
                }
            }
        }