使用YOLOv5实现多摄像头实时目标检测

这篇博客将在单摄像头目标检测的基础上,实现单网络多线程的实时目标检测。

实现方法

  1. 在detect.py同级目录下新建streams.txt文件,每个视频流源单独成行:

本地摄像头填0

USB摄像头填1,2,3…

IP摄像头要根据摄像头类型,按下面格式填写(我将在之后的博客中讲解实现)

rtsp://admin(账号):admin(密码)@ip:端口/(主码流,辅码流之类的)

0是电脑自带摄像头,1是外接USB摄像头

  1. 在detect.py中修改 '--source' 的默认值为'streams.txt'

parser.add_argument('--source', type=str,default='streams.txt', help='source') #单网络多线程 实时检测

给出更改后参数配置部分完整代码:

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--weights', nargs='+', type=str, default='yolov5s.pt', help='model.pt path(s)')
    #parser.add_argument('--source', type=str, default='data/images', help='source')  # file/folder, 0 for webcam
    #parser.add_argument('--source', type=str, default='data/video', help='source')  # file/folder, 0 for webcam
    #parser.add_argument('--source', type=str, default='0', help='source')  # file/folder, 0 for webcam
    parser.add_argument('--source', type=str, default='streams.txt', help='source')  # file/folder, 0 for webcam
    parser.add_argument('--img-size', type=int, default=640, help='inference size (pixels)')
    parser.add_argument('--conf-thres', type=float, default=0.25, help='object confidence threshold')
    parser.add_argument('--iou-thres', type=float, default=0.45, help='IOU threshold for NMS')
    parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
    parser.add_argument('--view-img', action='store_true', help='display results')
    parser.add_argument('--save-txt', action='store_true', help='save results to *.txt')
    parser.add_argument('--save-conf', action='store_true', help='save confidences in --save-txt labels')
    parser.add_argument('--nosave', action='store_true', help='do not save images/videos')
    parser.add_argument('--classes', nargs='+', type=int, help='filter by class: --class 0, or --class 0 2 3')
    parser.add_argument('--agnostic-nms', action='store_true', help='class-agnostic NMS')
    parser.add_argument('--augment', action='store_true', help='augmented inference')
    parser.add_argument('--update', action='store_true', help='update all models')
    parser.add_argument('--project', default='runs/detect', help='save results to project/name')
    parser.add_argument('--name', default='exp', help='save results to project/name')
    parser.add_argument('--exist-ok', action='store_true', help='existing project/name ok, do not increment')
    opt = parser.parse_args()
    print(opt)
    check_requirements(exclude=('pycocotools', 'thop'))

效果

以电脑自带摄像头和一个外接USB摄像头为例。

运行detect.py后,可以看到电脑自带摄像头识别到一个人,USB摄像头未识别到物体,括号内是识别用时。

现在电脑自带摄像头识别到一个人,USB摄像头识别到人、狗的图案、电视和笔记本电脑,括号内是识别用时。说明在多线程下仍然能做到多目标识别

求学路上,你我共勉(๑•̀ㅂ•́)و✧

  • 21
    点赞
  • 182
    收藏
    觉得还不错? 一键收藏
  • 56
    评论
对于使用CSI摄像头进行Yolov5实时检测,可以按照以下步骤进行配置: 1. 首先,确保你的CSI摄像头已经正确连接到设备上,并且可以正常工作。 2. 在运行Yolov5的detect.py时,将source参数设置为CSI摄像头的序号。根据引用\[2\]中的说明,可以将source设置为0、1或2,对应不同的摄像头序号。 3. 如果你使用的是Deepstream 5.0,可以按照引用\[3\]中的指示,在Deepstream 5.0目录下运行相应的命令来启动Yolov5实时检测。 综上所述,你可以通过设置source参数为CSI摄像头的序号来使用Yolov5进行CSI摄像头实时检测。 #### 引用[.reference_title] - *1* *2* [Jetson Xavier NX 配置(六)—— 连接CSI和USB摄像头进行Yolov5实时目标检测](https://blog.csdn.net/yishengjuncat/article/details/121925465)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [yolov5s模型转tensorrt+deepstream检测+CSI和USB摄像头检测](https://blog.csdn.net/weixin_54603153/article/details/120079220)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 56
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值