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.36k stars 2.84k forks source link

ppvehicle进行实时流推流是在第20帧卡住,但无任何报错,寻求帮助 #8927

Open uniquecdmx opened 2 months ago

uniquecdmx commented 2 months ago

问题确认 Search before asking

请提出你的问题 Please ask your question

环境: 环境:window11、nvidia 3060 laptop GPU CUDA 12.0 paddlepaddle 2.6.0.post120 python 3.8.18

自己有修改部门源码打印fps及写入前后print信息 im = self.visualize_video(frame_rgb, self.pipeline_res, self.collector, frame_id, fps, entrance, records, center_traj, self.illegal_parking_time != -1, illegal_parking_dict) # visualize if len(self.pushurl) > 0: print('write....') pushstream.pipe.stdin.write(im.tobytes()) print('write end ...',frame_id)

可以根据下面日志看出是在第20帧执行“ pushstream.pipe.stdin.write(im.tobytes())”这一步卡住不动了,无任何报错,一直等待也没有继续执行,不知如何解决

下面是日志: (pp) E:\AI\PaddleDetection>python deploy/pipeline/pipeline.py --config deploy/pipeline/config/infer_cfg_ppvehicle.yml --pushurl rtsp://127.0.0.1:8554 --device=gpu --rtsp rtsp://10.179.201.155:554/openUrl/tMAMw24 Warning: Unable to use numba in PP-Tracking, please install numba, for example(python3.7): pip install numba==0.56.4 Warning: Unable to use numba in PP-Tracking, please install numba, for example(python3.7): pip install numba==0.56.4 Warning: Unable to use numba in PP-Tracking, please install numba, for example(python3.7): pip install numba==0.56.4 Warning: Unable to use numba in PP-Tracking, please install numba, for example(python3.7): pip install numba==0.56.4 ----------- Running Arguments ----------- DET: batch_size: 1 model_dir: https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_l_36e_ppvehicle.zip LANE_SEG: lane_seg_config: deploy/pipeline/config/lane_seg_config.yml model_dir: https://bj.bcebos.com/v1/paddledet/models/pipeline/pp_lite_stdc2_bdd100k.zip MOT: batch_size: 1 enable: true model_dir: ../ppvehicle_models/mot_ppyoloe_l_36e_ppvehicle/ skip_frame_num: 10 tracker_config: deploy/pipeline/config/tracker_config.yml VEHICLE_ATTR: batch_size: 16 color_threshold: 0.5 enable: true model_dir: ../ppvehicle_models/vehicle_attribute_infer/ type_threshold: 0.5 VEHICLE_PLATE: det_limit_side_len: 736 det_limit_type: min det_model_dir: ../ppvehicle_models/ch_PP-OCRv3_det_infer/ enable: true rec_batch_num: 6 rec_image_shape:


Multi-Object Tracking enabled Vehicle Plate Recognition enabled Vehicle Attribute Recognition enabled <datacollector.DataCollector object at 0x00000292FA0B5190> DET model dir: C:\Users\Administrator/.cache/paddle/infer_weights\mot_ppyoloe_l_36e_ppvehicle MOT model dir: ../ppvehicle_models/mot_ppyoloe_l_36e_ppvehicle/ det_model_dir model dir: ../ppvehicle_models/ch_PP-OCRv3_det_infer/ rec_model_dir model dir: ../ppvehicle_models/ch_PP-OCRv3_rec_infer/ VEHICLE_ATTR model dir: ../ppvehicle_models/vehicle_attribute_infer/ LANE_SEG model dir: C:\Users\Administrator/.cache/paddle/infer_weights\pp_lite_stdc2_bdd100k ----------- Model Configuration ----------- Model Arch: PPLCNet Transform Order: --transform op: Resize --transform op: NormalizeImage --transform op: Permute

----------- Model Configuration ----------- Model Arch: YOLO Transform Order: --transform op: Resize --transform op: Permute

video fps: 25, frame_count: -2562047788015215 the result will push stream to url:rtsp://127.0.0.1:8554\tMAMw24 25 ffmpeg version 7.0-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers built with gcc 13.2.0 (Rev5, Built by MSYS2 project) configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint libavutil 59. 8.100 / 59. 8.100 libavcodec 61. 3.100 / 61. 3.100 libavformat 61. 1.100 / 61. 1.100 libavdevice 61. 1.100 / 61. 1.100 libavfilter 10. 1.100 / 10. 1.100 libswscale 8. 1.100 / 8. 1.100 libswresample 5. 1.100 / 5. 1.100 libpostproc 58. 1.100 / 58. 1.100 Thread: 0; frame id: 0 Thread: 0; trackid number: 5 1 {'output': [['Color: gray', 'Type: Unknown'], ['Color: red', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: sedan'], ['Color: Unknown', 'Type: Unknown']]} write.... Input #0, rawvideo, from 'fd:': Duration: N/A, start: 0.000000, bitrate: 552960 kb/s write end ... 1 Stream #0:0: Video: rawvideo (BGR[24] / 0x18524742), bgr24, 1280x720, 552960 kb/s, 25 tbr, 25 tbn Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg4 (native)) 2 {'output': [['Color: gray', 'Type: Unknown'], ['Color: red', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: sedan'], ['Color: Unknown', 'Type: Unknown']]} write.... write end ... 2 3 {'output': [['Color: gray', 'Type: Unknown'], ['Color: red', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: sedan'], ['Color: Unknown', 'Type: Unknown']]} write.... write end ... 3 4 {'output': [['Color: gray', 'Type: Unknown'], ['Color: red', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: sedan'], ['Color: Unknown', 'Type: Unknown']]} write.... write end ... 4 5 {'output': [['Color: gray', 'Type: Unknown'], ['Color: brown', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: sedan'], ['Color: Unknown', 'Type: Unknown']]} write.... write end ... 5 6 {'output': [['Color: gray', 'Type: Unknown'], ['Color: brown', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: Unknown'], ['Color: Unknown', 'Type: Unknown']]} write.... write end ... 6 7 {'output': [['Color: gray', 'Type: Unknown'], ['Color: brown', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: sedan'], ['Color: Unknown', 'Type: Unknown']]} write.... write end ... 7 8 {'output': [['Color: gray', 'Type: Unknown'], ['Color: red', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: sedan'], ['Color: Unknown', 'Type: Unknown']]} write.... write end ... 8 9 {'output': [['Color: gray', 'Type: Unknown'], ['Color: red', 'Type: Unknown'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: sedan'], ['Color: Unknown', 'Type: Unknown']]} write.... write end ... 9 10 {'output': [['Color: gray', 'Type: Unknown'], ['Color: red', 'Type: Unknown'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: sedan'], ['Color: Unknown', 'Type: Unknown']]} write.... write end ... 10 Thread: 0; frame id: 10 Thread: 0; trackid number: 5 11 {'output': [['Color: gray', 'Type: Unknown'], ['Color: brown', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: sedan'], ['Color: Unknown', 'Type: Unknown']]} write.... write end ... 11 12 {'output': [['Color: gray', 'Type: Unknown'], ['Color: red', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: sedan'], ['Color: Unknown', 'Type: Unknown']]} write.... write end ... 12 13 {'output': [['Color: gray', 'Type: Unknown'], ['Color: red', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: sedan'], ['Color: Unknown', 'Type: Unknown']]} write.... write end ... 13 14 {'output': [['Color: gray', 'Type: Unknown'], ['Color: brown', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: Unknown'], ['Color: Unknown', 'Type: suv']]} write.... write end ... 14 15 {'output': [['Color: gray', 'Type: Unknown'], ['Color: brown', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: Unknown'], ['Color: Unknown', 'Type: suv']]} write.... write end ... 15 16 {'output': [['Color: gray', 'Type: Unknown'], ['Color: red', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: Unknown'], ['Color: Unknown', 'Type: suv']]} write.... write end ... 16 17 {'output': [['Color: gray', 'Type: Unknown'], ['Color: red', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: Unknown'], ['Color: Unknown', 'Type: suv']]} write.... write end ... 17 18 {'output': [['Color: gray', 'Type: Unknown'], ['Color: red', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: sedan'], ['Color: Unknown', 'Type: suv']]} write.... write end ... 18 19 {'output': [['Color: gray', 'Type: Unknown'], ['Color: red', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: sedan'], ['Color: Unknown', 'Type: suv']]} write.... write end ... 19 20 {'output': [['Color: gray', 'Type: Unknown'], ['Color: red', 'Type: sedan'], ['Color: gray', 'Type: van'], ['Color: gray', 'Type: sedan'], ['Color: Unknown', 'Type: suv']]} write....

funny000 commented 1 month ago

Hi@uniquecdmx , 请问你这个问题解决了吗,我用pp-human也是同样的问题,第一帧卡住,没有报错,

uniquecdmx commented 3 weeks ago

Hi@uniquecdmx , 请问你这个问题解决了吗,我用pp-human也是同样的问题,第一帧卡住,没有报错,

解决了,是因为我没有开rtsp推流服务

funny000 commented 1 week ago

Hi@uniquecdmx , 请问你这个问题解决了吗,我用pp-human也是同样的问题,第一帧卡住,没有报错,

解决了,是因为我没有开rtsp推流服务

我也开了rtsp服务,但是检测后的视频流推着推着就变慢了,从speed1.x降到0.5x左右,视频也会变得很卡。

funny000 commented 1 week ago

Hi@uniquecdmx , 请问你这个问题解决了吗,我用pp-human也是同样的问题,第一帧卡住,没有报错,

解决了,是因为我没有开rtsp推流服务

你检测完的视频流可以保持25帧多久,就是用ffmpeg pushurl推出来后,我的大概能保持半个小时,半个小时后控制台打印的speed就会降到0.几左右,帧率随之降到10左右,