前言:
此时看官们对“行人检测与跟踪”都比较关心,咱们都想要学习一些“行人检测与跟踪”的相关内容。那么小编也在网摘上收集了一些关于“行人检测与跟踪””的相关知识,希望朋友们能喜欢,各位老铁们快快来了解一下吧!为了方便测试,官网提供提供了PP-Tracking行人跟踪垂类模型,可直接下载使用。下载链接:
模型
参数大小
精度
备注
PP-Tracking
51.2MB
-
解压后,查看模型配置文件infer_cfg.yml信息
>tar -xvf fairmot_hrnetv2_w18_dlafpn_30e_576x320.tgz
mode: paddledraw_threshold: 0.5metric: MOTuse_dynamic_shape: falsetracker: conf_thres: 0.4 metric_type: cosine min_box_area: 200 tracked_thresh: 0.4 vertical_ratio: 1.6arch: FairMOTmin_subgraph_size: 5Preprocess:- target_size: - 320 - 576 type: LetterBoxResize- is_scale: true mean: - 0 - 0 - 0 std: - 1 - 1 - 1 type: NormalizeImage- type: Permutelabel_list:- pedestrian
测试视频文件:
模型预测结果说明
fastdeploy.vision.MOTResultboxes(list of list(float)): 成员变量,表示单帧画面中检测出来的所有目标框坐标。boxes是一个list,其每个元素为一个长度为4的list, 表示为一个框,每个框以4个float数值依次表示xmin, ymin, xmax, ymax, 左上角和右下角坐标ids(list of list(float)):成员变量,表示单帧画面中所有目标的id,其元素个数与boxes一致scores(list of float): 成员变量,表示单帧画面检测出来的所有目标置信度class_ids(list of int): 成员变量,表示单帧画面出来的所有目标类别
代码:(fastdeploy==0.5.0)
import cv2import fastdeploy as fdimport timemodel_file="fairmot_hrnetv2_w18_dlafpn_30e_576x320/model.pdmodel"params_file="fairmot_hrnetv2_w18_dlafpn_30e_576x320/model.pdiparams"config_file="fairmot_hrnetv2_w18_dlafpn_30e_576x320/infer_cfg.yml"model=fd.vision.tracking.PPTracking(model_file,params_file,config_file,model_format=fd.ModelFormat.PADDLE)videofile="img/person.mp4"#图像预测,返回一个结构体数据'''fastdeploy.vision.MOTResultboxes(list of list(float)): 成员变量,表示单帧画面中检测出来的所有目标框坐标。boxes是一个list,其每个元素为一个长度为4的list, 表示为一个框,每个框以4个float数值依次表示xmin, ymin, xmax, ymax, 即左上角和右下角坐标ids(list of list(float)):成员变量,表示单帧画面中所有目标的id,其元素个数与boxes一致scores(list of float): 成员变量,表示单帧画面检测出来的所有目标置信度class_ids(list of int): 成员变量,表示单帧画面出来的所有目标类别'''# 预测图片分割结果cap = cv2.VideoCapture(videofile)frame_id = 0fps=int(cap.get(cv2.CAP_PROP_FPS)) #帧率ftotal=int(cap.get(cv2.CAP_PROP_FRAME_COUNT))#总帧数w = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) #宽度h = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) #高度print(w,h,fps)while True: start_time = time.time() frame_id = frame_id+1 ret, frame = cap.read() frame=cv2.resize(frame,(w//4,h//4)) if frame is None: break result = model.predict(frame) end_time = time.time() fps = 1.0/(end_time-start_time) #print(frame.shape,fps) img = fd.vision.vis_mot(frame, result, fps, frame_id) cv2.imshow("video", img) cv2.waitKey(30)cap.release()cv2.destroyAllWindows()
运行结果:(CPU环境,运行速度很慢)
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #行人检测与跟踪