PaddlePaddle / PaddleDetection

Object Detection toolkit based on PaddlePaddle. It supports object detection, instance segmentation, multiple object tracking and real-time multi-person keypoint detection.
Apache License 2.0
12.6k stars 2.86k forks source link

PP-Vehicle车辆逆行识别模块,推理逆行无法识别出来逆行 #9115

Open yanyide123 opened 3 weeks ago

yanyide123 commented 3 weeks ago

问题确认 Search before asking

Bug组件 Bug Component

Inference

Bug描述 Describe the Bug

pipeline中的代码 初始化的retrograde_res_update,一开始的get的vehicle_retrograde'字典信息,一开始肯定是空的 def get(self, name): if name in self.res_dict and len(self.res_dict[name]) > 0: return self.res_dict[name] return None 这是get的判单逻辑 self.res_dict = { 'det': dict(), 'mot': dict(), 'attr': dict(), 'kpt': dict(), 'video_action': dict(), 'skeleton_action': dict(), 'reid': dict(), 'det_action': dict(), 'cls_action': dict(), 'vehicleplate': dict(), 'vehicle_attr': dict(), 'lanes': dict(), 'vehicle_press': dict(), 'vehicle_retrograde': dict() } 这个是初始的空字典,那初始retrograde_res_update 也是空的,这样逻辑就行不同,识别出来的retrograde_res添加不进去,没有意义,所以提交代码识别不出逆行 retrograde_res, fence_line = self.vehicle_retrograde_predictor.mot_run( lanes_res=retrograde_lanes, det_res=retrograde_mot_res, frame_shape=frame_shape)

retrograde_res_update = self.pipeline_res.get( 'vehicle_retrograde')

if retrograde_res_update is not None: retrograde_res_update = retrograde_res_update['output'] if retrograde_res is not None: for retrograde_res_id in retrograde_res: if retrograde_res_id not in retrograde_res_update: retrograde_res_update.append( retrograde_res_id) else: retrograde_res_update = []

复现环境 Environment

环境没有问题

Bug描述确认 Bug description confirmation

是否愿意提交PR? Are you willing to submit a PR?

changdazhou commented 2 weeks ago

方便的话可以提交PR我们会review哈