首页 > 其他分享 >一种基于虚拟摄像头、NDI、OBS以及yolo的多机视觉目标检测方案

一种基于虚拟摄像头、NDI、OBS以及yolo的多机视觉目标检测方案

时间:2023-05-09 11:22:31浏览次数:46  
标签:NDI ndi 主机 yolo 多机 tools obs 摄像头

一种基于虚拟摄像头、NDI、OBS以及yolo的多机视觉目标检测方案

绪论

近来为了实现某种实时展示效果,笔者希望通过一套方案实现在两台主机上分别运行仿真平台以及视觉深度学习算法。透过对当下较为流行的几种方案的调研,笔者最后决定了采用OBS采集并透过NDI协议在局域网内进行广播,再将NDI推到虚拟摄像头上透过yolo进行目标检测的方案。

该方案使用的工具

  • obs studio 29.1.0
  • obs-ndi
  • ndi tools
  • yolo v5
  • 同一网域内的两台主机

方案大致工作管线

主机1(运行仿真平台)

仿真平台 -> obs studio -> ndi广播

主机2(运行预测算法)

ndi广播 -> ndi tools -> 虚拟摄像头 -> yolo

方案实现

  1. 主机1上正确安装并配置 obs studio

    在官网正确安装 obs studio 并正确配置

    准备好用于推流的内容

  2. 主机1上正确安装并配置 obs-ndi

    从https://github.com/obs-ndi/obs-ndi上下载并安装,注意runtime和obs-ndi插件都要安装

    正确安装之后按理可在 obs 的 tools 中找到ndi广播的选项

    设置从 ndi 上进行广播

  3. 在同一网域内的主机2上正确安装并配置 ndi tools

https://ndi.video/tools/ndi-tools/ 即可下载ndi tools

打开之后选择 webcam

选择用于推送的 ndi

可以看到画面预览

接下来将虚拟摄像头作为物理摄像头启动yolo即可,将source修改为ndi使用的虚拟摄像头,因设备而异

python detect.py --weights yolov5s.pt --source 0

可以看到yolo已经正常运作

总结

这种方案主要适用于快速部署一个多主机的视觉检测展示,可以将yolo换成其他的目标检测模型。如果网域在一定程度上低延迟,实时交互是可以做到的。

标签:NDI,ndi,主机,yolo,多机,tools,obs,摄像头
From: https://www.cnblogs.com/uzuki/p/17384353.html

相关文章

  • [重读经典论文]YOLOX
    参考博客:YOLOX网络结构详解参考视频:YOLOX网络结构详解亮点:网络检测头部分,改成解耦的结构,将类别分数、边界框回归参数和objectness分别预测,提高网络收敛速度。使用Anchorfree对目标进行预测。正负样本匹配策略SimOTA。(完)......
  • scandir,major和minor,state,无锁机制----比较交换CAS Compare And Swap,dirent,sprintf,fop
    文章目录1.Linuxc目录操作函数scandir2.Linux系统设备(device)的major和minornumber3.state4.无锁机制----比较交换CASCompareAndSwap5.dirent6.sprintf7.fopen8.atoi函数9.strtok10.strtol1.Linuxc目录操作函数scandir(1)头文件:#include<dirent.h>定义函数:intscandir(......
  • 微信小程序在wxml里不支持includes,indexOf,findIndex等方法
    小程序的wxml文件内不支持数组的includes,indexOf,findIndex等方法。不是垃圾是什么?玩什么标新立异?不会搞就别TM搞。 开发者:我想上二楼。WX:这里有一坨屎,吃子它,就让你上二楼。开发者:@#$%&@^$*^&*&^$%$^ 咋做?在任意目录创建一个.wxs文件,里面写上如下代码:文件-/utils/wuti......
  • YOLOv5
    推荐博客:YOLOv5网络详解推荐视频:YOLOv5网络详解(完)......
  • Tomcat6.0配置JNDI数据源完整例子(5.5与此配置相同)
    关键字:Tomcat6.0配置JNDI数据源注意事项:tomcatJDK一定要和应用程序的JDK版本一致(本例中统一JDK1.6)说明:tomcat5.5与6.0的配置略有不同,即:tomcat的lib位置不同(其他完全一致),6.0位置是:D:\我的工具\apache-tomcat-6.0.10\lib下5.5位置是:D:\我的工具\apa......
  • [重读经典论文]YOLOv4
    推荐博客:YOLOv4网络详解配套视频:YOLOv4网络详解补充知识:3.1YOLO系列理论合集(YOLOv1~v3) 中的yolov3spp理论讲解(包括CIoU以及FocalLoss)(完)......
  • 使用nacos配置,启动服务时一直报 Error starting ApplicationContext. To display the
    报错日志如下:ErrorstartingApplicationContext.Todisplaytheconditionsreportre-runyourapplicationwith'debug'enabled.-2023-05-0509:46:02.328[TID:N/A]ERROR8236---[main]o.s.b.d.LoggingFailureAnalysisReporter:***********......
  • ConditionObject源码分析
    ConditionObject是AbstractQueuedSynchronizer(AQS)实现的内部类,类图如下: 1、Condition接口ConditionObject实现了Condition接口。先来看看Codition接口。 Codition中主要定义了挂起线程和唤醒线程的接口方法。Condition接口详情如下:1publicinterfaceCon......
  • [Pix2Pix] Image-to-Image Translation with Conditional Adversarial NetWorks
    paper:https://arxiv.org/pdf/1611.07004.pdf[CVPR2017]code:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pixhttps://phillipi.github.io/pix2pix/[official]数据组织:需要成对图像这是加利福利亚大学在CVPR2017上发表的一篇论文,讲的是如何用条件生成对抗......
  • When to use which bindings in WCF
    WhentousewhichbindingsinWCFWCFsupportsseveraldifferentbindings,andthechoiceofwhichbindingtousedependsontherequirementsoftheserviceandtheclient.Hereisabriefoverviewofsomeofthemostcommonbindingsandwhentouseth......