From e7ec268b243421561919276b16b7f80753a34435 Mon Sep 17 00:00:00 2001 From: zqc <835569504@qq.com> Date: Wed, 11 Mar 2026 09:48:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E4=BF=AE=E5=A4=8D=E5=9B=9E?= =?UTF-8?q?=E6=BA=AF=E5=B8=A7bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- biz/checkpoint/checkpoint_biz.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/biz/checkpoint/checkpoint_biz.py b/biz/checkpoint/checkpoint_biz.py index ad75cf3..235c770 100644 --- a/biz/checkpoint/checkpoint_biz.py +++ b/biz/checkpoint/checkpoint_biz.py @@ -142,11 +142,11 @@ class KadianDetector: self.nobody_frames = 0 # 累计无人在场帧数 self.only_one_frames = 0 # 累计单人在场帧数 - self.max_car_frames = int((8.0 + self.TIME_TOLERANCE_CAR) * self.fps) # 50帧 + self.max_car_frames = int((15.0 + self.TIME_TOLERANCE_CAR) * self.fps) # self.frame_buffer_ignore_untrunk = deque(maxlen=self.max_car_frames) - self.untrunk_rollback_time = 5.0 # 未检查后备箱需要回溯的时间 - self.ignored_rollback_time = 3.0 # 漏检需要回溯的时间 + self.untrunk_rollback_time = 12.0 # 未检查后备箱需要回溯的时间 + self.ignored_rollback_time = 12.0 # 漏检需要回溯的时间 def _get_roi_points(self, frame_width: int, frame_height: int): @@ -219,7 +219,7 @@ class KadianDetector: target_frame = None min_time_diff = float('inf') for buffered in self.frame_buffer_ignore_untrunk: - time_diff = abs(buffered['frame_idx'] - target_time_sec) + time_diff = abs(buffered['timestamp'] - target_time_sec) if time_diff < min_time_diff: min_time_diff = time_diff target_frame = buffered['frame'] @@ -327,15 +327,14 @@ class KadianDetector: self.roi_car_registry[tid] = { 'first_seen': self.current_frame_idx, 'last_seen': self.current_frame_idx, - # 'first_seen': current_time_sec, - # 'last_seen': current_time_sec, + 'last_seen_time': current_time_sec, 'trunk_frames': 0, 'is_checked': False, #'frame_buffer': deque(maxlen=self.max_car_frames), # 新增 } else: self.roi_car_registry[tid]['last_seen'] = self.current_frame_idx - #self.roi_car_registry[tid]['last_seen'] = current_time_sec + self.roi_car_registry[tid]['last_seen_time'] = current_time_sec label += " IN" elif role == "opentrunk": color = (255, 165, 0) # 橙色 @@ -378,8 +377,8 @@ class KadianDetector: # 'frame': frame.copy(), # }) self.frame_buffer_ignore_untrunk.append({ - #'frame_idx': current_time_sec, 'frame_idx': self.current_frame_idx, + 'timestamp': current_time_sec, 'frame': frame.copy(), }) @@ -431,7 +430,7 @@ class KadianDetector: self.fast_pass_alerts[car_id] = self.current_frame_idx + int(self.ignore_show_seconds * self.fps) #self.fast_pass_alerts[car_id] = current_time_sec + int(self.ignore_show_seconds * self.fps) - target_time_sec = car_info['last_seen'] - self.ignored_rollback_time + target_time_sec = car_info['last_seen_time'] - self.ignored_rollback_time ignored_trunk_frame = self.find_target_frame(target_time_sec) @@ -442,7 +441,7 @@ class KadianDetector: self.unchecked_trunk_alerts[car_id] = self.current_frame_idx + int(self.openTrunk_show_seconds * self.fps) #self.unchecked_trunk_alerts[car_id] = current_time_sec + int(self.openTrunk_show_seconds * self.fps) - target_time_sec = car_info['last_seen'] - self.untrunk_rollback_time + target_time_sec = car_info['last_seen_time'] - self.untrunk_rollback_time unchecked_trunk_frame = self.find_target_frame(target_time_sec)