fix upstaris problem
primary track一直都有,只是有时候会错误
This commit is contained in:
@@ -70,6 +70,8 @@ private:
|
||||
std::string wiwc_topic_;
|
||||
std::string camera_image_topic_;
|
||||
bool camera_image_compressed_ = false;
|
||||
bool always_send_sync_compressed_ = false;
|
||||
bool always_send_sync_cloud_slam_ = false;
|
||||
std::string sync_topic_prefix_;
|
||||
std::string combined_compressed_topic_;
|
||||
int combined_jpeg_quality_;
|
||||
|
||||
@@ -44,12 +44,26 @@ struct TargetObservationConfig {
|
||||
int reid_feature_dim = 512;
|
||||
int reid_max_batch_size = 8;
|
||||
int max_concurrent_tracks = 16;
|
||||
// Edge margin (in pixels) that is_good_reid_crop requires between the
|
||||
// bbox and every image border. Set to 0 to allow crops touching the edge
|
||||
// (common when the person stands close to the camera and the head gets
|
||||
// cut off). Legacy value was 3.
|
||||
int reid_crop_edge_margin_px = 0;
|
||||
// 3D position gate for ReID rebind. dmax = base_m + per_frame_m *
|
||||
// frames_since_last_seen. soft mode (hard=false) logs via debug counters
|
||||
// but still allows the similarity match; hard mode rejects the pair.
|
||||
float reid_3d_gate_base_m = 1.5f;
|
||||
float reid_3d_gate_per_frame_m = 0.1f;
|
||||
bool reid_3d_gate_hard = false;
|
||||
// 3D-proximity fallback: when a row lacks a ReID feature (e.g. bbox was
|
||||
// too close to the edge for is_good_reid_crop to pass) but has a fresh
|
||||
// 3D estimate, rebind it to the follow target's stable_id if it lies
|
||||
// within a strict (tighter than reid_3d_gate) distance of the target's
|
||||
// last known world pos. Guards against ID inflation during close-range
|
||||
// partial views that block ReID extraction.
|
||||
bool reid_3d_fallback_enabled = true;
|
||||
float reid_3d_fallback_base_m = 0.75f;
|
||||
float reid_3d_fallback_per_frame_m = 0.05f;
|
||||
bool debug = false;
|
||||
};
|
||||
|
||||
@@ -83,6 +97,7 @@ struct TargetObservationDebugInfo {
|
||||
int lost_frames = 0;
|
||||
int reid_3d_gate_rejections = 0; // hard-mode rejections this frame
|
||||
int reid_3d_gate_soft_warnings = 0; // soft-mode over-threshold this frame
|
||||
int reid_3d_fallback_rebinds = 0; // follow-target rebinds by 3D fallback
|
||||
bool found_existing_target = false;
|
||||
bool target_selected = false;
|
||||
bool selected_from_center_bootstrap = false;
|
||||
@@ -154,6 +169,7 @@ private:
|
||||
bool has_last_bbox = false;
|
||||
int64_t last_seen_frame = -1;
|
||||
bool just_rebound_by_reid = false;
|
||||
bool just_rebound_by_3d_fallback = false;
|
||||
float last_rebind_similarity = -1.0f;
|
||||
// Per-entry 3D state; refreshed whenever compute_entry_3d succeeds.
|
||||
float last_depth = -1.0f;
|
||||
|
||||
Reference in New Issue
Block a user